summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AUTHORS3
-rwxr-xr-xemcc52
-rwxr-xr-xemscripten.py7
-rw-r--r--src/analyzer.js83
-rw-r--r--src/compiler.js2
-rw-r--r--[-rwxr-xr-x]src/embind/embind.js0
-rw-r--r--[-rwxr-xr-x]src/embind/emval.js0
-rw-r--r--src/library.js133
-rw-r--r--src/library_sdl.js54
-rw-r--r--src/modules.js3
-rw-r--r--src/parseTools.js8
-rw-r--r--src/settings.js10
-rw-r--r--[-rwxr-xr-x]system/include/emscripten/bind.h0
-rw-r--r--[-rwxr-xr-x]system/include/emscripten/wire.h0
-rw-r--r--system/include/netdb.h2
-rw-r--r--system/lib/sdl.cpp13
-rw-r--r--system/lib/sdl.symbols1
-rw-r--r--tests/box2d/Benchmark.cpp2
-rw-r--r--tests/cases/gepoverflow.ll37
-rw-r--r--tests/cases/gepoverflow.txt2
-rw-r--r--tests/cases/gepoverflow_q1.txt1
-rw-r--r--[-rwxr-xr-x]tests/embind/build_benchmark0
-rw-r--r--[-rwxr-xr-x]tests/embind/embind.test.js0
-rw-r--r--[-rwxr-xr-x]tests/embind/imvu_test_adapter.js0
-rw-r--r--[-rwxr-xr-x]tests/embind/underscore-1.4.2.js0
-rw-r--r--tests/nbody-java/constant_pool.c3357
-rw-r--r--tests/nbody-java/hycomp.h522
-rw-r--r--tests/nbody-java/hyporterror.h223
-rw-r--r--tests/nbody-java/hysock.h288
-rw-r--r--tests/nbody-java/hysocket.h103
-rw-r--r--tests/nbody-java/java_io_Closeable.c76
-rw-r--r--tests/nbody-java/java_io_Closeable.h28
-rw-r--r--tests/nbody-java/java_io_File.c4503
-rw-r--r--tests/nbody-java/java_io_File.h238
-rw-r--r--tests/nbody-java/java_io_FileDescriptor.c309
-rw-r--r--tests/nbody-java/java_io_FileDescriptor.h65
-rw-r--r--tests/nbody-java/java_io_FilterOutputStream.c386
-rw-r--r--tests/nbody-java/java_io_FilterOutputStream.h83
-rw-r--r--tests/nbody-java/java_io_Flushable.c76
-rw-r--r--tests/nbody-java/java_io_Flushable.h28
-rw-r--r--tests/nbody-java/java_io_IOException.c243
-rw-r--r--tests/nbody-java/java_io_IOException.h64
-rw-r--r--tests/nbody-java/java_io_InterruptedIOException.c198
-rw-r--r--tests/nbody-java/java_io_InterruptedIOException.h59
-rw-r--r--tests/nbody-java/java_io_InvalidClassException.c245
-rw-r--r--tests/nbody-java/java_io_InvalidClassException.h70
-rw-r--r--tests/nbody-java/java_io_InvalidObjectException.c180
-rw-r--r--tests/nbody-java/java_io_InvalidObjectException.h57
-rw-r--r--tests/nbody-java/java_io_ObjectStreamException.c197
-rw-r--r--tests/nbody-java/java_io_ObjectStreamException.h58
-rw-r--r--tests/nbody-java/java_io_ObjectStreamField.c1128
-rw-r--r--tests/nbody-java/java_io_ObjectStreamField.h151
-rw-r--r--tests/nbody-java/java_io_OutputStream.c293
-rw-r--r--tests/nbody-java/java_io_OutputStream.h83
-rw-r--r--tests/nbody-java/java_io_PrintStream.c1610
-rw-r--r--tests/nbody-java/java_io_PrintStream.h158
-rw-r--r--tests/nbody-java/java_io_Serializable.c76
-rw-r--r--tests/nbody-java/java_io_Serializable.h27
-rw-r--r--tests/nbody-java/java_lang_AbstractStringBuilder.c2794
-rw-r--r--tests/nbody-java/java_lang_AbstractStringBuilder.h136
-rw-r--r--tests/nbody-java/java_lang_Appendable.c77
-rw-r--r--tests/nbody-java/java_lang_Appendable.h34
-rw-r--r--tests/nbody-java/java_lang_Boolean.c540
-rw-r--r--tests/nbody-java/java_lang_Boolean.h99
-rw-r--r--tests/nbody-java/java_lang_Byte.c761
-rw-r--r--tests/nbody-java/java_lang_Byte.h121
-rw-r--r--tests/nbody-java/java_lang_CharSequence.c77
-rw-r--r--tests/nbody-java/java_lang_CharSequence.h35
-rw-r--r--tests/nbody-java/java_lang_Character.c8874
-rw-r--r--tests/nbody-java/java_lang_Character.h341
-rw-r--r--tests/nbody-java/java_lang_Class.c1273
-rw-r--r--tests/nbody-java/java_lang_Class.h191
-rw-r--r--tests/nbody-java/java_lang_ClassLoader.c894
-rw-r--r--tests/nbody-java/java_lang_ClassLoader.h119
-rw-r--r--tests/nbody-java/java_lang_ClassNotFoundException.c257
-rw-r--r--tests/nbody-java/java_lang_ClassNotFoundException.h72
-rw-r--r--tests/nbody-java/java_lang_Cloneable.c76
-rw-r--r--tests/nbody-java/java_lang_Cloneable.h27
-rw-r--r--tests/nbody-java/java_lang_Comparable.c76
-rw-r--r--tests/nbody-java/java_lang_Comparable.h28
-rw-r--r--tests/nbody-java/java_lang_Double.c1106
-rw-r--r--tests/nbody-java/java_lang_Double.h149
-rw-r--r--tests/nbody-java/java_lang_Enum.c546
-rw-r--r--tests/nbody-java/java_lang_Enum.h109
-rw-r--r--tests/nbody-java/java_lang_Exception.c233
-rw-r--r--tests/nbody-java/java_lang_Exception.h60
-rw-r--r--tests/nbody-java/java_lang_Float.c1057
-rw-r--r--tests/nbody-java/java_lang_Float.h150
-rw-r--r--tests/nbody-java/java_lang_IndexOutOfBoundsException.c197
-rw-r--r--tests/nbody-java/java_lang_IndexOutOfBoundsException.h58
-rw-r--r--tests/nbody-java/java_lang_Integer.c1982
-rw-r--r--tests/nbody-java/java_lang_Integer.h143
-rw-r--r--tests/nbody-java/java_lang_Iterable.c77
-rw-r--r--tests/nbody-java/java_lang_Iterable.h32
-rw-r--r--tests/nbody-java/java_lang_Long.c1903
-rw-r--r--tests/nbody-java/java_lang_Long.h145
-rw-r--r--tests/nbody-java/java_lang_Long_valueOfCache.c212
-rw-r--r--tests/nbody-java/java_lang_Long_valueOfCache.h58
-rw-r--r--tests/nbody-java/java_lang_Math.c1937
-rw-r--r--tests/nbody-java/java_lang_Math.h155
-rw-r--r--tests/nbody-java/java_lang_NoSuchFieldException.c197
-rw-r--r--tests/nbody-java/java_lang_NoSuchFieldException.h58
-rw-r--r--tests/nbody-java/java_lang_NullPointerException.c197
-rw-r--r--tests/nbody-java/java_lang_NullPointerException.h58
-rw-r--r--tests/nbody-java/java_lang_Number.c215
-rw-r--r--tests/nbody-java/java_lang_Number.h72
-rw-r--r--tests/nbody-java/java_lang_Object.c1079
-rw-r--r--tests/nbody-java/java_lang_Object.h135
-rw-r--r--tests/nbody-java/java_lang_Object_AddedMembers.c259
-rw-r--r--tests/nbody-java/java_lang_Object_AddedMembers.h76
-rw-r--r--tests/nbody-java/java_lang_Readable.c77
-rw-r--r--tests/nbody-java/java_lang_Readable.h32
-rw-r--r--tests/nbody-java/java_lang_Runnable.c76
-rw-r--r--tests/nbody-java/java_lang_Runnable.h28
-rw-r--r--tests/nbody-java/java_lang_Runtime.c542
-rw-r--r--tests/nbody-java/java_lang_Runtime.h99
-rw-r--r--tests/nbody-java/java_lang_RuntimeException.c234
-rw-r--r--tests/nbody-java/java_lang_RuntimeException.h64
-rw-r--r--tests/nbody-java/java_lang_RuntimePermission.c547
-rw-r--r--tests/nbody-java/java_lang_RuntimePermission.h89
-rw-r--r--tests/nbody-java/java_lang_SecurityManager.c1722
-rw-r--r--tests/nbody-java/java_lang_SecurityManager.h173
-rw-r--r--tests/nbody-java/java_lang_Short.c703
-rw-r--r--tests/nbody-java/java_lang_Short.h120
-rw-r--r--tests/nbody-java/java_lang_StackTraceElement.c558
-rw-r--r--tests/nbody-java/java_lang_StackTraceElement.h85
-rw-r--r--tests/nbody-java/java_lang_String.c5026
-rw-r--r--tests/nbody-java/java_lang_String.h268
-rw-r--r--tests/nbody-java/java_lang_StringBuilder.c999
-rw-r--r--tests/nbody-java/java_lang_StringBuilder.h128
-rw-r--r--tests/nbody-java/java_lang_String_CaseInsensitiveComparator.c240
-rw-r--r--tests/nbody-java/java_lang_String_CaseInsensitiveComparator.h64
-rw-r--r--tests/nbody-java/java_lang_System.c2057
-rw-r--r--tests/nbody-java/java_lang_System.h190
-rw-r--r--tests/nbody-java/java_lang_Thread.c2378
-rw-r--r--tests/nbody-java/java_lang_Thread.h223
-rw-r--r--tests/nbody-java/java_lang_ThreadGroup.c2821
-rw-r--r--tests/nbody-java/java_lang_ThreadGroup.h148
-rw-r--r--tests/nbody-java/java_lang_ThreadGroup_ChildrenGroupsLock.c179
-rw-r--r--tests/nbody-java/java_lang_ThreadGroup_ChildrenGroupsLock.h57
-rw-r--r--tests/nbody-java/java_lang_ThreadGroup_ChildrenThreadsLock.c179
-rw-r--r--tests/nbody-java/java_lang_ThreadGroup_ChildrenThreadsLock.h57
-rw-r--r--tests/nbody-java/java_lang_Thread_State.c403
-rw-r--r--tests/nbody-java/java_lang_Thread_State.h80
-rw-r--r--tests/nbody-java/java_lang_Thread_UncaughtExceptionHandler.c78
-rw-r--r--tests/nbody-java/java_lang_Thread_UncaughtExceptionHandler.h36
-rw-r--r--tests/nbody-java/java_lang_Throwable.c933
-rw-r--r--tests/nbody-java/java_lang_Throwable.h110
-rw-r--r--tests/nbody-java/java_lang_ref_Reference.c277
-rw-r--r--tests/nbody-java/java_lang_ref_Reference.h64
-rw-r--r--tests/nbody-java/java_lang_ref_ReferenceQueue.c673
-rw-r--r--tests/nbody-java/java_lang_ref_ReferenceQueue.h74
-rw-r--r--tests/nbody-java/java_lang_ref_WeakReference.c185
-rw-r--r--tests/nbody-java/java_lang_ref_WeakReference.h60
-rw-r--r--tests/nbody-java/java_lang_reflect_AccessibleObject.c459
-rw-r--r--tests/nbody-java/java_lang_reflect_AccessibleObject.h97
-rw-r--r--tests/nbody-java/java_lang_reflect_AnnotatedElement.c77
-rw-r--r--tests/nbody-java/java_lang_reflect_AnnotatedElement.h35
-rw-r--r--tests/nbody-java/java_lang_reflect_Array.c203
-rw-r--r--tests/nbody-java/java_lang_reflect_Array.h78
-rw-r--r--tests/nbody-java/java_lang_reflect_Constructor.c294
-rw-r--r--tests/nbody-java/java_lang_reflect_Constructor.h112
-rw-r--r--tests/nbody-java/java_lang_reflect_Field.c324
-rw-r--r--tests/nbody-java/java_lang_reflect_Field.h124
-rw-r--r--tests/nbody-java/java_lang_reflect_GenericDeclaration.c76
-rw-r--r--tests/nbody-java/java_lang_reflect_GenericDeclaration.h28
-rw-r--r--tests/nbody-java/java_lang_reflect_InvocationHandler.c77
-rw-r--r--tests/nbody-java/java_lang_reflect_InvocationHandler.h32
-rw-r--r--tests/nbody-java/java_lang_reflect_Member.c104
-rw-r--r--tests/nbody-java/java_lang_reflect_Member.h43
-rw-r--r--tests/nbody-java/java_lang_reflect_Method.c376
-rw-r--r--tests/nbody-java/java_lang_reflect_Method.h119
-rw-r--r--tests/nbody-java/java_lang_reflect_Modifier.c798
-rw-r--r--tests/nbody-java/java_lang_reflect_Modifier.h106
-rw-r--r--tests/nbody-java/java_lang_reflect_Type.c76
-rw-r--r--tests/nbody-java/java_lang_reflect_Type.h27
-rw-r--r--tests/nbody-java/java_net_BindException.c197
-rw-r--r--tests/nbody-java/java_net_BindException.h58
-rw-r--r--tests/nbody-java/java_net_ConnectException.c197
-rw-r--r--tests/nbody-java/java_net_ConnectException.h58
-rw-r--r--tests/nbody-java/java_net_Inet6Address.c1455
-rw-r--r--tests/nbody-java/java_net_Inet6Address.h162
-rw-r--r--tests/nbody-java/java_net_InetAddress.c3509
-rw-r--r--tests/nbody-java/java_net_InetAddress.h245
-rw-r--r--tests/nbody-java/java_net_SocketException.c197
-rw-r--r--tests/nbody-java/java_net_SocketException.h58
-rw-r--r--tests/nbody-java/java_net_UnknownHostException.c197
-rw-r--r--tests/nbody-java/java_net_UnknownHostException.h58
-rw-r--r--tests/nbody-java/java_nio_Buffer.c524
-rw-r--r--tests/nbody-java/java_nio_Buffer.h84
-rw-r--r--tests/nbody-java/java_nio_BufferFactory.c494
-rw-r--r--tests/nbody-java/java_nio_BufferFactory.h87
-rw-r--r--tests/nbody-java/java_nio_ByteBuffer.c941
-rw-r--r--tests/nbody-java/java_nio_ByteBuffer.h249
-rw-r--r--tests/nbody-java/java_nio_CharArrayBuffer.c509
-rw-r--r--tests/nbody-java/java_nio_CharArrayBuffer.h96
-rw-r--r--tests/nbody-java/java_nio_CharBuffer.c1198
-rw-r--r--tests/nbody-java/java_nio_CharBuffer.h181
-rw-r--r--tests/nbody-java/java_nio_HeapByteBuffer.c1346
-rw-r--r--tests/nbody-java/java_nio_HeapByteBuffer.h161
-rw-r--r--tests/nbody-java/java_nio_ReadWriteCharArrayBuffer.c614
-rw-r--r--tests/nbody-java/java_nio_ReadWriteCharArrayBuffer.h103
-rw-r--r--tests/nbody-java/java_nio_ReadWriteHeapByteBuffer.c967
-rw-r--r--tests/nbody-java/java_nio_ReadWriteHeapByteBuffer.h145
-rw-r--r--tests/nbody-java/java_nio_charset_Charset.c2310
-rw-r--r--tests/nbody-java/java_nio_charset_Charset.h226
-rw-r--r--tests/nbody-java/java_nio_charset_CharsetDecoder.c1057
-rw-r--r--tests/nbody-java/java_nio_charset_CharsetDecoder.h120
-rw-r--r--tests/nbody-java/java_nio_charset_CharsetEncoder.c1375
-rw-r--r--tests/nbody-java/java_nio_charset_CharsetEncoder.h134
-rw-r--r--tests/nbody-java/java_nio_charset_Charset_1.c185
-rw-r--r--tests/nbody-java/java_nio_charset_Charset_1.h63
-rw-r--r--tests/nbody-java/java_nio_charset_Charset_2.c190
-rw-r--r--tests/nbody-java/java_nio_charset_Charset_2.h68
-rw-r--r--tests/nbody-java/java_nio_charset_CoderResult.c904
-rw-r--r--tests/nbody-java/java_nio_charset_CoderResult.h106
-rw-r--r--tests/nbody-java/java_nio_charset_CodingErrorAction.c270
-rw-r--r--tests/nbody-java/java_nio_charset_CodingErrorAction.h70
-rw-r--r--tests/nbody-java/java_nio_charset_spi_CharsetProvider.c210
-rw-r--r--tests/nbody-java/java_nio_charset_spi_CharsetProvider.h84
-rw-r--r--tests/nbody-java/java_security_AccessController.c351
-rw-r--r--tests/nbody-java/java_security_AccessController.h75
-rw-r--r--tests/nbody-java/java_security_BasicPermission.c562
-rw-r--r--tests/nbody-java/java_security_BasicPermission.h93
-rw-r--r--tests/nbody-java/java_security_Guard.c76
-rw-r--r--tests/nbody-java/java_security_Guard.h28
-rw-r--r--tests/nbody-java/java_security_Permission.c325
-rw-r--r--tests/nbody-java/java_security_Permission.h98
-rw-r--r--tests/nbody-java/java_security_PrivilegedAction.c76
-rw-r--r--tests/nbody-java/java_security_PrivilegedAction.h28
-rw-r--r--tests/nbody-java/java_util_AbstractCollection.c747
-rw-r--r--tests/nbody-java/java_util_AbstractCollection.h114
-rw-r--r--tests/nbody-java/java_util_AbstractList.c825
-rw-r--r--tests/nbody-java/java_util_AbstractList.h121
-rw-r--r--tests/nbody-java/java_util_AbstractMap.c978
-rw-r--r--tests/nbody-java/java_util_AbstractMap.h130
-rw-r--r--tests/nbody-java/java_util_AbstractSequentialList.c448
-rw-r--r--tests/nbody-java/java_util_AbstractSequentialList.h88
-rw-r--r--tests/nbody-java/java_util_AbstractSet.c405
-rw-r--r--tests/nbody-java/java_util_AbstractSet.h77
-rw-r--r--tests/nbody-java/java_util_ArrayList.c2364
-rw-r--r--tests/nbody-java/java_util_ArrayList.h171
-rw-r--r--tests/nbody-java/java_util_Collection.c78
-rw-r--r--tests/nbody-java/java_util_Collection.h47
-rw-r--r--tests/nbody-java/java_util_Collections.c2676
-rw-r--r--tests/nbody-java/java_util_Collections.h195
-rw-r--r--tests/nbody-java/java_util_Collections_EmptyList.c317
-rw-r--r--tests/nbody-java/java_util_Collections_EmptyList.h82
-rw-r--r--tests/nbody-java/java_util_Collections_EmptyMap.c326
-rw-r--r--tests/nbody-java/java_util_Collections_EmptyMap.h98
-rw-r--r--tests/nbody-java/java_util_Collections_EmptySet.c307
-rw-r--r--tests/nbody-java/java_util_Collections_EmptySet.h81
-rw-r--r--tests/nbody-java/java_util_Collections_SynchronizedMap.c1027
-rw-r--r--tests/nbody-java/java_util_Collections_SynchronizedMap.h120
-rw-r--r--tests/nbody-java/java_util_Comparator.c76
-rw-r--r--tests/nbody-java/java_util_Comparator.h29
-rw-r--r--tests/nbody-java/java_util_Deque.c78
-rw-r--r--tests/nbody-java/java_util_Deque.h69
-rw-r--r--tests/nbody-java/java_util_Dictionary.c159
-rw-r--r--tests/nbody-java/java_util_Dictionary.h76
-rw-r--r--tests/nbody-java/java_util_Enumeration.c76
-rw-r--r--tests/nbody-java/java_util_Enumeration.h29
-rw-r--r--tests/nbody-java/java_util_HashMap.c1700
-rw-r--r--tests/nbody-java/java_util_HashMap.h148
-rw-r--r--tests/nbody-java/java_util_HashMap_Entry.c247
-rw-r--r--tests/nbody-java/java_util_HashMap_Entry.h65
-rw-r--r--tests/nbody-java/java_util_HashSet.c707
-rw-r--r--tests/nbody-java/java_util_HashSet.h108
-rw-r--r--tests/nbody-java/java_util_Hashtable.c2476
-rw-r--r--tests/nbody-java/java_util_Hashtable.h190
-rw-r--r--tests/nbody-java/java_util_Hashtable_1.c204
-rw-r--r--tests/nbody-java/java_util_Hashtable_1.h62
-rw-r--r--tests/nbody-java/java_util_Hashtable_2.c226
-rw-r--r--tests/nbody-java/java_util_Hashtable_2.h65
-rw-r--r--tests/nbody-java/java_util_Hashtable_Entry.c338
-rw-r--r--tests/nbody-java/java_util_Hashtable_Entry.h80
-rw-r--r--tests/nbody-java/java_util_Iterator.c76
-rw-r--r--tests/nbody-java/java_util_Iterator.h30
-rw-r--r--tests/nbody-java/java_util_LinkedList.c2404
-rw-r--r--tests/nbody-java/java_util_LinkedList.h219
-rw-r--r--tests/nbody-java/java_util_LinkedList_Link.c174
-rw-r--r--tests/nbody-java/java_util_LinkedList_Link.h54
-rw-r--r--tests/nbody-java/java_util_List.c78
-rw-r--r--tests/nbody-java/java_util_List.h57
-rw-r--r--tests/nbody-java/java_util_Locale.c1706
-rw-r--r--tests/nbody-java/java_util_Locale.h175
-rw-r--r--tests/nbody-java/java_util_Map.c78
-rw-r--r--tests/nbody-java/java_util_Map.h49
-rw-r--r--tests/nbody-java/java_util_MapEntry.c444
-rw-r--r--tests/nbody-java/java_util_MapEntry.h85
-rw-r--r--tests/nbody-java/java_util_Map_Entry.c76
-rw-r--r--tests/nbody-java/java_util_Map_Entry.h32
-rw-r--r--tests/nbody-java/java_util_Properties.c2783
-rw-r--r--tests/nbody-java/java_util_Properties.h176
-rw-r--r--tests/nbody-java/java_util_PropertyPermission.c565
-rw-r--r--tests/nbody-java/java_util_PropertyPermission.h104
-rw-r--r--tests/nbody-java/java_util_Queue.c77
-rw-r--r--tests/nbody-java/java_util_Queue.h48
-rw-r--r--tests/nbody-java/java_util_RandomAccess.c76
-rw-r--r--tests/nbody-java/java_util_RandomAccess.h27
-rw-r--r--tests/nbody-java/java_util_Set.c78
-rw-r--r--tests/nbody-java/java_util_Set.h47
-rw-r--r--tests/nbody-java/java_util_StringTokenizer.c636
-rw-r--r--tests/nbody-java/java_util_StringTokenizer.h76
-rw-r--r--tests/nbody-java/java_util_WeakHashMap.c1428
-rw-r--r--tests/nbody-java/java_util_WeakHashMap.h130
-rw-r--r--tests/nbody-java/java_util_WeakHashMap_Entry.c398
-rw-r--r--tests/nbody-java/java_util_WeakHashMap_Entry.h90
-rw-r--r--tests/nbody-java/native_java_io_File.c309
-rw-r--r--tests/nbody-java/native_java_io_FileDescriptor.c21
-rw-r--r--tests/nbody-java/native_java_lang_Class.c899
-rw-r--r--tests/nbody-java/native_java_lang_Double.c47
-rw-r--r--tests/nbody-java/native_java_lang_Float.c52
-rw-r--r--tests/nbody-java/native_java_lang_Math.c186
-rw-r--r--tests/nbody-java/native_java_lang_Object.c96
-rw-r--r--tests/nbody-java/native_java_lang_Runtime.c57
-rw-r--r--tests/nbody-java/native_java_lang_String.c45
-rw-r--r--tests/nbody-java/native_java_lang_System.c116
-rw-r--r--tests/nbody-java/native_java_lang_Thread.c310
-rw-r--r--tests/nbody-java/native_java_lang_Throwable.c82
-rw-r--r--tests/nbody-java/native_java_lang_reflect_AccessibleObject.c83
-rw-r--r--tests/nbody-java/native_java_lang_reflect_Array.c196
-rw-r--r--tests/nbody-java/native_java_lang_reflect_Constructor.c193
-rw-r--r--tests/nbody-java/native_java_lang_reflect_Field.c405
-rw-r--r--tests/nbody-java/native_java_lang_reflect_Method.c207
-rw-r--r--tests/nbody-java/native_java_net_InetAddress.c92
-rw-r--r--tests/nbody-java/native_java_util_Locale.c36
-rw-r--r--tests/nbody-java/native_org_apache_harmony_luni_platform_OSFileSystem.c272
-rw-r--r--tests/nbody-java/native_org_apache_harmony_luni_platform_OSMemory.c288
-rw-r--r--tests/nbody-java/native_org_apache_harmony_luni_platform_OSNetworkSystem.c1040
-rw-r--r--tests/nbody-java/native_org_apache_harmony_luni_util_FloatingPointParser.c33
-rw-r--r--tests/nbody-java/native_org_apache_harmony_luni_util_NumberConverter.c186
-rw-r--r--tests/nbody-java/native_org_xmlvm_runtime_Condition.c116
-rw-r--r--tests/nbody-java/native_org_xmlvm_runtime_FinalizerNotifier.c63
-rw-r--r--tests/nbody-java/native_org_xmlvm_runtime_Mutex.c70
-rw-r--r--tests/nbody-java/native_org_xmlvm_runtime_XMLVMArray.c181
-rw-r--r--tests/nbody-java/native_org_xmlvm_runtime_XMLVMOutputStream.c15
-rw-r--r--tests/nbody-java/native_org_xmlvm_runtime_XMLVMUtil.c37
-rw-r--r--tests/nbody-java/nbody_Body.c453
-rw-r--r--tests/nbody-java/nbody_Body.h70
-rw-r--r--tests/nbody-java/nbody_NBodySystem.c670
-rw-r--r--tests/nbody-java/nbody_NBodySystem.h62
-rw-r--r--tests/nbody-java/nbody_nbody.c286
-rw-r--r--tests/nbody-java/nbody_nbody.h76
-rw-r--r--tests/nbody-java/org_apache_harmony_luni_internal_nls_Messages.c565
-rw-r--r--tests/nbody-java/org_apache_harmony_luni_internal_nls_Messages.h74
-rw-r--r--tests/nbody-java/org_apache_harmony_luni_platform_Endianness.c235
-rw-r--r--tests/nbody-java/org_apache_harmony_luni_platform_Endianness.h64
-rw-r--r--tests/nbody-java/org_apache_harmony_luni_platform_IFileSystem.c272
-rw-r--r--tests/nbody-java/org_apache_harmony_luni_platform_IFileSystem.h80
-rw-r--r--tests/nbody-java/org_apache_harmony_luni_platform_IMemorySystem.c116
-rw-r--r--tests/nbody-java/org_apache_harmony_luni_platform_IMemorySystem.h74
-rw-r--r--tests/nbody-java/org_apache_harmony_luni_platform_INetworkSystem.c106
-rw-r--r--tests/nbody-java/org_apache_harmony_luni_platform_INetworkSystem.h94
-rw-r--r--tests/nbody-java/org_apache_harmony_luni_platform_OSFileSystem.c1050
-rw-r--r--tests/nbody-java/org_apache_harmony_luni_platform_OSFileSystem.h153
-rw-r--r--tests/nbody-java/org_apache_harmony_luni_platform_OSMemory.c1000
-rw-r--r--tests/nbody-java/org_apache_harmony_luni_platform_OSMemory.h195
-rw-r--r--tests/nbody-java/org_apache_harmony_luni_platform_OSNetworkSystem.c769
-rw-r--r--tests/nbody-java/org_apache_harmony_luni_platform_OSNetworkSystem.h237
-rw-r--r--tests/nbody-java/org_apache_harmony_luni_util_FloatingPointParser.c903
-rw-r--r--tests/nbody-java/org_apache_harmony_luni_util_FloatingPointParser.h74
-rw-r--r--tests/nbody-java/org_apache_harmony_luni_util_NumberConverter.c1357
-rw-r--r--tests/nbody-java/org_apache_harmony_luni_util_NumberConverter.h94
-rw-r--r--tests/nbody-java/org_apache_harmony_luni_util_PriviAction.c420
-rw-r--r--tests/nbody-java/org_apache_harmony_luni_util_PriviAction.h83
-rw-r--r--tests/nbody-java/org_apache_harmony_luni_util_Util.c1992
-rw-r--r--tests/nbody-java/org_apache_harmony_luni_util_Util.h101
-rw-r--r--tests/nbody-java/org_apache_harmony_niochar_CharsetProviderImpl.c4462
-rw-r--r--tests/nbody-java/org_apache_harmony_niochar_CharsetProviderImpl.h119
-rw-r--r--tests/nbody-java/org_apache_harmony_niochar_CharsetProviderImpl_1.c267
-rw-r--r--tests/nbody-java/org_apache_harmony_niochar_CharsetProviderImpl_1.h79
-rw-r--r--tests/nbody-java/org_apache_harmony_niochar_charset_UTF_8.c654
-rw-r--r--tests/nbody-java/org_apache_harmony_niochar_charset_UTF_8.h94
-rw-r--r--tests/nbody-java/org_apache_harmony_niochar_charset_UTF_8_Decoder.c638
-rw-r--r--tests/nbody-java/org_apache_harmony_niochar_charset_UTF_8_Decoder.h84
-rw-r--r--tests/nbody-java/org_apache_harmony_niochar_charset_UTF_8_Encoder.c837
-rw-r--r--tests/nbody-java/org_apache_harmony_niochar_charset_UTF_8_Encoder.h84
-rw-r--r--tests/nbody-java/org_xmlvm_runtime_Condition.c193
-rw-r--r--tests/nbody-java/org_xmlvm_runtime_Condition.h64
-rw-r--r--tests/nbody-java/org_xmlvm_runtime_FinalizerNotifier.c506
-rw-r--r--tests/nbody-java/org_xmlvm_runtime_FinalizerNotifier.h99
-rw-r--r--tests/nbody-java/org_xmlvm_runtime_FinalizerNotifier_1.c227
-rw-r--r--tests/nbody-java/org_xmlvm_runtime_FinalizerNotifier_1.h70
-rw-r--r--tests/nbody-java/org_xmlvm_runtime_Mutex.c246
-rw-r--r--tests/nbody-java/org_xmlvm_runtime_Mutex.h70
-rw-r--r--tests/nbody-java/org_xmlvm_runtime_RedTypeMarker.c156
-rw-r--r--tests/nbody-java/org_xmlvm_runtime_RedTypeMarker.h51
-rw-r--r--tests/nbody-java/org_xmlvm_runtime_XMLVMArray.c391
-rw-r--r--tests/nbody-java/org_xmlvm_runtime_XMLVMArray.h72
-rw-r--r--tests/nbody-java/org_xmlvm_runtime_XMLVMClassLoader.c198
-rw-r--r--tests/nbody-java/org_xmlvm_runtime_XMLVMClassLoader.h69
-rw-r--r--tests/nbody-java/org_xmlvm_runtime_XMLVMOutputStream.c189
-rw-r--r--tests/nbody-java/org_xmlvm_runtime_XMLVMOutputStream.h55
-rw-r--r--tests/nbody-java/org_xmlvm_runtime_XMLVMUtil.c209
-rw-r--r--tests/nbody-java/org_xmlvm_runtime_XMLVMUtil.h70
-rw-r--r--tests/nbody-java/uthash.h904
-rw-r--r--tests/nbody-java/xmlvm-file.c314
-rw-r--r--tests/nbody-java/xmlvm-file.h74
-rw-r--r--tests/nbody-java/xmlvm-hy.c255
-rw-r--r--tests/nbody-java/xmlvm-hy.h121
-rw-r--r--tests/nbody-java/xmlvm-number.c327
-rw-r--r--tests/nbody-java/xmlvm-number.h105
-rw-r--r--tests/nbody-java/xmlvm-reflection.h33
-rw-r--r--tests/nbody-java/xmlvm-sock.c1255
-rw-r--r--tests/nbody-java/xmlvm-sock.h72
-rw-r--r--tests/nbody-java/xmlvm-tib-list.c345
-rw-r--r--tests/nbody-java/xmlvm-util.c220
-rw-r--r--tests/nbody-java/xmlvm-util.h46
-rw-r--r--tests/nbody-java/xmlvm.c565
-rw-r--r--tests/nbody-java/xmlvm.h574
-rwxr-xr-xtests/runner.py155
-rw-r--r--tests/sdl_alloctext.c6
-rw-r--r--tests/whets.cpp622
-rwxr-xr-xthird_party/lzma.js/lzip/config.status8
-rw-r--r--tools/eliminator/asm-eliminator-test-output.js10
-rw-r--r--tools/eliminator/asm-eliminator-test.js16
-rw-r--r--tools/js-optimizer.js30
-rw-r--r--tools/shared.py8
419 files changed, 160231 insertions, 178 deletions
diff --git a/AUTHORS b/AUTHORS
index eae3d6e6..a7a03780 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -72,5 +72,8 @@ a license to everyone to use it as detailed in LICENSE.)
* Robert Bragg <robert.bragg@intel.com> (copyright owned by Intel Corporation)
* Sylvestre Ledru <sylvestre@debian.org>
* Tom Fairfield <fairfield@cs.xu.edu>
+* Anthony J. Thibault <ajt@hyperlogic.org>
+* John Allwine <jallwine86@gmail.com>
+* Martin Gerhardy <martin.gerhardy@gmail.com>
diff --git a/emcc b/emcc
index 9d437ecd..4315219a 100755
--- a/emcc
+++ b/emcc
@@ -167,6 +167,7 @@ Options that are modified or new in %s include:
-O3 As -O2, plus dangerous optimizations that may
break the generated code! This adds
+ -s FORCE_ALIGNED_MEMORY=1
-s DOUBLE_MODE=0
-s PRECISE_I64_MATH=0
--closure 1
@@ -174,7 +175,8 @@ Options that are modified or new in %s include:
This is not recommended at all. A better idea
is to try each of these separately on top of
- -O2 to see what works. See the wiki for more
+ -O2 to see what works. See the wiki and
+ src/settings.js (for the -s options) for more
information.
-s OPTION=VALUE JavaScript code generation option passed
@@ -1141,6 +1143,7 @@ try:
# XXX We also need to add libc symbols that use malloc, for example strdup. It's very rare to use just them and not
# a normal malloc symbol (like free, after calling strdup), so we haven't hit this yet, but it is possible.
libc_symbols = read_symbols(shared.path_from_root('system', 'lib', 'libc.symbols'))
+ sdl_symbols = read_symbols(shared.path_from_root('system', 'lib', 'sdl.symbols'))
libcextra_symbols = read_symbols(shared.path_from_root('system', 'lib', 'libcextra.symbols'))
libcxx_symbols = read_symbols(shared.path_from_root('system', 'lib', 'libcxx', 'symbols'), exclude=libc_symbols)
libcxxabi_symbols = read_symbols(shared.path_from_root('system', 'lib', 'libcxxabi', 'symbols'), exclude=libc_symbols)
@@ -1187,7 +1190,7 @@ try:
];
return build_libc('libc.bc', libc_files)
- def fix_libc(need):
+ def apply_libc(need):
# libc needs some sign correction. # If we are in mode 0, switch to 2. We will add our lines
try:
if shared.Settings.CORRECT_SIGNS == 0: raise Exception('we need to change to 2')
@@ -1197,6 +1200,7 @@ try:
shared.Settings.CORRECT_SIGNS_LINES = [shared.path_from_root('src', 'dlmalloc.c') + ':' + str(i+4) for i in [4816, 4191, 4246, 4199, 4205, 4235, 4227]]
# If we are in mode 1, we are correcting everything anyhow. If we are in mode 3, we will be corrected
# so all is well anyhow too.
+ return True
# libcextra
def create_libcextra():
@@ -1274,9 +1278,6 @@ try:
libcextra_files += [os.path.join('libc', 'musl', 'src', directory, source) for source in sources]
return build_libc('libcextra.bc', libcextra_files)
- def fix_libcextra(need):
- pass
-
# libcxx
def create_libcxx():
logging.debug('building libcxx for cache')
@@ -1306,11 +1307,12 @@ try:
]
return build_libcxx(os.path.join('system', 'lib', 'libcxx'), 'libcxx.bc', libcxx_files)
- def fix_libcxx(need):
+ def apply_libcxx(need):
assert shared.Settings.QUANTUM_SIZE == 4, 'We do not support libc++ with QUANTUM_SIZE == 1'
# libcxx might need corrections, so turn them all on. TODO: check which are actually needed
shared.Settings.CORRECT_SIGNS = shared.Settings.CORRECT_OVERFLOWS = shared.Settings.CORRECT_ROUNDINGS = 1
#logging.info('using libcxx turns on CORRECT_* options')
+ return True
# libcxxabi - just for dynamic_cast for now
def create_libcxxabi():
@@ -1321,25 +1323,43 @@ try:
]
return build_libcxx(os.path.join('system', 'lib', 'libcxxabi', 'src'), 'libcxxabi.bc', libcxxabi_files)
- def fix_libcxxabi(need):
+ def apply_libcxxabi(need):
assert shared.Settings.QUANTUM_SIZE == 4, 'We do not support libc++abi with QUANTUM_SIZE == 1'
#logging.info('using libcxxabi, this may need CORRECT_* options')
#shared.Settings.CORRECT_SIGNS = shared.Settings.CORRECT_OVERFLOWS = shared.Settings.CORRECT_ROUNDINGS = 1
+ return True
+
+ # SDL. We include code that demands malloc/free if not already required, so we have proper malloc/free from JS SDL code.
+ # Note that the Force instance here can be optimized out, but we still export malloc/free, so they will be kept alive.
+ def create_sdl():
+ return build_libcxx(os.path.join('system', 'lib'), 'sdl.bc', ['sdl.cpp'])
+
+ def apply_sdl(need):
+ return 'SDL_Init' in all_needed and ('malloc' not in all_needed or 'free' not in all_needed)
# Settings this in the environment will avoid checking dependencies and make building big projects a little faster
force = os.environ.get('EMCC_FORCE_STDLIBS')
+ # Scan symbols
+ all_needed = set()
+ symbolses = map(lambda temp_file: shared.Building.llvm_nm(temp_file), temp_files)
+ for symbols in symbolses:
+ all_needed.update(symbols.undefs)
+ for symbols in symbolses:
+ all_needed.difference_update(symbols.defs)
+
+ # Go over libraries to figure out which we must include
# If we have libcxx, we must force inclusion of libc, since libcxx uses new internally. Note: this is kind of hacky.
has = need = None
- for name, create, fix, library_symbols in [('libcxx', create_libcxx, fix_libcxx, libcxx_symbols),
- ('libcextra', create_libcextra, fix_libcextra, libcextra_symbols),
- ('libcxxabi', create_libcxxabi, fix_libcxxabi, libcxxabi_symbols),
- ('libc', create_libc, fix_libc, libc_symbols)]:
+ for name, create, apply_, library_symbols in [('libcxx', create_libcxx, apply_libcxx, libcxx_symbols),
+ ('libcextra', create_libcextra, lambda x: True, libcextra_symbols),
+ ('libcxxabi', create_libcxxabi, apply_libcxxabi, libcxxabi_symbols),
+ ('sdl', create_sdl, apply_sdl, sdl_symbols),
+ ('libc', create_libc, apply_libc, libc_symbols)]:
if not force:
need = set()
has = set()
- for temp_file in temp_files:
- symbols = shared.Building.llvm_nm(temp_file)
+ for symbols in symbolses:
for library_symbol in library_symbols:
if library_symbol in symbols.undefs:
need.add(library_symbol)
@@ -1349,14 +1369,12 @@ try:
if haz in need:
need.remove(haz)
logging.debug('considering %s: we need %s and have %s' % (name, str(need), str(has)))
- if force or len(need) > 0:
+ if (force or len(need) > 0) and apply_(need):
# We need to build and link the library in
logging.debug('including %s' % name)
libfile = shared.Cache.get(name, create)
extra_files_to_link.append(libfile)
force = True
- if fix and need:
- fix(need)
# First, combine the bitcode files if there are several. We must also link if we have a singleton .a
if len(input_files) + len(extra_files_to_link) > 1 or \
@@ -1570,7 +1588,7 @@ try:
if os.path.abspath(memfile) != os.path.abspath(memfile):
shutil.copyfile(memfile, temp_memfile)
return 'loadMemoryInitializer("%s");' % os.path.basename(memfile)
- src = re.sub('/\* memory initializer \*/ allocate\(([\d,\.concat\(\)\[\]\\n ]+)"i8", ALLOC_NONE, TOTAL_STACK\)', repl, src, count=1)
+ src = re.sub('/\* memory initializer \*/ allocate\(([\d,\.concat\(\)\[\]\\n ]+)"i8", ALLOC_NONE, Runtime\.GLOBAL_BASE\)', repl, src, count=1)
open(final + '.mem.js', 'w').write(src)
final += '.mem.js'
if DEBUG:
diff --git a/emscripten.py b/emscripten.py
index 7352b293..35edc515 100755
--- a/emscripten.py
+++ b/emscripten.py
@@ -309,6 +309,11 @@ def emscript(infile, settings, outfile, libraries=[], compiler_engine=None,
forwarded_json['Functions']['indexedFunctions'][indexed] = i # make sure not to modify this python object later - we use it in indexize
i += 2
forwarded_json['Functions']['nextIndex'] = i
+ function_table_size = forwarded_json['Functions']['nextIndex']
+ i = 1
+ while i < function_table_size:
+ i *= 2
+ function_table_size = i
def split_32(x):
x = int(x)
@@ -371,7 +376,7 @@ def emscript(infile, settings, outfile, libraries=[], compiler_engine=None,
sig = use[8:len(use)-4]
if sig not in last_forwarded_json['Functions']['tables']:
if DEBUG: print >> sys.stderr, 'add empty function table', sig
- last_forwarded_json['Functions']['tables'][sig] = 'var FUNCTION_TABLE_' + sig + ' = [' + ','.join(['0']*forwarded_json['Functions']['nextIndex']) + '];\n'
+ last_forwarded_json['Functions']['tables'][sig] = 'var FUNCTION_TABLE_' + sig + ' = [' + ','.join(['0']*function_table_size) + '];\n'
def make_table(sig, raw):
i = Counter.i
diff --git a/src/analyzer.js b/src/analyzer.js
index 03d44cb7..a131406c 100644
--- a/src/analyzer.js
+++ b/src/analyzer.js
@@ -20,6 +20,7 @@ var BRANCH_INVOKE = set('branch', 'invoke');
var LABEL_ENDERS = set('branch', 'return', 'switch');
var SIDE_EFFECT_CAUSERS = set('call', 'invoke', 'atomic');
var UNUNFOLDABLE = set('value', 'structvalue', 'type', 'phiparam');
+var I64_DOUBLE_FLIP = { i64: 'double', double: 'i64' };
// Analyzer
@@ -99,7 +100,86 @@ function analyzer(data, sidePass) {
}
}
delete item.items;
+ this.forwardItem(item, 'CastAway');
+ }
+ });
+
+ // CastAway - try to remove bitcasts of double<-->i64, which LLVM sometimes generates unnecessarily
+ // (load a double, convert to i64, use as i64).
+ // We optimize this by checking if there are such bitcasts. If so we create a shadow
+ // variable that is of the other type, and use that in the relevant places. (As SSA, this is valid, and
+ // variable elimination later will remove the double load if it is no longer needed.)
+ //
+ // Note that aside from being an optimization, this is needed for correctness in some cases: If code
+ // assumes it can bitcast a double to an i64 and back and forth without loss, that may be violated
+ // due to NaN canonicalization.
+ substrate.addActor('CastAway', {
+ processItem: function(item) {
this.forwardItem(item, 'Legalizer');
+ if (USE_TYPED_ARRAYS != 2) return;
+
+ item.functions.forEach(function(func) {
+ var has = false;
+ func.labels.forEach(function(label) {
+ var lines = label.lines;
+ for (var i = 0; i < lines.length; i++) {
+ var line = lines[i];
+ if (line.intertype == 'bitcast' && line.type in I64_DOUBLE_FLIP) {
+ has = true;
+ }
+ }
+ });
+ if (!has) return;
+ // there are i64<-->double bitcasts, create shadows for everything
+ var shadowed = {};
+ func.labels.forEach(function(label) {
+ var lines = label.lines;
+ var i = 0;
+ while (i < lines.length) {
+ var lines = label.lines;
+ var line = lines[i];
+ if (line.intertype == 'load' && line.type in I64_DOUBLE_FLIP) {
+ if (line.pointer.intertype != 'value') { i++; continue } // TODO
+ shadowed[line.assignTo] = 1;
+ var shadow = line.assignTo + '$$SHADOW';
+ var flip = I64_DOUBLE_FLIP[line.type];
+ lines.splice(i + 1, 0, { // if necessary this element will be legalized in the next phase
+ tokens: null,
+ indent: 2,
+ lineNum: line.lineNum + 0.5,
+ assignTo: shadow,
+ intertype: 'load',
+ pointerType: flip + '*',
+ type: flip,
+ valueType: flip,
+ pointer: {
+ intertype: 'value',
+ ident: line.pointer.ident,
+ type: flip + '*'
+ },
+ align: line.align,
+ ident: line.ident
+ });
+ // note: no need to update func.lines, it is generated in a later pass
+ i++;
+ }
+ i++;
+ }
+ });
+ // use shadows where possible
+ func.labels.forEach(function(label) {
+ var lines = label.lines;
+ for (var i = 0; i < lines.length; i++) {
+ var line = lines[i];
+ if (line.intertype == 'bitcast' && line.type in I64_DOUBLE_FLIP && line.ident in shadowed) {
+ var shadow = line.ident + '$$SHADOW';
+ line.params[0].ident = shadow;
+ line.params[0].type = line.type;
+ line.type2 = line.type;
+ }
+ }
+ });
+ });
}
});
@@ -174,12 +254,15 @@ function analyzer(data, sidePass) {
var factor = (next - prev)/(4*toAdd.length+3);
for (var k = 0; k < toAdd.length; k++) {
toAdd[k].lineNum = prev + ((k+1)*factor);
+ assert(k == 0 || toAdd[k].lineNum > toAdd[k-1].lineNum);
}
}
function removeAndAdd(lines, i, toAdd) {
var item = lines[i];
interpLines(lines, i, toAdd);
Array.prototype.splice.apply(lines, [i, 1].concat(toAdd));
+ if (i > 0) assert(lines[i].lineNum > lines[i-1].lineNum);
+ if (i + toAdd.length < lines.length) assert(lines[i + toAdd.length - 1].lineNum < lines[i + toAdd.length].lineNum);
return toAdd.length;
}
function legalizeFunctionParameters(params) {
diff --git a/src/compiler.js b/src/compiler.js
index 8b9606f1..94e77e26 100644
--- a/src/compiler.js
+++ b/src/compiler.js
@@ -183,8 +183,8 @@ if (ASM_JS) {
assert(!ALLOW_MEMORY_GROWTH, 'Cannot grow asm.js heap');
assert((TOTAL_MEMORY&(TOTAL_MEMORY-1)) == 0, 'asm.js heap must be power of 2');
}
-assert(!(!NAMED_GLOBALS && BUILD_AS_SHARED_LIB)); // shared libraries must have named globals
assert(!BUILD_AS_SHARED_LIB, 'shared libs are deprecated');
+//assert(!(!NAMED_GLOBALS && BUILD_AS_SHARED_LIB), 'shared libraries must have named globals');
// Output some info and warnings based on settings
diff --git a/src/embind/embind.js b/src/embind/embind.js
index cadee700..cadee700 100755..100644
--- a/src/embind/embind.js
+++ b/src/embind/embind.js
diff --git a/src/embind/emval.js b/src/embind/emval.js
index c02ffa92..c02ffa92 100755..100644
--- a/src/embind/emval.js
+++ b/src/embind/emval.js
diff --git a/src/library.js b/src/library.js
index cfe83c6e..84071b68 100644
--- a/src/library.js
+++ b/src/library.js
@@ -296,74 +296,97 @@ LibraryManager.library = {
if (typeof XMLHttpRequest !== 'undefined') {
if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc';
// Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse.
- var LazyUint8Array = function(chunkSize, length) {
- this.length = length;
- this.chunkSize = chunkSize;
+ var LazyUint8Array = function() {
+ this.lengthKnown = false;
this.chunks = []; // Loaded chunks. Index is the chunk number
}
LazyUint8Array.prototype.get = function(idx) {
if (idx > this.length-1 || idx < 0) {
return undefined;
}
- var chunkOffset = idx % chunkSize;
- var chunkNum = Math.floor(idx / chunkSize);
+ var chunkOffset = idx % this.chunkSize;
+ var chunkNum = Math.floor(idx / this.chunkSize);
return this.getter(chunkNum)[chunkOffset];
}
LazyUint8Array.prototype.setDataGetter = function(getter) {
this.getter = getter;
}
-
- // Find length
- var xhr = new XMLHttpRequest();
- xhr.open('HEAD', url, false);
- xhr.send(null);
- if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
- var datalength = Number(xhr.getResponseHeader("Content-length"));
- var header;
- var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
+
+ LazyUint8Array.prototype.cacheLength = function() {
+ // Find length
+ var xhr = new XMLHttpRequest();
+ xhr.open('HEAD', url, false);
+ xhr.send(null);
+ if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
+ var datalength = Number(xhr.getResponseHeader("Content-length"));
+ var header;
+ var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
#if SMALL_XHR_CHUNKS
- var chunkSize = 1024; // Chunk size in bytes
+ var chunkSize = 1024; // Chunk size in bytes
#else
- var chunkSize = 1024*1024; // Chunk size in bytes
+ var chunkSize = 1024*1024; // Chunk size in bytes
#endif
- if (!hasByteServing) chunkSize = datalength;
-
- // Function to get a range from the remote URL.
- var doXHR = (function(from, to) {
- if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!");
- if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!");
-
- // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available.
- var xhr = new XMLHttpRequest();
- xhr.open('GET', url, false);
- if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);
-
- // Some hints to the browser that we want binary data.
- if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer';
- if (xhr.overrideMimeType) {
- xhr.overrideMimeType('text/plain; charset=x-user-defined');
- }
+ if (!hasByteServing) chunkSize = datalength;
+
+ // Function to get a range from the remote URL.
+ var doXHR = (function(from, to) {
+ if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!");
+ if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!");
+
+ // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available.
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', url, false);
+ if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);
+
+ // Some hints to the browser that we want binary data.
+ if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer';
+ if (xhr.overrideMimeType) {
+ xhr.overrideMimeType('text/plain; charset=x-user-defined');
+ }
+
+ xhr.send(null);
+ if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
+ if (xhr.response !== undefined) {
+ return new Uint8Array(xhr.response || []);
+ } else {
+ return intArrayFromString(xhr.responseText || '', true);
+ }
+ });
+ var lazyArray = this;
+ lazyArray.setDataGetter(function(chunkNum) {
+ var start = chunkNum * chunkSize;
+ var end = (chunkNum+1) * chunkSize - 1; // including this byte
+ end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block
+ if (typeof(lazyArray.chunks[chunkNum]) === "undefined") {
+ lazyArray.chunks[chunkNum] = doXHR(start, end);
+ }
+ if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!");
+ return lazyArray.chunks[chunkNum];
+ });
+
+ this._length = datalength;
+ this._chunkSize = chunkSize;
+ this.lengthKnown = true;
+ }
- xhr.send(null);
- if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
- if (xhr.response !== undefined) {
- return new Uint8Array(xhr.response || []);
- } else {
- return intArrayFromString(xhr.responseText || '', true);
- }
+ var lazyArray = new LazyUint8Array();
+ Object.defineProperty(lazyArray, "length", {
+ get: function() {
+ if(!this.lengthKnown) {
+ this.cacheLength();
+ }
+ return this._length;
+ }
});
-
- var lazyArray = new LazyUint8Array(chunkSize, datalength);
- lazyArray.setDataGetter(function(chunkNum) {
- var start = chunkNum * lazyArray.chunkSize;
- var end = (chunkNum+1) * lazyArray.chunkSize - 1; // including this byte
- end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block
- if (typeof(lazyArray.chunks[chunkNum]) === "undefined") {
- lazyArray.chunks[chunkNum] = doXHR(start, end);
- }
- if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!");
- return lazyArray.chunks[chunkNum];
+ Object.defineProperty(lazyArray, "chunkSize", {
+ get: function() {
+ if(!this.lengthKnown) {
+ this.cacheLength();
+ }
+ return this._chunkSize;
+ }
});
+
var properties = { isDevice: false, contents: lazyArray };
} else {
var properties = { isDevice: false, url: url };
@@ -2465,9 +2488,15 @@ LibraryManager.library = {
__scanString.whiteSpace[{{{ charCode(' ') }}}] = 1;
__scanString.whiteSpace[{{{ charCode('\t') }}}] = 1;
__scanString.whiteSpace[{{{ charCode('\n') }}}] = 1;
+ __scanString.whiteSpace[{{{ charCode('\v') }}}] = 1;
+ __scanString.whiteSpace[{{{ charCode('\f') }}}] = 1;
+ __scanString.whiteSpace[{{{ charCode('\r') }}}] = 1;
__scanString.whiteSpace[' '] = 1;
__scanString.whiteSpace['\t'] = 1;
__scanString.whiteSpace['\n'] = 1;
+ __scanString.whiteSpace['\v'] = 1;
+ __scanString.whiteSpace['\f'] = 1;
+ __scanString.whiteSpace['\r'] = 1;
}
// Supports %x, %4x, %d.%d, %lld, %s, %f, %lf.
// TODO: Support all format specifiers.
@@ -2840,7 +2869,7 @@ LibraryManager.library = {
} else if (next == {{{ charCode('o') }}}) {
argText = (flagAlternative ? '0' : '') + currAbsArg.toString(8);
} else if (next == {{{ charCode('x') }}} || next == {{{ charCode('X') }}}) {
- prefix = flagAlternative ? '0x' : '';
+ prefix = (flagAlternative && currArg != 0) ? '0x' : '';
#if PRECISE_I64_MATH
if (argSize == 8 && i64Math) {
if (origArg[1]) {
diff --git a/src/library_sdl.js b/src/library_sdl.js
index a1fb871f..37feb744 100644
--- a/src/library_sdl.js
+++ b/src/library_sdl.js
@@ -1705,6 +1705,60 @@ var LibrarySDL = {
SDL_GL_SwapBuffers: function() {},
+ // SDL 2
+
+ SDL_GL_ExtensionSupported: function(extension) {
+ return Module.ctx.getExtension(extension) | 0;
+ },
+
+ SDL_DestroyWindow: function(window) {},
+
+ SDL_DestroyRenderer: function(renderer) {},
+
+ SDL_GetWindowFlags: function(x, y) {
+ if (Browser.isFullScreen) {
+ return 1;
+ }
+
+ return 0;
+ },
+
+ SDL_GL_SwapWindow: function(window) {},
+
+ SDL_GL_MakeCurrent: function(window, context) {},
+
+ SDL_GL_DeleteContext: function(context) {},
+
+ SDL_GL_SetSwapInterval: function(state) {},
+
+ SDL_SetWindowTitle: function(window, title) {
+ if (title) document.title = Pointer_stringify(title);
+ },
+
+ SDL_GetWindowSize: function(window, width, height){
+ var w = Module['canvas'].width;
+ var h = Module['canvas'].height;
+ if (width) {{{ makeSetValue('width', '0', 'w', 'i32') }}};
+ if (height) {{{ makeSetValue('height', '0', 'h', 'i32') }}};
+ },
+
+ SDL_LogSetOutputFunction: function(callback, userdata) {},
+
+ SDL_SetWindowFullscreen: function(window, fullscreen) {
+ if (Browser.isFullScreen) {
+ Module['canvas'].cancelFullScreen();
+ return 1;
+ } else {
+ return 0;
+ }
+ },
+
+ SDL_GetWindowFlags: function() {},
+
+ SDL_ClearError: function() {},
+
+ SDL_getenv: 'getenv',
+
// TODO
SDL_SetGamma: function(r, g, b) {
diff --git a/src/modules.js b/src/modules.js
index 9cbe88aa..6b3c5ffb 100644
--- a/src/modules.js
+++ b/src/modules.js
@@ -259,7 +259,7 @@ var Functions = {
}
if (phase != 'post' && singlePhase) {
if (!doNotCreate) this.indexedFunctions[ident] = 0; // tell python we need this indexized
- return "'{{ FI_" + ident + " }}'"; // something python will replace later
+ return "'{{ FI_" + toNiceIdent(ident) + " }}'"; // something python will replace later
} else {
var ret = this.indexedFunctions[ident];
if (!ret) {
@@ -318,6 +318,7 @@ var Functions = {
if (ASM_JS) {
var curr = table[i];
if (curr && curr != '0' && !Functions.implementedFunctions[curr]) {
+ curr = toNiceIdent(curr); // fix Math.* to Math_*
// This is a library function, we can't just put it in the function table, need a wrapper
if (!wrapped[curr]) {
var args = '', arg_coercions = '', call = curr + '(', retPre = '', retPost = '';
diff --git a/src/parseTools.js b/src/parseTools.js
index db834206..fa0f251e 100644
--- a/src/parseTools.js
+++ b/src/parseTools.js
@@ -1118,6 +1118,8 @@ var asmPrintCounter = 0;
// See makeSetValue
function makeGetValue(ptr, pos, type, noNeedFirst, unsigned, ignore, align, noSafe, forceAsm) {
if (UNALIGNED_MEMORY) align = 1;
+ else if (FORCE_ALIGNED_MEMORY && !isIllegalType(type)) align = 8;
+
if (isStructType(type)) {
var typeData = Types.types[type];
var ret = [];
@@ -1220,6 +1222,8 @@ function indexizeFunctions(value, type) {
//! @param noNeedFirst Whether to ignore the offset in the pointer itself.
function makeSetValue(ptr, pos, value, type, noNeedFirst, ignore, align, noSafe, sep, forcedAlign, forceAsm) {
if (UNALIGNED_MEMORY && !forcedAlign) align = 1;
+ else if (FORCE_ALIGNED_MEMORY && !isIllegalType(type)) align = 8;
+
sep = sep || ';';
if (isStructType(type)) {
var typeData = Types.types[type];
@@ -1678,10 +1682,10 @@ function checkBitcast(item) {
function showWarning() {
if (warned) return;
warned = true;
- if (VERBOSE || ASM_JS) {
+ if (VERBOSE) {
warnOnce('Casting potentially incompatible function pointer ' + oldType + ' to ' + newType + ', for ' + item.params[0].ident.slice(1));
} else {
- warnOnce('Casting a function pointer type to a potentially incompatible one (use VERBOSE=1 to see more)');
+ warnOnce('Casting a function pointer type to a potentially incompatible one (use -s VERBOSE=1 to see more)');
}
warnOnce('See https://github.com/kripken/emscripten/wiki/CodeGuidlinesAndLimitations#function-pointer-issues for more information on dangerous function pointer casts');
if (ASM_JS) warnOnce('Incompatible function pointer casts are very dangerous with ASM_JS=1, you should investigate and correct these');
diff --git a/src/settings.js b/src/settings.js
index ba1f6a83..8766277b 100644
--- a/src/settings.js
+++ b/src/settings.js
@@ -17,8 +17,8 @@ var QUANTUM_SIZE = 4; // This is the size of an individual field in a structure.
//
// Changing this from the default of 4 is deprecated.
-var TARGET_X86 = 1; // For le32-unknown-nacl
-var TARGET_LE32 = 0; // For i386-pc-linux-gnu
+var TARGET_X86 = 0; // For i386-pc-linux-gnu
+var TARGET_LE32 = 1; // For le32-unknown-nacl
var CORRECT_SIGNS = 1; // Whether we make sure to convert unsigned values to signed values.
// Decreases performance with additional runtime checks. Might not be
@@ -89,6 +89,12 @@ var UNALIGNED_MEMORY = 0; // If enabled, all memory accesses are assumed to be u
// typed arrays mode 2 where alignment is relevant.) In unaligned memory mode, you
// can run nonportable code that typically would break in JS (or on ARM for that
// matter, which also cannot do unaligned reads/writes), at the cost of slowness
+var FORCE_ALIGNED_MEMORY = 0; // If enabled, assumes all reads and writes are fully aligned for the type they
+ // use. This is true in proper C code (no undefined behavior), but is sadly
+ // common enough that we can't do it by default. See SAFE_HEAP and CHECK_HEAP_ALIGN
+ // for ways to help find places in your code where unaligned reads/writes are done -
+ // you might be able to refactor your codebase to prevent them, which leads to
+ // smaller and faster code, or even the option to turn this flag on.
var PRECISE_I64_MATH = 1; // If enabled, i64 addition etc. is emulated - which is slow but precise. If disabled,
// we use the 'double trick' which is fast but incurs rounding at high values.
// Note that we do not catch 32-bit multiplication by default (which must be done in
diff --git a/system/include/emscripten/bind.h b/system/include/emscripten/bind.h
index 7aa2a55e..7aa2a55e 100755..100644
--- a/system/include/emscripten/bind.h
+++ b/system/include/emscripten/bind.h
diff --git a/system/include/emscripten/wire.h b/system/include/emscripten/wire.h
index 6fb15fc7..6fb15fc7 100755..100644
--- a/system/include/emscripten/wire.h
+++ b/system/include/emscripten/wire.h
diff --git a/system/include/netdb.h b/system/include/netdb.h
index 147cdff4..48acdcc4 100644
--- a/system/include/netdb.h
+++ b/system/include/netdb.h
@@ -85,6 +85,8 @@ const char* hstrerror(int err);
extern int h_errno;
+#include <netinet/in.h>
+
#ifdef __cplusplus
}
#endif
diff --git a/system/lib/sdl.cpp b/system/lib/sdl.cpp
new file mode 100644
index 00000000..7038cdb1
--- /dev/null
+++ b/system/lib/sdl.cpp
@@ -0,0 +1,13 @@
+
+#include <stdlib.h>
+
+// force malloc&free to be included in from libc
+struct Force {
+ Force() {
+ void *x = malloc(10);
+ free(x);
+ }
+};
+
+static Force f;
+
diff --git a/system/lib/sdl.symbols b/system/lib/sdl.symbols
new file mode 100644
index 00000000..c2c0af42
--- /dev/null
+++ b/system/lib/sdl.symbols
@@ -0,0 +1 @@
+ W SDL_Init
diff --git a/tests/box2d/Benchmark.cpp b/tests/box2d/Benchmark.cpp
index 6853a3dc..0db1d4be 100644
--- a/tests/box2d/Benchmark.cpp
+++ b/tests/box2d/Benchmark.cpp
@@ -31,7 +31,7 @@ using namespace std;
const int e_count = 40;
-result_t measure(clock_t times[FRAMES]) {
+result_t measure(clock_t *times) {
float values[FRAMES];
result_t r;
diff --git a/tests/cases/gepoverflow.ll b/tests/cases/gepoverflow.ll
deleted file mode 100644
index d09afd87..00000000
--- a/tests/cases/gepoverflow.ll
+++ /dev/null
@@ -1,37 +0,0 @@
-; ModuleID = 'src.cpp.o'
-target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32"
-target triple = "i386-pc-linux-gnu"
-
-; XXX Note: the .txt file contains raw pointer data! The important thing is that the two pointers
-; on the first line are of the same scale. If one is huge and the other not, then we failed.
-; That is an overflow, which overflow checks should catch.
-; If we change memory stuff - like the default stack! - we will need to change this.
-
-@.str2 = private constant [14 x i8] c"hello, world!\00", align 1 ; [#uses=0]
-@.str = private constant [9 x i8] c"*%d,%d*\0A\00", align 1 ; [#uses=1]
-@base = internal constant [31 x i16] [i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 13, i16 15, i16 17, i16 19, i16 23, i16 27, i16 31, i16 35, i16 43, i16 51, i16 59, i16 67, i16 83, i16 99, i16 115, i16 131, i16 163, i16 195, i16 227, i16 258, i16 0, i16 0], align 32 ; [#uses=2]
-
-; [#uses=2]
-declare i32 @printf(i8* noalias, ...) nounwind
-
-; [#uses=0]
-define i32 @main() {
-entry:
- %retval = alloca i32 ; [#uses=1]
- %"alloca point" = bitcast i32 0 to i32 ; [#uses=0]
- %baseint = ptrtoint [31 x i16]* @base to i32 ; [#uses=1]
- %0 = getelementptr [31 x i16]* @base, i32 69273657, i32 24 ; [#uses=1]
- %1 = ptrtoint i16* %0 to i32 ; [#uses=2]
- %2 = add i32 %1, 570 ; [#uses=2]
- %3 = sub i32 %1, %baseint ; [#uses=1]
- %4 = sub i32 %2, %baseint ; [#uses=1]
- %5 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([9 x i8]* @.str, i32 0, i32 0), i32 %1, i32 %2) ; [#uses=0]
- %6 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([9 x i8]* @.str, i32 0, i32 0), i32 %3, i32 %4) ; [#uses=0]
- br label %return
-
-return: ; preds = %entry
- store i32 0, i32* %retval
- %retval1 = load i32* %retval ; [#uses=1]
- ret i32 %retval1
-}
-
diff --git a/tests/cases/gepoverflow.txt b/tests/cases/gepoverflow.txt
deleted file mode 100644
index 3984fc07..00000000
--- a/tests/cases/gepoverflow.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-*-506,64*
-*-514,56*
diff --git a/tests/cases/gepoverflow_q1.txt b/tests/cases/gepoverflow_q1.txt
deleted file mode 100644
index e32e76dd..00000000
--- a/tests/cases/gepoverflow_q1.txt
+++ /dev/null
@@ -1 +0,0 @@
-skip
diff --git a/tests/embind/build_benchmark b/tests/embind/build_benchmark
index 6faad18b..6faad18b 100755..100644
--- a/tests/embind/build_benchmark
+++ b/tests/embind/build_benchmark
diff --git a/tests/embind/embind.test.js b/tests/embind/embind.test.js
index 52b2cad8..52b2cad8 100755..100644
--- a/tests/embind/embind.test.js
+++ b/tests/embind/embind.test.js
diff --git a/tests/embind/imvu_test_adapter.js b/tests/embind/imvu_test_adapter.js
index 421e86c8..421e86c8 100755..100644
--- a/tests/embind/imvu_test_adapter.js
+++ b/tests/embind/imvu_test_adapter.js
diff --git a/tests/embind/underscore-1.4.2.js b/tests/embind/underscore-1.4.2.js
index dd274095..dd274095 100755..100644
--- a/tests/embind/underscore-1.4.2.js
+++ b/tests/embind/underscore-1.4.2.js
diff --git a/tests/nbody-java/constant_pool.c b/tests/nbody-java/constant_pool.c
new file mode 100644
index 00000000..b3f3467d
--- /dev/null
+++ b/tests/nbody-java/constant_pool.c
@@ -0,0 +1,3357 @@
+
+// Generated by xmlvm2c.xsl. Do not edit!
+
+#include "xmlvm.h"
+
+const JAVA_ARRAY_CHAR* xmlvm_constant_pool_data[] = {
+// ID=0: <unknown class>
+(JAVA_ARRAY_CHAR[]) {60, 117, 110, 107, 110, 111, 119, 110, 32, 99, 108, 97, 115, 115, 62},
+// ID=1: <unknown method>
+(JAVA_ARRAY_CHAR[]) {60, 117, 110, 107, 110, 111, 119, 110, 32, 109, 101, 116, 104, 111, 100, 62},
+// ID=2: (Native Method)
+(JAVA_ARRAY_CHAR[]) {40, 78, 97, 116, 105, 118, 101, 32, 77, 101, 116, 104, 111, 100, 41},
+// ID=3: (Unknown Source)
+(JAVA_ARRAY_CHAR[]) {40, 85, 110, 107, 110, 111, 119, 110, 32, 83, 111, 117, 114, 99, 101, 41},
+// ID=4: true
+(JAVA_ARRAY_CHAR[]) {116, 114, 117, 101},
+// ID=5: (this Map)
+(JAVA_ARRAY_CHAR[]) {40, 116, 104, 105, 115, 32, 77, 97, 112, 41},
+// ID=6: \173\175
+(JAVA_ARRAY_CHAR[]) {123, 125},
+// ID=7: ,
+(JAVA_ARRAY_CHAR[]) {44, 32},
+// ID=8: NaN
+(JAVA_ARRAY_CHAR[]) {78, 97, 78},
+// ID=9: Infinity
+(JAVA_ARRAY_CHAR[]) {73, 110, 102, 105, 110, 105, 116, 121},
+// ID=10: -Infinity
+(JAVA_ARRAY_CHAR[]) {45, 73, 110, 102, 105, 110, 105, 116, 121},
+// ID=11: -0x0.0p0
+(JAVA_ARRAY_CHAR[]) {45, 48, 120, 48, 46, 48, 112, 48},
+// ID=12: 0x0.0p0
+(JAVA_ARRAY_CHAR[]) {48, 120, 48, 46, 48, 112, 48},
+// ID=13: -0x
+(JAVA_ARRAY_CHAR[]) {45, 48, 120},
+// ID=14: 0.
+(JAVA_ARRAY_CHAR[]) {48, 46},
+// ID=15: p-126
+(JAVA_ARRAY_CHAR[]) {112, 45, 49, 50, 54},
+// ID=16: 0x
+(JAVA_ARRAY_CHAR[]) {48, 120},
+// ID=17: 1.
+(JAVA_ARRAY_CHAR[]) {49, 46},
+// ID=18: L
+(JAVA_ARRAY_CHAR[]) {76},
+// ID=19: en
+(JAVA_ARRAY_CHAR[]) {101, 110},
+// ID=20: US
+(JAVA_ARRAY_CHAR[]) {85, 83},
+// ID=21:
+(JAVA_ARRAY_CHAR[]) {},
+// ID=22: (
+(JAVA_ARRAY_CHAR[]) {32, 40},
+// ID=23: )
+(JAVA_ARRAY_CHAR[]) {41},
+// ID=24: ,
+(JAVA_ARRAY_CHAR[]) {44},
+// ID=25: __
+(JAVA_ARRAY_CHAR[]) {95, 95},
+// ID=26: country
+(JAVA_ARRAY_CHAR[]) {99, 111, 117, 110, 116, 114, 121},
+// ID=27: hashcode
+(JAVA_ARRAY_CHAR[]) {104, 97, 115, 104, 99, 111, 100, 101},
+// ID=28: language
+(JAVA_ARRAY_CHAR[]) {108, 97, 110, 103, 117, 97, 103, 101},
+// ID=29: variant
+(JAVA_ARRAY_CHAR[]) {118, 97, 114, 105, 97, 110, 116},
+// ID=30: fr
+(JAVA_ARRAY_CHAR[]) {102, 114},
+// ID=31: CN
+(JAVA_ARRAY_CHAR[]) {67, 78},
+// ID=32: zh
+(JAVA_ARRAY_CHAR[]) {122, 104},
+// ID=33: CA
+(JAVA_ARRAY_CHAR[]) {67, 65},
+// ID=34: FR
+(JAVA_ARRAY_CHAR[]) {70, 82},
+// ID=35: de
+(JAVA_ARRAY_CHAR[]) {100, 101},
+// ID=36: DE
+(JAVA_ARRAY_CHAR[]) {68, 69},
+// ID=37: it
+(JAVA_ARRAY_CHAR[]) {105, 116},
+// ID=38: IT
+(JAVA_ARRAY_CHAR[]) {73, 84},
+// ID=39: ja
+(JAVA_ARRAY_CHAR[]) {106, 97},
+// ID=40: JP
+(JAVA_ARRAY_CHAR[]) {74, 80},
+// ID=41: ko
+(JAVA_ARRAY_CHAR[]) {107, 111},
+// ID=42: KR
+(JAVA_ARRAY_CHAR[]) {75, 82},
+// ID=43: TW
+(JAVA_ARRAY_CHAR[]) {84, 87},
+// ID=44: GB
+(JAVA_ARRAY_CHAR[]) {71, 66},
+// ID=45: \011at
+(JAVA_ARRAY_CHAR[]) {9, 97, 116, 32},
+// ID=46: Caused by:
+(JAVA_ARRAY_CHAR[]) {67, 97, 117, 115, 101, 100, 32, 98, 121, 58, 32},
+// ID=47: \011...
+(JAVA_ARRAY_CHAR[]) {9, 46, 46, 46, 32},
+// ID=48: more
+(JAVA_ARRAY_CHAR[]) {32, 109, 111, 114, 101},
+// ID=49: :
+(JAVA_ARRAY_CHAR[]) {58, 32},
+// ID=50: Cause cannot be the receiver
+(JAVA_ARRAY_CHAR[]) {67, 97, 117, 115, 101, 32, 99, 97, 110, 110, 111, 116, 32, 98, 101, 32, 116, 104, 101, 32, 114, 101, 99, 101, 105, 118, 101, 114},
+// ID=51: Cause already initialized
+(JAVA_ARRAY_CHAR[]) {67, 97, 117, 115, 101, 32, 97, 108, 114, 101, 97, 100, 121, 32, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 100},
+// ID=52: .
+(JAVA_ARRAY_CHAR[]) {46},
+// ID=53: .<init>
+(JAVA_ARRAY_CHAR[]) {46, 60, 105, 110, 105, 116, 62},
+// ID=54: /
+(JAVA_ARRAY_CHAR[]) {47},
+// ID=55: file://
+(JAVA_ARRAY_CHAR[]) {102, 105, 108, 101, 58, 47, 47},
+// ID=56: interface
+(JAVA_ARRAY_CHAR[]) {105, 110, 116, 101, 114, 102, 97, 99, 101},
+// ID=57:
+(JAVA_ARRAY_CHAR[]) {32},
+// ID=58: class
+(JAVA_ARRAY_CHAR[]) {99, 108, 97, 115, 115},
+// ID=59: charsetProvider
+(JAVA_ARRAY_CHAR[]) {99, 104, 97, 114, 115, 101, 116, 80, 114, 111, 118, 105, 100, 101, 114},
+// ID=60: luni.4A
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 52, 65},
+// ID=61: luni.12
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 49, 50},
+// ID=62: luni.18
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 49, 56},
+// ID=63: null
+(JAVA_ARRAY_CHAR[]) {110, 117, 108, 108},
+// ID=64: offset
+(JAVA_ARRAY_CHAR[]) {111, 102, 102, 115, 101, 116, 32},
+// ID=65: , length
+(JAVA_ARRAY_CHAR[]) {44, 32, 108, 101, 110, 103, 116, 104, 32},
+// ID=66: , char[].length
+(JAVA_ARRAY_CHAR[]) {44, 32, 99, 104, 97, 114, 91, 93, 46, 108, 101, 110, 103, 116, 104, 32},
+// ID=67: the current thread is not the owner of the object's monitor
+(JAVA_ARRAY_CHAR[]) {116, 104, 101, 32, 99, 117, 114, 114, 101, 110, 116, 32, 116, 104, 114, 101, 97, 100, 32, 105, 115, 32, 110, 111, 116, 32, 116, 104, 101, 32, 111, 119, 110, 101, 114, 32, 111, 102, 32, 116, 104, 101, 32, 111, 98, 106, 101, 99, 116, 39, 115, 32, 109, 111, 110, 105, 116, 111, 114},
+// ID=68: the value of timeout is negative
+(JAVA_ARRAY_CHAR[]) {116, 104, 101, 32, 118, 97, 108, 117, 101, 32, 111, 102, 32, 116, 105, 109, 101, 111, 117, 116, 32, 105, 115, 32, 110, 101, 103, 97, 116, 105, 118, 101},
+// ID=69: Connection refused
+(JAVA_ARRAY_CHAR[]) {67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 32, 114, 101, 102, 117, 115, 101, 100},
+// ID=70: 0
+(JAVA_ARRAY_CHAR[]) {48},
+// ID=71: localhost
+(JAVA_ARRAY_CHAR[]) {108, 111, 99, 97, 108, 104, 111, 115, 116},
+// ID=72: networkaddress.cache.ttl
+(JAVA_ARRAY_CHAR[]) {110, 101, 116, 119, 111, 114, 107, 97, 100, 100, 114, 101, 115, 115, 46, 99, 97, 99, 104, 101, 46, 116, 116, 108},
+// ID=73: 255.255.255.255
+(JAVA_ARRAY_CHAR[]) {50, 53, 53, 46, 50, 53, 53, 46, 50, 53, 53, 46, 50, 53, 53},
+// ID=74: luni.61
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 54, 49},
+// ID=75: luni.64
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 54, 52},
+// ID=76: luni.65
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 54, 53},
+// ID=77: \134.
+(JAVA_ARRAY_CHAR[]) {92, 46},
+// ID=78: :.%
+(JAVA_ARRAY_CHAR[]) {58, 46, 37},
+// ID=79: :
+(JAVA_ARRAY_CHAR[]) {58},
+// ID=80: %
+(JAVA_ARRAY_CHAR[]) {37},
+// ID=81: address
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 114, 101, 115, 115},
+// ID=82: family
+(JAVA_ARRAY_CHAR[]) {102, 97, 109, 105, 108, 121},
+// ID=83: hostName
+(JAVA_ARRAY_CHAR[]) {104, 111, 115, 116, 78, 97, 109, 101},
+// ID=84: Invalid file descriptor arrays
+(JAVA_ARRAY_CHAR[]) {73, 110, 118, 97, 108, 105, 100, 32, 102, 105, 108, 101, 32, 100, 101, 115, 99, 114, 105, 112, 116, 111, 114, 32, 97, 114, 114, 97, 121, 115},
+// ID=85: (
+(JAVA_ARRAY_CHAR[]) {40},
+// ID=86: niochar.02
+(JAVA_ARRAY_CHAR[]) {110, 105, 111, 99, 104, 97, 114, 46, 48, 50},
+// ID=87: niochar.03
+(JAVA_ARRAY_CHAR[]) {110, 105, 111, 99, 104, 97, 114, 46, 48, 51},
+// ID=88: niochar.0B
+(JAVA_ARRAY_CHAR[]) {110, 105, 111, 99, 104, 97, 114, 46, 48, 66},
+// ID=89: niochar.0C
+(JAVA_ARRAY_CHAR[]) {110, 105, 111, 99, 104, 97, 114, 46, 48, 67},
+// ID=90: niochar.0D
+(JAVA_ARRAY_CHAR[]) {110, 105, 111, 99, 104, 97, 114, 46, 48, 68},
+// ID=91: niochar.0E
+(JAVA_ARRAY_CHAR[]) {110, 105, 111, 99, 104, 97, 114, 46, 48, 69},
+// ID=92: -
+(JAVA_ARRAY_CHAR[]) {45},
+// ID=93: 0.0
+(JAVA_ARRAY_CHAR[]) {48, 46, 48},
+// ID=94: 4.9E-324
+(JAVA_ARRAY_CHAR[]) {52, 46, 57, 69, 45, 51, 50, 52},
+// ID=95: []
+(JAVA_ARRAY_CHAR[]) {91, 93},
+// ID=96: (this Collection)
+(JAVA_ARRAY_CHAR[]) {40, 116, 104, 105, 115, 32, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 41},
+// ID=97: Illegal lock type requested.
+(JAVA_ARRAY_CHAR[]) {73, 108, 108, 101, 103, 97, 108, 32, 108, 111, 99, 107, 32, 116, 121, 112, 101, 32, 114, 101, 113, 117, 101, 115, 116, 101, 100, 46},
+// ID=98: Lock start position must be non-negative
+(JAVA_ARRAY_CHAR[]) {76, 111, 99, 107, 32, 115, 116, 97, 114, 116, 32, 112, 111, 115, 105, 116, 105, 111, 110, 32, 109, 117, 115, 116, 32, 98, 101, 32, 110, 111, 110, 45, 110, 101, 103, 97, 116, 105, 118, 101},
+// ID=99: Lock length must be non-negative
+(JAVA_ARRAY_CHAR[]) {76, 111, 99, 107, 32, 108, 101, 110, 103, 116, 104, 32, 109, 117, 115, 116, 32, 98, 101, 32, 110, 111, 110, 45, 110, 101, 103, 97, 116, 105, 118, 101},
+// ID=100: UTF-8
+(JAVA_ARRAY_CHAR[]) {85, 84, 70, 45, 56},
+// ID=101: Finalizer-thread
+(JAVA_ARRAY_CHAR[]) {70, 105, 110, 97, 108, 105, 122, 101, 114, 45, 116, 104, 114, 101, 97, 100},
+// ID=102: http://java.sun.com/dtd/properties.dtd
+(JAVA_ARRAY_CHAR[]) {104, 116, 116, 112, 58, 47, 47, 106, 97, 118, 97, 46, 115, 117, 110, 46, 99, 111, 109, 47, 100, 116, 100, 47, 112, 114, 111, 112, 101, 114, 116, 105, 101, 115, 46, 100, 116, 100},
+// ID=103: <?xml version=\0421.0\042 encoding=\042UTF-8\042?> <!ELEMENT properties (comment?, entry*) > <!ATTLIST properties version CDATA #FIXED \0421.0\042 > <!ELEMENT comment (#PCDATA) > <!ELEMENT entry (#PCDATA) > <!ATTLIST entry key CDATA #REQUIRED >
+(JAVA_ARRAY_CHAR[]) {60, 63, 120, 109, 108, 32, 118, 101, 114, 115, 105, 111, 110, 61, 34, 49, 46, 48, 34, 32, 101, 110, 99, 111, 100, 105, 110, 103, 61, 34, 85, 84, 70, 45, 56, 34, 63, 62, 32, 32, 32, 32, 60, 33, 69, 76, 69, 77, 69, 78, 84, 32, 112, 114, 111, 112, 101, 114, 116, 105, 101, 115, 32, 40, 99, 111, 109, 109, 101, 110, 116, 63, 44, 32, 101, 110, 116, 114, 121, 42, 41, 32, 62, 32, 32, 32, 32, 60, 33, 65, 84, 84, 76, 73, 83, 84, 32, 112, 114, 111, 112, 101, 114, 116, 105, 101, 115, 32, 118, 101, 114, 115, 105, 111, 110, 32, 67, 68, 65, 84, 65, 32, 35, 70, 73, 88, 69, 68, 32, 34, 49, 46, 48, 34, 32, 62, 32, 32, 32, 32, 60, 33, 69, 76, 69, 77, 69, 78, 84, 32, 99, 111, 109, 109, 101, 110, 116, 32, 40, 35, 80, 67, 68, 65, 84, 65, 41, 32, 62, 32, 32, 32, 32, 60, 33, 69, 76, 69, 77, 69, 78, 84, 32, 101, 110, 116, 114, 121, 32, 40, 35, 80, 67, 68, 65, 84, 65, 41, 32, 62, 32, 32, 32, 32, 60, 33, 65, 84, 84, 76, 73, 83, 84, 32, 101, 110, 116, 114, 121, 32, 107, 101, 121, 32, 67, 68, 65, 84, 65, 32, 35, 82, 69, 81, 85, 73, 82, 69, 68, 32, 62},
+// ID=104: \134
+(JAVA_ARRAY_CHAR[]) {92, 32},
+// ID=105: \134#!=:
+(JAVA_ARRAY_CHAR[]) {92, 35, 33, 61, 58},
+// ID=106: \134t
+(JAVA_ARRAY_CHAR[]) {92, 116},
+// ID=107: \134n
+(JAVA_ARRAY_CHAR[]) {92, 110},
+// ID=108: \134f
+(JAVA_ARRAY_CHAR[]) {92, 102},
+// ID=109: \134r
+(JAVA_ARRAY_CHAR[]) {92, 114},
+// ID=110: ...
+(JAVA_ARRAY_CHAR[]) {46, 46, 46},
+// ID=111: ISO8859-1
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 56, 56, 53, 57, 45, 49},
+// ID=112: luni.08
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 48, 56},
+// ID=113: luni.09
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 48, 57},
+// ID=114: \000
+(JAVA_ARRAY_CHAR[]) {0},
+// ID=115: line.separator
+(JAVA_ARRAY_CHAR[]) {108, 105, 110, 101, 46, 115, 101, 112, 97, 114, 97, 116, 111, 114},
+// ID=116: ISO8859_1
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 56, 56, 53, 57, 95, 49},
+// ID=117: entry
+(JAVA_ARRAY_CHAR[]) {101, 110, 116, 114, 121},
+// ID=118: key
+(JAVA_ARRAY_CHAR[]) {107, 101, 121},
+// ID=119: \042>
+(JAVA_ARRAY_CHAR[]) {34, 62},
+// ID=120: <?xml version=\0421.0\042 encoding=\042
+(JAVA_ARRAY_CHAR[]) {60, 63, 120, 109, 108, 32, 118, 101, 114, 115, 105, 111, 110, 61, 34, 49, 46, 48, 34, 32, 101, 110, 99, 111, 100, 105, 110, 103, 61, 34},
+// ID=121: \042?>
+(JAVA_ARRAY_CHAR[]) {34, 63, 62},
+// ID=122: <!DOCTYPE properties SYSTEM \042
+(JAVA_ARRAY_CHAR[]) {60, 33, 68, 79, 67, 84, 89, 80, 69, 32, 112, 114, 111, 112, 101, 114, 116, 105, 101, 115, 32, 83, 89, 83, 84, 69, 77, 32, 34},
+// ID=123: <properties>
+(JAVA_ARRAY_CHAR[]) {60, 112, 114, 111, 112, 101, 114, 116, 105, 101, 115, 62},
+// ID=124: <comment>
+(JAVA_ARRAY_CHAR[]) {60, 99, 111, 109, 109, 101, 110, 116, 62},
+// ID=125: </comment>
+(JAVA_ARRAY_CHAR[]) {60, 47, 99, 111, 109, 109, 101, 110, 116, 62},
+// ID=126: </properties>
+(JAVA_ARRAY_CHAR[]) {60, 47, 112, 114, 111, 112, 101, 114, 116, 105, 101, 115, 62},
+// ID=127: Warning: encoding name
+(JAVA_ARRAY_CHAR[]) {87, 97, 114, 110, 105, 110, 103, 58, 32, 101, 110, 99, 111, 100, 105, 110, 103, 32, 110, 97, 109, 101, 32},
+// ID=128: is illegal, using UTF-8 as default encoding
+(JAVA_ARRAY_CHAR[]) {32, 105, 115, 32, 105, 108, 108, 101, 103, 97, 108, 44, 32, 117, 115, 105, 110, 103, 32, 85, 84, 70, 45, 56, 32, 97, 115, 32, 100, 101, 102, 97, 117, 108, 116, 32, 101, 110, 99, 111, 100, 105, 110, 103},
+// ID=129: Warning: encoding
+(JAVA_ARRAY_CHAR[]) {87, 97, 114, 110, 105, 110, 103, 58, 32, 101, 110, 99, 111, 100, 105, 110, 103, 32},
+// ID=130: is not supported, using UTF-8 as default encoding
+(JAVA_ARRAY_CHAR[]) {32, 105, 115, 32, 110, 111, 116, 32, 115, 117, 112, 112, 111, 114, 116, 101, 100, 44, 32, 117, 115, 105, 110, 103, 32, 85, 84, 70, 45, 56, 32, 97, 115, 32, 100, 101, 102, 97, 117, 108, 116, 32, 101, 110, 99, 111, 100, 105, 110, 103},
+// ID=131: <entry key=\042
+(JAVA_ARRAY_CHAR[]) {60, 101, 110, 116, 114, 121, 32, 107, 101, 121, 61, 34},
+// ID=132: </entry>
+(JAVA_ARRAY_CHAR[]) {60, 47, 101, 110, 116, 114, 121, 62},
+// ID=133: &
+(JAVA_ARRAY_CHAR[]) {38},
+// ID=134: &amp;
+(JAVA_ARRAY_CHAR[]) {38, 97, 109, 112, 59},
+// ID=135: <
+(JAVA_ARRAY_CHAR[]) {60},
+// ID=136: &lt;
+(JAVA_ARRAY_CHAR[]) {38, 108, 116, 59},
+// ID=137: >
+(JAVA_ARRAY_CHAR[]) {62},
+// ID=138: &gt;
+(JAVA_ARRAY_CHAR[]) {38, 103, 116, 59},
+// ID=139: '
+(JAVA_ARRAY_CHAR[]) {39},
+// ID=140: &apos;
+(JAVA_ARRAY_CHAR[]) {38, 97, 112, 111, 115, 59},
+// ID=141: \042
+(JAVA_ARRAY_CHAR[]) {34},
+// ID=142: &quot;
+(JAVA_ARRAY_CHAR[]) {38, 113, 117, 111, 116, 59},
+// ID=143: <null>
+(JAVA_ARRAY_CHAR[]) {60, 110, 117, 108, 108, 62},
+// ID=144: <missing argument>
+(JAVA_ARRAY_CHAR[]) {60, 109, 105, 115, 115, 105, 110, 103, 32, 97, 114, 103, 117, 109, 101, 110, 116, 62},
+// ID=145: \000\011\014\016\034\037!#&+/1:<A[a\173\177\205\207\240\242\246\252\254\260\262\264\267\271\273\300\327\331\367\371\1042\1120\1260\1271\1273\1302\1320\1322\1340\1345\1356\1400\1540\1564\1572\1576\1604\1606\1611\1614\1616\1643\1720\1732\2000\2203\2210\2214\2307\2313\2320\2370\2461\2531\2541\2611\2621\2643\2673\2676\2702\2720\2760\3014\3033\3037\3041\3100\3113\3140\3152\3154\3160\3162\3326\3345\3347\3351\3353\3360\3372\3400\3417\3421\3423\3460\3600\3646\4401\4403\4405\4474\4476\4501\4511\4515\4520\4522\4530\4542\4544\4601\4603\4605\4617\4623\4652\4662\4666\4674\4676\4701\4707\4713\4715\4727\4734\4737\4742\4746\4762\4764\5002\5005\5017\5023\5052\5062\5065\5070\5074\5076\5101\5107\5113\5131\5136\5146\5160\5162\5201\5203\5205\5215\5217\5223\5252\5262\5265\5274\5276\5301\5307\5311\5313\5315\5320\5340\5346\5401\5403\5405\5417\5423\5452\5462\5466\5474\5476\5502\5507\5513\5515\5526\5534\5537\5546\5602\5605\5616\5622\5631\5634\5636\5643\5650\5656\5667\5676\5700\5702\5706\5712\5715\5727\5747\6001\6005\6016\6022\6052\6065\6076\6101\6106\6112\6125\6140\6146\6202\6205\6216\6222\6252\6265\6276\6301\6306\6310\6312\6314\6325\6336\6340\6346\6402\6405\6416\6422\6452\6476\6501\6506\6512\6515\6527\6540\6546\6602\6605\6632\6663\6675\6700\6712\6717\6722\6726\6730\6762\7001\7061\7063\7065\7077\7101\7107\7117\7201\7204\7207\7212\7215\7224\7231\7241\7245\7247\7252\7255\7261\7263\7265\7273\7275\7300\7306\7310\7320\7334\7400\7430\7432\7465\7472\7476\7511\7561\7577\7601\7605\7607\7611\7620\7631\7676\7706\7710\7717\10000\10043\10051\10054\10056\10061\10066\10070\10100\10130\10240\10320\10373\10400\10537\10650\11000\11010\11110\11112\11120\11130\11132\11140\11210\11212\11220\11260\11262\11270\11300\11302\11310\11320\11330\11360\11420\11422\11430\11440\11510\11541\11640\12001\13200\13202\13233\13240\13600\13667\13676\13706\13710\13712\13724\13733\13740\14000\14013\14020\14040\14200\14251\17000\17240\17400\17430\17440\17510\17520\17531\17533\17535\17537\17600\17666\17675\17700\17702\17706\17715\17720\17726\17735\17740\17755\17762\17766\17775\20000\20013\20016\20020\20050\20052\20054\20056\20060\20065\20110\20152\20160\20164\20172\20174\20177\20201\20212\20214\20240\20320\20400\20402\20404\20407\20411\20413\20424\20427\20431\20436\20444\20453\20456\20460\20462\20464\20472\20523\20540\20620\21000\21022\21024\21400\21466\21573\21575\21625\21627\22000\22100\22140\22234\22352\22400\22640\23000\23031\23401\23406\23414\23451\23515\23517\23526\23530\23541\23566\23630\23661\24000\27200\27233\27400\27760\30000\30002\30005\30010\30041\30052\30060\30062\30066\30070\30076\30101\30231\30233\30235\30241\30373\30375\30405\30461\30620\31000\31040\31140\31177\31300\31320\31400\31573\31740\32000\47000\120000\122220\122244\122265\122302\122306\126000\154000\175400\175423\175435\175440\175451\175453\175470\175476\175500\175503\175506\175520\175723\176476\176520\176622\176760\177040\177060\177111\177120\177124\177127\177137\177141\177143\177145\177150\177152\177160\177164\177166\177377\177401\177403\177406\177413\177417\177421\177432\177434\177441\177473\177501\177533\177541\177546\177702\177712\177722\177732\177740\177742\177745\177750\177771\177774
+(JAVA_ARRAY_CHAR[]) {0, 9, 12, 14, 28, 31, 33, 35, 38, 43, 47, 49, 58, 60, 65, 91, 97, 123, 127, 133, 135, 160, 162, 166, 170, 172, 176, 178, 180, 183, 185, 187, 192, 215, 217, 247, 249, 546, 592, 688, 697, 699, 706, 720, 722, 736, 741, 750, 768, 864, 884, 890, 894, 900, 902, 905, 908, 910, 931, 976, 986, 1024, 1155, 1160, 1164, 1223, 1227, 1232, 1272, 1329, 1369, 1377, 1417, 1425, 1443, 1467, 1470, 1474, 1488, 1520, 1548, 1563, 1567, 1569, 1600, 1611, 1632, 1642, 1644, 1648, 1650, 1750, 1765, 1767, 1769, 1771, 1776, 1786, 1792, 1807, 1809, 1811, 1840, 1920, 1958, 2305, 2307, 2309, 2364, 2366, 2369, 2377, 2381, 2384, 2386, 2392, 2402, 2404, 2433, 2435, 2437, 2447, 2451, 2474, 2482, 2486, 2492, 2494, 2497, 2503, 2507, 2509, 2519, 2524, 2527, 2530, 2534, 2546, 2548, 2562, 2565, 2575, 2579, 2602, 2610, 2613, 2616, 2620, 2622, 2625, 2631, 2635, 2649, 2654, 2662, 2672, 2674, 2689, 2691, 2693, 2701, 2703, 2707, 2730, 2738, 2741, 2748, 2750, 2753, 2759, 2761, 2763, 2765, 2768, 2784, 2790, 2817, 2819, 2821, 2831, 2835, 2858, 2866, 2870, 2876, 2878, 2882, 2887, 2891, 2893, 2902, 2908, 2911, 2918, 2946, 2949, 2958, 2962, 2969, 2972, 2974, 2979, 2984, 2990, 2999, 3006, 3008, 3010, 3014, 3018, 3021, 3031, 3047, 3073, 3077, 3086, 3090, 3114, 3125, 3134, 3137, 3142, 3146, 3157, 3168, 3174, 3202, 3205, 3214, 3218, 3242, 3253, 3262, 3265, 3270, 3272, 3274, 3276, 3285, 3294, 3296, 3302, 3330, 3333, 3342, 3346, 3370, 3390, 3393, 3398, 3402, 3405, 3415, 3424, 3430, 3458, 3461, 3482, 3507, 3517, 3520, 3530, 3535, 3538, 3542, 3544, 3570, 3585, 3633, 3635, 3637, 3647, 3649, 3655, 3663, 3713, 3716, 3719, 3722, 3725, 3732, 3737, 3745, 3749, 3751, 3754, 3757, 3761, 3763, 3765, 3771, 3773, 3776, 3782, 3784, 3792, 3804, 3840, 3864, 3866, 3893, 3898, 3902, 3913, 3953, 3967, 3969, 3973, 3975, 3977, 3984, 3993, 4030, 4038, 4040, 4047, 4096, 4131, 4137, 4140, 4142, 4145, 4150, 4152, 4160, 4184, 4256, 4304, 4347, 4352, 4447, 4520, 4608, 4616, 4680, 4682, 4688, 4696, 4698, 4704, 4744, 4746, 4752, 4784, 4786, 4792, 4800, 4802, 4808, 4816, 4824, 4848, 4880, 4882, 4888, 4896, 4936, 4961, 5024, 5121, 5760, 5762, 5787, 5792, 6016, 6071, 6078, 6086, 6088, 6090, 6100, 6107, 6112, 6144, 6155, 6160, 6176, 6272, 6313, 7680, 7840, 7936, 7960, 7968, 8008, 8016, 8025, 8027, 8029, 8031, 8064, 8118, 8125, 8128, 8130, 8134, 8141, 8144, 8150, 8157, 8160, 8173, 8178, 8182, 8189, 8192, 8203, 8206, 8208, 8232, 8234, 8236, 8238, 8240, 8245, 8264, 8298, 8304, 8308, 8314, 8316, 8319, 8321, 8330, 8332, 8352, 8400, 8448, 8450, 8452, 8455, 8457, 8459, 8468, 8471, 8473, 8478, 8484, 8491, 8494, 8496, 8498, 8500, 8506, 8531, 8544, 8592, 8704, 8722, 8724, 8960, 9014, 9083, 9085, 9109, 9111, 9216, 9280, 9312, 9372, 9450, 9472, 9632, 9728, 9753, 9985, 9990, 9996, 10025, 10061, 10063, 10070, 10072, 10081, 10102, 10136, 10161, 10240, 11904, 11931, 12032, 12272, 12288, 12290, 12293, 12296, 12321, 12330, 12336, 12338, 12342, 12344, 12350, 12353, 12441, 12443, 12445, 12449, 12539, 12541, 12549, 12593, 12688, 12800, 12832, 12896, 12927, 12992, 13008, 13056, 13179, 13280, 13312, 19968, -24576, -23408, -23388, -23371, -23358, -23354, -21504, -10240, -1280, -1261, -1251, -1248, -1239, -1237, -1224, -1218, -1216, -1213, -1210, -1200, -1069, -706, -688, -622, -528, -480, -464, -439, -432, -428, -425, -417, -415, -413, -411, -408, -406, -400, -396, -394, -257, -255, -253, -250, -245, -241, -239, -230, -228, -223, -197, -191, -165, -159, -154, -62, -54, -46, -38, -32, -30, -27, -24, -7, -4},
+// ID=146: \000 \042$&(*-/1:<?A[]_a\173\175\177\240\242\246\250\252\254\256\261\263\265\267\271\273\275\277\301\327\331\337\367\371\400\470\511\571\577\601\603\607\612\614\616\622\624\627\631\634\636\640\647\653\657\662\664\670\672\674\676\700\704\706\710\712\714\735\760\762\764\767\771\1042\1120\1260\1271\1273\1302\1320\1322\1340\1345\1356\1400\1540\1564\1572\1576\1604\1606\1611\1614\1616\1620\1622\1643\1654\1720\1722\1725\1732\1760\2000\2060\2140\2202\2204\2210\2214\2301\2307\2313\2320\2370\2461\2531\2533\2541\2611\2621\2643\2673\2676\2702\2720\2760\2763\3014\3033\3037\3041\3100\3102\3113\3140\3152\3160\3162\3324\3326\3335\3337\3345\3347\3351\3353\3360\3372\3375\3400\3417\3421\3423\3460\3600\3646\4401\4403\4405\4474\4476\4501\4511\4515\4520\4522\4530\4542\4544\4546\4560\4601\4603\4605\4617\4623\4652\4662\4666\4674\4676\4701\4707\4713\4715\4727\4734\4737\4742\4746\4760\4762\4764\4772\5002\5005\5017\5023\5052\5062\5065\5070\5074\5076\5101\5107\5113\5131\5136\5146\5160\5162\5201\5203\5205\5215\5217\5223\5252\5262\5265\5274\5276\5301\5307\5311\5313\5315\5320\5340\5346\5401\5403\5405\5417\5423\5452\5462\5466\5474\5476\5502\5507\5513\5515\5526\5534\5537\5546\5560\5602\5605\5616\5622\5631\5634\5636\5643\5650\5656\5667\5676\5700\5702\5706\5712\5715\5727\5747\5760\6001\6005\6016\6022\6052\6065\6076\6101\6106\6112\6125\6140\6146\6202\6205\6216\6222\6252\6265\6276\6301\6306\6310\6312\6314\6325\6336\6340\6346\6402\6405\6416\6422\6452\6476\6501\6506\6512\6515\6527\6540\6546\6602\6605\6632\6663\6675\6700\6712\6717\6722\6726\6730\6762\6764\7001\7061\7063\7065\7077\7101\7106\7110\7117\7121\7132\7201\7204\7207\7212\7215\7224\7231\7241\7245\7247\7252\7255\7261\7263\7265\7273\7275\7300\7306\7310\7320\7334\7400\7402\7404\7423\7430\7432\7440\7452\7464\7472\7476\7500\7511\7561\7577\7601\7605\7607\7611\7620\7631\7676\7706\7710\7717\10000\10043\10051\10054\10056\10061\10066\10070\10100\10112\10120\10126\10130\10240\10320\10373\10400\10537\10650\11000\11010\11110\11112\11120\11130\11132\11140\11210\11212\11220\11260\11262\11270\11300\11302\11310\11320\11330\11360\11420\11422\11430\11440\11510\11541\11551\11562\11640\12001\13155\13157\13200\13202\13233\13240\13353\13356\13600\13664\13667\13676\13706\13710\13712\13724\13733\13740\14000\14006\14010\14013\14020\14040\14103\14105\14200\14251\17000\17226\17240\17400\17410\17420\17430\17440\17450\17460\17470\17500\17510\17520\17531\17533\17535\17537\17541\17550\17560\17600\17610\17620\17630\17640\17650\17660\17666\17670\17674\17676\17700\17702\17706\17710\17714\17716\17720\17726\17730\17735\17740\17750\17755\17762\17766\17770\17774\17776\20000\20014\20020\20026\20030\20032\20034\20036\20040\20050\20052\20057\20061\20071\20073\20077\20101\20104\20106\20110\20152\20160\20164\20172\20175\20177\20201\20212\20215\20240\20320\20335\20341\20343\20400\20402\20404\20407\20411\20413\20416\20420\20423\20425\20427\20431\20436\20444\20453\20456\20460\20462\20464\20466\20471\20523\20540\20620\20625\20632\20634\20640\20642\20645\20650\20656\20660\20716\20720\20722\20726\21000\21400\21410\21414\21440\21442\21451\21453\21575\22000\22100\22140\22234\22352\22400\22640\22667\22671\22701\22703\23000\23031\23157\23161\23401\23406\23414\23451\23515\23517\23526\23530\23541\23566\23624\23630\23661\24000\27200\27233\27400\27760\30000\30002\30004\30006\30010\30022\30024\30034\30036\30040\30042\30052\30060\30062\30066\30070\30076\30101\30231\30233\30235\30241\30373\30375\30405\30461\30620\30622\30626\30640\31000\31040\31052\31140\31177\31201\31212\31300\31320\31400\31573\31740\32000\47000\120000\122220\122244\122265\122302\122306\126000\154000\160000\174400\175400\175423\175435\175440\175451\175453\175470\175476\175500\175503\175506\175723\176476\176520\176622\176760\177040\177060\177062\177064\177066\177111\177115\177120\177124\177130\177132\177137\177142\177145\177150\177153\177160\177164\177166\177377\177401\177404\177406\177410\177412\177415\177417\177421\177432\177434\177437\177441\177473\177475\177477\177501\177533\177535\177541\177543\177545\177547\177560\177562\177636\177640\177702\177712\177722\177732\177740\177742\177744\177746\177750\177752\177755\177771\177774
+(JAVA_ARRAY_CHAR[]) {0, 32, 34, 36, 38, 40, 42, 45, 47, 49, 58, 60, 63, 65, 91, 93, 95, 97, 123, 125, 127, 160, 162, 166, 168, 170, 172, 174, 177, 179, 181, 183, 185, 187, 189, 191, 193, 215, 217, 223, 247, 249, 256, 312, 329, 377, 383, 385, 387, 391, 394, 396, 398, 402, 404, 407, 409, 412, 414, 416, 423, 427, 431, 434, 436, 440, 442, 444, 446, 448, 452, 454, 456, 458, 460, 477, 496, 498, 500, 503, 505, 546, 592, 688, 697, 699, 706, 720, 722, 736, 741, 750, 768, 864, 884, 890, 894, 900, 902, 905, 908, 910, 912, 914, 931, 940, 976, 978, 981, 986, 1008, 1024, 1072, 1120, 1154, 1156, 1160, 1164, 1217, 1223, 1227, 1232, 1272, 1329, 1369, 1371, 1377, 1417, 1425, 1443, 1467, 1470, 1474, 1488, 1520, 1523, 1548, 1563, 1567, 1569, 1600, 1602, 1611, 1632, 1642, 1648, 1650, 1748, 1750, 1757, 1759, 1765, 1767, 1769, 1771, 1776, 1786, 1789, 1792, 1807, 1809, 1811, 1840, 1920, 1958, 2305, 2307, 2309, 2364, 2366, 2369, 2377, 2381, 2384, 2386, 2392, 2402, 2404, 2406, 2416, 2433, 2435, 2437, 2447, 2451, 2474, 2482, 2486, 2492, 2494, 2497, 2503, 2507, 2509, 2519, 2524, 2527, 2530, 2534, 2544, 2546, 2548, 2554, 2562, 2565, 2575, 2579, 2602, 2610, 2613, 2616, 2620, 2622, 2625, 2631, 2635, 2649, 2654, 2662, 2672, 2674, 2689, 2691, 2693, 2701, 2703, 2707, 2730, 2738, 2741, 2748, 2750, 2753, 2759, 2761, 2763, 2765, 2768, 2784, 2790, 2817, 2819, 2821, 2831, 2835, 2858, 2866, 2870, 2876, 2878, 2882, 2887, 2891, 2893, 2902, 2908, 2911, 2918, 2928, 2946, 2949, 2958, 2962, 2969, 2972, 2974, 2979, 2984, 2990, 2999, 3006, 3008, 3010, 3014, 3018, 3021, 3031, 3047, 3056, 3073, 3077, 3086, 3090, 3114, 3125, 3134, 3137, 3142, 3146, 3157, 3168, 3174, 3202, 3205, 3214, 3218, 3242, 3253, 3262, 3265, 3270, 3272, 3274, 3276, 3285, 3294, 3296, 3302, 3330, 3333, 3342, 3346, 3370, 3390, 3393, 3398, 3402, 3405, 3415, 3424, 3430, 3458, 3461, 3482, 3507, 3517, 3520, 3530, 3535, 3538, 3542, 3544, 3570, 3572, 3585, 3633, 3635, 3637, 3647, 3649, 3654, 3656, 3663, 3665, 3674, 3713, 3716, 3719, 3722, 3725, 3732, 3737, 3745, 3749, 3751, 3754, 3757, 3761, 3763, 3765, 3771, 3773, 3776, 3782, 3784, 3792, 3804, 3840, 3842, 3844, 3859, 3864, 3866, 3872, 3882, 3892, 3898, 3902, 3904, 3913, 3953, 3967, 3969, 3973, 3975, 3977, 3984, 3993, 4030, 4038, 4040, 4047, 4096, 4131, 4137, 4140, 4142, 4145, 4150, 4152, 4160, 4170, 4176, 4182, 4184, 4256, 4304, 4347, 4352, 4447, 4520, 4608, 4616, 4680, 4682, 4688, 4696, 4698, 4704, 4744, 4746, 4752, 4784, 4786, 4792, 4800, 4802, 4808, 4816, 4824, 4848, 4880, 4882, 4888, 4896, 4936, 4961, 4969, 4978, 5024, 5121, 5741, 5743, 5760, 5762, 5787, 5792, 5867, 5870, 6016, 6068, 6071, 6078, 6086, 6088, 6090, 6100, 6107, 6112, 6144, 6150, 6152, 6155, 6160, 6176, 6211, 6213, 6272, 6313, 7680, 7830, 7840, 7936, 7944, 7952, 7960, 7968, 7976, 7984, 7992, 8000, 8008, 8016, 8025, 8027, 8029, 8031, 8033, 8040, 8048, 8064, 8072, 8080, 8088, 8096, 8104, 8112, 8118, 8120, 8124, 8126, 8128, 8130, 8134, 8136, 8140, 8142, 8144, 8150, 8152, 8157, 8160, 8168, 8173, 8178, 8182, 8184, 8188, 8190, 8192, 8204, 8208, 8214, 8216, 8218, 8220, 8222, 8224, 8232, 8234, 8239, 8241, 8249, 8251, 8255, 8257, 8260, 8262, 8264, 8298, 8304, 8308, 8314, 8317, 8319, 8321, 8330, 8333, 8352, 8400, 8413, 8417, 8419, 8448, 8450, 8452, 8455, 8457, 8459, 8462, 8464, 8467, 8469, 8471, 8473, 8478, 8484, 8491, 8494, 8496, 8498, 8500, 8502, 8505, 8531, 8544, 8592, 8597, 8602, 8604, 8608, 8610, 8613, 8616, 8622, 8624, 8654, 8656, 8658, 8662, 8704, 8960, 8968, 8972, 8992, 8994, 9001, 9003, 9085, 9216, 9280, 9312, 9372, 9450, 9472, 9632, 9655, 9657, 9665, 9667, 9728, 9753, 9839, 9841, 9985, 9990, 9996, 10025, 10061, 10063, 10070, 10072, 10081, 10102, 10132, 10136, 10161, 10240, 11904, 11931, 12032, 12272, 12288, 12290, 12292, 12294, 12296, 12306, 12308, 12316, 12318, 12320, 12322, 12330, 12336, 12338, 12342, 12344, 12350, 12353, 12441, 12443, 12445, 12449, 12539, 12541, 12549, 12593, 12688, 12690, 12694, 12704, 12800, 12832, 12842, 12896, 12927, 12929, 12938, 12992, 13008, 13056, 13179, 13280, 13312, 19968, -24576, -23408, -23388, -23371, -23358, -23354, -21504, -10240, -8192, -1792, -1280, -1261, -1251, -1248, -1239, -1237, -1224, -1218, -1216, -1213, -1210, -1069, -706, -688, -622, -528, -480, -464, -462, -460, -458, -439, -435, -432, -428, -424, -422, -417, -414, -411, -408, -405, -400, -396, -394, -257, -255, -252, -250, -248, -246, -243, -241, -239, -230, -228, -225, -223, -197, -195, -193, -191, -165, -163, -159, -157, -155, -153, -144, -142, -98, -96, -62, -54, -46, -38, -32, -30, -28, -26, -24, -22, -19, -7, -4},
+// ID=147: a\265\340\370\377\401\461\463\472\513\572\577\603\610\614\622\625\631\641\650\655\660\664\671\675\677\705\706\710\711\713\714\716\735\737\762\763\765\771\1043\1123\1124\1126\1131\1133\1140\1143\1150\1151\1157\1162\1165\1200\1203\1210\1212\1222\1505\1654\1655\1661\1702\1703\1714\1715\1720\1721\1725\1726\1733\1760\1761\1762\2060\2120\2141\2215\2302\2310\2314\2321\2371\2541\17001\17233\17241\17400\17420\17440\17460\17500\17521\17540\17560\17562\17566\17570\17572\17574\17600\17620\17640\17660\17663\17676\17703\17720\17740\17745\17763\20560\22320\177501
+(JAVA_ARRAY_CHAR[]) {97, 181, 224, 248, 255, 257, 305, 307, 314, 331, 378, 383, 387, 392, 396, 402, 405, 409, 417, 424, 429, 432, 436, 441, 445, 447, 453, 454, 456, 457, 459, 460, 462, 477, 479, 498, 499, 501, 505, 547, 595, 596, 598, 601, 603, 608, 611, 616, 617, 623, 626, 629, 640, 643, 648, 650, 658, 837, 940, 941, 945, 962, 963, 972, 973, 976, 977, 981, 982, 987, 1008, 1009, 1010, 1072, 1104, 1121, 1165, 1218, 1224, 1228, 1233, 1273, 1377, 7681, 7835, 7841, 7936, 7952, 7968, 7984, 8000, 8017, 8032, 8048, 8050, 8054, 8056, 8058, 8060, 8064, 8080, 8096, 8112, 8115, 8126, 8131, 8144, 8160, 8165, 8179, 8560, 9424, -191},
+// ID=148: A\300\330\400\460\462\471\512\570\571\601\602\606\607\611\613\616\617\620\621\623\624\626\627\630\634\635\637\640\646\647\651\654\656\657\661\663\667\670\674\704\705\707\710\712\713\736\761\762\766\767\770\1042\1606\1610\1614\1616\1621\1643\1732\2000\2020\2140\2214\2301\2307\2313\2320\2370\2461\17000\17240\17410\17430\17450\17470\17510\17531\17550\17610\17630\17650\17670\17672\17674\17710\17714\17730\17732\17750\17752\17754\17770\17772\17774\20446\20452\20453\20540\22266\177441
+(JAVA_ARRAY_CHAR[]) {65, 192, 216, 256, 304, 306, 313, 330, 376, 377, 385, 386, 390, 391, 393, 395, 398, 399, 400, 401, 403, 404, 406, 407, 408, 412, 413, 415, 416, 422, 423, 425, 428, 430, 431, 433, 435, 439, 440, 444, 452, 453, 455, 456, 458, 459, 478, 497, 498, 502, 503, 504, 546, 902, 904, 908, 910, 913, 931, 986, 1024, 1040, 1120, 1164, 1217, 1223, 1227, 1232, 1272, 1329, 7680, 7840, 7944, 7960, 7976, 7992, 8008, 8025, 8040, 8072, 8088, 8104, 8120, 8122, 8124, 8136, 8140, 8152, 8154, 8168, 8170, 8172, 8184, 8186, 8188, 8486, 8490, 8491, 8544, 9398, -223},
+// ID=149: 0Aa\3140\3360\4546\4746\5146\5346\5546\5747\6146\6346\6546\7120\7320\7440\10100\11551\13740\14020\177420\177441\177501
+(JAVA_ARRAY_CHAR[]) {48, 65, 97, 1632, 1776, 2406, 2534, 2662, 2790, 2918, 3047, 3174, 3302, 3430, 3664, 3792, 3872, 4160, 4969, 6112, 6160, -240, -223, -191},
+// ID=150: \704\706\707\711\712\714\761\763
+(JAVA_ARRAY_CHAR[]) {452, 454, 455, 457, 458, 460, 497, 499},
+// ID=151: 0Aa\262\271\274\3140\3360\4546\4746\4764\4771\5146\5346\5546\5747\5761\5762\6146\6346\6546\7120\7320\7440\10100\11551\11563\11564\11565\11566\11567\11570\11571\11572\11573\11574\13356\13740\14020\20160\20164\20200\20523\20537\20540\20554\20555\20556\20557\20560\20574\20575\20576\20577\20600\20601\20602\22140\22164\22210\22352\23566\23600\23612\30007\30041\30070\30071\30072\31200\177420\177441\177501
+(JAVA_ARRAY_CHAR[]) {48, 65, 97, 178, 185, 188, 1632, 1776, 2406, 2534, 2548, 2553, 2662, 2790, 2918, 3047, 3057, 3058, 3174, 3302, 3430, 3664, 3792, 3872, 4160, 4969, 4979, 4980, 4981, 4982, 4983, 4984, 4985, 4986, 4987, 4988, 5870, 6112, 6160, 8304, 8308, 8320, 8531, 8543, 8544, 8556, 8557, 8558, 8559, 8560, 8572, 8573, 8574, 8575, 8576, 8577, 8578, 9312, 9332, 9352, 9450, 10102, 10112, 10122, 12295, 12321, 12344, 12345, 12346, 12928, -240, -223, -191},
+// ID=152: \010\012\013\6013\015\5415\033\012\036\013 \6015\042\016%\006*\016.\30100\24049\004;\7010@\016Z\001`\016z\001\176\016\204\012\206\5412\237\012\241\7010\245\006\251\016\253\7001\257\016\261\006\263\004\266\416\270\016\272\2001\277\016\326\001\330\7001\366\001\370\7001\1037\001\1063\001\1255\001\1270\001\1272\016\1301\001\1317\016\1321\001\1337\016\1344\001\1355\016\1356\001\1516\011\1542\011\1565\016\1572\001\1576\016\1605\016\1610\7001\1612\001\1614\001\1641\001\1716\001\1727\001\1763\001\2202\001\2206\011\2211\011\2304\001\2310\001\2314\001\2365\001\2371\001\2526\001\2537\001\2607\001\2612\416\2641\011\2671\011\2675\011\2701\4402\2704\1011\2752\002\2764\002\3014\010\3033\1400\3037\1400\3072\003\3112\003\3125\011\3151\007\3153\3406\3155\1407\3161\1411\3325\003\3344\011\3346\003\3350\011\3352\7011\3355\011\3371\004\3376\003\3415\003\3420\5003\3422\4403\3454\003\3512\011\3645\003\3660\011\4402\011\4403\400\4471\001\4475\411\4500\001\4510\011\4514\001\4515\4400\4521\4401\4524\011\4541\001\4543\011\4560\001\4602\4401\4603\400\4614\001\4620\001\4650\001\4660\001\4662\001\4671\001\4674\011\4700\001\4704\011\4710\001\4714\001\4715\4400\4727\400\4735\001\4741\001\4743\011\4761\001\4763\006\4772\001\5002\011\5012\001\5020\001\5050\001\5060\001\5063\001\5066\001\5071\001\5074\011\5100\001\5102\011\5110\011\5115\011\5134\001\5136\001\5157\001\5161\011\5164\001\5202\011\5203\400\5213\001\5215\400\5221\001\5250\001\5260\001\5263\001\5271\001\5275\411\5300\001\5305\011\5310\011\5311\400\5314\001\5315\4400\5320\001\5340\001\5357\001\5402\4401\5403\400\5414\001\5420\001\5450\001\5460\001\5463\001\5471\001\5475\411\5501\4401\5503\011\5510\001\5514\001\5515\4400\5527\411\5535\001\5541\001\5560\001\5603\411\5612\001\5620\001\5625\001\5632\001\5634\001\5637\001\5644\001\5652\001\5665\001\5671\001\5677\001\5701\411\5702\001\5710\001\5714\001\5715\4400\5727\400\5762\001\6003\001\6014\001\6020\001\6050\001\6063\001\6071\001\6100\011\6104\001\6110\011\6115\011\6126\011\6141\001\6157\001\6203\001\6214\001\6220\001\6250\001\6263\001\6271\001\6300\4401\6304\001\6307\411\6310\001\6313\001\6315\011\6326\001\6336\001\6341\001\6357\001\6403\001\6414\001\6420\001\6450\001\6471\001\6500\001\6503\011\6510\001\6514\001\6515\4400\6527\400\6541\001\6557\001\6603\001\6626\001\6661\001\6673\001\6675\400\6706\001\6712\011\6721\001\6724\011\6726\011\6737\001\6764\001\7060\001\7062\4401\7064\411\7072\011\7100\3001\7106\001\7116\011\7133\001\7202\001\7204\001\7210\001\7212\001\7215\400\7227\001\7237\001\7243\001\7245\400\7247\400\7253\001\7260\001\7262\4401\7264\411\7271\011\7274\011\7275\400\7304\001\7306\001\7315\011\7331\001\7335\001\7427\001\7431\011\7464\001\7471\4401\7475\016\7507\001\7552\001\7576\011\7600\411\7604\011\7606\411\7610\4401\7613\001\7627\011\7674\011\7705\001\7707\411\7714\001\7717\400\10041\001\10047\001\10052\001\10055\4401\10060\011\10062\411\10067\011\10071\4401\10127\001\10131\011\10305\001\10366\001\10373\400\10531\001\10642\001\10771\001\11006\001\11106\001\11110\001\11115\001\11126\001\11130\001\11135\001\11206\001\11210\001\11215\001\11256\001\11260\001\11265\001\11276\001\11300\001\11305\001\11316\001\11326\001\11356\001\11416\001\11420\001\11425\001\11436\001\11506\001\11532\001\11574\001\11764\001\13166\001\13201\415\13232\001\13234\016\13360\001\13666\001\13675\011\13705\001\13707\411\13711\4401\13723\011\13732\001\13734\3001\13751\001\14012\016\14016\012\14031\001\14167\001\14250\001\14251\4400\17233\001\17371\001\17425\001\17435\001\17505\001\17515\001\17527\001\17531\400\17533\400\17535\400\17575\001\17664\001\17674\001\17677\7001\17701\016\17704\001\17714\001\17717\016\17723\001\17733\001\17737\016\17754\001\17757\016\17764\001\17774\001\17776\016\20012\015\20015\012\20017\1001\20047\016\20051\5415\20053\10417\20055\10023\20057\6422\20064\006\20106\016\20115\016\20157\012\20160\004\20171\004\20173\006\20176\016\20200\404\20211\004\20213\006\20216\016\20257\006\20343\011\20401\016\20403\7001\20406\016\20410\416\20412\7001\20423\001\20426\416\20430\016\20435\001\20443\016\20452\7001\20455\001\20457\406\20461\001\20463\416\20471\001\20472\016\20537\016\20603\001\20763\016\21021\016\21023\006\21361\016\21465\016\21572\001\21573\7000\21624\016\21626\416\21632\016\22046\016\22112\016\22233\004\22351\001\22352\004\22625\016\22767\016\23023\016\23161\016\23404\016\23411\016\23447\016\23513\016\23515\7000\23522\016\23526\016\23536\016\23547\016\23624\016\23657\016\23676\016\24377\016\27231\016\27363\016\27725\016\27773\016\30001\7015\30004\016\30007\001\30040\016\30051\001\30057\011\30061\416\30065\001\30067\016\30072\001\30077\016\30224\001\30232\011\30234\016\30236\001\30372\001\30374\7001\30376\001\30454\001\30616\001\30667\001\31034\001\31103\001\31173\001\31260\001\31313\001\31376\001\31566\001\31735\001\31776\001\46665\001\117645\001\122214\001\122241\016\122263\016\122300\016\122304\016\122306\016\153643\001\175055\001\175406\001\175427\001\175437\1011\175450\002\175452\3002\175466\002\175474\002\175476\002\175501\002\175504\002\175517\002\175661\003\176475\003\176477\016\176617\003\176707\003\176773\003\177043\011\177104\016\177117\016\177122\7010\177126\4016\177136\016\177140\3016\177142\7006\177144\3016\177146\016\177151\3016\177153\7006\177162\003\177164\003\177374\003\177377\5000\177402\016\177405\006\177412\016\177416\3010\177420\2404\177431\004\177433\7010\177440\016\177472\001\177500\016\177532\001\177536\016\177545\016\177676\001\177707\001\177717\001\177727\001\177734\001\177741\006\177744\016\177746\006\177756\016\177773\012\177775\016
+(JAVA_ARRAY_CHAR[]) {8, 10, 11, 3083, 13, 2829, 27, 10, 30, 11, 32, 3085, 34, 14, 37, 6, 42, 14, 46, 1544, 48, 1284, 57, 4, 59, 3592, 64, 14, 90, 1, 96, 14, 122, 1, 126, 14, 132, 10, 134, 2826, 159, 10, 161, 3592, 165, 6, 169, 14, 171, 3585, 175, 14, 177, 6, 179, 4, 182, 270, 184, 14, 186, 1025, 191, 14, 214, 1, 216, 3585, 246, 1, 248, 3585, 543, 1, 563, 1, 685, 1, 696, 1, 698, 14, 705, 1, 719, 14, 721, 1, 735, 14, 740, 1, 749, 14, 750, 1, 846, 9, 866, 9, 885, 14, 890, 1, 894, 14, 901, 14, 904, 3585, 906, 1, 908, 1, 929, 1, 974, 1, 983, 1, 1011, 1, 1154, 1, 1158, 9, 1161, 9, 1220, 1, 1224, 1, 1228, 1, 1269, 1, 1273, 1, 1366, 1, 1375, 1, 1415, 1, 1418, 270, 1441, 9, 1465, 9, 1469, 9, 1473, 2306, 1476, 521, 1514, 2, 1524, 2, 1548, 8, 1563, 768, 1567, 768, 1594, 3, 1610, 3, 1621, 9, 1641, 7, 1643, 1798, 1645, 775, 1649, 777, 1749, 3, 1764, 9, 1766, 3, 1768, 9, 1770, 3593, 1773, 9, 1785, 4, 1790, 3, 1805, 3, 1808, 2563, 1810, 2307, 1836, 3, 1866, 9, 1957, 3, 1968, 9, 2306, 9, 2307, 256, 2361, 1, 2365, 265, 2368, 1, 2376, 9, 2380, 1, 2381, 2304, 2385, 2305, 2388, 9, 2401, 1, 2403, 9, 2416, 1, 2434, 2305, 2435, 256, 2444, 1, 2448, 1, 2472, 1, 2480, 1, 2482, 1, 2489, 1, 2492, 9, 2496, 1, 2500, 9, 2504, 1, 2508, 1, 2509, 2304, 2519, 256, 2525, 1, 2529, 1, 2531, 9, 2545, 1, 2547, 6, 2554, 1, 2562, 9, 2570, 1, 2576, 1, 2600, 1, 2608, 1, 2611, 1, 2614, 1, 2617, 1, 2620, 9, 2624, 1, 2626, 9, 2632, 9, 2637, 9, 2652, 1, 2654, 1, 2671, 1, 2673, 9, 2676, 1, 2690, 9, 2691, 256, 2699, 1, 2701, 256, 2705, 1, 2728, 1, 2736, 1, 2739, 1, 2745, 1, 2749, 265, 2752, 1, 2757, 9, 2760, 9, 2761, 256, 2764, 1, 2765, 2304, 2768, 1, 2784, 1, 2799, 1, 2818, 2305, 2819, 256, 2828, 1, 2832, 1, 2856, 1, 2864, 1, 2867, 1, 2873, 1, 2877, 265, 2881, 2305, 2883, 9, 2888, 1, 2892, 1, 2893, 2304, 2903, 265, 2909, 1, 2913, 1, 2928, 1, 2947, 265, 2954, 1, 2960, 1, 2965, 1, 2970, 1, 2972, 1, 2975, 1, 2980, 1, 2986, 1, 2997, 1, 3001, 1, 3007, 1, 3009, 265, 3010, 1, 3016, 1, 3020, 1, 3021, 2304, 3031, 256, 3058, 1, 3075, 1, 3084, 1, 3088, 1, 3112, 1, 3123, 1, 3129, 1, 3136, 9, 3140, 1, 3144, 9, 3149, 9, 3158, 9, 3169, 1, 3183, 1, 3203, 1, 3212, 1, 3216, 1, 3240, 1, 3251, 1, 3257, 1, 3264, 2305, 3268, 1, 3271, 265, 3272, 1, 3275, 1, 3277, 9, 3286, 1, 3294, 1, 3297, 1, 3311, 1, 3331, 1, 3340, 1, 3344, 1, 3368, 1, 3385, 1, 3392, 1, 3395, 9, 3400, 1, 3404, 1, 3405, 2304, 3415, 256, 3425, 1, 3439, 1, 3459, 1, 3478, 1, 3505, 1, 3515, 1, 3517, 256, 3526, 1, 3530, 9, 3537, 1, 3540, 9, 3542, 9, 3551, 1, 3572, 1, 3632, 1, 3634, 2305, 3636, 265, 3642, 9, 3648, 1537, 3654, 1, 3662, 9, 3675, 1, 3714, 1, 3716, 1, 3720, 1, 3722, 1, 3725, 256, 3735, 1, 3743, 1, 3747, 1, 3749, 256, 3751, 256, 3755, 1, 3760, 1, 3762, 2305, 3764, 265, 3769, 9, 3772, 9, 3773, 256, 3780, 1, 3782, 1, 3789, 9, 3801, 1, 3805, 1, 3863, 1, 3865, 9, 3892, 1, 3897, 2305, 3901, 14, 3911, 1, 3946, 1, 3966, 9, 3968, 265, 3972, 9, 3974, 265, 3976, 2305, 3979, 1, 3991, 9, 4028, 9, 4037, 1, 4039, 265, 4044, 1, 4047, 256, 4129, 1, 4135, 1, 4138, 1, 4141, 2305, 4144, 9, 4146, 265, 4151, 9, 4153, 2305, 4183, 1, 4185, 9, 4293, 1, 4342, 1, 4347, 256, 4441, 1, 4514, 1, 4601, 1, 4614, 1, 4678, 1, 4680, 1, 4685, 1, 4694, 1, 4696, 1, 4701, 1, 4742, 1, 4744, 1, 4749, 1, 4782, 1, 4784, 1, 4789, 1, 4798, 1, 4800, 1, 4805, 1, 4814, 1, 4822, 1, 4846, 1, 4878, 1, 4880, 1, 4885, 1, 4894, 1, 4934, 1, 4954, 1, 4988, 1, 5108, 1, 5750, 1, 5761, 269, 5786, 1, 5788, 14, 5872, 1, 6070, 1, 6077, 9, 6085, 1, 6087, 265, 6089, 2305, 6099, 9, 6106, 1, 6108, 1537, 6121, 1, 6154, 14, 6158, 10, 6169, 1, 6263, 1, 6312, 1, 6313, 2304, 7835, 1, 7929, 1, 7957, 1, 7965, 1, 8005, 1, 8013, 1, 8023, 1, 8025, 256, 8027, 256, 8029, 256, 8061, 1, 8116, 1, 8124, 1, 8127, 3585, 8129, 14, 8132, 1, 8140, 1, 8143, 14, 8147, 1, 8155, 1, 8159, 14, 8172, 1, 8175, 14, 8180, 1, 8188, 1, 8190, 14, 8202, 13, 8205, 10, 8207, 513, 8231, 14, 8233, 2829, 8235, 4367, 8237, 4115, 8239, 3346, 8244, 6, 8262, 14, 8269, 14, 8303, 10, 8304, 4, 8313, 4, 8315, 6, 8318, 14, 8320, 260, 8329, 4, 8331, 6, 8334, 14, 8367, 6, 8419, 9, 8449, 14, 8451, 3585, 8454, 14, 8456, 270, 8458, 3585, 8467, 1, 8470, 270, 8472, 14, 8477, 1, 8483, 14, 8490, 3585, 8493, 1, 8495, 262, 8497, 1, 8499, 270, 8505, 1, 8506, 14, 8543, 14, 8579, 1, 8691, 14, 8721, 14, 8723, 6, 8945, 14, 9013, 14, 9082, 1, 9083, 3584, 9108, 14, 9110, 270, 9114, 14, 9254, 14, 9290, 14, 9371, 4, 9449, 1, 9450, 4, 9621, 14, 9719, 14, 9747, 14, 9841, 14, 9988, 14, 9993, 14, 10023, 14, 10059, 14, 10061, 3584, 10066, 14, 10070, 14, 10078, 14, 10087, 14, 10132, 14, 10159, 14, 10174, 14, 10495, 14, 11929, 14, 12019, 14, 12245, 14, 12283, 14, 12289, 3597, 12292, 14, 12295, 1, 12320, 14, 12329, 1, 12335, 9, 12337, 270, 12341, 1, 12343, 14, 12346, 1, 12351, 14, 12436, 1, 12442, 9, 12444, 14, 12446, 1, 12538, 1, 12540, 3585, 12542, 1, 12588, 1, 12686, 1, 12727, 1, 12828, 1, 12867, 1, 12923, 1, 12976, 1, 13003, 1, 13054, 1, 13174, 1, 13277, 1, 13310, 1, 19893, 1, -24667, 1, -23412, 1, -23391, 14, -23373, 14, -23360, 14, -23356, 14, -23354, 14, -10333, 1, -1491, 1, -1274, 1, -1257, 1, -1249, 521, -1240, 2, -1238, 1538, -1226, 2, -1220, 2, -1218, 2, -1215, 2, -1212, 2, -1201, 2, -1103, 3, -707, 3, -705, 14, -625, 3, -569, 3, -517, 3, -477, 9, -444, 14, -433, 14, -430, 3592, -426, 2062, -418, 14, -416, 1550, -414, 3590, -412, 1550, -410, 14, -407, 1550, -405, 3590, -398, 3, -396, 3, -260, 3, -257, 2560, -254, 14, -251, 6, -246, 14, -242, 1544, -240, 1284, -231, 4, -229, 3592, -224, 14, -198, 1, -192, 14, -166, 1, -162, 14, -155, 14, -66, 1, -57, 1, -49, 1, -41, 1, -36, 1, -31, 6, -28, 14, -26, 6, -18, 14, -5, 10, -3, 14},
+// ID=153: \000\000\1400\50000\000\24000\000\24000\000\000\4000\4000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\3000`\000\000\60000\60000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\37436\136142\174127\175017\17777\100074\147765\177777\117777\407\177714\140777\37000\177703\37777\003\7400\000\3003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177400\7763
+(JAVA_ARRAY_CHAR[]) {0, 0, 768, 20480, 0, 10240, 0, 10240, 0, 0, 2048, 2048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536, 96, 0, 0, 24576, 24576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16158, -17310, -1961, -1521, 8191, -32708, -12299, -1, -24577, 263, -52, -15873, 15872, -61, 16383, 3, 3840, 0, 1539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -256, 4083},
+// ID=154: \037\017!\14014#\030%\14032'\030)\13025,\14430.\120300\140119\011;\030>\031@\030Z\001\134\12430^\13033`\13433z\002\174\12431\176\13031\237\017\241\14014\245\032\247\034\251\16033\253\16402\255\12031\260\15434\262\14413\264\5433\266\1034\270\14033\272\5402\274\17013\276\013\300\14001\326\001\330\14401\336\001\366\002\370\14402\377\002\467\1001\510\402\570\1001\576\402\600\002\602\001\606\1001\611\402\613\001\615\002\621\001\623\402\626\1001\630\001\633\002\635\001\637\402\646\1001\652\402\656\1001\661\402\663\001\667\402\671\1001\673\2402\675\1001\677\002\703\005\705\1401\707\402\711\1003\713\1401\734\402\757\1001\761\402\763\1003\766\1001\770\001\1037\1001\1063\1001\1255\002\1270\004\1272\033\1301\004\1317\033\1321\004\1337\033\1344\004\1355\033\1356\004\1516\006\1542\006\1565\033\1572\004\1576\030\1605\033\1610\14001\1612\001\1614\001\1617\001\1621\402\1641\001\1653\001\1716\002\1721\002\1724\001\1727\002\1757\1001\1763\002\2057\001\2137\002\2201\1001\2203\3034\2206\006\2211\007\2300\1001\2304\402\2310\402\2314\402\2365\1001\2371\1001\2526\001\2532\2030\2537\030\2607\002\2612\14024\2641\006\2671\006\2675\006\2701\3030\2704\14006\2752\005\2762\005\2764\030\3014\030\3033\14000\3037\14000\3072\005\3101\2404\3112\005\3125\006\3151\011\3155\030\3161\2406\3323\005\3325\2430\3334\006\3336\007\3344\006\3346\004\3350\006\3352\16006\3355\006\3371\011\3374\005\3376\034\3415\030\3420\10005\3422\3005\3454\005\3512\006\3645\005\3660\006\4402\006\4403\4000\4471\005\4475\2406\4500\010\4510\006\4514\010\4515\3000\4521\3005\4524\006\4541\005\4543\006\4545\030\4557\011\4560\030\4602\3010\4603\4000\4614\005\4620\005\4650\005\4660\005\4662\005\4671\005\4674\006\4700\010\4704\006\4710\010\4714\010\4715\3000\4727\4000\4735\005\4741\005\4743\006\4757\011\4761\005\4763\032\4771\013\4772\034\5002\006\5012\005\5020\005\5050\005\5060\005\5063\005\5066\005\5071\005\5074\006\5100\010\5102\006\5110\006\5115\006\5134\005\5136\005\5157\011\5161\006\5164\005\5202\006\5203\4000\5213\005\5215\2400\5221\005\5250\005\5260\005\5263\005\5271\005\5275\2406\5300\010\5305\006\5310\006\5311\4000\5314\010\5315\3000\5320\005\5340\005\5357\011\5402\3010\5403\4000\5414\005\5420\005\5450\005\5460\005\5463\005\5471\005\5475\2406\5501\3010\5503\006\5510\010\5514\010\5515\3000\5527\4006\5535\005\5541\005\5557\011\5560\034\5603\4006\5612\005\5620\005\5625\005\5632\005\5634\005\5637\005\5644\005\5652\005\5665\005\5671\005\5677\010\5701\4006\5702\010\5710\010\5714\010\5715\3000\5727\4000\5757\011\5762\013\6003\010\6014\005\6020\005\6050\005\6063\005\6071\005\6100\006\6104\010\6110\006\6115\006\6126\006\6141\005\6157\011\6203\010\6214\005\6220\005\6250\005\6263\005\6271\005\6300\3010\6304\010\6307\4006\6310\010\6313\010\6315\006\6326\010\6336\005\6341\005\6357\011\6403\010\6414\005\6420\005\6450\005\6471\005\6500\010\6503\006\6510\010\6514\010\6515\3000\6527\4000\6541\005\6557\011\6603\010\6626\005\6661\005\6673\005\6675\2400\6706\005\6712\006\6721\010\6724\006\6726\006\6737\010\6763\010\6764\030\7060\005\7062\3005\7064\2406\7072\006\7100\15005\7105\005\7107\3004\7116\006\7120\14011\7131\011\7133\030\7202\005\7204\005\7210\005\7212\005\7215\2400\7227\005\7237\005\7243\005\7245\2400\7247\2400\7253\005\7260\005\7262\3005\7264\2406\7271\006\7274\006\7275\2400\7304\005\7306\004\7315\006\7331\011\7335\005\7401\16005\7403\034\7422\030\7427\034\7431\006\7437\034\7451\011\7463\013\7471\3034\7475\13025\7477\010\7507\005\7552\005\7576\006\7600\4006\7604\006\7606\14006\7610\3005\7613\005\7627\006\7674\006\7705\034\7707\16006\7714\034\7717\16000\10041\005\10047\005\10052\005\10055\3010\10060\006\10062\4006\10067\006\10071\3010\10111\011\10117\030\10125\005\10127\010\10131\006\10305\001\10366\005\10373\14000\10531\005\10642\005\10771\005\11006\005\11106\005\11110\005\11115\005\11126\005\11130\005\11135\005\11206\005\11210\005\11215\005\11256\005\11260\005\11265\005\11276\005\11300\005\11305\005\11316\005\11326\005\11356\005\11416\005\11420\005\11425\005\11436\005\11506\005\11532\005\11550\030\11561\011\11574\013\11764\005\13154\005\13156\030\13166\005\13201\2414\13232\005\13234\12426\13352\005\13355\030\13360\013\13663\005\13666\010\13675\006\13705\010\13707\4006\13711\3010\13723\006\13732\030\13734\15030\13751\011\14005\030\14007\14024\14012\030\14016\020\14031\011\14102\005\14104\2005\14167\005\14250\005\14251\3000\17225\1001\17233\002\17371\1001\17407\002\17417\001\17425\002\17435\001\17447\002\17457\001\17467\002\17477\001\17505\002\17515\001\17527\002\17531\400\17533\400\17535\400\17540\402\17547\002\17557\001\17575\002\17607\002\17617\003\17627\002\17637\003\17647\002\17657\003\17664\002\17667\002\17673\001\17675\15403\17677\15402\17701\033\17704\002\17707\002\17713\001\17715\15403\17717\033\17723\002\17727\002\17733\001\17737\033\17747\002\17754\001\17757\033\17764\002\17767\002\17773\001\17775\15403\17776\033\20013\014\20017\020\20025\024\20027\030\20031\17035\20033\16425\20035\17035\20037\16425\20047\030\20051\7015\20056\020\20060\6030\20070\030\20072\16436\20076\030\20100\027\20103\030\20105\12431\20106\026\20115\030\20157\020\20160\013\20171\013\20174\031\20176\12426\20200\1013\20211\013\20214\031\20216\12426\20257\032\20334\006\20340\007\20342\3007\20343\3400\20401\034\20403\16001\20406\034\20410\434\20412\16002\20415\001\20417\002\20422\001\20424\1034\20426\434\20430\034\20435\001\20443\034\20452\16001\20455\001\20457\1034\20461\001\20463\434\20465\2402\20470\005\20472\1034\20537\013\20603\012\20624\031\20631\034\20633\031\20637\034\20641\16031\20644\14434\20647\16031\20655\034\20657\16031\20715\034\20717\031\20721\034\20725\16031\20763\034\21361\031\21407\034\21413\031\21437\034\21441\031\21450\034\21452\12426\21573\034\21632\034\22046\034\22112\034\22233\013\22351\034\22352\013\22625\034\22666\034\22670\14434\22700\034\22702\14434\22767\034\23023\034\23156\034\23160\14434\23161\16000\23404\034\23411\034\23447\034\23513\034\23515\16000\23522\034\23526\034\23536\034\23547\034\23623\013\23624\034\23657\034\23676\034\24377\034\27231\034\27363\034\27725\034\27773\034\30001\14014\30003\030\30005\2034\30007\5005\30021\13025\30023\034\30033\13025\30035\12424\30037\026\30041\5034\30051\012\30057\006\30061\2024\30065\004\30067\034\30072\012\30077\034\30224\005\30232\006\30234\033\30236\004\30372\005\30374\13404\30376\004\30454\005\30616\005\30621\034\30625\013\30637\034\30667\005\31034\034\31051\013\31103\034\31173\034\31200\16013\31211\013\31260\034\31313\034\31376\034\31566\034\31735\034\31776\034\46665\005\117645\005\122214\005\122241\034\122263\034\122300\034\122304\034\122306\034\153643\005\157777\023\174377\022\175055\005\175406\002\175427\002\175437\2406\175450\005\175452\14405\175466\005\175474\005\175476\005\175501\005\175504\005\175661\005\176475\005\176477\13025\176617\005\176707\005\176773\005\177043\006\177061\12030\177063\13424\177065\12427\177104\12426\177114\030\177117\027\177122\030\177127\030\177131\12424\177136\12426\177141\030\177144\12031\177146\031\177152\15030\177153\14000\177162\005\177164\005\177374\005\177377\10000\177403\030\177405\14032\177407\030\177411\13025\177414\14430\177416\12030\177420\14011\177431\011\177433\030\177436\031\177440\030\177472\001\177474\12430\177476\13033\177500\13433\177532\002\177534\12431\177536\13031\177542\14025\177544\13030\177546\13405\177557\005\177561\2404\177635\005\177637\004\177676\005\177707\005\177717\005\177727\005\177734\005\177741\032\177743\15431\177745\15034\177746\032\177751\14434\177754\031\177756\034\177773\020\177775\034
+(JAVA_ARRAY_CHAR[]) {31, 15, 33, 6156, 35, 24, 37, 6170, 39, 24, 41, 5653, 44, 6424, 46, 5144, 48, 6153, 57, 9, 59, 24, 62, 25, 64, 24, 90, 1, 92, 5400, 94, 5659, 96, 5915, 122, 2, 124, 5401, 126, 5657, 159, 15, 161, 6156, 165, 26, 167, 28, 169, 7195, 171, 7426, 173, 5145, 176, 6940, 178, 6411, 180, 2843, 182, 540, 184, 6171, 186, 2818, 188, 7691, 190, 11, 192, 6145, 214, 1, 216, 6401, 222, 1, 246, 2, 248, 6402, 255, 2, 311, 513, 328, 258, 376, 513, 382, 258, 384, 2, 386, 1, 390, 513, 393, 258, 395, 1, 397, 2, 401, 1, 403, 258, 406, 513, 408, 1, 411, 2, 413, 1, 415, 258, 422, 513, 426, 258, 430, 513, 433, 258, 435, 1, 439, 258, 441, 513, 443, 1282, 445, 513, 447, 2, 451, 5, 453, 769, 455, 258, 457, 515, 459, 769, 476, 258, 495, 513, 497, 258, 499, 515, 502, 513, 504, 1, 543, 513, 563, 513, 685, 2, 696, 4, 698, 27, 705, 4, 719, 27, 721, 4, 735, 27, 740, 4, 749, 27, 750, 4, 846, 6, 866, 6, 885, 27, 890, 4, 894, 24, 901, 27, 904, 6145, 906, 1, 908, 1, 911, 1, 913, 258, 929, 1, 939, 1, 974, 2, 977, 2, 980, 1, 983, 2, 1007, 513, 1011, 2, 1071, 1, 1119, 2, 1153, 513, 1155, 1564, 1158, 6, 1161, 7, 1216, 513, 1220, 258, 1224, 258, 1228, 258, 1269, 513, 1273, 513, 1366, 1, 1370, 1048, 1375, 24, 1415, 2, 1418, 6164, 1441, 6, 1465, 6, 1469, 6, 1473, 1560, 1476, 6150, 1514, 5, 1522, 5, 1524, 24, 1548, 24, 1563, 6144, 1567, 6144, 1594, 5, 1601, 1284, 1610, 5, 1621, 6, 1641, 9, 1645, 24, 1649, 1286, 1747, 5, 1749, 1304, 1756, 6, 1758, 7, 1764, 6, 1766, 4, 1768, 6, 1770, 7174, 1773, 6, 1785, 9, 1788, 5, 1790, 28, 1805, 24, 1808, 4101, 1810, 1541, 1836, 5, 1866, 6, 1957, 5, 1968, 6, 2306, 6, 2307, 2048, 2361, 5, 2365, 1286, 2368, 8, 2376, 6, 2380, 8, 2381, 1536, 2385, 1541, 2388, 6, 2401, 5, 2403, 6, 2405, 24, 2415, 9, 2416, 24, 2434, 1544, 2435, 2048, 2444, 5, 2448, 5, 2472, 5, 2480, 5, 2482, 5, 2489, 5, 2492, 6, 2496, 8, 2500, 6, 2504, 8, 2508, 8, 2509, 1536, 2519, 2048, 2525, 5, 2529, 5, 2531, 6, 2543, 9, 2545, 5, 2547, 26, 2553, 11, 2554, 28, 2562, 6, 2570, 5, 2576, 5, 2600, 5, 2608, 5, 2611, 5, 2614, 5, 2617, 5, 2620, 6, 2624, 8, 2626, 6, 2632, 6, 2637, 6, 2652, 5, 2654, 5, 2671, 9, 2673, 6, 2676, 5, 2690, 6, 2691, 2048, 2699, 5, 2701, 1280, 2705, 5, 2728, 5, 2736, 5, 2739, 5, 2745, 5, 2749, 1286, 2752, 8, 2757, 6, 2760, 6, 2761, 2048, 2764, 8, 2765, 1536, 2768, 5, 2784, 5, 2799, 9, 2818, 1544, 2819, 2048, 2828, 5, 2832, 5, 2856, 5, 2864, 5, 2867, 5, 2873, 5, 2877, 1286, 2881, 1544, 2883, 6, 2888, 8, 2892, 8, 2893, 1536, 2903, 2054, 2909, 5, 2913, 5, 2927, 9, 2928, 28, 2947, 2054, 2954, 5, 2960, 5, 2965, 5, 2970, 5, 2972, 5, 2975, 5, 2980, 5, 2986, 5, 2997, 5, 3001, 5, 3007, 8, 3009, 2054, 3010, 8, 3016, 8, 3020, 8, 3021, 1536, 3031, 2048, 3055, 9, 3058, 11, 3075, 8, 3084, 5, 3088, 5, 3112, 5, 3123, 5, 3129, 5, 3136, 6, 3140, 8, 3144, 6, 3149, 6, 3158, 6, 3169, 5, 3183, 9, 3203, 8, 3212, 5, 3216, 5, 3240, 5, 3251, 5, 3257, 5, 3264, 1544, 3268, 8, 3271, 2054, 3272, 8, 3275, 8, 3277, 6, 3286, 8, 3294, 5, 3297, 5, 3311, 9, 3331, 8, 3340, 5, 3344, 5, 3368, 5, 3385, 5, 3392, 8, 3395, 6, 3400, 8, 3404, 8, 3405, 1536, 3415, 2048, 3425, 5, 3439, 9, 3459, 8, 3478, 5, 3505, 5, 3515, 5, 3517, 1280, 3526, 5, 3530, 6, 3537, 8, 3540, 6, 3542, 6, 3551, 8, 3571, 8, 3572, 24, 3632, 5, 3634, 1541, 3636, 1286, 3642, 6, 3648, 6661, 3653, 5, 3655, 1540, 3662, 6, 3664, 6153, 3673, 9, 3675, 24, 3714, 5, 3716, 5, 3720, 5, 3722, 5, 3725, 1280, 3735, 5, 3743, 5, 3747, 5, 3749, 1280, 3751, 1280, 3755, 5, 3760, 5, 3762, 1541, 3764, 1286, 3769, 6, 3772, 6, 3773, 1280, 3780, 5, 3782, 4, 3789, 6, 3801, 9, 3805, 5, 3841, 7173, 3843, 28, 3858, 24, 3863, 28, 3865, 6, 3871, 28, 3881, 9, 3891, 11, 3897, 1564, 3901, 5653, 3903, 8, 3911, 5, 3946, 5, 3966, 6, 3968, 2054, 3972, 6, 3974, 6150, 3976, 1541, 3979, 5, 3991, 6, 4028, 6, 4037, 28, 4039, 7174, 4044, 28, 4047, 7168, 4129, 5, 4135, 5, 4138, 5, 4141, 1544, 4144, 6, 4146, 2054, 4151, 6, 4153, 1544, 4169, 9, 4175, 24, 4181, 5, 4183, 8, 4185, 6, 4293, 1, 4342, 5, 4347, 6144, 4441, 5, 4514, 5, 4601, 5, 4614, 5, 4678, 5, 4680, 5, 4685, 5, 4694, 5, 4696, 5, 4701, 5, 4742, 5, 4744, 5, 4749, 5, 4782, 5, 4784, 5, 4789, 5, 4798, 5, 4800, 5, 4805, 5, 4814, 5, 4822, 5, 4846, 5, 4878, 5, 4880, 5, 4885, 5, 4894, 5, 4934, 5, 4954, 5, 4968, 24, 4977, 9, 4988, 11, 5108, 5, 5740, 5, 5742, 24, 5750, 5, 5761, 1292, 5786, 5, 5788, 5398, 5866, 5, 5869, 24, 5872, 11, 6067, 5, 6070, 8, 6077, 6, 6085, 8, 6087, 2054, 6089, 1544, 6099, 6, 6106, 24, 6108, 6680, 6121, 9, 6149, 24, 6151, 6164, 6154, 24, 6158, 16, 6169, 9, 6210, 5, 6212, 1029, 6263, 5, 6312, 5, 6313, 1536, 7829, 513, 7835, 2, 7929, 513, 7943, 2, 7951, 1, 7957, 2, 7965, 1, 7975, 2, 7983, 1, 7991, 2, 7999, 1, 8005, 2, 8013, 1, 8023, 2, 8025, 256, 8027, 256, 8029, 256, 8032, 258, 8039, 2, 8047, 1, 8061, 2, 8071, 2, 8079, 3, 8087, 2, 8095, 3, 8103, 2, 8111, 3, 8116, 2, 8119, 2, 8123, 1, 8125, 6915, 8127, 6914, 8129, 27, 8132, 2, 8135, 2, 8139, 1, 8141, 6915, 8143, 27, 8147, 2, 8151, 2, 8155, 1, 8159, 27, 8167, 2, 8172, 1, 8175, 27, 8180, 2, 8183, 2, 8187, 1, 8189, 6915, 8190, 27, 8203, 12, 8207, 16, 8213, 20, 8215, 24, 8217, 7709, 8219, 7445, 8221, 7709, 8223, 7445, 8231, 24, 8233, 3597, 8238, 16, 8240, 3096, 8248, 24, 8250, 7454, 8254, 24, 8256, 23, 8259, 24, 8261, 5401, 8262, 22, 8269, 24, 8303, 16, 8304, 11, 8313, 11, 8316, 25, 8318, 5398, 8320, 523, 8329, 11, 8332, 25, 8334, 5398, 8367, 26, 8412, 6, 8416, 7, 8418, 1543, 8419, 1792, 8449, 28, 8451, 7169, 8454, 28, 8456, 284, 8458, 7170, 8461, 1, 8463, 2, 8466, 1, 8468, 540, 8470, 284, 8472, 28, 8477, 1, 8483, 28, 8490, 7169, 8493, 1, 8495, 540, 8497, 1, 8499, 284, 8501, 1282, 8504, 5, 8506, 540, 8543, 11, 8579, 10, 8596, 25, 8601, 28, 8603, 25, 8607, 28, 8609, 7193, 8612, 6428, 8615, 7193, 8621, 28, 8623, 7193, 8653, 28, 8655, 25, 8657, 28, 8661, 7193, 8691, 28, 8945, 25, 8967, 28, 8971, 25, 8991, 28, 8993, 25, 9000, 28, 9002, 5398, 9083, 28, 9114, 28, 9254, 28, 9290, 28, 9371, 11, 9449, 28, 9450, 11, 9621, 28, 9654, 28, 9656, 6428, 9664, 28, 9666, 6428, 9719, 28, 9747, 28, 9838, 28, 9840, 6428, 9841, 7168, 9988, 28, 9993, 28, 10023, 28, 10059, 28, 10061, 7168, 10066, 28, 10070, 28, 10078, 28, 10087, 28, 10131, 11, 10132, 28, 10159, 28, 10174, 28, 10495, 28, 11929, 28, 12019, 28, 12245, 28, 12283, 28, 12289, 6156, 12291, 24, 12293, 1052, 12295, 2565, 12305, 5653, 12307, 28, 12315, 5653, 12317, 5396, 12319, 22, 12321, 2588, 12329, 10, 12335, 6, 12337, 1044, 12341, 4, 12343, 28, 12346, 10, 12351, 28, 12436, 5, 12442, 6, 12444, 27, 12446, 4, 12538, 5, 12540, 5892, 12542, 4, 12588, 5, 12686, 5, 12689, 28, 12693, 11, 12703, 28, 12727, 5, 12828, 28, 12841, 11, 12867, 28, 12923, 28, 12928, 7179, 12937, 11, 12976, 28, 13003, 28, 13054, 28, 13174, 28, 13277, 28, 13310, 28, 19893, 5, -24667, 5, -23412, 5, -23391, 28, -23373, 28, -23360, 28, -23356, 28, -23354, 28, -10333, 5, -8193, 19, -1793, 18, -1491, 5, -1274, 2, -1257, 2, -1249, 1286, -1240, 5, -1238, 6405, -1226, 5, -1220, 5, -1218, 5, -1215, 5, -1212, 5, -1103, 5, -707, 5, -705, 5653, -625, 5, -569, 5, -517, 5, -477, 6, -463, 5144, -461, 5908, -459, 5399, -444, 5398, -436, 24, -433, 23, -430, 24, -425, 24, -423, 5396, -418, 5398, -415, 24, -412, 5145, -410, 25, -406, 6680, -405, 6144, -398, 5, -396, 5, -260, 5, -257, 4096, -253, 24, -251, 6170, -249, 24, -247, 5653, -244, 6424, -242, 5144, -240, 6153, -231, 9, -229, 24, -226, 25, -224, 24, -198, 1, -196, 5400, -194, 5659, -192, 5915, -166, 2, -164, 5401, -162, 5657, -158, 6165, -156, 5656, -154, 5893, -145, 5, -143, 1284, -99, 5, -97, 4, -66, 5, -57, 5, -49, 5, -41, 5, -36, 5, -31, 26, -29, 6937, -27, 6684, -26, 26, -23, 6428, -20, 25, -18, 28, -5, 16, -3, 28},
+// ID=155: z\177740\265\1347\366\177740\376\177740\377y\100457\177777\461\177430\100467\177777\100510\177777\100567\177777\100576\177777\577\177324\100605\177777\610\177777\614\177777\622\177777\625a\631\177777\100645\177777\650\177777\655\177777\660\177777\100666\177777\671\177777\675\177777\6778\705\177777\706\177776\710\177777\711\177776\713\177777\714\177776\100734\177777\735\177661\100757\177777\762\177777\763\177776\765\177777\101037\177777\101063\177777\1123\177456\1124\177462\1127\177463\1131\177466\1133\177465\1140\177463\1143\177461\1150\177457\1151\177455\1157\177455\1162\177453\1165\177452\1200\177446\1203\177446\1210\177446\1213\177447\1222\177445\1505T\1654\177732\1657\177733\1701\177740\1702\177741\1713\177740\1714\177700\1716\177701\1720\177702\1721\177707\1725\177721\1726\177712\101757\177777\1760\177652\1761\177660\1762\177661\2117\177740\2137\177660\102201\177777\102277\177777\102304\177777\2310\177777\2314\177777\102365\177777\2371\177777\2606\177720\117225\177777\17233\177705\117371\177777\17407\010\17425\010\17447\010\17467\010\17505\010\117527\010\17547\010\17561J\17565V\17567d\17571\200\17573p\17575\176\17607\010\17627\010\17647\010\17661\010\17663\011\17676\161733\17703\011\17721\010\17741\010\17745\007\17763\011\20577\177760\22351\177746\177532\177740
+(JAVA_ARRAY_CHAR[]) {122, -32, 181, 743, 246, -32, 254, -32, 255, 121, -32465, -1, 305, -232, -32457, -1, -32440, -1, -32393, -1, -32386, -1, 383, -300, -32379, -1, 392, -1, 396, -1, 402, -1, 405, 97, 409, -1, -32347, -1, 424, -1, 429, -1, 432, -1, -32330, -1, 441, -1, 445, -1, 447, 56, 453, -1, 454, -2, 456, -1, 457, -2, 459, -1, 460, -2, -32292, -1, 477, -79, -32273, -1, 498, -1, 499, -2, 501, -1, -32225, -1, -32205, -1, 595, -210, 596, -206, 599, -205, 601, -202, 603, -203, 608, -205, 611, -207, 616, -209, 617, -211, 623, -211, 626, -213, 629, -214, 640, -218, 643, -218, 648, -218, 651, -217, 658, -219, 837, 84, 940, -38, 943, -37, 961, -32, 962, -31, 971, -32, 972, -64, 974, -63, 976, -62, 977, -57, 981, -47, 982, -54, -31761, -1, 1008, -86, 1009, -80, 1010, -79, 1103, -32, 1119, -80, -31615, -1, -31553, -1, -31548, -1, 1224, -1, 1228, -1, -31499, -1, 1273, -1, 1414, -48, -24939, -1, 7835, -59, -24839, -1, 7943, 8, 7957, 8, 7975, 8, 7991, 8, 8005, 8, -24745, 8, 8039, 8, 8049, 74, 8053, 86, 8055, 100, 8057, 128, 8059, 112, 8061, 126, 8071, 8, 8087, 8, 8103, 8, 8113, 8, 8115, 9, 8126, -7205, 8131, 9, 8145, 8, 8161, 8, 8165, 7, 8179, 9, 8575, -16, 9449, -26, -166, -32},
+// ID=156: Z \326 \336 \100456\001\460\177471\100466\001\100507\001\100566\001\570\177607\100575\001\601\322\100604\001\606\316\607\001\612\315\613\001\616O\617\312\620\313\621\001\623\315\624\317\626\323\627\321\630\001\634\323\635\325\637\326\100644\001\646\332\647\001\651\332\654\001\656\332\657\001\662\331\100665\001\667\333\670\001\674\001\704\002\705\001\707\002\710\001\712\002\100733\001\100756\001\761\002\100764\001\766\177637\767\177710\101036\001\101062\001\1606&\1612%\1614@\1617?\1641 \1653 \101756\001\2017P\2057 \102200\001\102276\001\102303\001\2307\001\2313\001\102364\001\2370\001\25260\117224\001\117370\001\17417\177770\17435\177770\17457\177770\17477\177770\17515\177770\117537\177770\17557\177770\17617\177770\17637\177770\17657\177770\17671\177770\17673\177666\17674\177767\17713\177652\17714\177767\17731\177770\17733\177634\17751\177770\17753\177620\17754\177771\17771\177600\17773\177602\17774\177767\20446\161243\20452\157501\20453\157672\20557\020\22317\032\177472
+(JAVA_ARRAY_CHAR[]) {90, 32, 214, 32, 222, 32, -32466, 1, 304, -199, -32458, 1, -32441, 1, -32394, 1, 376, -121, -32387, 1, 385, 210, -32380, 1, 390, 206, 391, 1, 394, 205, 395, 1, 398, 79, 399, 202, 400, 203, 401, 1, 403, 205, 404, 207, 406, 211, 407, 209, 408, 1, 412, 211, 413, 213, 415, 214, -32348, 1, 422, 218, 423, 1, 425, 218, 428, 1, 430, 218, 431, 1, 434, 217, -32331, 1, 439, 219, 440, 1, 444, 1, 452, 2, 453, 1, 455, 2, 456, 1, 458, 2, -32293, 1, -32274, 1, 497, 2, -32268, 1, 502, -97, 503, -56, -32226, 1, -32206, 1, 902, 38, 906, 37, 908, 64, 911, 63, 929, 32, 939, 32, -31762, 1, 1039, 80, 1071, 32, -31616, 1, -31554, 1, -31549, 1, 1223, 1, 1227, 1, -31500, 1, 1272, 1, 1366, 48, -24940, 1, -24840, 1, 7951, -8, 7965, -8, 7983, -8, 7999, -8, 8013, -8, -24737, -8, 8047, -8, 8079, -8, 8095, -8, 8111, -8, 8121, -8, 8123, -74, 8124, -9, 8139, -86, 8140, -9, 8153, -8, 8155, -100, 8169, -8, 8171, -112, 8172, -7, 8185, -128, 8187, -126, 8188, -9, 8486, -7517, 8490, -8383, 8491, -8262, 8559, 16, 9423, 26, -198, 32},
+// ID=157: 90Z7zW\3151\3140\3371\3360\4557\4546\4757\4746\5157\5146\5357\5346\5557\5546\5757\5746\6157\6146\6357\6346\6557\6546\7131\7120\7331\7320\7451\7440\10111\10100\11561\11550\13751\13740\14031\14020\177431\177420\177472\177427\177532\177467
+(JAVA_ARRAY_CHAR[]) {57, 48, 90, 55, 122, 87, 1641, 1632, 1785, 1776, 2415, 2406, 2543, 2534, 2671, 2662, 2799, 2790, 2927, 2918, 3055, 3046, 3183, 3174, 3311, 3302, 3439, 3430, 3673, 3664, 3801, 3792, 3881, 3872, 4169, 4160, 4977, 4968, 6121, 6112, 6169, 6160, -231, -240, -198, -233, -166, -201},
+// ID=158: \002\002\002\002\002\002\002\002\002\000\000\000\000\000\002\002\002\002\002\002\002\002\002\002\002\002\002\002\000\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000\000\000\000\000\002\002\002\002\002\002\002\002\002\002\000\000\000\000\000\000\000\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\000\000\000\000\003\000\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\000\000\000\000\002
+(JAVA_ARRAY_CHAR[]) {2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 2},
+// ID=159: \705\705\710\710\713\713\762\762
+(JAVA_ARRAY_CHAR[]) {453, 453, 456, 456, 459, 459, 498, 498},
+// ID=160: 90Z7zW\263\260\271\270\276\000\3151\3140\3371\3360\4557\4546\4757\4746\4767\4763\4771\4751\5157\5146\5357\5346\5557\5546\5760\5746\5761\5615\5762\4012\6157\6146\6357\6346\6557\6546\7131\7120\7331\7320\7451\7440\10111\10100\11562\11550\11563\11537\11564\11526\11565\11515\11566\11504\11567\11473\11570\11462\11571\11451\11572\11440\11573\11427\11574\166154\13360\13335\13751\13740\14031\14020\20160\20160\20171\20160\20211\20200\20536\000\20537\20536\20553\20537\20554\20472\20555\20411\20556\17572\20557\16607\20573\20557\20574\20512\20575\20431\20576\17612\20577\16627\20600\16630\20601\6771\20602\175162\22163\22137\22207\22163\22233\22207\22352\22352\23577\23565\23611\23577\23623\23611\30007\30007\30051\30040\30070\30056\30071\30045\30072\30034\31211\31177\177431\177420\177472\177427\177532\177467
+(JAVA_ARRAY_CHAR[]) {57, 48, 90, 55, 122, 87, 179, 176, 185, 184, 190, 0, 1641, 1632, 1785, 1776, 2415, 2406, 2543, 2534, 2551, 2547, 2553, 2537, 2671, 2662, 2799, 2790, 2927, 2918, 3056, 3046, 3057, 2957, 3058, 2058, 3183, 3174, 3311, 3302, 3439, 3430, 3673, 3664, 3801, 3792, 3881, 3872, 4169, 4160, 4978, 4968, 4979, 4959, 4980, 4950, 4981, 4941, 4982, 4932, 4983, 4923, 4984, 4914, 4985, 4905, 4986, 4896, 4987, 4887, 4988, -5012, 5872, 5853, 6121, 6112, 6169, 6160, 8304, 8304, 8313, 8304, 8329, 8320, 8542, 0, 8543, 8542, 8555, 8543, 8556, 8506, 8557, 8457, 8558, 8058, 8559, 7559, 8571, 8559, 8572, 8522, 8573, 8473, 8574, 8074, 8575, 7575, 8576, 7576, 8577, 3577, 8578, -1422, 9331, 9311, 9351, 9331, 9371, 9351, 9450, 9450, 10111, 10101, 10121, 10111, 10131, 10121, 12295, 12295, 12329, 12320, 12344, 12334, 12345, 12325, 12346, 12316, 12937, 12927, -231, -240, -198, -233, -166, -201},
+// ID=161: size
+(JAVA_ARRAY_CHAR[]) {115, 105, 122, 101},
+// ID=162: luni.0A
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 48, 65},
+// ID=163: luni.0B
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 48, 66},
+// ID=164: luni.35
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 51, 53},
+// ID=165: security.28
+(JAVA_ARRAY_CHAR[]) {115, 101, 99, 117, 114, 105, 116, 121, 46, 50, 56},
+// ID=166: security.29
+(JAVA_ARRAY_CHAR[]) {115, 101, 99, 117, 114, 105, 116, 121, 46, 50, 57},
+// ID=167: exitVM.*
+(JAVA_ARRAY_CHAR[]) {101, 120, 105, 116, 86, 77, 46, 42},
+// ID=168: exitVM
+(JAVA_ARRAY_CHAR[]) {101, 120, 105, 116, 86, 77},
+// ID=169: luni.04
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 48, 52},
+// ID=170: ?
+(JAVA_ARRAY_CHAR[]) {63},
+// ID=171: offset:
+(JAVA_ARRAY_CHAR[]) {111, 102, 102, 115, 101, 116, 58, 32},
+// ID=172: count:
+(JAVA_ARRAY_CHAR[]) {99, 111, 117, 110, 116, 58, 32},
+// ID=173: offset + count:
+(JAVA_ARRAY_CHAR[]) {111, 102, 102, 115, 101, 116, 32, 43, 32, 99, 111, 117, 110, 116, 58, 32},
+// ID=174: file.encoding
+(JAVA_ARRAY_CHAR[]) {102, 105, 108, 101, 46, 101, 110, 99, 111, 100, 105, 110, 103},
+// ID=175: ISO-8859-1
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 45, 56, 56, 53, 57, 45, 49},
+// ID=176: target should not be null
+(JAVA_ARRAY_CHAR[]) {116, 97, 114, 103, 101, 116, 32, 115, 104, 111, 117, 108, 100, 32, 110, 111, 116, 32, 98, 101, 32, 110, 117, 108, 108},
+// ID=177: replacement should not be null
+(JAVA_ARRAY_CHAR[]) {114, 101, 112, 108, 97, 99, 101, 109, 101, 110, 116, 32, 115, 104, 111, 117, 108, 100, 32, 110, 111, 116, 32, 98, 101, 32, 110, 117, 108, 108},
+// ID=178: false
+(JAVA_ARRAY_CHAR[]) {102, 97, 108, 115, 101},
+// ID=179: null format argument
+(JAVA_ARRAY_CHAR[]) {110, 117, 108, 108, 32, 102, 111, 114, 109, 97, 116, 32, 97, 114, 103, 117, 109, 101, 110, 116},
+// ID=180: niochar.08
+(JAVA_ARRAY_CHAR[]) {110, 105, 111, 99, 104, 97, 114, 46, 48, 56},
+// ID=181: niochar.09
+(JAVA_ARRAY_CHAR[]) {110, 105, 111, 99, 104, 97, 114, 46, 48, 57},
+// ID=182: CoderResult[
+(JAVA_ARRAY_CHAR[]) {67, 111, 100, 101, 114, 82, 101, 115, 117, 108, 116, 91},
+// ID=183: ]
+(JAVA_ARRAY_CHAR[]) {93},
+// ID=184: UNDERFLOW error
+(JAVA_ARRAY_CHAR[]) {85, 78, 68, 69, 82, 70, 76, 79, 87, 32, 101, 114, 114, 111, 114},
+// ID=185: OVERFLOW error
+(JAVA_ARRAY_CHAR[]) {79, 86, 69, 82, 70, 76, 79, 87, 32, 101, 114, 114, 111, 114},
+// ID=186: Unmappable-character error with erroneous input length
+(JAVA_ARRAY_CHAR[]) {85, 110, 109, 97, 112, 112, 97, 98, 108, 101, 45, 99, 104, 97, 114, 97, 99, 116, 101, 114, 32, 101, 114, 114, 111, 114, 32, 119, 105, 116, 104, 32, 101, 114, 114, 111, 110, 101, 111, 117, 115, 32, 105, 110, 112, 117, 116, 32, 108, 101, 110, 103, 116, 104, 32},
+// ID=187: Malformed-input error with erroneous input length
+(JAVA_ARRAY_CHAR[]) {77, 97, 108, 102, 111, 114, 109, 101, 100, 45, 105, 110, 112, 117, 116, 32, 101, 114, 114, 111, 114, 32, 119, 105, 116, 104, 32, 101, 114, 114, 111, 110, 101, 111, 117, 115, 32, 105, 110, 112, 117, 116, 32, 108, 101, 110, 103, 116, 104, 32},
+// ID=188: org.apache.harmony.niochar.charset
+(JAVA_ARRAY_CHAR[]) {111, 114, 103, 46, 97, 112, 97, 99, 104, 101, 46, 104, 97, 114, 109, 111, 110, 121, 46, 110, 105, 111, 99, 104, 97, 114, 46, 99, 104, 97, 114, 115, 101, 116},
+// ID=189: US_ASCII
+(JAVA_ARRAY_CHAR[]) {85, 83, 95, 65, 83, 67, 73, 73},
+// ID=190: US-ASCII
+(JAVA_ARRAY_CHAR[]) {85, 83, 45, 65, 83, 67, 73, 73},
+// ID=191: ANSI_X3.4-1968
+(JAVA_ARRAY_CHAR[]) {65, 78, 83, 73, 95, 88, 51, 46, 52, 45, 49, 57, 54, 56},
+// ID=192: ANSI_X3.4-1986
+(JAVA_ARRAY_CHAR[]) {65, 78, 83, 73, 95, 88, 51, 46, 52, 45, 49, 57, 56, 54},
+// ID=193: iso-ir-6
+(JAVA_ARRAY_CHAR[]) {105, 115, 111, 45, 105, 114, 45, 54},
+// ID=194: iso_646.irv:1983
+(JAVA_ARRAY_CHAR[]) {105, 115, 111, 95, 54, 52, 54, 46, 105, 114, 118, 58, 49, 57, 56, 51},
+// ID=195: ISO_646.irv:1991
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 54, 52, 54, 46, 105, 114, 118, 58, 49, 57, 57, 49},
+// ID=196: ASCII
+(JAVA_ARRAY_CHAR[]) {65, 83, 67, 73, 73},
+// ID=197: ISO646-US
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 54, 52, 54, 45, 85, 83},
+// ID=198: us
+(JAVA_ARRAY_CHAR[]) {117, 115},
+// ID=199: cp367
+(JAVA_ARRAY_CHAR[]) {99, 112, 51, 54, 55},
+// ID=200: ascii7
+(JAVA_ARRAY_CHAR[]) {97, 115, 99, 105, 105, 55},
+// ID=201: 646
+(JAVA_ARRAY_CHAR[]) {54, 52, 54},
+// ID=202: csASCII
+(JAVA_ARRAY_CHAR[]) {99, 115, 65, 83, 67, 73, 73},
+// ID=203: KOI8_R
+(JAVA_ARRAY_CHAR[]) {75, 79, 73, 56, 95, 82},
+// ID=204: KOI8-R
+(JAVA_ARRAY_CHAR[]) {75, 79, 73, 56, 45, 82},
+// ID=205: csKOI8R
+(JAVA_ARRAY_CHAR[]) {99, 115, 75, 79, 73, 56, 82},
+// ID=206: CP_1250
+(JAVA_ARRAY_CHAR[]) {67, 80, 95, 49, 50, 53, 48},
+// ID=207: windows-1250
+(JAVA_ARRAY_CHAR[]) {119, 105, 110, 100, 111, 119, 115, 45, 49, 50, 53, 48},
+// ID=208: cp1250
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 50, 53, 48},
+// ID=209: CP_1251
+(JAVA_ARRAY_CHAR[]) {67, 80, 95, 49, 50, 53, 49},
+// ID=210: windows-1251
+(JAVA_ARRAY_CHAR[]) {119, 105, 110, 100, 111, 119, 115, 45, 49, 50, 53, 49},
+// ID=211: cp1251
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 50, 53, 49},
+// ID=212: CP_1252
+(JAVA_ARRAY_CHAR[]) {67, 80, 95, 49, 50, 53, 50},
+// ID=213: windows-1252
+(JAVA_ARRAY_CHAR[]) {119, 105, 110, 100, 111, 119, 115, 45, 49, 50, 53, 50},
+// ID=214: cp1252
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 50, 53, 50},
+// ID=215: CP_1253
+(JAVA_ARRAY_CHAR[]) {67, 80, 95, 49, 50, 53, 51},
+// ID=216: windows-1253
+(JAVA_ARRAY_CHAR[]) {119, 105, 110, 100, 111, 119, 115, 45, 49, 50, 53, 51},
+// ID=217: cp1253
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 50, 53, 51},
+// ID=218: CP_1254
+(JAVA_ARRAY_CHAR[]) {67, 80, 95, 49, 50, 53, 52},
+// ID=219: windows-1254
+(JAVA_ARRAY_CHAR[]) {119, 105, 110, 100, 111, 119, 115, 45, 49, 50, 53, 52},
+// ID=220: cp1254
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 50, 53, 52},
+// ID=221: CP_1257
+(JAVA_ARRAY_CHAR[]) {67, 80, 95, 49, 50, 53, 55},
+// ID=222: windows-1257
+(JAVA_ARRAY_CHAR[]) {119, 105, 110, 100, 111, 119, 115, 45, 49, 50, 53, 55},
+// ID=223: cp1257
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 50, 53, 55},
+// ID=224: ISO_8859_1
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 95, 49},
+// ID=225: 8859_1
+(JAVA_ARRAY_CHAR[]) {56, 56, 53, 57, 95, 49},
+// ID=226: ISO_8859-1:1987
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 45, 49, 58, 49, 57, 56, 55},
+// ID=227: iso-ir-100
+(JAVA_ARRAY_CHAR[]) {105, 115, 111, 45, 105, 114, 45, 49, 48, 48},
+// ID=228: ISO_8859-1
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 45, 49},
+// ID=229: latin1
+(JAVA_ARRAY_CHAR[]) {108, 97, 116, 105, 110, 49},
+// ID=230: l1
+(JAVA_ARRAY_CHAR[]) {108, 49},
+// ID=231: IBM819
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 56, 49, 57},
+// ID=232: IBM-819
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 45, 56, 49, 57},
+// ID=233: CP819
+(JAVA_ARRAY_CHAR[]) {67, 80, 56, 49, 57},
+// ID=234: 819
+(JAVA_ARRAY_CHAR[]) {56, 49, 57},
+// ID=235: csISOLatin1
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 83, 79, 76, 97, 116, 105, 110, 49},
+// ID=236: ISO_8859_2
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 95, 50},
+// ID=237: ISO-8859-2
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 45, 56, 56, 53, 57, 45, 50},
+// ID=238: 8859_2
+(JAVA_ARRAY_CHAR[]) {56, 56, 53, 57, 95, 50},
+// ID=239: ISO_8859-2:1987
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 45, 50, 58, 49, 57, 56, 55},
+// ID=240: iso-ir-101
+(JAVA_ARRAY_CHAR[]) {105, 115, 111, 45, 105, 114, 45, 49, 48, 49},
+// ID=241: ISO_8859-2
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 45, 50},
+// ID=242: latin2
+(JAVA_ARRAY_CHAR[]) {108, 97, 116, 105, 110, 50},
+// ID=243: l2
+(JAVA_ARRAY_CHAR[]) {108, 50},
+// ID=244: csISOLatin2
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 83, 79, 76, 97, 116, 105, 110, 50},
+// ID=245: ISO_8859_4
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 95, 52},
+// ID=246: ISO-8859-4
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 45, 56, 56, 53, 57, 45, 52},
+// ID=247: 8859_4
+(JAVA_ARRAY_CHAR[]) {56, 56, 53, 57, 95, 52},
+// ID=248: ISO_8859-4:1988
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 45, 52, 58, 49, 57, 56, 56},
+// ID=249: iso-ir-110
+(JAVA_ARRAY_CHAR[]) {105, 115, 111, 45, 105, 114, 45, 49, 49, 48},
+// ID=250: ISO_8859-4
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 45, 52},
+// ID=251: latin4
+(JAVA_ARRAY_CHAR[]) {108, 97, 116, 105, 110, 52},
+// ID=252: l4
+(JAVA_ARRAY_CHAR[]) {108, 52},
+// ID=253: csISOLatin4
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 83, 79, 76, 97, 116, 105, 110, 52},
+// ID=254: ISO_8859_5
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 95, 53},
+// ID=255: ISO-8859-5
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 45, 56, 56, 53, 57, 45, 53},
+// ID=256: 8859_5
+(JAVA_ARRAY_CHAR[]) {56, 56, 53, 57, 95, 53},
+// ID=257: ISO_8859-5:1988
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 45, 53, 58, 49, 57, 56, 56},
+// ID=258: iso-ir-144
+(JAVA_ARRAY_CHAR[]) {105, 115, 111, 45, 105, 114, 45, 49, 52, 52},
+// ID=259: ISO_8859-5
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 45, 53},
+// ID=260: cyrillic
+(JAVA_ARRAY_CHAR[]) {99, 121, 114, 105, 108, 108, 105, 99},
+// ID=261: csISOLatinCyrillic
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 83, 79, 76, 97, 116, 105, 110, 67, 121, 114, 105, 108, 108, 105, 99},
+// ID=262: ISO_8859_7
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 95, 55},
+// ID=263: ISO-8859-7
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 45, 56, 56, 53, 57, 45, 55},
+// ID=264: ISO_8859-7:1987
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 45, 55, 58, 49, 57, 56, 55},
+// ID=265: ISO_8859-7
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 45, 55},
+// ID=266: iso-ir-126
+(JAVA_ARRAY_CHAR[]) {105, 115, 111, 45, 105, 114, 45, 49, 50, 54},
+// ID=267: ELOT_928
+(JAVA_ARRAY_CHAR[]) {69, 76, 79, 84, 95, 57, 50, 56},
+// ID=268: ECMA-118
+(JAVA_ARRAY_CHAR[]) {69, 67, 77, 65, 45, 49, 49, 56},
+// ID=269: greek
+(JAVA_ARRAY_CHAR[]) {103, 114, 101, 101, 107},
+// ID=270: greek8
+(JAVA_ARRAY_CHAR[]) {103, 114, 101, 101, 107, 56},
+// ID=271: csISOLatinGreek
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 83, 79, 76, 97, 116, 105, 110, 71, 114, 101, 101, 107},
+// ID=272: ISO_8859_9
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 95, 57},
+// ID=273: ISO-8859-9
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 45, 56, 56, 53, 57, 45, 57},
+// ID=274: ISO_8859-9:1989
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 45, 57, 58, 49, 57, 56, 57},
+// ID=275: iso-ir-148
+(JAVA_ARRAY_CHAR[]) {105, 115, 111, 45, 105, 114, 45, 49, 52, 56},
+// ID=276: ISO_8859-9
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 45, 57},
+// ID=277: latin5
+(JAVA_ARRAY_CHAR[]) {108, 97, 116, 105, 110, 53},
+// ID=278: l5
+(JAVA_ARRAY_CHAR[]) {108, 53},
+// ID=279: csISOLatin5
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 83, 79, 76, 97, 116, 105, 110, 53},
+// ID=280: ISO_8859_13
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 95, 49, 51},
+// ID=281: ISO-8859-13
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 45, 56, 56, 53, 57, 45, 49, 51},
+// ID=282: ISO_8859_15
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 95, 49, 53},
+// ID=283: ISO-8859-15
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 45, 56, 56, 53, 57, 45, 49, 53},
+// ID=284: ISO_8859-15
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 45, 49, 53},
+// ID=285: Latin-9
+(JAVA_ARRAY_CHAR[]) {76, 97, 116, 105, 110, 45, 57},
+// ID=286: UTF_8
+(JAVA_ARRAY_CHAR[]) {85, 84, 70, 95, 56},
+// ID=287: UTF8
+(JAVA_ARRAY_CHAR[]) {85, 84, 70, 56},
+// ID=288: UTF_16
+(JAVA_ARRAY_CHAR[]) {85, 84, 70, 95, 49, 54},
+// ID=289: UTF-16
+(JAVA_ARRAY_CHAR[]) {85, 84, 70, 45, 49, 54},
+// ID=290: UTF16
+(JAVA_ARRAY_CHAR[]) {85, 84, 70, 49, 54},
+// ID=291: UTF_16LE
+(JAVA_ARRAY_CHAR[]) {85, 84, 70, 95, 49, 54, 76, 69},
+// ID=292: UTF-16LE
+(JAVA_ARRAY_CHAR[]) {85, 84, 70, 45, 49, 54, 76, 69},
+// ID=293: X-UTF-16LE
+(JAVA_ARRAY_CHAR[]) {88, 45, 85, 84, 70, 45, 49, 54, 76, 69},
+// ID=294: UTF_16BE
+(JAVA_ARRAY_CHAR[]) {85, 84, 70, 95, 49, 54, 66, 69},
+// ID=295: UTF-16BE
+(JAVA_ARRAY_CHAR[]) {85, 84, 70, 45, 49, 54, 66, 69},
+// ID=296: X-UTF-16BE
+(JAVA_ARRAY_CHAR[]) {88, 45, 85, 84, 70, 45, 49, 54, 66, 69},
+// ID=297: IBM866
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 56, 54, 54},
+// ID=298: cp866
+(JAVA_ARRAY_CHAR[]) {99, 112, 56, 54, 54},
+// ID=299: 866
+(JAVA_ARRAY_CHAR[]) {56, 54, 54},
+// ID=300: csIBM866
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 56, 54, 54},
+// ID=301: additional.windows_1255
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 119, 105, 110, 100, 111, 119, 115, 95, 49, 50, 53, 53},
+// ID=302: windows-1255
+(JAVA_ARRAY_CHAR[]) {119, 105, 110, 100, 111, 119, 115, 45, 49, 50, 53, 53},
+// ID=303: cp1255
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 50, 53, 53},
+// ID=304: additional.windows_1256
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 119, 105, 110, 100, 111, 119, 115, 95, 49, 50, 53, 54},
+// ID=305: windows-1256
+(JAVA_ARRAY_CHAR[]) {119, 105, 110, 100, 111, 119, 115, 45, 49, 50, 53, 54},
+// ID=306: cp1256
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 50, 53, 54},
+// ID=307: additional.IBM1026
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 49, 48, 50, 54},
+// ID=308: IBM1026
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 49, 48, 50, 54},
+// ID=309: CP1026
+(JAVA_ARRAY_CHAR[]) {67, 80, 49, 48, 50, 54},
+// ID=310: csIBM1026
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 49, 48, 50, 54},
+// ID=311: additional.IBM1047
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 49, 48, 52, 55},
+// ID=312: IBM1047
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 49, 48, 52, 55},
+// ID=313: 1047
+(JAVA_ARRAY_CHAR[]) {49, 48, 52, 55},
+// ID=314: cp1047
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 48, 52, 55},
+// ID=315: ibm-1047
+(JAVA_ARRAY_CHAR[]) {105, 98, 109, 45, 49, 48, 52, 55},
+// ID=316: additional.IBM037
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 48, 51, 55},
+// ID=317: IBM037
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 48, 51, 55},
+// ID=318: cp037
+(JAVA_ARRAY_CHAR[]) {99, 112, 48, 51, 55},
+// ID=319: ebcdic-cp-us
+(JAVA_ARRAY_CHAR[]) {101, 98, 99, 100, 105, 99, 45, 99, 112, 45, 117, 115},
+// ID=320: ebcdic-cp-ca
+(JAVA_ARRAY_CHAR[]) {101, 98, 99, 100, 105, 99, 45, 99, 112, 45, 99, 97},
+// ID=321: ebcdic-cp-wt
+(JAVA_ARRAY_CHAR[]) {101, 98, 99, 100, 105, 99, 45, 99, 112, 45, 119, 116},
+// ID=322: ebcdic-cp-nl
+(JAVA_ARRAY_CHAR[]) {101, 98, 99, 100, 105, 99, 45, 99, 112, 45, 110, 108},
+// ID=323: csIBM037
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 48, 51, 55},
+// ID=324: additional.IBM424
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 52, 50, 52},
+// ID=325: IBM424
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 52, 50, 52},
+// ID=326: cp424
+(JAVA_ARRAY_CHAR[]) {99, 112, 52, 50, 52},
+// ID=327: ebcdic-cp-he
+(JAVA_ARRAY_CHAR[]) {101, 98, 99, 100, 105, 99, 45, 99, 112, 45, 104, 101},
+// ID=328: csIBM424
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 52, 50, 52},
+// ID=329: additional.IBM437
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 52, 51, 55},
+// ID=330: IBM437
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 52, 51, 55},
+// ID=331: cp437
+(JAVA_ARRAY_CHAR[]) {99, 112, 52, 51, 55},
+// ID=332: 437
+(JAVA_ARRAY_CHAR[]) {52, 51, 55},
+// ID=333: csPC8CodePage437
+(JAVA_ARRAY_CHAR[]) {99, 115, 80, 67, 56, 67, 111, 100, 101, 80, 97, 103, 101, 52, 51, 55},
+// ID=334: additional.IBM500
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 53, 48, 48},
+// ID=335: IBM500
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 53, 48, 48},
+// ID=336: CP500
+(JAVA_ARRAY_CHAR[]) {67, 80, 53, 48, 48},
+// ID=337: ebcdic-cp-be
+(JAVA_ARRAY_CHAR[]) {101, 98, 99, 100, 105, 99, 45, 99, 112, 45, 98, 101},
+// ID=338: ebcdic-cp-ch
+(JAVA_ARRAY_CHAR[]) {101, 98, 99, 100, 105, 99, 45, 99, 112, 45, 99, 104},
+// ID=339: csIBM500
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 53, 48, 48},
+// ID=340: additional.IBM775
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 55, 55, 53},
+// ID=341: IBM775
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 55, 55, 53},
+// ID=342: cp775
+(JAVA_ARRAY_CHAR[]) {99, 112, 55, 55, 53},
+// ID=343: csPC775Baltic
+(JAVA_ARRAY_CHAR[]) {99, 115, 80, 67, 55, 55, 53, 66, 97, 108, 116, 105, 99},
+// ID=344: additional.IBM850
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 56, 53, 48},
+// ID=345: IBM850
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 56, 53, 48},
+// ID=346: cp850
+(JAVA_ARRAY_CHAR[]) {99, 112, 56, 53, 48},
+// ID=347: 850
+(JAVA_ARRAY_CHAR[]) {56, 53, 48},
+// ID=348: csPC850Multilingual
+(JAVA_ARRAY_CHAR[]) {99, 115, 80, 67, 56, 53, 48, 77, 117, 108, 116, 105, 108, 105, 110, 103, 117, 97, 108},
+// ID=349: additional.IBM852
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 56, 53, 50},
+// ID=350: IBM852
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 56, 53, 50},
+// ID=351: cp852
+(JAVA_ARRAY_CHAR[]) {99, 112, 56, 53, 50},
+// ID=352: 852
+(JAVA_ARRAY_CHAR[]) {56, 53, 50},
+// ID=353: csPCp852
+(JAVA_ARRAY_CHAR[]) {99, 115, 80, 67, 112, 56, 53, 50},
+// ID=354: additional.IBM855
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 56, 53, 53},
+// ID=355: IBM855
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 56, 53, 53},
+// ID=356: cp855
+(JAVA_ARRAY_CHAR[]) {99, 112, 56, 53, 53},
+// ID=357: 855
+(JAVA_ARRAY_CHAR[]) {56, 53, 53},
+// ID=358: csIBM855
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 56, 53, 53},
+// ID=359: additional.IBM857
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 56, 53, 55},
+// ID=360: IBM857
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 56, 53, 55},
+// ID=361: cp857
+(JAVA_ARRAY_CHAR[]) {99, 112, 56, 53, 55},
+// ID=362: 857
+(JAVA_ARRAY_CHAR[]) {56, 53, 55},
+// ID=363: csIBM857
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 56, 53, 55},
+// ID=364: additional.IBM860
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 56, 54, 48},
+// ID=365: IBM860
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 56, 54, 48},
+// ID=366: cp860
+(JAVA_ARRAY_CHAR[]) {99, 112, 56, 54, 48},
+// ID=367: 860
+(JAVA_ARRAY_CHAR[]) {56, 54, 48},
+// ID=368: csIBM860
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 56, 54, 48},
+// ID=369: additional.IBM861
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 56, 54, 49},
+// ID=370: IBM861
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 56, 54, 49},
+// ID=371: cp861
+(JAVA_ARRAY_CHAR[]) {99, 112, 56, 54, 49},
+// ID=372: 861
+(JAVA_ARRAY_CHAR[]) {56, 54, 49},
+// ID=373: cp-is
+(JAVA_ARRAY_CHAR[]) {99, 112, 45, 105, 115},
+// ID=374: csIBM861
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 56, 54, 49},
+// ID=375: additional.IBM862
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 56, 54, 50},
+// ID=376: IBM862
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 56, 54, 50},
+// ID=377: cp862
+(JAVA_ARRAY_CHAR[]) {99, 112, 56, 54, 50},
+// ID=378: 862
+(JAVA_ARRAY_CHAR[]) {56, 54, 50},
+// ID=379: csPC862LatinHebrew
+(JAVA_ARRAY_CHAR[]) {99, 115, 80, 67, 56, 54, 50, 76, 97, 116, 105, 110, 72, 101, 98, 114, 101, 119},
+// ID=380: additional.IBM863
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 56, 54, 51},
+// ID=381: IBM863
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 56, 54, 51},
+// ID=382: cp863
+(JAVA_ARRAY_CHAR[]) {99, 112, 56, 54, 51},
+// ID=383: 863
+(JAVA_ARRAY_CHAR[]) {56, 54, 51},
+// ID=384: csIBM863
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 56, 54, 51},
+// ID=385: additional.IBM865
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 56, 54, 53},
+// ID=386: IBM865
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 56, 54, 53},
+// ID=387: cp865
+(JAVA_ARRAY_CHAR[]) {99, 112, 56, 54, 53},
+// ID=388: 865
+(JAVA_ARRAY_CHAR[]) {56, 54, 53},
+// ID=389: csIBM865
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 56, 54, 53},
+// ID=390: additional.IBM869
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 56, 54, 57},
+// ID=391: IBM869
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 56, 54, 57},
+// ID=392: cp869
+(JAVA_ARRAY_CHAR[]) {99, 112, 56, 54, 57},
+// ID=393: 869
+(JAVA_ARRAY_CHAR[]) {56, 54, 57},
+// ID=394: cp-gr
+(JAVA_ARRAY_CHAR[]) {99, 112, 45, 103, 114},
+// ID=395: csIBM869
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 56, 54, 57},
+// ID=396: additional.IBM00858
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 48, 48, 56, 53, 56},
+// ID=397: IBM00858
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 48, 48, 56, 53, 56},
+// ID=398: cp858
+(JAVA_ARRAY_CHAR[]) {99, 112, 56, 53, 56},
+// ID=399: CCSID00858
+(JAVA_ARRAY_CHAR[]) {67, 67, 83, 73, 68, 48, 48, 56, 53, 56},
+// ID=400: CP00858
+(JAVA_ARRAY_CHAR[]) {67, 80, 48, 48, 56, 53, 56},
+// ID=401: additional.IBM01140
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 48, 49, 49, 52, 48},
+// ID=402: IBM01140
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 48, 49, 49, 52, 48},
+// ID=403: cp1140
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 49, 52, 48},
+// ID=404: CCSID01140
+(JAVA_ARRAY_CHAR[]) {67, 67, 83, 73, 68, 48, 49, 49, 52, 48},
+// ID=405: CP01140
+(JAVA_ARRAY_CHAR[]) {67, 80, 48, 49, 49, 52, 48},
+// ID=406: additional.IBM01141
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 48, 49, 49, 52, 49},
+// ID=407: IBM01141
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 48, 49, 49, 52, 49},
+// ID=408: cp1141
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 49, 52, 49},
+// ID=409: CCSID01141
+(JAVA_ARRAY_CHAR[]) {67, 67, 83, 73, 68, 48, 49, 49, 52, 49},
+// ID=410: CP01141
+(JAVA_ARRAY_CHAR[]) {67, 80, 48, 49, 49, 52, 49},
+// ID=411: additional.IBM01142
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 48, 49, 49, 52, 50},
+// ID=412: IBM01142
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 48, 49, 49, 52, 50},
+// ID=413: cp1142
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 49, 52, 50},
+// ID=414: CCSID01142
+(JAVA_ARRAY_CHAR[]) {67, 67, 83, 73, 68, 48, 49, 49, 52, 50},
+// ID=415: CP01142
+(JAVA_ARRAY_CHAR[]) {67, 80, 48, 49, 49, 52, 50},
+// ID=416: additional.IBM01143
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 48, 49, 49, 52, 51},
+// ID=417: IBM01143
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 48, 49, 49, 52, 51},
+// ID=418: cp1143
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 49, 52, 51},
+// ID=419: CCSID01143
+(JAVA_ARRAY_CHAR[]) {67, 67, 83, 73, 68, 48, 49, 49, 52, 51},
+// ID=420: CP01143
+(JAVA_ARRAY_CHAR[]) {67, 80, 48, 49, 49, 52, 51},
+// ID=421: additional.IBM01144
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 48, 49, 49, 52, 52},
+// ID=422: IBM01144
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 48, 49, 49, 52, 52},
+// ID=423: cp1144
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 49, 52, 52},
+// ID=424: CCSID01144
+(JAVA_ARRAY_CHAR[]) {67, 67, 83, 73, 68, 48, 49, 49, 52, 52},
+// ID=425: CP01144
+(JAVA_ARRAY_CHAR[]) {67, 80, 48, 49, 49, 52, 52},
+// ID=426: additional.IBM01145
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 48, 49, 49, 52, 53},
+// ID=427: IBM01145
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 48, 49, 49, 52, 53},
+// ID=428: cp1145
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 49, 52, 53},
+// ID=429: CCSID01145
+(JAVA_ARRAY_CHAR[]) {67, 67, 83, 73, 68, 48, 49, 49, 52, 53},
+// ID=430: CP01145
+(JAVA_ARRAY_CHAR[]) {67, 80, 48, 49, 49, 52, 53},
+// ID=431: additional.IBM01146
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 48, 49, 49, 52, 54},
+// ID=432: IBM01146
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 48, 49, 49, 52, 54},
+// ID=433: cp1146
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 49, 52, 54},
+// ID=434: CCSID01146
+(JAVA_ARRAY_CHAR[]) {67, 67, 83, 73, 68, 48, 49, 49, 52, 54},
+// ID=435: CP01146
+(JAVA_ARRAY_CHAR[]) {67, 80, 48, 49, 49, 52, 54},
+// ID=436: additional.IBM01147
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 48, 49, 49, 52, 55},
+// ID=437: IBM01147
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 48, 49, 49, 52, 55},
+// ID=438: cp1147
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 49, 52, 55},
+// ID=439: CCSID01147
+(JAVA_ARRAY_CHAR[]) {67, 67, 83, 73, 68, 48, 49, 49, 52, 55},
+// ID=440: CP01147
+(JAVA_ARRAY_CHAR[]) {67, 80, 48, 49, 49, 52, 55},
+// ID=441: additional.IBM01148
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 48, 49, 49, 52, 56},
+// ID=442: IBM01148
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 48, 49, 49, 52, 56},
+// ID=443: cp1148
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 49, 52, 56},
+// ID=444: CCSID01148
+(JAVA_ARRAY_CHAR[]) {67, 67, 83, 73, 68, 48, 49, 49, 52, 56},
+// ID=445: CP01148
+(JAVA_ARRAY_CHAR[]) {67, 80, 48, 49, 49, 52, 56},
+// ID=446: additional.IBM01149
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 48, 49, 49, 52, 57},
+// ID=447: IBM01149
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 48, 49, 49, 52, 57},
+// ID=448: cp1149
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 49, 52, 57},
+// ID=449: CCSID01149
+(JAVA_ARRAY_CHAR[]) {67, 67, 83, 73, 68, 48, 49, 49, 52, 57},
+// ID=450: CP01149
+(JAVA_ARRAY_CHAR[]) {67, 80, 48, 49, 49, 52, 57},
+// ID=451: additional.IBM273
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 50, 55, 51},
+// ID=452: IBM273
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 50, 55, 51},
+// ID=453: cp273
+(JAVA_ARRAY_CHAR[]) {99, 112, 50, 55, 51},
+// ID=454: csIBM273
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 50, 55, 51},
+// ID=455: additional.IBM277
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 50, 55, 55},
+// ID=456: IBM277
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 50, 55, 55},
+// ID=457: cp277
+(JAVA_ARRAY_CHAR[]) {99, 112, 50, 55, 55},
+// ID=458: EBCDIC-CP-DK
+(JAVA_ARRAY_CHAR[]) {69, 66, 67, 68, 73, 67, 45, 67, 80, 45, 68, 75},
+// ID=459: EBCDIC-CP-NO
+(JAVA_ARRAY_CHAR[]) {69, 66, 67, 68, 73, 67, 45, 67, 80, 45, 78, 79},
+// ID=460: csIBM277
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 50, 55, 55},
+// ID=461: additional.IBM278
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 50, 55, 56},
+// ID=462: IBM278
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 50, 55, 56},
+// ID=463: cp278
+(JAVA_ARRAY_CHAR[]) {99, 112, 50, 55, 56},
+// ID=464: ebcdic-cp-fi
+(JAVA_ARRAY_CHAR[]) {101, 98, 99, 100, 105, 99, 45, 99, 112, 45, 102, 105},
+// ID=465: ebcdic-cp-se
+(JAVA_ARRAY_CHAR[]) {101, 98, 99, 100, 105, 99, 45, 99, 112, 45, 115, 101},
+// ID=466: csIBM278
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 50, 55, 56},
+// ID=467: additional.IBM280
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 50, 56, 48},
+// ID=468: IBM280
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 50, 56, 48},
+// ID=469: cp280
+(JAVA_ARRAY_CHAR[]) {99, 112, 50, 56, 48},
+// ID=470: ebcdic-cp-it
+(JAVA_ARRAY_CHAR[]) {101, 98, 99, 100, 105, 99, 45, 99, 112, 45, 105, 116},
+// ID=471: csIBM280
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 50, 56, 48},
+// ID=472: additional.IBM284
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 50, 56, 52},
+// ID=473: IBM284
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 50, 56, 52},
+// ID=474: cp284
+(JAVA_ARRAY_CHAR[]) {99, 112, 50, 56, 52},
+// ID=475: ebcdic-cp-es
+(JAVA_ARRAY_CHAR[]) {101, 98, 99, 100, 105, 99, 45, 99, 112, 45, 101, 115},
+// ID=476: csIBM284
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 50, 56, 52},
+// ID=477: additional.IBM285
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 50, 56, 53},
+// ID=478: IBM285
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 50, 56, 53},
+// ID=479: cp285
+(JAVA_ARRAY_CHAR[]) {99, 112, 50, 56, 53},
+// ID=480: ebcdic-cp-gb
+(JAVA_ARRAY_CHAR[]) {101, 98, 99, 100, 105, 99, 45, 99, 112, 45, 103, 98},
+// ID=481: csIBM285
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 50, 56, 53},
+// ID=482: additional.IBM297
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 50, 57, 55},
+// ID=483: IBM297
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 50, 57, 55},
+// ID=484: cp297
+(JAVA_ARRAY_CHAR[]) {99, 112, 50, 57, 55},
+// ID=485: ebcdic-cp-fr
+(JAVA_ARRAY_CHAR[]) {101, 98, 99, 100, 105, 99, 45, 99, 112, 45, 102, 114},
+// ID=486: csIBM297
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 50, 57, 55},
+// ID=487: additional.IBM870
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 56, 55, 48},
+// ID=488: IBM870
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 56, 55, 48},
+// ID=489: cp870
+(JAVA_ARRAY_CHAR[]) {99, 112, 56, 55, 48},
+// ID=490: ebcdic-cp-roece
+(JAVA_ARRAY_CHAR[]) {101, 98, 99, 100, 105, 99, 45, 99, 112, 45, 114, 111, 101, 99, 101},
+// ID=491: ebcdic-cp-yu
+(JAVA_ARRAY_CHAR[]) {101, 98, 99, 100, 105, 99, 45, 99, 112, 45, 121, 117},
+// ID=492: csIBM870
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 56, 55, 48},
+// ID=493: additional.IBM871
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 56, 55, 49},
+// ID=494: IBM871
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 56, 55, 49},
+// ID=495: cp871
+(JAVA_ARRAY_CHAR[]) {99, 112, 56, 55, 49},
+// ID=496: ebcdic-cp-is
+(JAVA_ARRAY_CHAR[]) {101, 98, 99, 100, 105, 99, 45, 99, 112, 45, 105, 115},
+// ID=497: csIBM871
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 56, 55, 49},
+// ID=498: additional.IBM918
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 57, 49, 56},
+// ID=499: IBM918
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 57, 49, 56},
+// ID=500: cp918
+(JAVA_ARRAY_CHAR[]) {99, 112, 57, 49, 56},
+// ID=501: ebcdic-cp-ar2
+(JAVA_ARRAY_CHAR[]) {101, 98, 99, 100, 105, 99, 45, 99, 112, 45, 97, 114, 50},
+// ID=502: csIBM918
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 57, 49, 56},
+// ID=503: additional.IBM420
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 52, 50, 48},
+// ID=504: IBM420
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 52, 50, 48},
+// ID=505: cp420
+(JAVA_ARRAY_CHAR[]) {99, 112, 52, 50, 48},
+// ID=506: ebcdic-cp-ar1
+(JAVA_ARRAY_CHAR[]) {101, 98, 99, 100, 105, 99, 45, 99, 112, 45, 97, 114, 49},
+// ID=507: csIBM420
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 52, 50, 48},
+// ID=508: additional.IBM864
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 56, 54, 52},
+// ID=509: IBM864
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 56, 54, 52},
+// ID=510: cp864
+(JAVA_ARRAY_CHAR[]) {99, 112, 56, 54, 52},
+// ID=511: csIBM864
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 56, 54, 52},
+// ID=512: additional.IBM868
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 56, 54, 56},
+// ID=513: IBM868
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 56, 54, 56},
+// ID=514: cp868
+(JAVA_ARRAY_CHAR[]) {99, 112, 56, 54, 56},
+// ID=515: cp-ar
+(JAVA_ARRAY_CHAR[]) {99, 112, 45, 97, 114},
+// ID=516: csIBM868
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 66, 77, 56, 54, 56},
+// ID=517: additional.ISO_8859_3
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 83, 79, 95, 56, 56, 53, 57, 95, 51},
+// ID=518: ISO-8859-3
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 45, 56, 56, 53, 57, 45, 51},
+// ID=519: 8859_3
+(JAVA_ARRAY_CHAR[]) {56, 56, 53, 57, 95, 51},
+// ID=520: ISO_8859_3
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 95, 51},
+// ID=521: ISO_8859_2:1998
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 95, 50, 58, 49, 57, 57, 56},
+// ID=522: iso-ir-109
+(JAVA_ARRAY_CHAR[]) {105, 115, 111, 45, 105, 114, 45, 49, 48, 57},
+// ID=523: ISO_8859-3
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 45, 51},
+// ID=524: latin3
+(JAVA_ARRAY_CHAR[]) {108, 97, 116, 105, 110, 51},
+// ID=525: l3
+(JAVA_ARRAY_CHAR[]) {108, 51},
+// ID=526: csISOLatin3
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 83, 79, 76, 97, 116, 105, 110, 51},
+// ID=527: additional.ISO_8859_6
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 83, 79, 95, 56, 56, 53, 57, 95, 54},
+// ID=528: ISO-8859-6
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 45, 56, 56, 53, 57, 45, 54},
+// ID=529: ISO_8859_6
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 95, 54},
+// ID=530: ISO_8859-6:1987
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 45, 54, 58, 49, 57, 56, 55},
+// ID=531: iso-ir-127
+(JAVA_ARRAY_CHAR[]) {105, 115, 111, 45, 105, 114, 45, 49, 50, 55},
+// ID=532: ISO_8859-6
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 45, 54},
+// ID=533: ECMA-114
+(JAVA_ARRAY_CHAR[]) {69, 67, 77, 65, 45, 49, 49, 52},
+// ID=534: ASMO-708
+(JAVA_ARRAY_CHAR[]) {65, 83, 77, 79, 45, 55, 48, 56},
+// ID=535: arabic
+(JAVA_ARRAY_CHAR[]) {97, 114, 97, 98, 105, 99},
+// ID=536: csISOLatinArabic
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 83, 79, 76, 97, 116, 105, 110, 65, 114, 97, 98, 105, 99},
+// ID=537: additional.ISO_8859_8
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 83, 79, 95, 56, 56, 53, 57, 95, 56},
+// ID=538: ISO-8859-8
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 45, 56, 56, 53, 57, 45, 56},
+// ID=539: ISO_8859_8
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 95, 56},
+// ID=540: ISO_8859-8:1988
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 45, 56, 58, 49, 57, 56, 56},
+// ID=541: iso-ir-138
+(JAVA_ARRAY_CHAR[]) {105, 115, 111, 45, 105, 114, 45, 49, 51, 56},
+// ID=542: ISO_8859-8
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 95, 56, 56, 53, 57, 45, 56},
+// ID=543: hebrew
+(JAVA_ARRAY_CHAR[]) {104, 101, 98, 114, 101, 119},
+// ID=544: csISOLatinHebrew
+(JAVA_ARRAY_CHAR[]) {99, 115, 73, 83, 79, 76, 97, 116, 105, 110, 72, 101, 98, 114, 101, 119},
+// ID=545: additional.IBM_Thai
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 73, 66, 77, 95, 84, 104, 97, 105},
+// ID=546: IBM-Thai
+(JAVA_ARRAY_CHAR[]) {73, 66, 77, 45, 84, 104, 97, 105},
+// ID=547: cp838
+(JAVA_ARRAY_CHAR[]) {99, 112, 56, 51, 56},
+// ID=548: additional.x_IBM737
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 120, 95, 73, 66, 77, 55, 51, 55},
+// ID=549: x-IBM737
+(JAVA_ARRAY_CHAR[]) {120, 45, 73, 66, 77, 55, 51, 55},
+// ID=550: x-ibm-737_P100-1997
+(JAVA_ARRAY_CHAR[]) {120, 45, 105, 98, 109, 45, 55, 51, 55, 95, 80, 49, 48, 48, 45, 49, 57, 57, 55},
+// ID=551: cp737
+(JAVA_ARRAY_CHAR[]) {99, 112, 55, 51, 55},
+// ID=552: additional.x_IBM856
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 120, 95, 73, 66, 77, 56, 53, 54},
+// ID=553: x-IBM856
+(JAVA_ARRAY_CHAR[]) {120, 45, 73, 66, 77, 56, 53, 54},
+// ID=554: cp856
+(JAVA_ARRAY_CHAR[]) {99, 112, 56, 53, 54},
+// ID=555: additional.x_IBM874
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 120, 95, 73, 66, 77, 56, 55, 52},
+// ID=556: TIS-620
+(JAVA_ARRAY_CHAR[]) {84, 73, 83, 45, 54, 50, 48},
+// ID=557: x-IBM874
+(JAVA_ARRAY_CHAR[]) {120, 45, 73, 66, 77, 56, 55, 52},
+// ID=558: cp874
+(JAVA_ARRAY_CHAR[]) {99, 112, 56, 55, 52},
+// ID=559: additional.x_IBM875
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 120, 95, 73, 66, 77, 56, 55, 53},
+// ID=560: x-IBM875
+(JAVA_ARRAY_CHAR[]) {120, 45, 73, 66, 77, 56, 55, 53},
+// ID=561: x-ibm-875_P100-1995
+(JAVA_ARRAY_CHAR[]) {120, 45, 105, 98, 109, 45, 56, 55, 53, 95, 80, 49, 48, 48, 45, 49, 57, 57, 53},
+// ID=562: cp875
+(JAVA_ARRAY_CHAR[]) {99, 112, 56, 55, 53},
+// ID=563: additional.x_IBM922
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 120, 95, 73, 66, 77, 57, 50, 50},
+// ID=564: x-IBM922
+(JAVA_ARRAY_CHAR[]) {120, 45, 73, 66, 77, 57, 50, 50},
+// ID=565: cp922
+(JAVA_ARRAY_CHAR[]) {99, 112, 57, 50, 50},
+// ID=566: additional.x_IBM1006
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 120, 95, 73, 66, 77, 49, 48, 48, 54},
+// ID=567: x-IBM1006
+(JAVA_ARRAY_CHAR[]) {120, 45, 73, 66, 77, 49, 48, 48, 54},
+// ID=568: x-ibm-1006_P100-1995
+(JAVA_ARRAY_CHAR[]) {120, 45, 105, 98, 109, 45, 49, 48, 48, 54, 95, 80, 49, 48, 48, 45, 49, 57, 57, 53},
+// ID=569: cp1006
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 48, 48, 54},
+// ID=570: additional.x_IBM1025
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 120, 95, 73, 66, 77, 49, 48, 50, 53},
+// ID=571: x-IBM1025
+(JAVA_ARRAY_CHAR[]) {120, 45, 73, 66, 77, 49, 48, 50, 53},
+// ID=572: x-ibm-1025_P100-1995
+(JAVA_ARRAY_CHAR[]) {120, 45, 105, 98, 109, 45, 49, 48, 50, 53, 95, 80, 49, 48, 48, 45, 49, 57, 57, 53},
+// ID=573: cp1025
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 48, 50, 53},
+// ID=574: additional.x_IBM1112
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 120, 95, 73, 66, 77, 49, 49, 49, 50},
+// ID=575: x-IBM1112
+(JAVA_ARRAY_CHAR[]) {120, 45, 73, 66, 77, 49, 49, 49, 50},
+// ID=576: x-ibm-1112_P100-1995
+(JAVA_ARRAY_CHAR[]) {120, 45, 105, 98, 109, 45, 49, 49, 49, 50, 95, 80, 49, 48, 48, 45, 49, 57, 57, 53},
+// ID=577: cp1112
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 49, 49, 50},
+// ID=578: additional.x_IBM1122
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 120, 95, 73, 66, 77, 49, 49, 50, 50},
+// ID=579: x-IBM1122
+(JAVA_ARRAY_CHAR[]) {120, 45, 73, 66, 77, 49, 49, 50, 50},
+// ID=580: x-ibm-1122_P100-1999
+(JAVA_ARRAY_CHAR[]) {120, 45, 105, 98, 109, 45, 49, 49, 50, 50, 95, 80, 49, 48, 48, 45, 49, 57, 57, 57},
+// ID=581: cp1122
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 49, 50, 50},
+// ID=582: additional.x_IBM1123
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 120, 95, 73, 66, 77, 49, 49, 50, 51},
+// ID=583: x-IBM1123
+(JAVA_ARRAY_CHAR[]) {120, 45, 73, 66, 77, 49, 49, 50, 51},
+// ID=584: x-ibm-1123_P100-1995
+(JAVA_ARRAY_CHAR[]) {120, 45, 105, 98, 109, 45, 49, 49, 50, 51, 95, 80, 49, 48, 48, 45, 49, 57, 57, 53},
+// ID=585: cp1123
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 49, 50, 51},
+// ID=586: additional.x_IBM1124
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 120, 95, 73, 66, 77, 49, 49, 50, 52},
+// ID=587: x-IBM1124
+(JAVA_ARRAY_CHAR[]) {120, 45, 73, 66, 77, 49, 49, 50, 52},
+// ID=588: x-ibm-1124_P100-1996
+(JAVA_ARRAY_CHAR[]) {120, 45, 105, 98, 109, 45, 49, 49, 50, 52, 95, 80, 49, 48, 48, 45, 49, 57, 57, 54},
+// ID=589: cp1124
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 49, 50, 52},
+// ID=590: additional.x_IBM1097
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 120, 95, 73, 66, 77, 49, 48, 57, 55},
+// ID=591: x-IBM1097
+(JAVA_ARRAY_CHAR[]) {120, 45, 73, 66, 77, 49, 48, 57, 55},
+// ID=592: x-ibm-1097_P100-1995
+(JAVA_ARRAY_CHAR[]) {120, 45, 105, 98, 109, 45, 49, 48, 57, 55, 95, 80, 49, 48, 48, 45, 49, 57, 57, 53},
+// ID=593: cp1097
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 48, 57, 55},
+// ID=594: additional.x_IBM1098
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 120, 95, 73, 66, 77, 49, 48, 57, 56},
+// ID=595: x-IBM1098
+(JAVA_ARRAY_CHAR[]) {120, 45, 73, 66, 77, 49, 48, 57, 56},
+// ID=596: x-ibm-1098_P100-1995
+(JAVA_ARRAY_CHAR[]) {120, 45, 105, 98, 109, 45, 49, 48, 57, 56, 95, 80, 49, 48, 48, 45, 49, 57, 57, 53},
+// ID=597: cp1098
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 48, 57, 56},
+// ID=598: additional.x_MacCyrillic
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 120, 95, 77, 97, 99, 67, 121, 114, 105, 108, 108, 105, 99},
+// ID=599: x-MacCyrillic
+(JAVA_ARRAY_CHAR[]) {120, 45, 77, 97, 99, 67, 121, 114, 105, 108, 108, 105, 99},
+// ID=600: x-mac-cyrillic
+(JAVA_ARRAY_CHAR[]) {120, 45, 109, 97, 99, 45, 99, 121, 114, 105, 108, 108, 105, 99},
+// ID=601: MacCyrillic
+(JAVA_ARRAY_CHAR[]) {77, 97, 99, 67, 121, 114, 105, 108, 108, 105, 99},
+// ID=602: additional.x_MacGreek
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 120, 95, 77, 97, 99, 71, 114, 101, 101, 107},
+// ID=603: x-MacGreek
+(JAVA_ARRAY_CHAR[]) {120, 45, 77, 97, 99, 71, 114, 101, 101, 107},
+// ID=604: x-mac-greek
+(JAVA_ARRAY_CHAR[]) {120, 45, 109, 97, 99, 45, 103, 114, 101, 101, 107},
+// ID=605: MacGreek
+(JAVA_ARRAY_CHAR[]) {77, 97, 99, 71, 114, 101, 101, 107},
+// ID=606: additional.x_MacTurkish
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 120, 95, 77, 97, 99, 84, 117, 114, 107, 105, 115, 104},
+// ID=607: x-MacTurkish
+(JAVA_ARRAY_CHAR[]) {120, 45, 77, 97, 99, 84, 117, 114, 107, 105, 115, 104},
+// ID=608: x-mac-turkish
+(JAVA_ARRAY_CHAR[]) {120, 45, 109, 97, 99, 45, 116, 117, 114, 107, 105, 115, 104},
+// ID=609: MacTurkish
+(JAVA_ARRAY_CHAR[]) {77, 97, 99, 84, 117, 114, 107, 105, 115, 104},
+// ID=610: additional.windows_31j
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 119, 105, 110, 100, 111, 119, 115, 95, 51, 49, 106},
+// ID=611: Shift_JIS
+(JAVA_ARRAY_CHAR[]) {83, 104, 105, 102, 116, 95, 74, 73, 83},
+// ID=612: windows-31j
+(JAVA_ARRAY_CHAR[]) {119, 105, 110, 100, 111, 119, 115, 45, 51, 49, 106},
+// ID=613: MS932
+(JAVA_ARRAY_CHAR[]) {77, 83, 57, 51, 50},
+// ID=614: windows-932
+(JAVA_ARRAY_CHAR[]) {119, 105, 110, 100, 111, 119, 115, 45, 57, 51, 50},
+// ID=615: cp932
+(JAVA_ARRAY_CHAR[]) {99, 112, 57, 51, 50},
+// ID=616: csWindows31J
+(JAVA_ARRAY_CHAR[]) {99, 115, 87, 105, 110, 100, 111, 119, 115, 51, 49, 74},
+// ID=617: cp943c
+(JAVA_ARRAY_CHAR[]) {99, 112, 57, 52, 51, 99},
+// ID=618: x-ms-cp932
+(JAVA_ARRAY_CHAR[]) {120, 45, 109, 115, 45, 99, 112, 57, 51, 50},
+// ID=619: ibm-943
+(JAVA_ARRAY_CHAR[]) {105, 98, 109, 45, 57, 52, 51},
+// ID=620: additional.Big5
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 66, 105, 103, 53},
+// ID=621: Big5
+(JAVA_ARRAY_CHAR[]) {66, 105, 103, 53},
+// ID=622: csBig5
+(JAVA_ARRAY_CHAR[]) {99, 115, 66, 105, 103, 53},
+// ID=623: windows-950
+(JAVA_ARRAY_CHAR[]) {119, 105, 110, 100, 111, 119, 115, 45, 57, 53, 48},
+// ID=624: additional.Big5_HKSCS
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 66, 105, 103, 53, 95, 72, 75, 83, 67, 83},
+// ID=625: Big5-HKSCS
+(JAVA_ARRAY_CHAR[]) {66, 105, 103, 53, 45, 72, 75, 83, 67, 83},
+// ID=626: ibm-1375
+(JAVA_ARRAY_CHAR[]) {105, 98, 109, 45, 49, 51, 55, 53},
+// ID=627: additional.EUC_KR
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 69, 85, 67, 95, 75, 82},
+// ID=628: EUC-KR
+(JAVA_ARRAY_CHAR[]) {69, 85, 67, 45, 75, 82},
+// ID=629: windows-51949
+(JAVA_ARRAY_CHAR[]) {119, 105, 110, 100, 111, 119, 115, 45, 53, 49, 57, 52, 57},
+// ID=630: ibm-970
+(JAVA_ARRAY_CHAR[]) {105, 98, 109, 45, 57, 55, 48},
+// ID=631: additional.GBK
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 71, 66, 75},
+// ID=632: GBK
+(JAVA_ARRAY_CHAR[]) {71, 66, 75},
+// ID=633: additional.x_MS950_HKSCS
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 120, 95, 77, 83, 57, 53, 48, 95, 72, 75, 83, 67, 83},
+// ID=634: x-ibm-1375_P100-2003
+(JAVA_ARRAY_CHAR[]) {120, 45, 105, 98, 109, 45, 49, 51, 55, 53, 95, 80, 49, 48, 48, 45, 50, 48, 48, 51},
+// ID=635: x-MS950-HKSCS
+(JAVA_ARRAY_CHAR[]) {120, 45, 77, 83, 57, 53, 48, 45, 72, 75, 83, 67, 83},
+// ID=636: MS950_HKSCS
+(JAVA_ARRAY_CHAR[]) {77, 83, 57, 53, 48, 95, 72, 75, 83, 67, 83},
+// ID=637: additional.x_windows_949
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 120, 95, 119, 105, 110, 100, 111, 119, 115, 95, 57, 52, 57},
+// ID=638: x-windows-949
+(JAVA_ARRAY_CHAR[]) {120, 45, 119, 105, 110, 100, 111, 119, 115, 45, 57, 52, 57},
+// ID=639: MS949
+(JAVA_ARRAY_CHAR[]) {77, 83, 57, 52, 57},
+// ID=640: additional.GB18030
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 71, 66, 49, 56, 48, 51, 48},
+// ID=641: GB18030
+(JAVA_ARRAY_CHAR[]) {71, 66, 49, 56, 48, 51, 48},
+// ID=642: windows-54936
+(JAVA_ARRAY_CHAR[]) {119, 105, 110, 100, 111, 119, 115, 45, 53, 52, 57, 51, 54},
+// ID=643: ibm-1392
+(JAVA_ARRAY_CHAR[]) {105, 98, 109, 45, 49, 51, 57, 50},
+// ID=644: additional.GB2312
+(JAVA_ARRAY_CHAR[]) {97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 46, 71, 66, 50, 51, 49, 50},
+// ID=645: GB2312
+(JAVA_ARRAY_CHAR[]) {71, 66, 50, 51, 49, 50},
+// ID=646: cp1383
+(JAVA_ARRAY_CHAR[]) {99, 112, 49, 51, 56, 51},
+// ID=647: EUC_CN
+(JAVA_ARRAY_CHAR[]) {69, 85, 67, 95, 67, 78},
+// ID=648: =
+(JAVA_ARRAY_CHAR[]) {61},
+// ID=649: \011\012\015\014
+(JAVA_ARRAY_CHAR[]) {32, 9, 10, 13, 12},
+// ID=650: public
+(JAVA_ARRAY_CHAR[]) {112, 117, 98, 108, 105, 99, 32},
+// ID=651: protected
+(JAVA_ARRAY_CHAR[]) {112, 114, 111, 116, 101, 99, 116, 101, 100, 32},
+// ID=652: private
+(JAVA_ARRAY_CHAR[]) {112, 114, 105, 118, 97, 116, 101, 32},
+// ID=653: abstract
+(JAVA_ARRAY_CHAR[]) {97, 98, 115, 116, 114, 97, 99, 116, 32},
+// ID=654: static
+(JAVA_ARRAY_CHAR[]) {115, 116, 97, 116, 105, 99, 32},
+// ID=655: final
+(JAVA_ARRAY_CHAR[]) {102, 105, 110, 97, 108, 32},
+// ID=656: transient
+(JAVA_ARRAY_CHAR[]) {116, 114, 97, 110, 115, 105, 101, 110, 116, 32},
+// ID=657: volatile
+(JAVA_ARRAY_CHAR[]) {118, 111, 108, 97, 116, 105, 108, 101, 32},
+// ID=658: synchronized
+(JAVA_ARRAY_CHAR[]) {115, 121, 110, 99, 104, 114, 111, 110, 105, 122, 101, 100, 32},
+// ID=659: native
+(JAVA_ARRAY_CHAR[]) {110, 97, 116, 105, 118, 101, 32},
+// ID=660: strictfp
+(JAVA_ARRAY_CHAR[]) {115, 116, 114, 105, 99, 116, 102, 112, 32},
+// ID=661: interface
+(JAVA_ARRAY_CHAR[]) {105, 110, 116, 101, 114, 102, 97, 99, 101, 32},
+// ID=662: system
+(JAVA_ARRAY_CHAR[]) {115, 121, 115, 116, 101, 109},
+// ID=663: main
+(JAVA_ARRAY_CHAR[]) {109, 97, 105, 110},
+// ID=664:
+(JAVA_ARRAY_CHAR[]) {32, 32, 32, 32},
+// ID=665: [name=
+(JAVA_ARRAY_CHAR[]) {91, 110, 97, 109, 101, 61},
+// ID=666: ,maxpri=
+(JAVA_ARRAY_CHAR[]) {44, 109, 97, 120, 112, 114, 105, 61},
+// ID=667: XMLVMUtil.notImplemented()
+(JAVA_ARRAY_CHAR[]) {88, 77, 76, 86, 77, 85, 116, 105, 108, 46, 110, 111, 116, 73, 109, 112, 108, 101, 109, 101, 110, 116, 101, 100, 40, 41},
+// ID=668: actions
+(JAVA_ARRAY_CHAR[]) {97, 99, 116, 105, 111, 110, 115},
+// ID=669: \011\012\015,
+(JAVA_ARRAY_CHAR[]) {32, 9, 10, 13, 44},
+// ID=670: read
+(JAVA_ARRAY_CHAR[]) {114, 101, 97, 100},
+// ID=671: write
+(JAVA_ARRAY_CHAR[]) {119, 114, 105, 116, 101},
+// ID=672: read,write
+(JAVA_ARRAY_CHAR[]) {114, 101, 97, 100, 44, 119, 114, 105, 116, 101},
+// ID=673: console.encoding
+(JAVA_ARRAY_CHAR[]) {99, 111, 110, 115, 111, 108, 101, 46, 101, 110, 99, 111, 100, 105, 110, 103},
+// ID=674: os.encoding
+(JAVA_ARRAY_CHAR[]) {111, 115, 46, 101, 110, 99, 111, 100, 105, 110, 103},
+// ID=675: java.version
+(JAVA_ARRAY_CHAR[]) {106, 97, 118, 97, 46, 118, 101, 114, 115, 105, 111, 110},
+// ID=676: 1.5 subset
+(JAVA_ARRAY_CHAR[]) {49, 46, 53, 32, 115, 117, 98, 115, 101, 116},
+// ID=677: java.specification.version
+(JAVA_ARRAY_CHAR[]) {106, 97, 118, 97, 46, 115, 112, 101, 99, 105, 102, 105, 99, 97, 116, 105, 111, 110, 46, 118, 101, 114, 115, 105, 111, 110},
+// ID=678: 1.5
+(JAVA_ARRAY_CHAR[]) {49, 46, 53},
+// ID=679: java.specification.vendor
+(JAVA_ARRAY_CHAR[]) {106, 97, 118, 97, 46, 115, 112, 101, 99, 105, 102, 105, 99, 97, 116, 105, 111, 110, 46, 118, 101, 110, 100, 111, 114},
+// ID=680: Sun Microsystems Inc.
+(JAVA_ARRAY_CHAR[]) {83, 117, 110, 32, 77, 105, 99, 114, 111, 115, 121, 115, 116, 101, 109, 115, 32, 73, 110, 99, 46},
+// ID=681: java.specification.name
+(JAVA_ARRAY_CHAR[]) {106, 97, 118, 97, 46, 115, 112, 101, 99, 105, 102, 105, 99, 97, 116, 105, 111, 110, 46, 110, 97, 109, 101},
+// ID=682: Java Platform API Specification
+(JAVA_ARRAY_CHAR[]) {74, 97, 118, 97, 32, 80, 108, 97, 116, 102, 111, 114, 109, 32, 65, 80, 73, 32, 83, 112, 101, 99, 105, 102, 105, 99, 97, 116, 105, 111, 110},
+// ID=683: com.ibm.oti.configuration
+(JAVA_ARRAY_CHAR[]) {99, 111, 109, 46, 105, 98, 109, 46, 111, 116, 105, 46, 99, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110},
+// ID=684: clear
+(JAVA_ARRAY_CHAR[]) {99, 108, 101, 97, 114},
+// ID=685: com.ibm.oti.configuration.dir
+(JAVA_ARRAY_CHAR[]) {99, 111, 109, 46, 105, 98, 109, 46, 111, 116, 105, 46, 99, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 46, 100, 105, 114},
+// ID=686: jclClear
+(JAVA_ARRAY_CHAR[]) {106, 99, 108, 67, 108, 101, 97, 114},
+// ID=687: getenv.
+(JAVA_ARRAY_CHAR[]) {103, 101, 116, 101, 110, 118, 46},
+// ID=688: getenv.*
+(JAVA_ARRAY_CHAR[]) {103, 101, 116, 101, 110, 118, 46, 42},
+// ID=689: file.separator
+(JAVA_ARRAY_CHAR[]) {102, 105, 108, 101, 46, 115, 101, 112, 97, 114, 97, 116, 111, 114},
+// ID=690: path.separator
+(JAVA_ARRAY_CHAR[]) {112, 97, 116, 104, 46, 115, 101, 112, 97, 114, 97, 116, 111, 114},
+// ID=691: user.dir
+(JAVA_ARRAY_CHAR[]) {117, 115, 101, 114, 46, 100, 105, 114},
+// ID=692: javax.xml.parsers.DocumentBuilderFactory
+(JAVA_ARRAY_CHAR[]) {106, 97, 118, 97, 120, 46, 120, 109, 108, 46, 112, 97, 114, 115, 101, 114, 115, 46, 68, 111, 99, 117, 109, 101, 110, 116, 66, 117, 105, 108, 100, 101, 114, 70, 97, 99, 116, 111, 114, 121},
+// ID=693: couldn't be loaded. Library loading is not yet implemented
+(JAVA_ARRAY_CHAR[]) {32, 99, 111, 117, 108, 100, 110, 39, 116, 32, 98, 101, 32, 108, 111, 97, 100, 101, 100, 46, 32, 76, 105, 98, 114, 97, 114, 121, 32, 108, 111, 97, 100, 105, 110, 103, 32, 105, 115, 32, 110, 111, 116, 32, 121, 101, 116, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 101, 100},
+// ID=694: setSecurityManager
+(JAVA_ARRAY_CHAR[]) {115, 101, 116, 83, 101, 99, 117, 114, 105, 116, 121, 77, 97, 110, 97, 103, 101, 114},
+// ID=695: createSecurityManager
+(JAVA_ARRAY_CHAR[]) {99, 114, 101, 97, 116, 101, 83, 101, 99, 117, 114, 105, 116, 121, 77, 97, 110, 97, 103, 101, 114},
+// ID=696: getProtectionDomain
+(JAVA_ARRAY_CHAR[]) {103, 101, 116, 80, 114, 111, 116, 101, 99, 116, 105, 111, 110, 68, 111, 109, 97, 105, 110},
+// ID=697: getClassLoader
+(JAVA_ARRAY_CHAR[]) {103, 101, 116, 67, 108, 97, 115, 115, 76, 111, 97, 100, 101, 114},
+// ID=698: createClassLoader
+(JAVA_ARRAY_CHAR[]) {99, 114, 101, 97, 116, 101, 67, 108, 97, 115, 115, 76, 111, 97, 100, 101, 114},
+// ID=699: modifyThread
+(JAVA_ARRAY_CHAR[]) {109, 111, 100, 105, 102, 121, 84, 104, 114, 101, 97, 100},
+// ID=700: modifyThreadGroup
+(JAVA_ARRAY_CHAR[]) {109, 111, 100, 105, 102, 121, 84, 104, 114, 101, 97, 100, 71, 114, 111, 117, 112},
+// ID=701: readFileDescriptor
+(JAVA_ARRAY_CHAR[]) {114, 101, 97, 100, 70, 105, 108, 101, 68, 101, 115, 99, 114, 105, 112, 116, 111, 114},
+// ID=702: writeFileDescriptor
+(JAVA_ARRAY_CHAR[]) {119, 114, 105, 116, 101, 70, 105, 108, 101, 68, 101, 115, 99, 114, 105, 112, 116, 111, 114},
+// ID=703: queuePrintJob
+(JAVA_ARRAY_CHAR[]) {113, 117, 101, 117, 101, 80, 114, 105, 110, 116, 74, 111, 98},
+// ID=704: setFactory
+(JAVA_ARRAY_CHAR[]) {115, 101, 116, 70, 97, 99, 116, 111, 114, 121},
+// ID=705: setIO
+(JAVA_ARRAY_CHAR[]) {115, 101, 116, 73, 79},
+// ID=706: stopThread
+(JAVA_ARRAY_CHAR[]) {115, 116, 111, 112, 84, 104, 114, 101, 97, 100},
+// ID=707: setContextClassLoader
+(JAVA_ARRAY_CHAR[]) {115, 101, 116, 67, 111, 110, 116, 101, 120, 116, 67, 108, 97, 115, 115, 76, 111, 97, 100, 101, 114},
+// ID=708: p-1022
+(JAVA_ARRAY_CHAR[]) {112, 45, 49, 48, 50, 50},
+// ID=709: META-INF/services/java.nio.charset.spi.CharsetProvider
+(JAVA_ARRAY_CHAR[]) {77, 69, 84, 65, 45, 73, 78, 70, 47, 115, 101, 114, 118, 105, 99, 101, 115, 47, 106, 97, 118, 97, 46, 110, 105, 111, 46, 99, 104, 97, 114, 115, 101, 116, 46, 115, 112, 105, 46, 67, 104, 97, 114, 115, 101, 116, 80, 114, 111, 118, 105, 100, 101, 114},
+// ID=710: #
+(JAVA_ARRAY_CHAR[]) {35},
+// ID=711: x-
+(JAVA_ARRAY_CHAR[]) {120, 45},
+// ID=712: X-
+(JAVA_ARRAY_CHAR[]) {88, 45},
+// ID=713: Charset[
+(JAVA_ARRAY_CHAR[]) {67, 104, 97, 114, 115, 101, 116, 91},
+// ID=714: IGNORE
+(JAVA_ARRAY_CHAR[]) {73, 71, 78, 79, 82, 69},
+// ID=715: REPLACE
+(JAVA_ARRAY_CHAR[]) {82, 69, 80, 76, 65, 67, 69},
+// ID=716: REPORT
+(JAVA_ARRAY_CHAR[]) {82, 69, 80, 79, 82, 84},
+// ID=717: Action:
+(JAVA_ARRAY_CHAR[]) {65, 99, 116, 105, 111, 110, 58, 32},
+// ID=718: -2147483648
+(JAVA_ARRAY_CHAR[]) {45, 50, 49, 52, 55, 52, 56, 51, 54, 52, 56},
+// ID=719: , status: capacity=
+(JAVA_ARRAY_CHAR[]) {44, 32, 115, 116, 97, 116, 117, 115, 58, 32, 99, 97, 112, 97, 99, 105, 116, 121, 61},
+// ID=720: position=
+(JAVA_ARRAY_CHAR[]) {32, 112, 111, 115, 105, 116, 105, 111, 110, 61},
+// ID=721: limit=
+(JAVA_ARRAY_CHAR[]) {32, 108, 105, 109, 105, 116, 61},
+// ID=722: niochar.00
+(JAVA_ARRAY_CHAR[]) {110, 105, 111, 99, 104, 97, 114, 46, 48, 48},
+// ID=723: niochar.01
+(JAVA_ARRAY_CHAR[]) {110, 105, 111, 99, 104, 97, 114, 46, 48, 49},
+// ID=724: \177775
+(JAVA_ARRAY_CHAR[]) {-3},
+// ID=725: niochar.06
+(JAVA_ARRAY_CHAR[]) {110, 105, 111, 99, 104, 97, 114, 46, 48, 54},
+// ID=726: niochar.07
+(JAVA_ARRAY_CHAR[]) {110, 105, 111, 99, 104, 97, 114, 46, 48, 55},
+// ID=727: BIG_ENDIAN
+(JAVA_ARRAY_CHAR[]) {66, 73, 71, 95, 69, 78, 68, 73, 65, 78},
+// ID=728: LITTLE_ENDIAN
+(JAVA_ARRAY_CHAR[]) {76, 73, 84, 84, 76, 69, 95, 69, 78, 68, 73, 65, 78},
+// ID=729: luni.B1
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 66, 49},
+// ID=730: luni.AD
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 65, 68},
+// ID=731: luni.AE
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 65, 69},
+// ID=732: file
+(JAVA_ARRAY_CHAR[]) {102, 105, 108, 101},
+// ID=733: luni.AF
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 65, 70},
+// ID=734: luni.B0
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 66, 48},
+// ID=735: authority
+(JAVA_ARRAY_CHAR[]) {97, 117, 116, 104, 111, 114, 105, 116, 121},
+// ID=736: query
+(JAVA_ARRAY_CHAR[]) {113, 117, 101, 114, 121},
+// ID=737: fragment
+(JAVA_ARRAY_CHAR[]) {102, 114, 97, 103, 109, 101, 110, 116},
+// ID=738: getFileSystemAttributes
+(JAVA_ARRAY_CHAR[]) {103, 101, 116, 70, 105, 108, 101, 83, 121, 115, 116, 101, 109, 65, 116, 116, 114, 105, 98, 117, 116, 101, 115},
+// ID=739: luni.B2
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 66, 50},
+// ID=740: luni.B3
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 66, 51},
+// ID=741: luni.B4
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 66, 52},
+// ID=742: luni.B5
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 66, 53},
+// ID=743: .tmp
+(JAVA_ARRAY_CHAR[]) {46, 116, 109, 112},
+// ID=744: java.io.tmpdir
+(JAVA_ARRAY_CHAR[]) {106, 97, 118, 97, 46, 105, 111, 46, 116, 109, 112, 100, 105, 114},
+// ID=745: //
+(JAVA_ARRAY_CHAR[]) {47, 47},
+// ID=746: file:
+(JAVA_ARRAY_CHAR[]) {102, 105, 108, 101, 58},
+// ID=747: \134
+(JAVA_ARRAY_CHAR[]) {92},
+// ID=748: ;
+(JAVA_ARRAY_CHAR[]) {59},
+// ID=749: ,-:\015\011
+(JAVA_ARRAY_CHAR[]) {32, 44, 45, 58, 13, 9},
+// ID=750: GMT
+(JAVA_ARRAY_CHAR[]) {71, 77, 84},
+// ID=751: luni.D7
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 68, 55},
+// ID=752: luni.D8
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 68, 56},
+// ID=753: luni.D9
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 68, 57},
+// ID=754: luni.DA
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 68, 65},
+// ID=755: luni.80
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 56, 48},
+// ID=756: luni.81
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 56, 49},
+// ID=757: 0123456789ABCDEF
+(JAVA_ARRAY_CHAR[]) {48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70},
+// ID=758: %25
+(JAVA_ARRAY_CHAR[]) {37, 50, 53},
+// ID=759: \042<>%\134^[]`+$,\173\175`\176\174
+(JAVA_ARRAY_CHAR[]) {34, 60, 62, 37, 92, 94, 91, 93, 96, 43, 36, 44, 123, 125, 96, 126, 124, 32},
+// ID=760: Sunday
+(JAVA_ARRAY_CHAR[]) {83, 117, 110, 100, 97, 121},
+// ID=761: Monday
+(JAVA_ARRAY_CHAR[]) {77, 111, 110, 100, 97, 121},
+// ID=762: Tuesday
+(JAVA_ARRAY_CHAR[]) {84, 117, 101, 115, 100, 97, 121},
+// ID=763: Wednesday
+(JAVA_ARRAY_CHAR[]) {87, 101, 100, 110, 101, 115, 100, 97, 121},
+// ID=764: Thursday
+(JAVA_ARRAY_CHAR[]) {84, 104, 117, 114, 115, 100, 97, 121},
+// ID=765: Friday
+(JAVA_ARRAY_CHAR[]) {70, 114, 105, 100, 97, 121},
+// ID=766: Saturday
+(JAVA_ARRAY_CHAR[]) {83, 97, 116, 117, 114, 100, 97, 121},
+// ID=767: January
+(JAVA_ARRAY_CHAR[]) {74, 97, 110, 117, 97, 114, 121},
+// ID=768: February
+(JAVA_ARRAY_CHAR[]) {70, 101, 98, 114, 117, 97, 114, 121},
+// ID=769: March
+(JAVA_ARRAY_CHAR[]) {77, 97, 114, 99, 104},
+// ID=770: April
+(JAVA_ARRAY_CHAR[]) {65, 112, 114, 105, 108},
+// ID=771: May
+(JAVA_ARRAY_CHAR[]) {77, 97, 121},
+// ID=772: June
+(JAVA_ARRAY_CHAR[]) {74, 117, 110, 101},
+// ID=773: July
+(JAVA_ARRAY_CHAR[]) {74, 117, 108, 121},
+// ID=774: August
+(JAVA_ARRAY_CHAR[]) {65, 117, 103, 117, 115, 116},
+// ID=775: September
+(JAVA_ARRAY_CHAR[]) {83, 101, 112, 116, 101, 109, 98, 101, 114},
+// ID=776: October
+(JAVA_ARRAY_CHAR[]) {79, 99, 116, 111, 98, 101, 114},
+// ID=777: November
+(JAVA_ARRAY_CHAR[]) {78, 111, 118, 101, 109, 98, 101, 114},
+// ID=778: December
+(JAVA_ARRAY_CHAR[]) {68, 101, 99, 101, 109, 98, 101, 114},
+// ID=779: null is not allowed here
+(JAVA_ARRAY_CHAR[]) {110, 117, 108, 108, 32, 105, 115, 32, 110, 111, 116, 32, 97, 108, 108, 111, 119, 101, 100, 32, 104, 101, 114, 101},
+// ID=780: package.access
+(JAVA_ARRAY_CHAR[]) {112, 97, 99, 107, 97, 103, 101, 46, 97, 99, 99, 101, 115, 115},
+// ID=781: package.definition
+(JAVA_ARRAY_CHAR[]) {112, 97, 99, 107, 97, 103, 101, 46, 100, 101, 102, 105, 110, 105, 116, 105, 111, 110},
+// ID=782: accept
+(JAVA_ARRAY_CHAR[]) {97, 99, 99, 101, 112, 116},
+// ID=783: connect
+(JAVA_ARRAY_CHAR[]) {99, 111, 110, 110, 101, 99, 116},
+// ID=784: resolve
+(JAVA_ARRAY_CHAR[]) {114, 101, 115, 111, 108, 118, 101},
+// ID=785: delete
+(JAVA_ARRAY_CHAR[]) {100, 101, 108, 101, 116, 101},
+// ID=786: execute
+(JAVA_ARRAY_CHAR[]) {101, 120, 101, 99, 117, 116, 101},
+// ID=787: <<ALL FILES>>
+(JAVA_ARRAY_CHAR[]) {60, 60, 65, 76, 76, 32, 70, 73, 76, 69, 83, 62, 62},
+// ID=788: loadLibrary.
+(JAVA_ARRAY_CHAR[]) {108, 111, 97, 100, 76, 105, 98, 114, 97, 114, 121, 46},
+// ID=789: listen
+(JAVA_ARRAY_CHAR[]) {108, 105, 115, 116, 101, 110},
+// ID=790: localhost:1024-
+(JAVA_ARRAY_CHAR[]) {108, 111, 99, 97, 108, 104, 111, 115, 116, 58, 49, 48, 50, 52, 45},
+// ID=791: localhost:
+(JAVA_ARRAY_CHAR[]) {108, 111, 99, 97, 108, 104, 111, 115, 116, 58},
+// ID=792: accessDeclaredMembers
+(JAVA_ARRAY_CHAR[]) {97, 99, 99, 101, 115, 115, 68, 101, 99, 108, 97, 114, 101, 100, 77, 101, 109, 98, 101, 114, 115},
+// ID=793: accept,connect
+(JAVA_ARRAY_CHAR[]) {97, 99, 99, 101, 112, 116, 44, 99, 111, 110, 110, 101, 99, 116},
+// ID=794: accessClassInPackage.
+(JAVA_ARRAY_CHAR[]) {97, 99, 99, 101, 115, 115, 67, 108, 97, 115, 115, 73, 110, 80, 97, 99, 107, 97, 103, 101, 46},
+// ID=795: defineClassInPackage.
+(JAVA_ARRAY_CHAR[]) {100, 101, 102, 105, 110, 101, 67, 108, 97, 115, 115, 73, 110, 80, 97, 99, 107, 97, 103, 101, 46},
+// ID=796: , *
+(JAVA_ARRAY_CHAR[]) {44, 32, 42},
+// ID=797: java.awt.AWTPermission
+(JAVA_ARRAY_CHAR[]) {106, 97, 118, 97, 46, 97, 119, 116, 46, 65, 87, 84, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110},
+// ID=798: showWindowWithoutWarningBanner
+(JAVA_ARRAY_CHAR[]) {115, 104, 111, 119, 87, 105, 110, 100, 111, 119, 87, 105, 116, 104, 111, 117, 116, 87, 97, 114, 110, 105, 110, 103, 66, 97, 110, 110, 101, 114},
+// ID=799: accessClipboard
+(JAVA_ARRAY_CHAR[]) {97, 99, 99, 101, 115, 115, 67, 108, 105, 112, 98, 111, 97, 114, 100},
+// ID=800: accessEventQueue
+(JAVA_ARRAY_CHAR[]) {97, 99, 99, 101, 115, 115, 69, 118, 101, 110, 116, 81, 117, 101, 117, 101},
+// ID=801: *
+(JAVA_ARRAY_CHAR[]) {42},
+// ID=802: Thread-
+(JAVA_ARRAY_CHAR[]) {84, 104, 114, 101, 97, 100, 45},
+// ID=803: Thread.getState() is not fully implemented. Specifically, you will not currently find BLOCKED, WAITING and TIMED_WAITING.
+(JAVA_ARRAY_CHAR[]) {84, 104, 114, 101, 97, 100, 46, 103, 101, 116, 83, 116, 97, 116, 101, 40, 41, 32, 105, 115, 32, 110, 111, 116, 32, 102, 117, 108, 108, 121, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 101, 100, 46, 32, 83, 112, 101, 99, 105, 102, 105, 99, 97, 108, 108, 121, 44, 32, 121, 111, 117, 32, 119, 105, 108, 108, 32, 110, 111, 116, 32, 99, 117, 114, 114, 101, 110, 116, 108, 121, 32, 102, 105, 110, 100, 32, 66, 76, 79, 67, 75, 69, 68, 44, 32, 87, 65, 73, 84, 73, 78, 71, 32, 97, 110, 100, 32, 84, 73, 77, 69, 68, 95, 87, 65, 73, 84, 73, 78, 71, 46},
+// ID=804: timeout value is negative
+(JAVA_ARRAY_CHAR[]) {116, 105, 109, 101, 111, 117, 116, 32, 118, 97, 108, 117, 101, 32, 105, 115, 32, 110, 101, 103, 97, 116, 105, 118, 101},
+// ID=805: Exception in thread \042
+(JAVA_ARRAY_CHAR[]) {69, 120, 99, 101, 112, 116, 105, 111, 110, 32, 105, 110, 32, 116, 104, 114, 101, 97, 100, 32, 34},
+// ID=806: \042
+(JAVA_ARRAY_CHAR[]) {34, 32},
+// ID=807: sleep milliseconds must be greater than or equal to zero
+(JAVA_ARRAY_CHAR[]) {115, 108, 101, 101, 112, 32, 109, 105, 108, 108, 105, 115, 101, 99, 111, 110, 100, 115, 32, 109, 117, 115, 116, 32, 98, 101, 32, 103, 114, 101, 97, 116, 101, 114, 32, 116, 104, 97, 110, 32, 111, 114, 32, 101, 113, 117, 97, 108, 32, 116, 111, 32, 122, 101, 114, 111},
+// ID=808: sleep nanoseconds must be greater than or equal to zero and less than 1000000
+(JAVA_ARRAY_CHAR[]) {115, 108, 101, 101, 112, 32, 110, 97, 110, 111, 115, 101, 99, 111, 110, 100, 115, 32, 109, 117, 115, 116, 32, 98, 101, 32, 103, 114, 101, 97, 116, 101, 114, 32, 116, 104, 97, 110, 32, 111, 114, 32, 101, 113, 117, 97, 108, 32, 116, 111, 32, 122, 101, 114, 111, 32, 97, 110, 100, 32, 108, 101, 115, 115, 32, 116, 104, 97, 110, 32, 49, 48, 48, 48, 48, 48, 48},
+// ID=809: Thread[
+(JAVA_ARRAY_CHAR[]) {84, 104, 114, 101, 97, 100, 91},
+// ID=810: luni.38
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 51, 56},
+// ID=811: luni.05
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 48, 53},
+// ID=812: \012
+(JAVA_ARRAY_CHAR[]) {10},
+// ID=813: Time(s):
+(JAVA_ARRAY_CHAR[]) {84, 105, 109, 101, 40, 115, 41, 58, 32},
+// ID=814: NEW
+(JAVA_ARRAY_CHAR[]) {78, 69, 87},
+// ID=815: RUNNABLE
+(JAVA_ARRAY_CHAR[]) {82, 85, 78, 78, 65, 66, 76, 69},
+// ID=816: BLOCKED
+(JAVA_ARRAY_CHAR[]) {66, 76, 79, 67, 75, 69, 68},
+// ID=817: WAITING
+(JAVA_ARRAY_CHAR[]) {87, 65, 73, 84, 73, 78, 71},
+// ID=818: TIMED_WAITING
+(JAVA_ARRAY_CHAR[]) {84, 73, 77, 69, 68, 95, 87, 65, 73, 84, 73, 78, 71},
+// ID=819: TERMINATED
+(JAVA_ARRAY_CHAR[]) {84, 69, 82, 77, 73, 78, 65, 84, 69, 68},
+// ID=820: ;
+(JAVA_ARRAY_CHAR[]) {59, 32},
+// ID=821: luni.62
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 54, 50},
+// ID=822: luni.63
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 54, 51},
+// ID=823: ipaddress
+(JAVA_ARRAY_CHAR[]) {105, 112, 97, 100, 100, 114, 101, 115, 115},
+// ID=824: scope_id
+(JAVA_ARRAY_CHAR[]) {115, 99, 111, 112, 101, 95, 105, 100},
+// ID=825: scope_id_set
+(JAVA_ARRAY_CHAR[]) {115, 99, 111, 112, 101, 95, 105, 100, 95, 115, 101, 116},
+// ID=826: scope_ifname_set
+(JAVA_ARRAY_CHAR[]) {115, 99, 111, 112, 101, 95, 105, 102, 110, 97, 109, 101, 95, 115, 101, 116},
+// ID=827: ifname
+(JAVA_ARRAY_CHAR[]) {105, 102, 110, 97, 109, 101},
+// ID=828: luni.13
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 49, 51},
+// ID=829: ISO-8859-10
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 45, 56, 56, 53, 57, 45, 49, 48},
+// ID=830: ISO-8859-14
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 45, 56, 56, 53, 57, 45, 49, 52},
+// ID=831: ISO-8859-16
+(JAVA_ARRAY_CHAR[]) {73, 83, 79, 45, 56, 56, 53, 57, 45, 49, 54},
+// ID=832: luni.4C
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 52, 67},
+// ID=833: luni.4D
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 52, 68},
+// ID=834: luni.4E
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 52, 69},
+// ID=835: luni.4F
+(JAVA_ARRAY_CHAR[]) {108, 117, 110, 105, 46, 52, 70},
+};
+
+const JAVA_INT xmlvm_constant_pool_length[] = {
+// ID=0
+15,
+// ID=1
+16,
+// ID=2
+15,
+// ID=3
+16,
+// ID=4
+4,
+// ID=5
+10,
+// ID=6
+2,
+// ID=7
+2,
+// ID=8
+3,
+// ID=9
+8,
+// ID=10
+9,
+// ID=11
+8,
+// ID=12
+7,
+// ID=13
+3,
+// ID=14
+2,
+// ID=15
+5,
+// ID=16
+2,
+// ID=17
+2,
+// ID=18
+1,
+// ID=19
+2,
+// ID=20
+2,
+// ID=21
+0,
+// ID=22
+2,
+// ID=23
+1,
+// ID=24
+1,
+// ID=25
+2,
+// ID=26
+7,
+// ID=27
+8,
+// ID=28
+8,
+// ID=29
+7,
+// ID=30
+2,
+// ID=31
+2,
+// ID=32
+2,
+// ID=33
+2,
+// ID=34
+2,
+// ID=35
+2,
+// ID=36
+2,
+// ID=37
+2,
+// ID=38
+2,
+// ID=39
+2,
+// ID=40
+2,
+// ID=41
+2,
+// ID=42
+2,
+// ID=43
+2,
+// ID=44
+2,
+// ID=45
+4,
+// ID=46
+11,
+// ID=47
+5,
+// ID=48
+5,
+// ID=49
+2,
+// ID=50
+28,
+// ID=51
+25,
+// ID=52
+1,
+// ID=53
+7,
+// ID=54
+1,
+// ID=55
+7,
+// ID=56
+9,
+// ID=57
+1,
+// ID=58
+5,
+// ID=59
+15,
+// ID=60
+7,
+// ID=61
+7,
+// ID=62
+7,
+// ID=63
+4,
+// ID=64
+7,
+// ID=65
+9,
+// ID=66
+16,
+// ID=67
+59,
+// ID=68
+32,
+// ID=69
+18,
+// ID=70
+1,
+// ID=71
+9,
+// ID=72
+24,
+// ID=73
+15,
+// ID=74
+7,
+// ID=75
+7,
+// ID=76
+7,
+// ID=77
+2,
+// ID=78
+3,
+// ID=79
+1,
+// ID=80
+1,
+// ID=81
+7,
+// ID=82
+6,
+// ID=83
+8,
+// ID=84
+30,
+// ID=85
+1,
+// ID=86
+10,
+// ID=87
+10,
+// ID=88
+10,
+// ID=89
+10,
+// ID=90
+10,
+// ID=91
+10,
+// ID=92
+1,
+// ID=93
+3,
+// ID=94
+8,
+// ID=95
+2,
+// ID=96
+17,
+// ID=97
+28,
+// ID=98
+40,
+// ID=99
+32,
+// ID=100
+5,
+// ID=101
+16,
+// ID=102
+38,
+// ID=103
+241,
+// ID=104
+2,
+// ID=105
+5,
+// ID=106
+2,
+// ID=107
+2,
+// ID=108
+2,
+// ID=109
+2,
+// ID=110
+3,
+// ID=111
+9,
+// ID=112
+7,
+// ID=113
+7,
+// ID=114
+1,
+// ID=115
+14,
+// ID=116
+9,
+// ID=117
+5,
+// ID=118
+3,
+// ID=119
+2,
+// ID=120
+30,
+// ID=121
+3,
+// ID=122
+29,
+// ID=123
+12,
+// ID=124
+9,
+// ID=125
+10,
+// ID=126
+13,
+// ID=127
+23,
+// ID=128
+44,
+// ID=129
+18,
+// ID=130
+50,
+// ID=131
+12,
+// ID=132
+8,
+// ID=133
+1,
+// ID=134
+5,
+// ID=135
+1,
+// ID=136
+4,
+// ID=137
+1,
+// ID=138
+4,
+// ID=139
+1,
+// ID=140
+6,
+// ID=141
+1,
+// ID=142
+6,
+// ID=143
+6,
+// ID=144
+18,
+// ID=145
+579,
+// ID=146
+761,
+// ID=147
+113,
+// ID=148
+101,
+// ID=149
+24,
+// ID=150
+8,
+// ID=151
+73,
+// ID=152
+1158,
+// ID=153
+770,
+// ID=154
+1522,
+// ID=155
+226,
+// ID=156
+202,
+// ID=157
+48,
+// ID=158
+128,
+// ID=159
+8,
+// ID=160
+146,
+// ID=161
+4,
+// ID=162
+7,
+// ID=163
+7,
+// ID=164
+7,
+// ID=165
+11,
+// ID=166
+11,
+// ID=167
+8,
+// ID=168
+6,
+// ID=169
+7,
+// ID=170
+1,
+// ID=171
+8,
+// ID=172
+7,
+// ID=173
+16,
+// ID=174
+13,
+// ID=175
+10,
+// ID=176
+25,
+// ID=177
+30,
+// ID=178
+5,
+// ID=179
+20,
+// ID=180
+10,
+// ID=181
+10,
+// ID=182
+12,
+// ID=183
+1,
+// ID=184
+15,
+// ID=185
+14,
+// ID=186
+55,
+// ID=187
+50,
+// ID=188
+34,
+// ID=189
+8,
+// ID=190
+8,
+// ID=191
+14,
+// ID=192
+14,
+// ID=193
+8,
+// ID=194
+16,
+// ID=195
+16,
+// ID=196
+5,
+// ID=197
+9,
+// ID=198
+2,
+// ID=199
+5,
+// ID=200
+6,
+// ID=201
+3,
+// ID=202
+7,
+// ID=203
+6,
+// ID=204
+6,
+// ID=205
+7,
+// ID=206
+7,
+// ID=207
+12,
+// ID=208
+6,
+// ID=209
+7,
+// ID=210
+12,
+// ID=211
+6,
+// ID=212
+7,
+// ID=213
+12,
+// ID=214
+6,
+// ID=215
+7,
+// ID=216
+12,
+// ID=217
+6,
+// ID=218
+7,
+// ID=219
+12,
+// ID=220
+6,
+// ID=221
+7,
+// ID=222
+12,
+// ID=223
+6,
+// ID=224
+10,
+// ID=225
+6,
+// ID=226
+15,
+// ID=227
+10,
+// ID=228
+10,
+// ID=229
+6,
+// ID=230
+2,
+// ID=231
+6,
+// ID=232
+7,
+// ID=233
+5,
+// ID=234
+3,
+// ID=235
+11,
+// ID=236
+10,
+// ID=237
+10,
+// ID=238
+6,
+// ID=239
+15,
+// ID=240
+10,
+// ID=241
+10,
+// ID=242
+6,
+// ID=243
+2,
+// ID=244
+11,
+// ID=245
+10,
+// ID=246
+10,
+// ID=247
+6,
+// ID=248
+15,
+// ID=249
+10,
+// ID=250
+10,
+// ID=251
+6,
+// ID=252
+2,
+// ID=253
+11,
+// ID=254
+10,
+// ID=255
+10,
+// ID=256
+6,
+// ID=257
+15,
+// ID=258
+10,
+// ID=259
+10,
+// ID=260
+8,
+// ID=261
+18,
+// ID=262
+10,
+// ID=263
+10,
+// ID=264
+15,
+// ID=265
+10,
+// ID=266
+10,
+// ID=267
+8,
+// ID=268
+8,
+// ID=269
+5,
+// ID=270
+6,
+// ID=271
+15,
+// ID=272
+10,
+// ID=273
+10,
+// ID=274
+15,
+// ID=275
+10,
+// ID=276
+10,
+// ID=277
+6,
+// ID=278
+2,
+// ID=279
+11,
+// ID=280
+11,
+// ID=281
+11,
+// ID=282
+11,
+// ID=283
+11,
+// ID=284
+11,
+// ID=285
+7,
+// ID=286
+5,
+// ID=287
+4,
+// ID=288
+6,
+// ID=289
+6,
+// ID=290
+5,
+// ID=291
+8,
+// ID=292
+8,
+// ID=293
+10,
+// ID=294
+8,
+// ID=295
+8,
+// ID=296
+10,
+// ID=297
+6,
+// ID=298
+5,
+// ID=299
+3,
+// ID=300
+8,
+// ID=301
+23,
+// ID=302
+12,
+// ID=303
+6,
+// ID=304
+23,
+// ID=305
+12,
+// ID=306
+6,
+// ID=307
+18,
+// ID=308
+7,
+// ID=309
+6,
+// ID=310
+9,
+// ID=311
+18,
+// ID=312
+7,
+// ID=313
+4,
+// ID=314
+6,
+// ID=315
+8,
+// ID=316
+17,
+// ID=317
+6,
+// ID=318
+5,
+// ID=319
+12,
+// ID=320
+12,
+// ID=321
+12,
+// ID=322
+12,
+// ID=323
+8,
+// ID=324
+17,
+// ID=325
+6,
+// ID=326
+5,
+// ID=327
+12,
+// ID=328
+8,
+// ID=329
+17,
+// ID=330
+6,
+// ID=331
+5,
+// ID=332
+3,
+// ID=333
+16,
+// ID=334
+17,
+// ID=335
+6,
+// ID=336
+5,
+// ID=337
+12,
+// ID=338
+12,
+// ID=339
+8,
+// ID=340
+17,
+// ID=341
+6,
+// ID=342
+5,
+// ID=343
+13,
+// ID=344
+17,
+// ID=345
+6,
+// ID=346
+5,
+// ID=347
+3,
+// ID=348
+19,
+// ID=349
+17,
+// ID=350
+6,
+// ID=351
+5,
+// ID=352
+3,
+// ID=353
+8,
+// ID=354
+17,
+// ID=355
+6,
+// ID=356
+5,
+// ID=357
+3,
+// ID=358
+8,
+// ID=359
+17,
+// ID=360
+6,
+// ID=361
+5,
+// ID=362
+3,
+// ID=363
+8,
+// ID=364
+17,
+// ID=365
+6,
+// ID=366
+5,
+// ID=367
+3,
+// ID=368
+8,
+// ID=369
+17,
+// ID=370
+6,
+// ID=371
+5,
+// ID=372
+3,
+// ID=373
+5,
+// ID=374
+8,
+// ID=375
+17,
+// ID=376
+6,
+// ID=377
+5,
+// ID=378
+3,
+// ID=379
+18,
+// ID=380
+17,
+// ID=381
+6,
+// ID=382
+5,
+// ID=383
+3,
+// ID=384
+8,
+// ID=385
+17,
+// ID=386
+6,
+// ID=387
+5,
+// ID=388
+3,
+// ID=389
+8,
+// ID=390
+17,
+// ID=391
+6,
+// ID=392
+5,
+// ID=393
+3,
+// ID=394
+5,
+// ID=395
+8,
+// ID=396
+19,
+// ID=397
+8,
+// ID=398
+5,
+// ID=399
+10,
+// ID=400
+7,
+// ID=401
+19,
+// ID=402
+8,
+// ID=403
+6,
+// ID=404
+10,
+// ID=405
+7,
+// ID=406
+19,
+// ID=407
+8,
+// ID=408
+6,
+// ID=409
+10,
+// ID=410
+7,
+// ID=411
+19,
+// ID=412
+8,
+// ID=413
+6,
+// ID=414
+10,
+// ID=415
+7,
+// ID=416
+19,
+// ID=417
+8,
+// ID=418
+6,
+// ID=419
+10,
+// ID=420
+7,
+// ID=421
+19,
+// ID=422
+8,
+// ID=423
+6,
+// ID=424
+10,
+// ID=425
+7,
+// ID=426
+19,
+// ID=427
+8,
+// ID=428
+6,
+// ID=429
+10,
+// ID=430
+7,
+// ID=431
+19,
+// ID=432
+8,
+// ID=433
+6,
+// ID=434
+10,
+// ID=435
+7,
+// ID=436
+19,
+// ID=437
+8,
+// ID=438
+6,
+// ID=439
+10,
+// ID=440
+7,
+// ID=441
+19,
+// ID=442
+8,
+// ID=443
+6,
+// ID=444
+10,
+// ID=445
+7,
+// ID=446
+19,
+// ID=447
+8,
+// ID=448
+6,
+// ID=449
+10,
+// ID=450
+7,
+// ID=451
+17,
+// ID=452
+6,
+// ID=453
+5,
+// ID=454
+8,
+// ID=455
+17,
+// ID=456
+6,
+// ID=457
+5,
+// ID=458
+12,
+// ID=459
+12,
+// ID=460
+8,
+// ID=461
+17,
+// ID=462
+6,
+// ID=463
+5,
+// ID=464
+12,
+// ID=465
+12,
+// ID=466
+8,
+// ID=467
+17,
+// ID=468
+6,
+// ID=469
+5,
+// ID=470
+12,
+// ID=471
+8,
+// ID=472
+17,
+// ID=473
+6,
+// ID=474
+5,
+// ID=475
+12,
+// ID=476
+8,
+// ID=477
+17,
+// ID=478
+6,
+// ID=479
+5,
+// ID=480
+12,
+// ID=481
+8,
+// ID=482
+17,
+// ID=483
+6,
+// ID=484
+5,
+// ID=485
+12,
+// ID=486
+8,
+// ID=487
+17,
+// ID=488
+6,
+// ID=489
+5,
+// ID=490
+15,
+// ID=491
+12,
+// ID=492
+8,
+// ID=493
+17,
+// ID=494
+6,
+// ID=495
+5,
+// ID=496
+12,
+// ID=497
+8,
+// ID=498
+17,
+// ID=499
+6,
+// ID=500
+5,
+// ID=501
+13,
+// ID=502
+8,
+// ID=503
+17,
+// ID=504
+6,
+// ID=505
+5,
+// ID=506
+13,
+// ID=507
+8,
+// ID=508
+17,
+// ID=509
+6,
+// ID=510
+5,
+// ID=511
+8,
+// ID=512
+17,
+// ID=513
+6,
+// ID=514
+5,
+// ID=515
+5,
+// ID=516
+8,
+// ID=517
+21,
+// ID=518
+10,
+// ID=519
+6,
+// ID=520
+10,
+// ID=521
+15,
+// ID=522
+10,
+// ID=523
+10,
+// ID=524
+6,
+// ID=525
+2,
+// ID=526
+11,
+// ID=527
+21,
+// ID=528
+10,
+// ID=529
+10,
+// ID=530
+15,
+// ID=531
+10,
+// ID=532
+10,
+// ID=533
+8,
+// ID=534
+8,
+// ID=535
+6,
+// ID=536
+16,
+// ID=537
+21,
+// ID=538
+10,
+// ID=539
+10,
+// ID=540
+15,
+// ID=541
+10,
+// ID=542
+10,
+// ID=543
+6,
+// ID=544
+16,
+// ID=545
+19,
+// ID=546
+8,
+// ID=547
+5,
+// ID=548
+19,
+// ID=549
+8,
+// ID=550
+19,
+// ID=551
+5,
+// ID=552
+19,
+// ID=553
+8,
+// ID=554
+5,
+// ID=555
+19,
+// ID=556
+7,
+// ID=557
+8,
+// ID=558
+5,
+// ID=559
+19,
+// ID=560
+8,
+// ID=561
+19,
+// ID=562
+5,
+// ID=563
+19,
+// ID=564
+8,
+// ID=565
+5,
+// ID=566
+20,
+// ID=567
+9,
+// ID=568
+20,
+// ID=569
+6,
+// ID=570
+20,
+// ID=571
+9,
+// ID=572
+20,
+// ID=573
+6,
+// ID=574
+20,
+// ID=575
+9,
+// ID=576
+20,
+// ID=577
+6,
+// ID=578
+20,
+// ID=579
+9,
+// ID=580
+20,
+// ID=581
+6,
+// ID=582
+20,
+// ID=583
+9,
+// ID=584
+20,
+// ID=585
+6,
+// ID=586
+20,
+// ID=587
+9,
+// ID=588
+20,
+// ID=589
+6,
+// ID=590
+20,
+// ID=591
+9,
+// ID=592
+20,
+// ID=593
+6,
+// ID=594
+20,
+// ID=595
+9,
+// ID=596
+20,
+// ID=597
+6,
+// ID=598
+24,
+// ID=599
+13,
+// ID=600
+14,
+// ID=601
+11,
+// ID=602
+21,
+// ID=603
+10,
+// ID=604
+11,
+// ID=605
+8,
+// ID=606
+23,
+// ID=607
+12,
+// ID=608
+13,
+// ID=609
+10,
+// ID=610
+22,
+// ID=611
+9,
+// ID=612
+11,
+// ID=613
+5,
+// ID=614
+11,
+// ID=615
+5,
+// ID=616
+12,
+// ID=617
+6,
+// ID=618
+10,
+// ID=619
+7,
+// ID=620
+15,
+// ID=621
+4,
+// ID=622
+6,
+// ID=623
+11,
+// ID=624
+21,
+// ID=625
+10,
+// ID=626
+8,
+// ID=627
+17,
+// ID=628
+6,
+// ID=629
+13,
+// ID=630
+7,
+// ID=631
+14,
+// ID=632
+3,
+// ID=633
+24,
+// ID=634
+20,
+// ID=635
+13,
+// ID=636
+11,
+// ID=637
+24,
+// ID=638
+13,
+// ID=639
+5,
+// ID=640
+18,
+// ID=641
+7,
+// ID=642
+13,
+// ID=643
+8,
+// ID=644
+17,
+// ID=645
+6,
+// ID=646
+6,
+// ID=647
+6,
+// ID=648
+1,
+// ID=649
+5,
+// ID=650
+7,
+// ID=651
+10,
+// ID=652
+8,
+// ID=653
+9,
+// ID=654
+7,
+// ID=655
+6,
+// ID=656
+10,
+// ID=657
+9,
+// ID=658
+13,
+// ID=659
+7,
+// ID=660
+9,
+// ID=661
+10,
+// ID=662
+6,
+// ID=663
+4,
+// ID=664
+4,
+// ID=665
+6,
+// ID=666
+8,
+// ID=667
+26,
+// ID=668
+7,
+// ID=669
+5,
+// ID=670
+4,
+// ID=671
+5,
+// ID=672
+10,
+// ID=673
+16,
+// ID=674
+11,
+// ID=675
+12,
+// ID=676
+10,
+// ID=677
+26,
+// ID=678
+3,
+// ID=679
+25,
+// ID=680
+21,
+// ID=681
+23,
+// ID=682
+31,
+// ID=683
+25,
+// ID=684
+5,
+// ID=685
+29,
+// ID=686
+8,
+// ID=687
+7,
+// ID=688
+8,
+// ID=689
+14,
+// ID=690
+14,
+// ID=691
+8,
+// ID=692
+40,
+// ID=693
+59,
+// ID=694
+18,
+// ID=695
+21,
+// ID=696
+19,
+// ID=697
+14,
+// ID=698
+17,
+// ID=699
+12,
+// ID=700
+17,
+// ID=701
+18,
+// ID=702
+19,
+// ID=703
+13,
+// ID=704
+10,
+// ID=705
+5,
+// ID=706
+10,
+// ID=707
+21,
+// ID=708
+6,
+// ID=709
+54,
+// ID=710
+1,
+// ID=711
+2,
+// ID=712
+2,
+// ID=713
+8,
+// ID=714
+6,
+// ID=715
+7,
+// ID=716
+6,
+// ID=717
+8,
+// ID=718
+11,
+// ID=719
+19,
+// ID=720
+10,
+// ID=721
+7,
+// ID=722
+10,
+// ID=723
+10,
+// ID=724
+1,
+// ID=725
+10,
+// ID=726
+10,
+// ID=727
+10,
+// ID=728
+13,
+// ID=729
+7,
+// ID=730
+7,
+// ID=731
+7,
+// ID=732
+4,
+// ID=733
+7,
+// ID=734
+7,
+// ID=735
+9,
+// ID=736
+5,
+// ID=737
+8,
+// ID=738
+23,
+// ID=739
+7,
+// ID=740
+7,
+// ID=741
+7,
+// ID=742
+7,
+// ID=743
+4,
+// ID=744
+14,
+// ID=745
+2,
+// ID=746
+5,
+// ID=747
+1,
+// ID=748
+1,
+// ID=749
+6,
+// ID=750
+3,
+// ID=751
+7,
+// ID=752
+7,
+// ID=753
+7,
+// ID=754
+7,
+// ID=755
+7,
+// ID=756
+7,
+// ID=757
+16,
+// ID=758
+3,
+// ID=759
+18,
+// ID=760
+6,
+// ID=761
+6,
+// ID=762
+7,
+// ID=763
+9,
+// ID=764
+8,
+// ID=765
+6,
+// ID=766
+8,
+// ID=767
+7,
+// ID=768
+8,
+// ID=769
+5,
+// ID=770
+5,
+// ID=771
+3,
+// ID=772
+4,
+// ID=773
+4,
+// ID=774
+6,
+// ID=775
+9,
+// ID=776
+7,
+// ID=777
+8,
+// ID=778
+8,
+// ID=779
+24,
+// ID=780
+14,
+// ID=781
+18,
+// ID=782
+6,
+// ID=783
+7,
+// ID=784
+7,
+// ID=785
+6,
+// ID=786
+7,
+// ID=787
+13,
+// ID=788
+12,
+// ID=789
+6,
+// ID=790
+15,
+// ID=791
+10,
+// ID=792
+21,
+// ID=793
+14,
+// ID=794
+21,
+// ID=795
+21,
+// ID=796
+3,
+// ID=797
+22,
+// ID=798
+30,
+// ID=799
+15,
+// ID=800
+16,
+// ID=801
+1,
+// ID=802
+7,
+// ID=803
+121,
+// ID=804
+25,
+// ID=805
+21,
+// ID=806
+2,
+// ID=807
+56,
+// ID=808
+77,
+// ID=809
+7,
+// ID=810
+7,
+// ID=811
+7,
+// ID=812
+1,
+// ID=813
+9,
+// ID=814
+3,
+// ID=815
+8,
+// ID=816
+7,
+// ID=817
+7,
+// ID=818
+13,
+// ID=819
+10,
+// ID=820
+2,
+// ID=821
+7,
+// ID=822
+7,
+// ID=823
+9,
+// ID=824
+8,
+// ID=825
+12,
+// ID=826
+16,
+// ID=827
+6,
+// ID=828
+7,
+// ID=829
+11,
+// ID=830
+11,
+// ID=831
+11,
+// ID=832
+7,
+// ID=833
+7,
+// ID=834
+7,
+// ID=835
+7,
+};
+
+int xmlvm_constant_pool_size = sizeof(xmlvm_constant_pool_data) / sizeof(JAVA_ARRAY_CHAR*);
+
diff --git a/tests/nbody-java/hycomp.h b/tests/nbody-java/hycomp.h
new file mode 100644
index 00000000..ae64f130
--- /dev/null
+++ b/tests/nbody-java/hycomp.h
@@ -0,0 +1,522 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#if !defined(hycomp_h)
+#define hycomp_h
+
+/**
+ * USE_PROTOTYPES: Use full ANSI prototypes.
+ *
+ * CLOCK_PRIMS: We want the timer/clock prims to be used
+ *
+ * LITTLE_ENDIAN: This is for the intel machines or other
+ * little endian processors. Defaults to big endian.
+ *
+ * NO_LVALUE_CASTING: This is for compilers that don't like the left side
+ * of assigns to be cast. It hacks around to do the
+ * right thing.
+ *
+ * ATOMIC_FLOAT_ACCESS: So that float operations will work.
+ *
+ * LINKED_USER_PRIMITIVES: Indicates that user primitives are statically linked
+ * with the VM executeable.
+ *
+ * OLD_SPACE_SIZE_DIFF: The 68k uses a different amount of old space.
+ * This "legitimizes" the change.
+ *
+ * SIMPLE_SIGNAL: For machines that don't use real signals in C.
+ * (eg: PC, 68k)
+ *
+ * OS_NAME_LOOKUP: Use nlist to lookup user primitive addresses.
+ *
+ * VMCALL: Tag for all functions called by the VM.
+ *
+ * VMAPICALL: Tag for all functions called via the PlatformFunction
+ * callWith: mechanism.
+ *
+ * SYS_FLOAT: For some math functions where extended types (80 or 96 bits) are returned
+ * Most platforms return as a double
+ *
+ * FLOAT_EXTENDED: If defined, the type name for extended precision floats.
+ *
+ * PLATFORM_IS_ASCII: Must be defined if the platform is ASCII
+ *
+ * EXE_EXTENSION_CHAR: the executable has a delimiter that we want to stop at as part of argv[0].
+ */
+
+ /**
+ * By default order doubles in the native (that is big/little endian) ordering.
+ */
+
+#define HY_PLATFORM_DOUBLE_ORDER
+
+/**
+ * Define common types:
+ * <ul>
+ * <li><code>U_32 / I_32</code> - unsigned/signed 32 bits</li>
+ * <li><code>U_16 / I_16</code> - unsigned/signed 16 bits</li>
+ * <li><code>U_8 / I_8</code> - unsigned/signed 8 bits (bytes -- not to be
+ * confused with char)</li>
+ * </ul>
+ */
+
+typedef int I_32;
+typedef short I_16;
+typedef signed char I_8; /* chars can be unsigned */
+typedef unsigned int U_32;
+typedef unsigned short U_16;
+typedef unsigned char U_8;
+
+/**
+ * Define platform specific types:
+ * <ul>
+ * <li><code>U_64 / I_64</code> - unsigned/signed 64 bits</li>
+ * </ul>
+ */
+
+#if defined(LINUX) || defined(FREEBSD) || defined(AIX) || defined(MACOSX) || defined(__CYGWIN32__)
+
+#define DATA_TYPES_DEFINED
+
+/* NOTE: Linux supports different processors -- do not assume 386 */
+#if defined(HYX86_64) || defined(HYIA64) || defined(HYPPC64) || defined(HYS390X)
+
+typedef unsigned long int U_64; /* 64bits */
+typedef long int I_64;
+#define TOC_UNWRAP_ADDRESS(wrappedPointer) ((void *) (wrappedPointer)[0])
+#define TOC_STORE_TOC(dest,wrappedPointer) (dest = ((UDATA*)wrappedPointer)[1])
+
+#define HY_WORD64
+
+#else
+
+typedef long long I_64;
+typedef unsigned long long U_64;
+
+#endif
+
+#if defined(HYS390X) || defined(HYS390) || defined(HYPPC64) || defined(HYPPC32)
+#define HY_BIG_ENDIAN
+#else
+#define HY_LITTLE_ENDIAN
+#endif
+
+#if defined(HYPPC32) && defined(LINUX)
+#define VA_PTR(valist) (&valist[0])
+#endif
+
+typedef double SYS_FLOAT;
+#define HYCONST64(x) x##LL
+#define NO_LVALUE_CASTING
+#define FLOAT_EXTENDED long double
+#define PLATFORM_IS_ASCII
+#define PLATFORM_LINE_DELIMITER "\012"
+#define DIR_SEPARATOR '/'
+#define DIR_SEPARATOR_STR "/"
+#define PATH_SEPARATOR ':'
+#define PATH_SEPARATOR_STR ":"
+#if defined(AIX)
+#define LIBPATH_ENV_VAR "LIBPATH"
+#else
+#if defined(MACOSX)
+#define LIBPATH_ENV_VAR "DYLD_LIBRARY_PATH"
+#else
+#define LIBPATH_ENV_VAR "LD_LIBRARY_PATH"
+#endif
+#endif
+#if defined(MACOSX)
+#define PLATFORM_DLL_EXTENSION ".dylib"
+#else
+#define PLATFORM_DLL_EXTENSION ".so"
+#endif
+
+/**
+ * No priorities on Linux
+ */
+
+#define HY_PRIORITY_MAP {0,0,0,0,0,0,0,0,0,0,0,0}
+
+typedef U_32 BOOLEAN;
+
+#endif
+
+/* Win32 - Windows 3.1 & NT using Win32 */
+#if defined(WIN32)
+
+#define HY_LITTLE_ENDIAN
+
+/* Define 64-bit integers for Windows */
+typedef __int64 I_64;
+typedef unsigned __int64 U_64;
+
+typedef double SYS_FLOAT;
+#define NO_LVALUE_CASTING
+#define VMAPICALL _stdcall
+#define VMCALL _cdecl
+#define EXE_EXTENSION_CHAR '.'
+
+#define DIR_SEPARATOR '\\'
+#define DIR_SEPARATOR_STR "\\"
+#define PATH_SEPARATOR ';'
+#define PATH_SEPARATOR_STR ";"
+#define LIBPATH_ENV_VAR "PATH"
+
+/* Modifications for the Alpha running WIN-NT */
+#if defined(_ALPHA_)
+#undef small /* defined as char in rpcndr.h */
+typedef double FLOAT_EXTENDED;
+#endif
+
+#define HY_PRIORITY_MAP { \
+ THREAD_PRIORITY_IDLE, /* 0 */\
+ THREAD_PRIORITY_LOWEST, /* 1 */\
+ THREAD_PRIORITY_BELOW_NORMAL, /* 2 */\
+ THREAD_PRIORITY_BELOW_NORMAL, /* 3 */\
+ THREAD_PRIORITY_BELOW_NORMAL, /* 4 */\
+ THREAD_PRIORITY_NORMAL, /* 5 */\
+ THREAD_PRIORITY_ABOVE_NORMAL, /* 6 */\
+ THREAD_PRIORITY_ABOVE_NORMAL, /* 7 */\
+ THREAD_PRIORITY_ABOVE_NORMAL, /* 8 */\
+ THREAD_PRIORITY_ABOVE_NORMAL, /* 9 */\
+ THREAD_PRIORITY_HIGHEST, /*10 */\
+ THREAD_PRIORITY_TIME_CRITICAL /*11 */}
+
+#endif /* defined(WIN32) */
+
+#if defined(ZOS)
+
+#define HY_BIG_ENDIAN
+
+#define DATA_TYPES_DEFINED
+typedef unsigned int BOOLEAN;
+#if defined (HYS390X)
+typedef unsigned long U_64;
+typedef long I_64;
+#else
+typedef signed long long I_64;
+typedef unsigned long long U_64;
+#endif
+
+typedef double SYS_FLOAT;
+
+#define HYCONST64(x) x##LL
+
+#define NO_LVALUE_CASTING
+#define PLATFORM_LINE_DELIMITER "\012"
+#define DIR_SEPARATOR '/'
+#define DIR_SEPARATOR_STR "/"
+#define PATH_SEPARATOR ':'
+#define PATH_SEPARATOR_STR ":"
+#define LIBPATH_ENV_VAR "LIBPATH"
+
+#define VA_PTR(valist) (&valist[0])
+
+typedef struct {
+#if !defined(HYS390X)
+ char stuff[16];
+#endif
+ char *ada;
+ void (*rawFnAddress)();
+} HyFunctionDescriptor_T;
+
+#define TOC_UNWRAP_ADDRESS(wrappedPointer) (((HyFunctionDescriptor_T *) (wrappedPointer))->rawFnAddress)
+
+#define PLATFORM_DLL_EXTENSION ".so"
+
+#ifdef HYS390X
+#ifndef HY_WORD64
+#define HY_WORD64
+#endif /* ifndef HY_WORD64 */
+#endif /* HYS390X */
+
+#endif /* ZOS */
+
+
+#if !defined(VMCALL)
+#define VMCALL
+#define VMAPICALL
+#endif
+#define PVMCALL VMCALL *
+
+#define GLOBAL_DATA(symbol) ((void*)&(symbol))
+#define GLOBAL_TABLE(symbol) GLOBAL_DATA(symbol)
+
+/**
+ * Define platform specific types:
+ * <ul>
+ * <li><code>UDATA</code> - unsigned data, can be used as an integer or
+ * pointer storage</li>
+ * <li><code>IDATA</code> - signed data, can be used as an integer or
+ * pointer storage</li>
+ * </ul>
+ */
+/* FIXME: POINTER64 */
+#if defined(HYX86_64) || defined(HYIA64) || defined(HYPPC64) || defined(HYS390X) || defined(POINTER64)
+
+typedef I_64 IDATA;
+typedef U_64 UDATA;
+
+#else /* this is default for non-64bit systems */
+
+typedef I_32 IDATA;
+typedef U_32 UDATA;
+
+#endif /* defined(HYX86_64) */
+
+#if !defined(DATA_TYPES_DEFINED)
+/* no generic U_64 or I_64 */
+
+/* don't typedef BOOLEAN since it's already def'ed on Win32 */
+#define BOOLEAN UDATA
+
+#ifndef HY_BIG_ENDIAN
+#define HY_LITTLE_ENDIAN
+#endif
+
+#endif
+
+#if !defined(HYCONST64)
+#define HYCONST64(x) x##L
+#endif
+
+#if !defined(HY_DEFAULT_SCHED)
+
+/**
+ * By default, pthreads platforms use the <code>SCHED_OTHER</code> thread
+ * scheduling policy.
+ */
+
+#define HY_DEFAULT_SCHED SCHED_OTHER
+#endif
+
+#if !defined(HY_PRIORITY_MAP)
+
+/**
+ * If no priority map if provided, priorities will be determined
+ * algorithmically.
+ */
+
+#endif
+
+#if !defined(FALSE)
+#define FALSE ((BOOLEAN) 0)
+#if !defined(TRUE)
+#define TRUE ((BOOLEAN) (!FALSE))
+#endif
+#endif
+
+#if !defined(NULL)
+#if defined(__cplusplus)
+#define NULL (0)
+#else
+#define NULL ((void *)0)
+#endif
+#endif
+#define USE_PROTOTYPES
+#if defined(USE_PROTOTYPES)
+#define PROTOTYPE(x) x
+#define VARARGS , ...
+#else
+#define PROTOTYPE(x) ()
+#define VARARGS
+#endif
+
+/**
+ * Assign the default line delimiter, if it was not set.
+ */
+
+#if !defined(PLATFORM_LINE_DELIMITER)
+#define PLATFORM_LINE_DELIMITER "\015\012"
+#endif
+
+/**
+ * Set the max path length, if it was not set.
+ */
+
+#if !defined(MAX_IMAGE_PATH_LENGTH)
+#define MAX_IMAGE_PATH_LENGTH (2048)
+#endif
+typedef double ESDOUBLE;
+typedef float ESSINGLE;
+
+/**
+ * Helpers for U_64s.
+ */
+
+#define CLEAR_U64(u64) (u64 = (U_64)0)
+#define LOW_LONG(l) (*((U_32 *) &(l)))
+#define HIGH_LONG(l) (*(((U_32 *) &(l)) + 1))
+#define I8(x) ((I_8) (x))
+#define I8P(x) ((I_8 *) (x))
+#define U16(x) ((U_16) (x))
+#define I16(x) ((I_16) (x))
+#define I16P(x) ((I_16 *) (x))
+#define U32(x) ((U_32) (x))
+#define I32(x) ((I_32) (x))
+#define I32P(x) ((I_32 *) (x))
+#define U16P(x) ((U_16 *) (x))
+#define U32P(x) ((U_32 *) (x))
+#define OBJP(x) ((HyObject *) (x))
+#define OBJPP(x) ((HyObject **) (x))
+#define OBJPPP(x) ((HyObject ***) (x))
+#define CLASSP(x) ((Class *) (x))
+#define CLASSPP(x) ((Class **) (x))
+#define BYTEP(x) ((BYTE *) (x))
+
+/**
+ * Test - was conflicting with OS2.h
+ */
+
+#define ESCHAR(x) ((CHARACTER) (x))
+#define FLT(x) ((FLOAT) x)
+#define FLTP(x) ((FLOAT *) (x))
+#if defined(NO_LVALUE_CASTING)
+#define LI8(x) (*((I_8 *) &(x)))
+#define LI8P(x) (*((I_8 **) &(x)))
+#define LU16(x) (*((U_16 *) &(x)))
+#define LI16(x) (*((I_16 *) &(x)))
+#define LU32(x) (*((U_32 *) &(x)))
+#define LI32(x) (*((I_32 *) &(x)))
+#define LI32P(x) (*((I_32 **) &(x)))
+#define LU16P(x) (*((U_16 **) &(x)))
+#define LU32P(x) (*((U_32 **) &(x)))
+#define LOBJP(x) (*((HyObject **) &(x)))
+#define LOBJPP(x) (*((HyObject ***) &(x)))
+#define LOBJPPP(x) (*((HyObject ****) &(x))
+#define LCLASSP(x) (*((Class **) &(x)))
+#define LBYTEP(x) (*((BYTE **) &(x)))
+#define LCHAR(x) (*((CHARACTER) &(x)))
+#define LFLT(x) (*((FLOAT) &x))
+#define LFLTP(x) (*((FLOAT *) &(x)))
+#else
+#define LI8(x) I8((x))
+#define LI8P(x) I8P((x))
+#define LU16(x) U16((x))
+#define LI16(x) I16((x))
+#define LU32(x) U32((x))
+#define LI32(x) I32((x))
+#define LI32P(x) I32P((x))
+#define LU16P(x) U16P((x))
+#define LU32P(x) U32P((x))
+#define LOBJP(x) OBJP((x))
+#define LOBJPP(x) OBJPP((x))
+#define LOBJPPP(x) OBJPPP((x))
+#define LIOBJP(x) IOBJP((x))
+#define LCLASSP(x) CLASSP((x))
+#define LBYTEP(x) BYTEP((x))
+#define LCHAR(x) CHAR((x))
+#define LFLT(x) FLT((x))
+#define LFLTP(x) FLTP((x))
+#endif
+
+/**
+ * Macros for converting between words and longs and accessing bits.
+ */
+
+#define HIGH_WORD(x) U16(U32((x)) >> 16)
+#define LOW_WORD(x) U16(U32((x)) & 0xFFFF)
+#define LOW_BIT(o) (U32((o)) & 1)
+#define LOW_2_BITS(o) (U32((o)) & 3)
+#define LOW_3_BITS(o) (U32((o)) & 7)
+#define LOW_4_BITS(o) (U32((o)) & 15)
+#define MAKE_32(h, l) ((U32((h)) << 16) | U32((l)))
+#define MAKE_64(h, l) ((((I_64)(h)) << 32) | (l))
+#if defined(__cplusplus)
+#define HY_CFUNC "C"
+#define HY_CDATA "C"
+#else
+#define HY_CFUNC
+#define HY_CDATA
+#endif
+
+/**
+ * Macros for tagging functions which read/write the vm thread.
+ */
+
+#define READSVMTHREAD
+#define WRITESVMTHREAD
+#define REQUIRESSTACKFRAME
+
+/**
+ * Macro for tagging functions, which never return.
+ */
+
+#if defined(__GNUC__)
+
+/**
+ * On GCC, we can actually pass this information on to the compiler.
+ */
+
+#define NORETURN __attribute__((noreturn))
+#else
+#define NORETURN
+#endif
+
+/**
+ * On some systems va_list is an array type. This is probably in
+ * violation of the ANSI C spec, but it's not entirely clear. Because of
+ * this, we end up with an undesired extra level of indirection if we take
+ * the address of a va_list argument.
+ *
+ * To get it right, always use the VA_PTR macro
+ */
+
+#if !defined(VA_PTR)
+#define VA_PTR(valist) (&valist)
+#endif
+#if !defined(TOC_UNWRAP_ADDRESS)
+#define TOC_UNWRAP_ADDRESS(wrappedPointer) (wrappedPointer)
+#endif
+
+#if !defined(TOC_STORE_TOC)
+#define TOC_STORE_TOC(dest,wrappedPointer)
+#endif
+/**
+ * Macros for accessing I_64 values.
+ */
+
+#if defined(ATOMIC_LONG_ACCESS)
+#define PTR_LONG_STORE(dstPtr, aLongPtr) ((*U32P(dstPtr) = *U32P(aLongPtr)), (*(U32P(dstPtr)+1) = *(U32P(aLongPtr)+1)))
+#define PTR_LONG_VALUE(dstPtr, aLongPtr) ((*U32P(aLongPtr) = *U32P(dstPtr)), (*(U32P(aLongPtr)+1) = *(U32P(dstPtr)+1)))
+#else
+#define PTR_LONG_STORE(dstPtr, aLongPtr) (*(dstPtr) = *(aLongPtr))
+#define PTR_LONG_VALUE(dstPtr, aLongPtr) (*(aLongPtr) = *(dstPtr))
+#endif
+
+/**
+ * Macro used when declaring tables which require relocations.
+ */
+
+#if !defined(HYCONST_TABLE)
+#define HYCONST_TABLE const
+#endif
+
+/**
+ * ANSI qsort is not always available.
+ */
+
+#if !defined(HY_SORT)
+#define HY_SORT(base, nmemb, size, compare) qsort((base), (nmemb), (size), (compare))
+#endif
+
+/**
+ * Helper macros for storing/restoring pointers to jlong.
+ */
+#define jlong2addr(a, x) ((a *)((IDATA)(x)))
+#define addr2jlong(x) ((jlong)((IDATA)(x)))
+
+#endif /* hycomp_h */
diff --git a/tests/nbody-java/hyporterror.h b/tests/nbody-java/hyporterror.h
new file mode 100644
index 00000000..4cc6911e
--- /dev/null
+++ b/tests/nbody-java/hyporterror.h
@@ -0,0 +1,223 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * @file
+ * @ingroup Port
+ * @brief Port Library Error Codes
+ *
+ * When an error is reported by the operating system the port library must translate this OS specific error code to a
+ * portable error code. All portable error codes are negative numbers. Not every module of the port library will have
+ * error codes dedicated to it's own use, some will use the generic portable error code values.
+ *
+ * Errors reported by the OS may be recorded by calling the port library functions @ref hyerror.c::hyerror_set_last_error "hyerror_set_last_error()"
+ * or @ref hyerror.c::hyerror_set_last_error_with_message "hyerror_set_last_error_with_message()". The mapping of the OS specific error
+ * code to a portable error code is the responsibility of the calling module.
+ */
+#if !defined(hyporterror_h)
+#define hyporterror_h
+
+/**
+ * @name Generic Errors
+ * Generic error codes for modules that do not have their own specific errors. Where possible it is recommended that all
+ * modules that return error codes have their own set
+ *
+ * @internal HYPORT_ERROR* range from -1 to -99 avoid overlap
+ * @{
+ */
+#define HYPORT_ERROR_BASE -1
+#define HYPORT_ERROR_OPFAILED HYPORT_ERROR_BASE
+#define HYPORT_ERROR_EOF HYPORT_ERROR_BASE-1
+#define HYPORT_ERROR_NOPERMISSION HYPORT_ERROR_BASE-2
+#define HYPORT_ERROR_NOTFOUND HYPORT_ERROR_BASE-3
+#define HYPORT_ERROR_NAMETOOLONG HYPORT_ERROR_BASE-4
+#define HYPORT_ERROR_DISKFULL HYPORT_ERROR_BASE-5
+#define HYPORT_ERROR_EXIST HYPORT_ERROR_BASE-6
+#define HYPORT_ERROR_NOTEXIST HYPORT_ERROR_BASE-7
+#define HYPORT_ERROR_SYSTEMFULL HYPORT_ERROR_BASE-8
+#define HYPORT_ERROR_NOENT HYPORT_ERROR_BASE-9
+#define HYPORT_ERROR_DIRECTORY HYPORT_ERROR_BASE-10
+#define HYPORT_ERROR_NOTDIRECTORY HYPORT_ERROR_BASE-11
+#define HYPORT_ERROR_LOOP HYPORT_ERROR_BASE-12
+#define HYPORT_ERROR_BADF HYPORT_ERROR_BASE-13
+#define HYPORT_ERROR_WOULDBLOCK HYPORT_ERROR_BASE-14
+#define HYPORT_ERROR_INVALID HYPORT_ERROR_BASE-15
+/** @} */
+/**
+ * @name Port Library startup failure code
+ * Failures related to the initialization and startup of the port library.
+ *
+ * @internal HYPORT_ERROR_STARTUP* range from -100 to -149 to avoid overlap
+ * @{
+ */
+#define HYPORT_ERROR_STARTUP_BASE -100
+#define HYPORT_ERROR_STARTUP_THREAD (HYPORT_ERROR_STARTUP_BASE)
+#define HYPORT_ERROR_STARTUP_MEM (HYPORT_ERROR_STARTUP_BASE -1)
+#define HYPORT_ERROR_STARTUP_TLS (HYPORT_ERROR_STARTUP_BASE -2)
+#define HYPORT_ERROR_STARTUP_TLS_ALLOC (HYPORT_ERROR_STARTUP_BASE -3)
+#define HYPORT_ERROR_STARTUP_TLS_MUTEX (HYPORT_ERROR_STARTUP_BASE -4)
+#define HYPORT_ERROR_STARTUP_CPU (HYPORT_ERROR_STARTUP_BASE -5)
+#define HYPORT_ERROR_STARTUP_VMEM (HYPORT_ERROR_STARTUP_BASE -6)
+#define HYPORT_ERROR_STARTUP_FILE (HYPORT_ERROR_STARTUP_BASE -7)
+#define HYPORT_ERROR_STARTUP_TTY (HYPORT_ERROR_STARTUP_BASE -8)
+#define HYPORT_ERROR_STARTUP_TTY_HANDLE (HYPORT_ERROR_STARTUP_BASE -9)
+#define HYPORT_ERROR_STARTUP_TTY_CONSOLE (HYPORT_ERROR_STARTUP_BASE -10)
+#define HYPORT_ERROR_STARTUP_MMAP (HYPORT_ERROR_STARTUP_BASE -11)
+#define HYPORT_ERROR_STARTUP_IPCMUTEX (HYPORT_ERROR_STARTUP_BASE -12)
+#define HYPORT_ERROR_STARTUP_NLS (HYPORT_ERROR_STARTUP_BASE -13)
+#define HYPORT_ERROR_STARTUP_SOCK (HYPORT_ERROR_STARTUP_BASE -14)
+#define HYPORT_ERROR_STARTUP_TIME (HYPORT_ERROR_STARTUP_BASE -15)
+#define HYPORT_ERROR_STARTUP_GP (HYPORT_ERROR_STARTUP_BASE -16)
+#define HYPORT_ERROR_STARTUP_EXIT (HYPORT_ERROR_STARTUP_BASE -17)
+#define HYPORT_ERROR_STARTUP_SYSINFO (HYPORT_ERROR_STARTUP_BASE -18)
+#define HYPORT_ERROR_STARTUP_SL (HYPORT_ERROR_STARTUP_BASE -19)
+#define HYPORT_ERROR_STARTUP_STR (HYPORT_ERROR_STARTUP_BASE -20)
+#define HYPORT_ERROR_STARTUP_SHSEM (HYPORT_ERROR_STARTUP_BASE -21)
+#define HYPORT_ERROR_STARTUP_SHMEM (HYPORT_ERROR_STARTUP_BASE -22)
+#define HYPORT_ERROR_STARTUP_ERROR (HYPORT_ERROR_STARTUP_BASE -23)
+#define HYPORT_ERROR_STARTUP_SIGNAL (HYPORT_ERROR_STARTUP_BASE -24)
+/** @} */
+/**
+ * @name Shared Semaphore Errors
+ * Error codes for shared semaphore operations.
+ *
+ * @internal HYPORT_ERROR_SHSEM* range from at -150 to 159 to avoid overlap
+ * @{
+ */
+#define HYPORT_ERROR_SHSEM_BASE -150
+#define HYPORT_ERROR_SHSEM_OPFAILED (HYPORT_ERROR_SHSEM_BASE)
+#define HYPORT_ERROR_SHSEM_HANDLE_INVALID (HYPORT_ERROR_SHSEM_BASE-1)
+#define HYPORT_ERROR_SHSEM_SEMSET_INVALID (HYPORT_ERROR_SHSEM_BASE-2)
+#define HYPORT_ERROR_SHSEM_NOT_EXIST (HYPORT_ERROR_SHSEM_BASE-3)
+#define HYPORT_ERROR_SHSEM_NOPERMISSION (HYPORT_ERROR_SHSEM_BASE-4)
+#define HYPORT_ERROR_SHSEM_INVALID_INPUT (HYPORT_ERROR_SHSEM_BASE-5)
+#define HYPORT_ERROR_SHSEM_NOSPACE (HYPORT_ERROR_SHSEM_BASE-6)
+#define HYPORT_ERROR_SHSEM_ALREADY_EXIST (HYPORT_ERROR_SHSEM_BASE-7)
+#define HYPORT_ERROR_SHSEM_DATA_DIRECTORY_FAILED (HYPORT_ERROR_SHSEM_BASE-8)
+/** @} */
+/**
+ * @name Shared Memory Errors
+ * Error codes for shared memory semaphore operations.
+ *
+ * @internal HYPORT_ERROR_SHMEM* range from at -160 to -169 to avoid overlap
+ * @{
+ */
+#define HYPORT_ERROR_SHMEM_BASE -160
+#define HYPORT_ERROR_SHMEM_OPFAILED (HYPORT_ERROR_SHMEM_BASE)
+#define HYPORT_ERROR_SHMEM_HANDLE_INVALID (HYPORT_ERROR_SHMEM_BASE-1)
+#define HYPORT_ERROR_SHMEM_NOT_EXIST (HYPORT_ERROR_SHMEM_BASE-2)
+#define HYPORT_ERROR_SHMEM_NOPERMISSION (HYPORT_ERROR_SHMEM_BASE-3)
+#define HYPORT_ERROR_SHMEM_INVALID_INPUT (HYPORT_ERROR_SHMEM_BASE-4)
+#define HYPORT_ERROR_SHMEM_NOSPACE (HYPORT_ERROR_SHMEM_BASE-5)
+#define HYPORT_ERROR_SHMEM_ALREADY_EXIST (HYPORT_ERROR_SHMEM_BASE-6)
+#define HYPORT_ERROR_SHMEM_TOOBIG (HYPORT_ERROR_SHMEM_BASE-7)
+#define HYPORT_ERROR_SHMEM_ATTACH_FAILED (HYPORT_ERROR_SHMEM_BASE-8)
+#define HYPORT_ERROR_SHMEM_DATA_DIRECTORY_FAILED (HYPORT_ERROR_SHMEM_BASE-9)
+/** @} */
+/* -170 to -199 available for use */
+/**
+ * @name Socket Errors
+ * Error codes for socket operations
+ *
+ * @internal HYPORT_ERROR_SOCKET* range from -200 to -299 avoid overlap
+ * @{
+ */
+#define HYPORT_ERROR_SOCKET_BASE -200
+#define HYPORT_ERROR_SOCKET_BADSOCKET HYPORT_ERROR_SOCKET_BASE /* generic error */
+#define HYPORT_ERROR_SOCKET_NOTINITIALIZED HYPORT_ERROR_SOCKET_BASE-1 /* socket library uninitialized */
+#define HYPORT_ERROR_SOCKET_BADAF HYPORT_ERROR_SOCKET_BASE-2 /* bad address family */
+#define HYPORT_ERROR_SOCKET_BADPROTO HYPORT_ERROR_SOCKET_BASE-3 /* bad protocol */
+#define HYPORT_ERROR_SOCKET_BADTYPE HYPORT_ERROR_SOCKET_BASE-4 /* bad type */
+#define HYPORT_ERROR_SOCKET_SYSTEMBUSY HYPORT_ERROR_SOCKET_BASE-5 /* system busy handling requests */
+#define HYPORT_ERROR_SOCKET_SYSTEMFULL HYPORT_ERROR_SOCKET_BASE-6 /* too many sockets */
+#define HYPORT_ERROR_SOCKET_NOTCONNECTED HYPORT_ERROR_SOCKET_BASE-7 /* socket is not connected */
+#define HYPORT_ERROR_SOCKET_INTERRUPTED HYPORT_ERROR_SOCKET_BASE-8 /* the call was cancelled */
+#define HYPORT_ERROR_SOCKET_TIMEOUT HYPORT_ERROR_SOCKET_BASE-9 /* the operation timed out */
+#define HYPORT_ERROR_SOCKET_CONNRESET HYPORT_ERROR_SOCKET_BASE-10 /* the connection was reset */
+#define HYPORT_ERROR_SOCKET_WOULDBLOCK HYPORT_ERROR_SOCKET_BASE-11 /* the socket is marked as nonblocking operation would block */
+#define HYPORT_ERROR_SOCKET_ADDRNOTAVAIL HYPORT_ERROR_SOCKET_BASE-12 /* address not available */
+#define HYPORT_ERROR_SOCKET_ADDRINUSE HYPORT_ERROR_SOCKET_BASE-13 /* address already in use */
+#define HYPORT_ERROR_SOCKET_NOTBOUND HYPORT_ERROR_SOCKET_BASE-14 /* the socket is not bound */
+#define HYPORT_ERROR_SOCKET_UNKNOWNSOCKET HYPORT_ERROR_SOCKET_BASE-15 /* resolution of fileDescriptor to socket failed */
+#define HYPORT_ERROR_SOCKET_INVALIDTIMEOUT HYPORT_ERROR_SOCKET_BASE-16 /* the specified timeout is invalid */
+#define HYPORT_ERROR_SOCKET_FDSETFULL HYPORT_ERROR_SOCKET_BASE-17 /* Unable to create an FDSET */
+#define HYPORT_ERROR_SOCKET_TIMEVALFULL HYPORT_ERROR_SOCKET_BASE-18 /* Unable to create a TIMEVAL */
+#define HYPORT_ERROR_SOCKET_REMSOCKSHUTDOWN HYPORT_ERROR_SOCKET_BASE-19 /* The remote socket has shutdown gracefully */
+#define HYPORT_ERROR_SOCKET_NOTLISTENING HYPORT_ERROR_SOCKET_BASE-20 /* listen() was not invoked prior to accept() */
+#define HYPORT_ERROR_SOCKET_NOTSTREAMSOCK HYPORT_ERROR_SOCKET_BASE-21 /* The socket does not support connection-oriented service */
+#define HYPORT_ERROR_SOCKET_ALREADYBOUND HYPORT_ERROR_SOCKET_BASE-22 /* The socket is already bound to an address */
+#define HYPORT_ERROR_SOCKET_NBWITHLINGER HYPORT_ERROR_SOCKET_BASE-23 /* The socket is marked non-blocking & SO_LINGER is non-zero */
+#define HYPORT_ERROR_SOCKET_ISCONNECTED HYPORT_ERROR_SOCKET_BASE-24 /* The socket is already connected */
+#define HYPORT_ERROR_SOCKET_NOBUFFERS HYPORT_ERROR_SOCKET_BASE-25 /* No buffer space is available */
+#define HYPORT_ERROR_SOCKET_HOSTNOTFOUND HYPORT_ERROR_SOCKET_BASE-26 /* Authoritative Answer Host not found */
+#define HYPORT_ERROR_SOCKET_NODATA HYPORT_ERROR_SOCKET_BASE-27 /* Valid name, no data record of requested type */
+#define HYPORT_ERROR_SOCKET_BOUNDORCONN HYPORT_ERROR_SOCKET_BASE-28 /* The socket has not been bound or is already connected */
+#define HYPORT_ERROR_SOCKET_OPNOTSUPP HYPORT_ERROR_SOCKET_BASE-29 /* The socket does not support the operation */
+#define HYPORT_ERROR_SOCKET_OPTUNSUPP HYPORT_ERROR_SOCKET_BASE-30 /* The socket option is not supported */
+#define HYPORT_ERROR_SOCKET_OPTARGSINVALID HYPORT_ERROR_SOCKET_BASE-31 /* The socket option arguments are invalid */
+#define HYPORT_ERROR_SOCKET_SOCKLEVELINVALID HYPORT_ERROR_SOCKET_BASE-32 /* The socket level is invalid */
+#define HYPORT_ERROR_SOCKET_TIMEOUTFAILURE HYPORT_ERROR_SOCKET_BASE-33
+#define HYPORT_ERROR_SOCKET_SOCKADDRALLOCFAIL HYPORT_ERROR_SOCKET_BASE-34 /* Unable to allocate the sockaddr structure */
+#define HYPORT_ERROR_SOCKET_FDSET_SIZEBAD HYPORT_ERROR_SOCKET_BASE-35 /* The calculated maximum size of the file descriptor set is bad */
+#define HYPORT_ERROR_SOCKET_UNKNOWNFLAG HYPORT_ERROR_SOCKET_BASE-36 /* The flag is unknown */
+#define HYPORT_ERROR_SOCKET_MSGSIZE HYPORT_ERROR_SOCKET_BASE-37 /* The datagram was too big to fit the specified buffer & was truncated. */
+#define HYPORT_ERROR_SOCKET_NORECOVERY HYPORT_ERROR_SOCKET_BASE-38 /* The operation failed with no recovery possible */
+#define HYPORT_ERROR_SOCKET_ARGSINVALID HYPORT_ERROR_SOCKET_BASE-39 /* The arguments are invalid */
+#define HYPORT_ERROR_SOCKET_BADDESC HYPORT_ERROR_SOCKET_BASE-40 /* The socket argument is not a valid file descriptor */
+#define HYPORT_ERROR_SOCKET_NOTSOCK HYPORT_ERROR_SOCKET_BASE-41 /* The socket argument is not a socket */
+#define HYPORT_ERROR_SOCKET_HOSTENTALLOCFAIL HYPORT_ERROR_SOCKET_BASE-42 /* Unable to allocate the hostent structure */
+#define HYPORT_ERROR_SOCKET_TIMEVALALLOCFAIL HYPORT_ERROR_SOCKET_BASE-43 /* Unable to allocate the timeval structure */
+#define HYPORT_ERROR_SOCKET_LINGERALLOCFAIL HYPORT_ERROR_SOCKET_BASE-44 /* Unable to allocate the linger structure */
+#define HYPORT_ERROR_SOCKET_IPMREQALLOCFAIL HYPORT_ERROR_SOCKET_BASE-45 /* Unable to allocate the ipmreq structure */
+#define HYPORT_ERROR_SOCKET_FDSETALLOCFAIL HYPORT_ERROR_SOCKET_BASE-46 /* Unable to allocate the fdset structure */
+#define HYPORT_ERROR_SOCKET_OPFAILED HYPORT_ERROR_SOCKET_BASE-47
+#define HYPORT_ERROR_SOCKET_VALUE_NULL HYPORT_ERROR_SOCKET_BASE-48 /* The value indexed was NULL */
+#define HYPORT_ERROR_SOCKET_CONNECTION_REFUSED HYPORT_ERROR_SOCKET_BASE-49 /* connection was refused */
+#define HYPORT_ERROR_SOCKET_ENETUNREACH HYPORT_ERROR_SOCKET_BASE-50 /* network is not reachable */
+#define HYPORT_ERROR_SOCKET_EACCES HYPORT_ERROR_SOCKET_BASE-51 /* permissions do not allow action on socket */
+#define HYPORT_ERROR_SOCKET_WAS_CLOSED (HYPORT_ERROR_SOCKET_BASE-52)
+#define HYPORT_ERROR_SOCKET_EINPROGRESS (HYPORT_ERROR_SOCKET_BASE-53)
+#define HYPORT_ERROR_SOCKET_ALREADYINPROGRESS (HYPORT_ERROR_SOCKET_BASE-54)
+
+#define HYPORT_ERROR_SOCKET_FIRST_ERROR_NUMBER HYPORT_ERROR_SOCKET_BASE
+#define HYPORT_ERROR_SOCKET_LAST_ERROR_NUMBER HYPORT_ERROR_SOCKET_VALUE_NULL /* Equals last used error code */
+/**
+ * @name File Errors
+ * Error codes for file operations.
+ *
+ * @internal HYPORT_ERROR_FILE* range from -300 to -349 avoid overlap
+ * @{
+ */
+#define HYPORT_ERROR_FILE_BASE -300
+#define HYPORT_ERROR_FILE_OPFAILED (HYPORT_ERROR_FILE_BASE)
+#define HYPORT_ERROR_FILE_EOF (HYPORT_ERROR_FILE_BASE-1)
+#define HYPORT_ERROR_FILE_NOPERMISSION (HYPORT_ERROR_FILE_BASE-2)
+#define HYPORT_ERROR_FILE_NOTFOUND (HYPORT_ERROR_FILE_BASE-3)
+#define HYPORT_ERROR_FILE_NAMETOOLONG (HYPORT_ERROR_FILE_BASE-4)
+#define HYPORT_ERROR_FILE_DISKFULL (HYPORT_ERROR_FILE_BASE-5)
+#define HYPORT_ERROR_FILE_EXIST (HYPORT_ERROR_FILE_BASE-6)
+#define HYPORT_ERROR_FILE_SYSTEMFULL (HYPORT_ERROR_FILE_BASE-7)
+#define HYPORT_ERROR_FILE_NOENT (HYPORT_ERROR_FILE_BASE-8)
+#define HYPORT_ERROR_FILE_NOTDIR (HYPORT_ERROR_FILE_BASE-9)
+#define HYPORT_ERROR_FILE_LOOP (HYPORT_ERROR_FILE_BASE-10)
+#define HYPORT_ERROR_FILE_BADF (HYPORT_ERROR_FILE_BASE-11)
+#define HYPORT_ERROR_FILE_WOULDBLOCK (HYPORT_ERROR_FILE_BASE-12)
+#define HYPORT_ERROR_FILE_INVAL (HYPORT_ERROR_FILE_BASE-13)
+#define HYPORT_ERROR_FILE_LOCKED (HYPORT_ERROR_FILE_BASE-14)
+/** @} */
+
+#endif /* hyporterror_h */
diff --git a/tests/nbody-java/hysock.h b/tests/nbody-java/hysock.h
new file mode 100644
index 00000000..14b0d916
--- /dev/null
+++ b/tests/nbody-java/hysock.h
@@ -0,0 +1,288 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#if !defined(hysock_h)
+#define hysock_h
+/******************************************************\
+ Portable socket library implementation.
+\******************************************************/
+#include "xmlvm-hy.h"
+#include <errno.h>
+#include <signal.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+
+#if !defined(ZOS)
+#include <netinet/tcp.h>
+#else /* !defined(ZOS) */
+#include <netinet/tcp_var.h>
+#endif /* !defined(ZOS) */
+
+#include <netdb.h>
+#include <sys/time.h>
+#include <stdlib.h>
+
+#if !defined(ZOS)
+#if !defined(MACOSX) && !defined(__CYGWIN__)
+#include <sys/socketvar.h>
+#endif
+#else /* !defined(ZOS) */
+#include <arpa/inet.h>
+#include <xti.h>
+#endif /* !defined(ZOS) */
+
+#include "hysocket.h"
+#include "hycomp.h"
+// #include "hyport.h"
+#if defined(DEBUG)
+#define HYSOCKDEBUG(x, err) printf(x, err)
+#define HYSOCKDEBUGH(x, err) printf(x, err)
+#define HYSOCKDEBUGPRINT(x) printf(x)
+#else
+#define HYSOCKDEBUG(x, err)
+#define HYSOCKDEBUGH(x, err)
+#define HYSOCKDEBUGPRINT(x)
+#endif
+/* the following defines are used to determine how gethostby*_r calls should be handled.*/
+/* HOSTENT_DATA_R: if the HOSTENT_DATA structure is used */
+#define HOSTENT_DATA_R (defined(AIX))
+/* GLIBC_R: uses the GLIBC versions */
+#define GLIBC_R (defined(LINUX))
+/* ORIGINAL_R: the original gethostby* call is thread safe */
+#define ORIGINAL_R defined(FREEBSD)
+/* TOFIX: FreeBSD man page says:
+ * Though these functions are thread-safe, still it is recommended to use
+ * the getaddrinfo(3) family of functions, instead.
+ */
+/* NO_R: gethostby*_r calls do not exist and the normal gethostby* calls are not threadsafe */
+#define NO_R (defined(MACOSX) || defined(__CYGWIN__))
+/* OTHER_R: everything else */
+#define OTHER_R ((!HOSTENT_DATA_R)&&(!GLIBC_R)&&(!ORIGINAL_R)&&(!NO_R))
+/* Converts (seconds, microseconds) to milliseconds */
+#define TO_MILLIS(sec, microsec) (sec * 1000 + (microsec + 999) / 1000)
+/* os types */
+typedef int OSSOCKET; /* as returned by socket() */
+typedef struct sockaddr_in OSSOCKADDR; /* as used by bind() and friends */
+typedef struct hostent OSHOSTENT;
+typedef fd_set OSFDSET;
+typedef struct timeval OSTIMEVAL;
+typedef struct linger OSLINGER;
+typedef struct sockaddr OSADDR;
+typedef struct sockaddr_in6 OSSOCKADDR_IN6; /* IPv6 */
+typedef struct ipv6_mreq OSIPMREQ6;
+typedef struct addrinfo OSADDRINFO; /* IPv6 */
+typedef struct sockaddr_storage OSSOCKADDR_STORAGE; /* IPv6 */
+/*
+ * Socket Types
+ */
+#define OSSOCK_ANY 0 /* for getaddrinfo hints */
+#define OSSOCK_STREAM SOCK_STREAM /* stream socket */
+#define OSSOCK_DGRAM SOCK_DGRAM /* datagram socket */
+#define OSSOCK_RAW SOCK_RAW /* raw-protocol interface */
+#define OSSOCK_RDM SOCK_RDM /* reliably-delivered message */
+#define OSSOCK_SEQPACKET SOCK_SEQPACKET /* sequenced packet stream */
+#if defined(HOSTENT_DATA_R)
+typedef struct hostent_data OSHOSTENT_DATA;
+#endif
+typedef struct ip_mreq OSIPMREQ;
+#define OSSOMAXCONN SOMAXCONN
+#define OS_BADSOCKET -1 /* Provide bad socket constant */
+/* defines for socket levels */
+#define OS_SOL_SOCKET SOL_SOCKET
+#define OS_IPPROTO_TCP IPPROTO_TCP
+#define OS_IPPROTO_IP IPPROTO_IP
+#if defined(IPv6_FUNCTION_SUPPORT)
+#define OS_IPPROTO_IPV6 IPPROTO_IPV6
+#endif
+/* defines for socket options */
+#define OS_SO_LINGER SO_LINGER
+#define OS_SO_KEEPALIVE SO_KEEPALIVE
+#define OS_TCP_NODELAY TCP_NODELAY
+#define OS_SO_REUSEADDR SO_REUSEADDR
+#define OS_SO_SNDBUF SO_SNDBUF
+#define OS_SO_RCVBUF SO_RCVBUF
+#define OS_SO_BROADCAST SO_BROADCAST /* Support datagram broadcasts */
+#define OS_SO_OOBINLINE SO_OOBINLINE
+#define OS_IP_TOS IP_TOS
+/* defines for socket options, multicast */
+#define OS_MCAST_TTL IP_MULTICAST_TTL
+#define OS_MCAST_ADD_MEMBERSHIP IP_ADD_MEMBERSHIP
+#define OS_MCAST_DROP_MEMBERSHIP IP_DROP_MEMBERSHIP
+#define OS_MCAST_INTERFACE IP_MULTICAST_IF
+#define OS_MCAST_LOOP IP_MULTICAST_LOOP
+#if defined(IPv6_FUNCTION_SUPPORT)
+#define OS_MCAST_INTERFACE_2 IPV6_MULTICAST_IF
+#if defined(FREEBSD) || defined(MACOSX) || defined(ZOS)
+#define OS_IPV6_ADD_MEMBERSHIP IPV6_JOIN_GROUP
+#define OS_IPV6_DROP_MEMBERSHIP IPV6_LEAVE_GROUP
+#else
+#define OS_IPV6_ADD_MEMBERSHIP IPV6_ADD_MEMBERSHIP
+#define OS_IPV6_DROP_MEMBERSHIP IPV6_DROP_MEMBERSHIP
+#endif
+#endif
+/* defines for the unix error constants. These may be overriden for specific platforms. */
+#define HYPORT_ERROR_SOCKET_UNIX_CONNRESET ECONNRESET
+#define HYPORT_ERROR_SOCKET_UNIX_EAGAIN EAGAIN
+#define HYPORT_ERROR_SOCKET_UNIX_EAFNOSUPPORT EAFNOSUPPORT
+#define HYPORT_ERROR_SOCKET_UNIX_EBADF EBADF
+#define HYPORT_ERROR_SOCKET_UNIX_ECONNRESET ECONNRESET
+#define HYPORT_ERROR_SOCKET_UNIX_EINVAL EINVAL
+#define HYPORT_ERROR_SOCKET_UNIX_EINTR EINTR
+#define HYPORT_ERROR_SOCKET_UNIX_EFAULT EFAULT
+#define HYPORT_ERROR_SOCKET_UNIX_ENOPROTOOPT ENOPROTOOPT
+#define HYPORT_ERROR_SOCKET_UNIX_ENOTCONN ENOTCONN
+#define HYPORT_ERROR_SOCKET_UNIX_EPROTONOSUPPORT EPROTONOSUPPORT
+#define HYPORT_ERROR_SOCKET_UNIX_HOSTNOTFOUND HOST_NOT_FOUND
+#define HYPORT_ERROR_SOCKET_UNIX_ENOBUFS ENOBUFS
+#define HYPORT_ERROR_SOCKET_UNIX_NODATA NO_DATA
+#define HYPORT_ERROR_SOCKET_UNIX_NORECOVERY NO_RECOVERY
+#define HYPORT_ERROR_SOCKET_UNIX_ENOTSOCK ENOTSOCK
+#define HYPORT_ERROR_SOCKET_UNIX_TRYAGAIN TRY_AGAIN
+#define HYPORT_ERROR_SOCKET_UNIX_EOPNOTSUP EOPNOTSUPP
+#define HYPORT_ERROR_SOCKET_UNIX_ETIMEDOUT ETIMEDOUT
+#define HYPORT_ERROR_SOCKET_UNIX_CONNREFUSED ECONNREFUSED
+#define HYPORT_ERROR_SOCKET_UNIX_EINPROGRESS EINPROGRESS
+#define HYPORT_ERROR_SOCKET_UNIX_ENETUNREACH ENETUNREACH
+#define HYPORT_ERROR_SOCKET_UNIX_EACCES EACCES
+/* platform constants */
+#define HYSOCK_MAXCONN OSSOMAXCONN;
+#define HYSOCK_BADSOCKET OS_BADSOCKET /* Provide bad socket constant */
+/* defines added for IPv6 */
+#define OS_AF_INET4 AF_INET
+#define OS_AF_UNSPEC AF_UNSPEC
+#define OS_PF_UNSPEC PF_UNSPEC
+#define OS_PF_INET4 PF_INET
+#define OS_INET4_ADDRESS_LENGTH INET_ADDRSTRLEN
+#if defined(NI_MAXHOST)
+#define OSNIMAXHOST NI_MAXHOST
+#define OSNIMAXSERV NI_MAXSERV
+#else
+#define OSNIMAXHOST 1025
+#define OSNIMAXSERV 32
+#endif
+
+#if defined(AF_INET6)
+#define OS_AF_INET6 AF_INET6
+#define OS_PF_INET6 PF_INET6
+#define OS_INET6_ADDRESS_LENGTH INET6_ADDRSTRLEN
+#else
+#define OS_AF_INET6 -1
+#define OS_PF_INET6 -1
+#define OS_INET6_ADDRESS_LENGTH 46
+#endif
+/*platform structs */
+typedef struct hysocket_struct
+{
+ OSSOCKET sock;
+ U_16 family;
+} hysocket_struct;
+/* The sockets are now structs */
+#if defined(NO_LVALUE_CASTING)
+#define SOCKET_CAST(x) ((struct hysocket_struct*) x)->sock
+#else
+#define SOCKET_CAST(x) ((struct hysocket_struct*) x)->sock
+#endif
+typedef struct hysockaddr_struct
+{
+#if defined(IPv6_FUNCTION_SUPPORT)
+ OSSOCKADDR_STORAGE addr;
+#else
+ OSSOCKADDR addr;
+#endif
+} hysockaddr_struct;
+typedef struct hyhostent_struct
+{
+ OSHOSTENT *entity;
+} hyhostent_struct;
+typedef struct hyfdset_struct
+{
+ OSFDSET handle;
+} hyfdset_struct;
+typedef struct hytimeval_struct
+{
+ OSTIMEVAL time;
+} hytimeval_struct;
+typedef struct hylinger_struct
+{
+ OSLINGER linger;
+} hylinger_struct;
+typedef struct hyipmreq_struct
+{
+ int addrpair;
+} hyipmreq_struct;
+#define GET_HOST_BUFFER_SIZE 512
+/* The gethostBuffer is allocated bufferSize + EXTRA_SPACE, while gethostby*_r is only aware of bufferSize
+ * because there seems to be a bug on Linux 386 where gethostbyname_r writes past the end of the
+ * buffer. This bug has not been observed on other platforms, but EXTRA_SPACE is added anyway as a precaution.*/
+#define EXTRA_SPACE 128
+/*size is 16 because an IP string is "xxx.xxx.xxx.xxx" + 1 null character */
+#define NTOA_SIZE 16
+/** new structure for IPv6 mulitcast requests */
+typedef struct hyipv6_mreq_struct
+{
+#if defined(IPv6_FUNCTION_SUPPORT)
+ OSIPMREQ6 mreq;
+#else
+ int dummy;
+#endif
+} hyipv6_mreq_struct;
+/* structure for returning either and IPV4 or IPV6 ip address */
+typedef struct hyipAddress_struct
+{
+ union
+ {
+#if defined(IPv6_FUNCTION_SUPPORT)
+ U_8 bytes[sizeof (struct in6_addr)];
+#else
+ U_8 bytes[sizeof (struct in_addr)];
+#endif
+struct in_addr inAddr;
+#if defined(IPv6_FUNCTION_SUPPORT)
+ struct in6_addr in6Addr;
+#endif
+} addr;
+ U_32 length;
+ U_32 scope;
+} hyipAddress_struct;
+/* structure for returning network interface information */
+typedef struct hyNetworkInterface_struct
+{
+ char *name;
+ char *displayName;
+ U_32 numberAddresses;
+ U_32 index;
+ struct hyipAddress_struct *addresses;
+} hyNetworkInterface_struct;
+/* array of network interface structures */
+typedef struct hyNetworkInterfaceArray_struct
+{
+ U_32 length;
+ struct hyNetworkInterface_struct *elements;
+} hyNetworkInterfaceArray_struct;
+/** new structure for IPv6 addrinfo will either point to a hostent or
+ an addr info depending on the IPv6 support for this OS */
+typedef struct hyaddrinfo_struct
+{
+ void *addr_info;
+ int length;
+} hyaddrinfo_struct;
+#endif
+
diff --git a/tests/nbody-java/hysocket.h b/tests/nbody-java/hysocket.h
new file mode 100644
index 00000000..00897835
--- /dev/null
+++ b/tests/nbody-java/hysocket.h
@@ -0,0 +1,103 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/******************************************************\
+ Portable socket library header.
+\******************************************************/
+
+#if !defined(hysocket_h)
+#define hysocket_h
+
+#include <stddef.h>
+#include "hyporterror.h"
+
+/* Socket types, stream & datagram */
+#define HYSOCK_STREAM 0
+#define HYSOCK_DGRAM 1
+#define HYSOCK_AFINET 2
+#define HYSOCK_ANY 3
+#define HYSOCK_DEFPROTOCOL 0
+#define HYSOCK_INADDR_ANY (U_32)0
+#define HYSOCK_NOFLAGS (U_32)0 /* The default flag argument value, as in a recv */
+#define HYSOCK_INADDR_LEN 4 /* The length in bytes of a binary IPv4 internet address */
+#define HYSOCK_INADDR6_LEN 16 /* The length in bytes of a binary IPv6 internet address */
+
+/* For getaddrinfo (IPv6) -- socket types */
+#define HYSOCKET_ANY 0 /* for getaddrinfo hints */
+#define HYSOCKET_STREAM 1 /* stream socket */
+#define HYSOCKET_DGRAM 2 /* datagram socket */
+#define HYSOCKET_RAW 3 /* raw-protocol interface */
+#define HYSOCKET_RDM 4 /* reliably-delivered message */
+#define HYSOCKET_SEQPACKET 5 /* sequenced packet stream */
+
+/** address family */
+#define HYADDR_FAMILY_UNSPEC 0 /* IPv6 */
+#define HYADDR_FAMILY_AFINET4 2 /* IPv6 */
+#define HYADDR_FAMILY_AFINET6 23 /* IPv6 */
+
+/** protocol family */
+#define HYPROTOCOL_FAMILY_UNSPEC HYADDR_FAMILY_UNSPEC /* IPv6 */
+#define HYPROTOCOL_FAMILY_INET4 HYADDR_FAMILY_AFINET4 /* IPv6 */
+#define HYPROTOCOL_FAMILY_INET6 HYADDR_FAMILY_AFINET6 /* IPv6 */
+
+/* Portable defines for socket levels */
+#define HY_SOL_SOCKET 1
+#define HY_IPPROTO_TCP 2
+#define HY_IPPROTO_IP 3
+#define HY_IPPROTO_IPV6 4
+
+/* Portable defines for socket options */
+#define HY_SO_LINGER 1
+#define HY_SO_KEEPALIVE 2
+#define HY_TCP_NODELAY 3
+#define HY_MCAST_TTL 4
+#define HY_MCAST_ADD_MEMBERSHIP 5
+#define HY_MCAST_DROP_MEMBERSHIP 6
+#define HY_MCAST_INTERFACE 7
+#define HY_SO_REUSEADDR 8
+#define HY_SO_REUSEPORT 9
+#define HY_SO_SNDBUF 11
+#define HY_SO_RCVBUF 12
+#define HY_SO_BROADCAST 13
+#define HY_SO_OOBINLINE 14
+#define HY_IP_MULTICAST_LOOP 15
+#define HY_IP_TOS 16
+#define HY_MCAST_INTERFACE_2 17
+#define HY_IPV6_ADD_MEMBERSHIP 18
+#define HY_IPV6_DROP_MEMBERSHIP 19
+
+/* Portable defines for socket read/write options */
+#define HYSOCK_MSG_PEEK 1
+#define HYSOCK_MSG_OOB 2
+
+/* Platform Constants */
+typedef struct hysocket_struct *hysocket_t;
+typedef struct hysockaddr_struct *hysockaddr_t;
+typedef struct hyhostent_struct *hyhostent_t;
+typedef struct hyfdset_struct *hyfdset_t;
+typedef struct hytimeval_struct *hytimeval_t;
+typedef struct hylinger_struct *hylinger_t;
+typedef struct hyipmreq_struct *hyipmreq_t;
+typedef struct hyaddrinfo_struct *hyaddrinfo_t; /* IPv6 */
+typedef struct hyipv6_mreq_struct *hyipv6_mreq_t; /* IPv6 */
+
+/* constants for calling multi-call functions */
+#define HY_PORT_SOCKET_STEP_START 10
+#define HY_PORT_SOCKET_STEP_CHECK 20
+#define HY_PORT_SOCKET_STEP_DONE 30
+
+#endif /* hysocket_h */
diff --git a/tests/nbody-java/java_io_Closeable.c b/tests/nbody-java/java_io_Closeable.c
new file mode 100644
index 00000000..f9868c6b
--- /dev/null
+++ b/tests/nbody-java/java_io_Closeable.c
@@ -0,0 +1,76 @@
+#include "xmlvm.h"
+
+#include "java_io_Closeable.h"
+
+__TIB_DEFINITION_java_io_Closeable __TIB_java_io_Closeable = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_io_Closeable, // classInitializer
+ "java.io.Closeable", // className
+ "java.io", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_io_Closeable;
+JAVA_OBJECT __CLASS_java_io_Closeable_1ARRAY;
+JAVA_OBJECT __CLASS_java_io_Closeable_2ARRAY;
+JAVA_OBJECT __CLASS_java_io_Closeable_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_io_Closeable()
+{
+ staticInitializerLock(&__TIB_java_io_Closeable);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_io_Closeable.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_io_Closeable.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_io_Closeable);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_io_Closeable.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_io_Closeable.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_io_Closeable.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.io.Closeable")
+ __INIT_IMPL_java_io_Closeable();
+ }
+}
+
+void __INIT_IMPL_java_io_Closeable()
+{
+ __TIB_java_io_Closeable.numInterfaces = 0;
+ __TIB_java_io_Closeable.declaredFields = &__field_reflection_data[0];
+ __TIB_java_io_Closeable.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_io_Closeable.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_io_Closeable.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_io_Closeable.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_io_Closeable = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_io_Closeable);
+ __TIB_java_io_Closeable.clazz = __CLASS_java_io_Closeable;
+ __TIB_java_io_Closeable.baseType = JAVA_NULL;
+ __CLASS_java_io_Closeable_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_Closeable);
+ __CLASS_java_io_Closeable_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_Closeable_1ARRAY);
+ __CLASS_java_io_Closeable_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_Closeable_2ARRAY);
+
+ __TIB_java_io_Closeable.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_io_Closeable.h b/tests/nbody-java/java_io_Closeable.h
new file mode 100644
index 00000000..b6886df4
--- /dev/null
+++ b/tests/nbody-java/java_io_Closeable.h
@@ -0,0 +1,28 @@
+#ifndef __JAVA_IO_CLOSEABLE__
+#define __JAVA_IO_CLOSEABLE__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_io_Closeable_close__ 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+
+XMLVM_DEFINE_CLASS(java_io_Closeable, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_io_Closeable;
+extern JAVA_OBJECT __CLASS_java_io_Closeable_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_Closeable_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_Closeable_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_io_Closeable
+#define XMLVM_FORWARD_DECL_java_io_Closeable
+typedef struct java_io_Closeable java_io_Closeable;
+#endif
+
+void __INIT_java_io_Closeable();
+void __INIT_IMPL_java_io_Closeable();
+
+#endif
diff --git a/tests/nbody-java/java_io_File.c b/tests/nbody-java/java_io_File.c
new file mode 100644
index 00000000..9faa0189
--- /dev/null
+++ b/tests/nbody-java/java_io_File.c
@@ -0,0 +1,4503 @@
+#include "xmlvm.h"
+#include "java_io_IOException.h"
+#include "java_lang_Character.h"
+#include "java_lang_Class.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_RuntimePermission.h"
+#include "java_lang_SecurityManager.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_lang_System.h"
+#include "java_security_AccessController.h"
+#include "java_util_ArrayList.h"
+#include "java_util_List.h"
+#include "org_apache_harmony_luni_internal_nls_Messages.h"
+#include "org_apache_harmony_luni_util_PriviAction.h"
+#include "org_apache_harmony_luni_util_Util.h"
+
+#include "java_io_File.h"
+
+#define XMLVM_CURRENT_CLASS_NAME File
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_io_File
+
+__TIB_DEFINITION_java_io_File __TIB_java_io_File = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_io_File, // classInitializer
+ "java.io.File", // className
+ "java.io", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/Comparable<Ljava/io/File;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_io_File), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_io_File;
+JAVA_OBJECT __CLASS_java_io_File_1ARRAY;
+JAVA_OBJECT __CLASS_java_io_File_2ARRAY;
+JAVA_OBJECT __CLASS_java_io_File_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_io_File_serialVersionUID;
+static JAVA_OBJECT _STATIC_java_io_File_EMPTY_STRING;
+static JAVA_CHAR _STATIC_java_io_File_separatorChar;
+static JAVA_OBJECT _STATIC_java_io_File_separator;
+static JAVA_CHAR _STATIC_java_io_File_pathSeparatorChar;
+static JAVA_OBJECT _STATIC_java_io_File_pathSeparator;
+static JAVA_INT _STATIC_java_io_File_counter;
+static JAVA_INT _STATIC_java_io_File_counterBase;
+static JAVA_OBJECT _STATIC_java_io_File_tempFileLocker;
+static JAVA_BOOLEAN _STATIC_java_io_File_caseSensitive;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_io_File()
+{
+ staticInitializerLock(&__TIB_java_io_File);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_io_File.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_io_File.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_io_File);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_io_File.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_io_File.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_io_File.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.io.File")
+ __INIT_IMPL_java_io_File();
+ }
+}
+
+void __INIT_IMPL_java_io_File()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_io_File.newInstanceFunc = __NEW_INSTANCE_java_io_File;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_io_File.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_io_File.vtable[1] = (VTABLE_PTR) &java_io_File_equals___java_lang_Object;
+ __TIB_java_io_File.vtable[4] = (VTABLE_PTR) &java_io_File_hashCode__;
+ __TIB_java_io_File.vtable[5] = (VTABLE_PTR) &java_io_File_toString__;
+ __TIB_java_io_File.vtable[6] = (VTABLE_PTR) &java_io_File_compareTo___java_lang_Object;
+ // Initialize interface information
+ __TIB_java_io_File.numImplementedInterfaces = 2;
+ __TIB_java_io_File.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_io_File.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_lang_Comparable)
+
+ __TIB_java_io_File.implementedInterfaces[0][1] = &__TIB_java_lang_Comparable;
+ // Initialize itable for this class
+ __TIB_java_io_File.itableBegin = &__TIB_java_io_File.itable[0];
+ __TIB_java_io_File.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_io_File.vtable[6];
+
+ _STATIC_java_io_File_serialVersionUID = 301077366599181567;
+ _STATIC_java_io_File_EMPTY_STRING = (java_lang_String*) xmlvm_create_java_string_from_pool(21);
+ _STATIC_java_io_File_separatorChar = 0;
+ _STATIC_java_io_File_separator = (java_lang_String*) JAVA_NULL;
+ _STATIC_java_io_File_pathSeparatorChar = 0;
+ _STATIC_java_io_File_pathSeparator = (java_lang_String*) JAVA_NULL;
+ _STATIC_java_io_File_counter = 0;
+ _STATIC_java_io_File_counterBase = 0;
+ _STATIC_java_io_File_tempFileLocker = (java_lang_Object*) JAVA_NULL;
+ _STATIC_java_io_File_caseSensitive = 0;
+
+ __TIB_java_io_File.declaredFields = &__field_reflection_data[0];
+ __TIB_java_io_File.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_io_File.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_io_File.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_io_File.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_io_File.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_io_File.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_io_File.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_io_File = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_io_File);
+ __TIB_java_io_File.clazz = __CLASS_java_io_File;
+ __TIB_java_io_File.baseType = JAVA_NULL;
+ __CLASS_java_io_File_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_File);
+ __CLASS_java_io_File_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_File_1ARRAY);
+ __CLASS_java_io_File_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_File_2ARRAY);
+ java_io_File___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_io_File]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_io_File.classInitialized = 1;
+}
+
+void __DELETE_java_io_File(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_io_File]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_io_File(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_io_File*) me)->fields.java_io_File.path_ = (java_lang_String*) JAVA_NULL;
+ ((java_io_File*) me)->fields.java_io_File.properPath_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_io_File]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_io_File()
+{ XMLVM_CLASS_INIT(java_io_File)
+java_io_File* me = (java_io_File*) XMLVM_MALLOC(sizeof(java_io_File));
+ me->tib = &__TIB_java_io_File;
+ __INIT_INSTANCE_MEMBERS_java_io_File(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_io_File]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_io_File()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_io_File_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_io_File)
+ return _STATIC_java_io_File_serialVersionUID;
+}
+
+void java_io_File_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_io_File)
+_STATIC_java_io_File_serialVersionUID = v;
+}
+
+JAVA_OBJECT java_io_File_GET_EMPTY_STRING()
+{
+ XMLVM_CLASS_INIT(java_io_File)
+ return _STATIC_java_io_File_EMPTY_STRING;
+}
+
+void java_io_File_PUT_EMPTY_STRING(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_io_File)
+_STATIC_java_io_File_EMPTY_STRING = v;
+}
+
+JAVA_CHAR java_io_File_GET_separatorChar()
+{
+ XMLVM_CLASS_INIT(java_io_File)
+ return _STATIC_java_io_File_separatorChar;
+}
+
+void java_io_File_PUT_separatorChar(JAVA_CHAR v)
+{
+ XMLVM_CLASS_INIT(java_io_File)
+_STATIC_java_io_File_separatorChar = v;
+}
+
+JAVA_OBJECT java_io_File_GET_separator()
+{
+ XMLVM_CLASS_INIT(java_io_File)
+ return _STATIC_java_io_File_separator;
+}
+
+void java_io_File_PUT_separator(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_io_File)
+_STATIC_java_io_File_separator = v;
+}
+
+JAVA_CHAR java_io_File_GET_pathSeparatorChar()
+{
+ XMLVM_CLASS_INIT(java_io_File)
+ return _STATIC_java_io_File_pathSeparatorChar;
+}
+
+void java_io_File_PUT_pathSeparatorChar(JAVA_CHAR v)
+{
+ XMLVM_CLASS_INIT(java_io_File)
+_STATIC_java_io_File_pathSeparatorChar = v;
+}
+
+JAVA_OBJECT java_io_File_GET_pathSeparator()
+{
+ XMLVM_CLASS_INIT(java_io_File)
+ return _STATIC_java_io_File_pathSeparator;
+}
+
+void java_io_File_PUT_pathSeparator(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_io_File)
+_STATIC_java_io_File_pathSeparator = v;
+}
+
+JAVA_INT java_io_File_GET_counter()
+{
+ XMLVM_CLASS_INIT(java_io_File)
+ return _STATIC_java_io_File_counter;
+}
+
+void java_io_File_PUT_counter(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_io_File)
+_STATIC_java_io_File_counter = v;
+}
+
+JAVA_INT java_io_File_GET_counterBase()
+{
+ XMLVM_CLASS_INIT(java_io_File)
+ return _STATIC_java_io_File_counterBase;
+}
+
+void java_io_File_PUT_counterBase(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_io_File)
+_STATIC_java_io_File_counterBase = v;
+}
+
+JAVA_OBJECT java_io_File_GET_tempFileLocker()
+{
+ XMLVM_CLASS_INIT(java_io_File)
+ return _STATIC_java_io_File_tempFileLocker;
+}
+
+void java_io_File_PUT_tempFileLocker(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_io_File)
+_STATIC_java_io_File_tempFileLocker = v;
+}
+
+JAVA_BOOLEAN java_io_File_GET_caseSensitive()
+{
+ XMLVM_CLASS_INIT(java_io_File)
+ return _STATIC_java_io_File_caseSensitive;
+}
+
+void java_io_File_PUT_caseSensitive(JAVA_BOOLEAN v)
+{
+ XMLVM_CLASS_INIT(java_io_File)
+_STATIC_java_io_File_caseSensitive = v;
+}
+
+//XMLVM_NATIVE[void java_io_File_oneTimeInitialization__()]
+
+void java_io_File___INIT____java_io_File_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File___INIT____java_io_File_java_lang_String]
+ XMLVM_ENTER_METHOD("java.io.File", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("File.java", 116)
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("File.java", 117)
+ if (_r3.o != JAVA_NULL) goto label11;
+ XMLVM_SOURCE_POSITION("File.java", 118)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label11:;
+ XMLVM_SOURCE_POSITION("File.java", 120)
+ if (_r2.o != JAVA_NULL) goto label20;
+ XMLVM_SOURCE_POSITION("File.java", 121)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_io_File_fixSlashes___java_lang_String(_r1.o, _r3.o);
+ XMLVM_CHECK_NPE(1)
+ ((java_io_File*) _r1.o)->fields.java_io_File.path_ = _r0.o;
+ label19:;
+ XMLVM_SOURCE_POSITION("File.java", 125)
+ XMLVM_EXIT_METHOD()
+ return;
+ label20:;
+ XMLVM_SOURCE_POSITION("File.java", 123)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_io_File_getPath__(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_io_File_calculatePath___java_lang_String_java_lang_String(_r1.o, _r0.o, _r3.o);
+ XMLVM_CHECK_NPE(1)
+ ((java_io_File*) _r1.o)->fields.java_io_File.path_ = _r0.o;
+ goto label19;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_File___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.io.File", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("File.java", 133)
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("File.java", 135)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_io_File_fixSlashes___java_lang_String(_r1.o, _r2.o);
+ XMLVM_CHECK_NPE(1)
+ ((java_io_File*) _r1.o)->fields.java_io_File.path_ = _r0.o;
+ XMLVM_SOURCE_POSITION("File.java", 136)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_File___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File___INIT____java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("java.io.File", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("File.java", 149)
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("File.java", 150)
+ if (_r3.o != JAVA_NULL) goto label11;
+ XMLVM_SOURCE_POSITION("File.java", 151)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label11:;
+ XMLVM_SOURCE_POSITION("File.java", 153)
+ if (_r2.o != JAVA_NULL) goto label20;
+ XMLVM_SOURCE_POSITION("File.java", 154)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_io_File_fixSlashes___java_lang_String(_r1.o, _r3.o);
+ XMLVM_CHECK_NPE(1)
+ ((java_io_File*) _r1.o)->fields.java_io_File.path_ = _r0.o;
+ label19:;
+ XMLVM_SOURCE_POSITION("File.java", 158)
+ XMLVM_EXIT_METHOD()
+ return;
+ label20:;
+ XMLVM_SOURCE_POSITION("File.java", 156)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_io_File_calculatePath___java_lang_String_java_lang_String(_r1.o, _r2.o, _r3.o);
+ XMLVM_CHECK_NPE(1)
+ ((java_io_File*) _r1.o)->fields.java_io_File.path_ = _r0.o;
+ goto label19;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_File___INIT____java_net_URI(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File___INIT____java_net_URI]
+ XMLVM_ENTER_METHOD("java.io.File", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("File.java", 174)
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("File.java", 176)
+ XMLVM_CHECK_NPE(1)
+ java_io_File_checkURI___java_net_URI(_r1.o, _r2.o);
+ XMLVM_SOURCE_POSITION("File.java", 177)
+
+
+ // Red class access removed: java.net.URI::getPath
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_io_File_fixSlashes___java_lang_String(_r1.o, _r0.o);
+ XMLVM_CHECK_NPE(1)
+ ((java_io_File*) _r1.o)->fields.java_io_File.path_ = _r0.o;
+ XMLVM_SOURCE_POSITION("File.java", 178)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_File_calculatePath___java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_calculatePath___java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("java.io.File", "calculatePath", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r3.o = me;
+ _r4.o = n1;
+ _r5.o = n2;
+ // ""
+ _r2.o = xmlvm_create_java_string_from_pool(21);
+ XMLVM_SOURCE_POSITION("File.java", 181)
+ XMLVM_CHECK_NPE(3)
+ _r4.o = java_io_File_fixSlashes___java_lang_String(_r3.o, _r4.o);
+ XMLVM_SOURCE_POSITION("File.java", 182)
+ // ""
+ _r1.o = xmlvm_create_java_string_from_pool(21);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(5)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r5.o)->tib->vtable[1])(_r5.o, _r2.o);
+ if (_r1.i == 0) goto label22;
+ // ""
+ _r1.o = xmlvm_create_java_string_from_pool(21);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(4)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r4.o)->tib->vtable[1])(_r4.o, _r2.o);
+ if (_r1.i == 0) goto label116;
+ label22:;
+ XMLVM_SOURCE_POSITION("File.java", 184)
+ XMLVM_CHECK_NPE(3)
+ _r5.o = java_io_File_fixSlashes___java_lang_String(_r3.o, _r5.o);
+ _r0.i = 0;
+ label27:;
+ XMLVM_SOURCE_POSITION("File.java", 186)
+ XMLVM_SOURCE_POSITION("File.java", 188)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(5)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r5.o)->tib->vtable[8])(_r5.o);
+ if (_r0.i >= _r1.i) goto label44;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(5)
+ _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r5.o)->tib->vtable[6])(_r5.o, _r0.i);
+ _r2.i = java_io_File_GET_separatorChar();
+ if (_r1.i != _r2.i) goto label44;
+ XMLVM_SOURCE_POSITION("File.java", 189)
+ _r0.i = _r0.i + 1;
+ goto label27;
+ label44:;
+ XMLVM_SOURCE_POSITION("File.java", 191)
+ if (_r0.i <= 0) goto label54;
+ XMLVM_SOURCE_POSITION("File.java", 192)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(5)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r5.o)->tib->vtable[8])(_r5.o);
+ XMLVM_CHECK_NPE(5)
+ _r5.o = java_lang_String_substring___int_int(_r5.o, _r0.i, _r1.i);
+ label54:;
+ XMLVM_SOURCE_POSITION("File.java", 196)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(4)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r4.o)->tib->vtable[8])(_r4.o);
+ if (_r1.i <= 0) goto label92;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(4)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r4.o)->tib->vtable[8])(_r4.o);
+ _r2.i = 1;
+ _r1.i = _r1.i - _r2.i;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(4)
+ _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r4.o)->tib->vtable[6])(_r4.o, _r1.i);
+ _r2.i = java_io_File_GET_separatorChar();
+ if (_r1.i != _r2.i) goto label92;
+ XMLVM_SOURCE_POSITION("File.java", 198)
+ _r1.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder___INIT___(_r1.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r4.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r5.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
+ label91:;
+ XMLVM_SOURCE_POSITION("File.java", 203)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label92:;
+ XMLVM_SOURCE_POSITION("File.java", 200)
+ _r1.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder___INIT___(_r1.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r4.o);
+ _r2.i = java_io_File_GET_separatorChar();
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[6])(_r1.o, _r2.i);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r5.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
+ goto label91;
+ label116:;
+ _r1 = _r4;
+ goto label91;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_File_checkURI___java_net_URI(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_checkURI___java_net_URI]
+ XMLVM_ENTER_METHOD("java.io.File", "checkURI", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r7.o = me;
+ _r8.o = n1;
+ _r3.i = 2;
+ _r5.i = 1;
+ _r4.i = 0;
+ // "luni.B1"
+ _r6.o = xmlvm_create_java_string_from_pool(729);
+ XMLVM_SOURCE_POSITION("File.java", 208)
+
+
+ // Red class access removed: java.net.URI::isAbsolute
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r1.i != 0) goto label23;
+ XMLVM_SOURCE_POSITION("File.java", 209)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.AD"
+ _r2.o = xmlvm_create_java_string_from_pool(730);
+ _r2.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object(_r2.o, _r8.o);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label23:;
+ XMLVM_SOURCE_POSITION("File.java", 210)
+
+
+ // Red class access removed: java.net.URI::getRawSchemeSpecificPart
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "/"
+ _r2.o = xmlvm_create_java_string_from_pool(54);
+ XMLVM_CHECK_NPE(1)
+ _r1.i = java_lang_String_startsWith___java_lang_String(_r1.o, _r2.o);
+ if (_r1.i != 0) goto label47;
+ XMLVM_SOURCE_POSITION("File.java", 211)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.AE"
+ _r2.o = xmlvm_create_java_string_from_pool(731);
+ _r2.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object(_r2.o, _r8.o);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label47:;
+ XMLVM_SOURCE_POSITION("File.java", 214)
+
+
+ // Red class access removed: java.net.URI::getScheme
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r0.o == JAVA_NULL) goto label61;
+ XMLVM_SOURCE_POSITION("File.java", 215)
+ // "file"
+ _r1.o = xmlvm_create_java_string_from_pool(732);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[1])(_r0.o, _r1.o);
+ if (_r1.i != 0) goto label73;
+ label61:;
+ XMLVM_SOURCE_POSITION("File.java", 216)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.AF"
+ _r2.o = xmlvm_create_java_string_from_pool(733);
+ _r2.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object(_r2.o, _r8.o);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label73:;
+ XMLVM_SOURCE_POSITION("File.java", 219)
+
+
+ // Red class access removed: java.net.URI::getRawPath
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r0.o == JAVA_NULL) goto label85;
+ XMLVM_SOURCE_POSITION("File.java", 220)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[8])(_r0.o);
+ if (_r1.i != 0) goto label97;
+ label85:;
+ XMLVM_SOURCE_POSITION("File.java", 221)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.B0"
+ _r2.o = xmlvm_create_java_string_from_pool(734);
+ _r2.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object(_r2.o, _r8.o);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label97:;
+ XMLVM_SOURCE_POSITION("File.java", 224)
+
+
+ // Red class access removed: java.net.URI::getRawAuthority
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r1.o == JAVA_NULL) goto label127;
+ XMLVM_SOURCE_POSITION("File.java", 225)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.B1"
+ _r2.o = xmlvm_create_java_string_from_pool(729);
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "authority"
+ _r3.o = xmlvm_create_java_string_from_pool(735);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r3.o;
+
+
+ // Red class access removed: java.net.URI::toString
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r5.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i] = _r3.o;
+ _r2.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_1ARRAY(_r6.o, _r2.o);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label127:;
+ XMLVM_SOURCE_POSITION("File.java", 229)
+
+
+ // Red class access removed: java.net.URI::getRawQuery
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r1.o == JAVA_NULL) goto label157;
+ XMLVM_SOURCE_POSITION("File.java", 230)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.B1"
+ _r2.o = xmlvm_create_java_string_from_pool(729);
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "query"
+ _r3.o = xmlvm_create_java_string_from_pool(736);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r3.o;
+
+
+ // Red class access removed: java.net.URI::toString
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r5.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i] = _r3.o;
+ _r2.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_1ARRAY(_r6.o, _r2.o);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label157:;
+ XMLVM_SOURCE_POSITION("File.java", 234)
+
+
+ // Red class access removed: java.net.URI::getRawFragment
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r1.o == JAVA_NULL) goto label187;
+ XMLVM_SOURCE_POSITION("File.java", 235)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.B1"
+ _r2.o = xmlvm_create_java_string_from_pool(729);
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "fragment"
+ _r3.o = xmlvm_create_java_string_from_pool(737);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r3.o;
+
+
+ // Red class access removed: java.net.URI::toString
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r5.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i] = _r3.o;
+ _r2.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_1ARRAY(_r6.o, _r2.o);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label187:;
+ XMLVM_SOURCE_POSITION("File.java", 238)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_io_File_rootsImpl__()]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_io_File_isCaseSensitiveImpl__()]
+
+JAVA_OBJECT java_io_File_listRoots__()
+{
+ XMLVM_CLASS_INIT(java_io_File)
+ //XMLVM_BEGIN_WRAPPER[java_io_File_listRoots__]
+ XMLVM_ENTER_METHOD("java.io.File", "listRoots", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVM_SOURCE_POSITION("File.java", 253)
+ _r2.o = java_io_File_rootsImpl__();
+ if (_r2.o != JAVA_NULL) goto label10;
+ XMLVM_SOURCE_POSITION("File.java", 254)
+ XMLVM_SOURCE_POSITION("File.java", 255)
+ _r3.i = 0;
+ XMLVM_CLASS_INIT(java_io_File)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_io_File, _r3.i);
+ label9:;
+ XMLVM_SOURCE_POSITION("File.java", 261)
+ XMLVM_EXIT_METHOD()
+ return _r3.o;
+ label10:;
+ XMLVM_SOURCE_POSITION("File.java", 257)
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ XMLVM_CLASS_INIT(java_io_File)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_java_io_File, _r3.i);
+ _r0.i = 0;
+ label14:;
+ XMLVM_SOURCE_POSITION("File.java", 258)
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ if (_r0.i >= _r3.i) goto label33;
+ XMLVM_SOURCE_POSITION("File.java", 259)
+ _r3.o = __NEW_java_io_File();
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
+ _r4.o = ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ _r4.o = org_apache_harmony_luni_util_Util_toString___byte_1ARRAY(_r4.o);
+ XMLVM_CHECK_NPE(3)
+ java_io_File___INIT____java_lang_String(_r3.o, _r4.o);
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r3.o;
+ _r0.i = _r0.i + 1;
+ goto label14;
+ label33:;
+ _r3 = _r1;
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_File_fixSlashes___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_fixSlashes___java_lang_String]
+ XMLVM_ENTER_METHOD("java.io.File", "fixSlashes", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ _r10.o = me;
+ _r11.o = n1;
+ XMLVM_SOURCE_POSITION("File.java", 270)
+ _r7.i = 1;
+ XMLVM_SOURCE_POSITION("File.java", 271)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(11)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r11.o)->tib->vtable[8])(_r11.o);
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("File.java", 272)
+ _r8.i = java_io_File_GET_separatorChar();
+ _r9.i = 47;
+ if (_r8.i != _r9.i) goto label55;
+ XMLVM_SOURCE_POSITION("File.java", 273)
+ _r7.i = 0;
+ label13:;
+ XMLVM_SOURCE_POSITION("File.java", 278)
+ _r0.i = 0;
+ XMLVM_SOURCE_POSITION("File.java", 279)
+ XMLVM_CHECK_NPE(11)
+ _r5.o = java_lang_String_toCharArray__(_r11.o);
+ _r1.i = 0;
+ _r4 = _r3;
+ label20:;
+ XMLVM_SOURCE_POSITION("File.java", 280)
+ if (_r1.i >= _r2.i) goto label112;
+ XMLVM_SOURCE_POSITION("File.java", 281)
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r1.i);
+ _r6.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_SOURCE_POSITION("File.java", 282)
+ _r8.i = java_io_File_GET_separatorChar();
+ _r9.i = 92;
+ if (_r8.i != _r9.i) goto label34;
+ _r8.i = 92;
+ if (_r6.i == _r8.i) goto label38;
+ label34:;
+ _r8.i = 47;
+ if (_r6.i != _r8.i) goto label69;
+ label38:;
+ XMLVM_SOURCE_POSITION("File.java", 285)
+ if (_r0.i == 0) goto label42;
+ if (_r1.i == _r7.i) goto label44;
+ label42:;
+ if (_r0.i != 0) goto label141;
+ label44:;
+ XMLVM_SOURCE_POSITION("File.java", 286)
+ _r3.i = _r4.i + 1;
+ _r8.i = java_io_File_GET_separatorChar();
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r4.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r8.i;
+ XMLVM_SOURCE_POSITION("File.java", 287)
+ _r0.i = 1;
+ label51:;
+ _r1.i = _r1.i + 1;
+ _r4 = _r3;
+ goto label20;
+ label55:;
+ XMLVM_SOURCE_POSITION("File.java", 274)
+ _r8.i = 2;
+ if (_r2.i <= _r8.i) goto label13;
+ _r8.i = 1;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(11)
+ _r8.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r11.o)->tib->vtable[6])(_r11.o, _r8.i);
+ _r9.i = 58;
+ if (_r8.i != _r9.i) goto label13;
+ XMLVM_SOURCE_POSITION("File.java", 275)
+ _r7.i = 2;
+ goto label13;
+ label69:;
+ XMLVM_SOURCE_POSITION("File.java", 291)
+ _r8.i = 58;
+ if (_r6.i != _r8.i) goto label139;
+ if (_r7.i <= 0) goto label139;
+ _r8.i = 2;
+ if (_r4.i == _r8.i) goto label88;
+ _r8.i = 3;
+ if (_r4.i != _r8.i) goto label139;
+ _r8.i = 1;
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r8.i);
+ _r8.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i];
+ _r9.i = java_io_File_GET_separatorChar();
+ if (_r8.i != _r9.i) goto label139;
+ label88:;
+ _r8.i = 0;
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r8.i);
+ _r8.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i];
+ _r9.i = java_io_File_GET_separatorChar();
+ if (_r8.i != _r9.i) goto label139;
+ XMLVM_SOURCE_POSITION("File.java", 295)
+ _r8.i = 0;
+ _r9.i = 1;
+ _r9.i = _r4.i - _r9.i;
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r9.i);
+ _r9.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i];
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r8.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r9.i;
+ XMLVM_SOURCE_POSITION("File.java", 296)
+ _r3.i = 1;
+ _r7.i = 2;
+ label105:;
+ XMLVM_SOURCE_POSITION("File.java", 298)
+ XMLVM_SOURCE_POSITION("File.java", 300)
+ _r4.i = _r3.i + 1;
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r3.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r6.i;
+ XMLVM_SOURCE_POSITION("File.java", 301)
+ _r0.i = 0;
+ _r3 = _r4;
+ goto label51;
+ label112:;
+ XMLVM_SOURCE_POSITION("File.java", 305)
+ if (_r0.i == 0) goto label137;
+ _r8.i = _r7.i + 1;
+ if (_r4.i > _r8.i) goto label128;
+ _r8.i = 2;
+ if (_r4.i != _r8.i) goto label137;
+ _r8.i = 0;
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r8.i);
+ _r8.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i];
+ _r9.i = java_io_File_GET_separatorChar();
+ if (_r8.i == _r9.i) goto label137;
+ label128:;
+ XMLVM_SOURCE_POSITION("File.java", 307)
+ _r3.i = _r4.i + -1;
+ label130:;
+ XMLVM_SOURCE_POSITION("File.java", 310)
+ _r8.o = __NEW_java_lang_String();
+ _r9.i = 0;
+ XMLVM_CHECK_NPE(8)
+ java_lang_String___INIT____char_1ARRAY_int_int(_r8.o, _r5.o, _r9.i, _r3.i);
+ XMLVM_EXIT_METHOD()
+ return _r8.o;
+ label137:;
+ _r3 = _r4;
+ goto label130;
+ label139:;
+ _r3 = _r4;
+ goto label105;
+ label141:;
+ _r3 = _r4;
+ goto label51;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_io_File_canRead__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_canRead__]
+ XMLVM_ENTER_METHOD("java.io.File", "canRead", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.o = me;
+ _r4.i = 1;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("File.java", 322)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_io_File*) _r5.o)->fields.java_io_File.path_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(2)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r2.o)->tib->vtable[8])(_r2.o);
+ if (_r2.i != 0) goto label12;
+ _r2 = _r3;
+ label11:;
+ XMLVM_SOURCE_POSITION("File.java", 323)
+ XMLVM_SOURCE_POSITION("File.java", 330)
+ XMLVM_EXIT_METHOD()
+ return _r2.i;
+ label12:;
+ XMLVM_SOURCE_POSITION("File.java", 325)
+ _r1.o = java_lang_System_getSecurityManager__();
+ if (_r1.o == JAVA_NULL) goto label23;
+ XMLVM_SOURCE_POSITION("File.java", 326)
+ XMLVM_SOURCE_POSITION("File.java", 327)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_io_File*) _r5.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(1)
+ java_lang_SecurityManager_checkRead___java_lang_String(_r1.o, _r2.o);
+ label23:;
+ XMLVM_SOURCE_POSITION("File.java", 329)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = java_io_File_properPath___boolean(_r5.o, _r4.i);
+ XMLVM_CHECK_NPE(5)
+ _r2.i = java_io_File_existsImpl___byte_1ARRAY(_r5.o, _r0.o);
+ if (_r2.i == 0) goto label41;
+ XMLVM_CHECK_NPE(5)
+ _r2.i = java_io_File_isWriteOnlyImpl___byte_1ARRAY(_r5.o, _r0.o);
+ if (_r2.i != 0) goto label41;
+ _r2 = _r4;
+ goto label11;
+ label41:;
+ _r2 = _r3;
+ goto label11;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_io_File_canWrite__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_canWrite__]
+ XMLVM_ENTER_METHOD("java.io.File", "canWrite", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ _r3.i = 1;
+ XMLVM_SOURCE_POSITION("File.java", 343)
+ _r1.o = java_lang_System_getSecurityManager__();
+ if (_r1.o == JAVA_NULL) goto label12;
+ XMLVM_SOURCE_POSITION("File.java", 344)
+ XMLVM_SOURCE_POSITION("File.java", 345)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_io_File*) _r4.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(1)
+ java_lang_SecurityManager_checkWrite___java_lang_String(_r1.o, _r2.o);
+ label12:;
+ XMLVM_SOURCE_POSITION("File.java", 349)
+ _r0.i = 0;
+ XMLVM_SOURCE_POSITION("File.java", 350)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_io_File*) _r4.o)->fields.java_io_File.path_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(2)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r2.o)->tib->vtable[8])(_r2.o);
+ if (_r2.i <= 0) goto label29;
+ XMLVM_SOURCE_POSITION("File.java", 351)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = java_io_File_properPath___boolean(_r4.o, _r3.i);
+ XMLVM_CHECK_NPE(4)
+ _r0.i = java_io_File_existsImpl___byte_1ARRAY(_r4.o, _r2.o);
+ label29:;
+ XMLVM_SOURCE_POSITION("File.java", 353)
+ if (_r0.i == 0) goto label43;
+ XMLVM_CHECK_NPE(4)
+ _r2.o = java_io_File_properPath___boolean(_r4.o, _r3.i);
+ XMLVM_CHECK_NPE(4)
+ _r2.i = java_io_File_isReadOnlyImpl___byte_1ARRAY(_r4.o, _r2.o);
+ if (_r2.i != 0) goto label43;
+ _r2 = _r3;
+ label42:;
+ XMLVM_EXIT_METHOD()
+ return _r2.i;
+ label43:;
+ _r2.i = 0;
+ goto label42;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_io_File_compareTo___java_io_File(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_compareTo___java_io_File]
+ XMLVM_ENTER_METHOD("java.io.File", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("File.java", 367)
+ _r0.i = java_io_File_GET_caseSensitive();
+ if (_r0.i == 0) goto label17;
+ XMLVM_SOURCE_POSITION("File.java", 368)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_io_File_getPath__(_r2.o);
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_io_File_getPath__(_r3.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_compareTo___java_lang_String(_r0.o, _r1.o);
+ label16:;
+ XMLVM_SOURCE_POSITION("File.java", 370)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label17:;
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_io_File_getPath__(_r2.o);
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_io_File_getPath__(_r3.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_compareToIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ goto label16;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_io_File_delete__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_delete__]
+ XMLVM_ENTER_METHOD("java.io.File", "delete", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("File.java", 383)
+ _r1.o = java_lang_System_getSecurityManager__();
+ if (_r1.o == JAVA_NULL) goto label11;
+ XMLVM_SOURCE_POSITION("File.java", 384)
+ XMLVM_SOURCE_POSITION("File.java", 385)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_io_File*) _r3.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(1)
+ java_lang_SecurityManager_checkDelete___java_lang_String(_r1.o, _r2.o);
+ label11:;
+ XMLVM_SOURCE_POSITION("File.java", 387)
+ _r2.i = 1;
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_io_File_properPath___boolean(_r3.o, _r2.i);
+ XMLVM_SOURCE_POSITION("File.java", 388)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_io_File*) _r3.o)->fields.java_io_File.path_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(2)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r2.o)->tib->vtable[8])(_r2.o);
+ if (_r2.i == 0) goto label35;
+ XMLVM_CHECK_NPE(3)
+ _r2.i = java_io_File_isDirectoryImpl___byte_1ARRAY(_r3.o, _r0.o);
+ if (_r2.i == 0) goto label35;
+ XMLVM_SOURCE_POSITION("File.java", 389)
+ XMLVM_CHECK_NPE(3)
+ _r2.i = java_io_File_deleteDirImpl___byte_1ARRAY(_r3.o, _r0.o);
+ label34:;
+ XMLVM_SOURCE_POSITION("File.java", 391)
+ XMLVM_EXIT_METHOD()
+ return _r2.i;
+ label35:;
+ XMLVM_CHECK_NPE(3)
+ _r2.i = java_io_File_deleteFileImpl___byte_1ARRAY(_r3.o, _r0.o);
+ goto label34;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_io_File_deleteDirImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_io_File_deleteFileImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+void java_io_File_deleteOnExit__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_deleteOnExit__]
+ XMLVM_ENTER_METHOD("java.io.File", "deleteOnExit", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("File.java", 408)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label11;
+ XMLVM_SOURCE_POSITION("File.java", 409)
+ XMLVM_SOURCE_POSITION("File.java", 410)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_io_File*) _r2.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkDelete___java_lang_String(_r0.o, _r1.o);
+ label11:;
+ XMLVM_SOURCE_POSITION("File.java", 413)
+ _r1.i = 1;
+ XMLVM_CHECK_NPE(2)
+ _r1.o = java_io_File_properPath___boolean(_r2.o, _r1.i);
+ _r1.o = org_apache_harmony_luni_util_Util_toUTF8String___byte_1ARRAY(_r1.o);
+
+
+ // Red class access removed: org.apache.harmony.luni.util.DeleteOnExit::addFile
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("File.java", 414)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_io_File_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.io.File", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("File.java", 427)
+ XMLVM_CLASS_INIT(java_io_File)
+ _r0.i = XMLVM_ISA(_r3.o, __CLASS_java_io_File);
+ if (_r0.i != 0) goto label6;
+ XMLVM_SOURCE_POSITION("File.java", 428)
+ _r0.i = 0;
+ label5:;
+ XMLVM_SOURCE_POSITION("File.java", 433)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ XMLVM_SOURCE_POSITION("File.java", 430)
+ _r0.i = java_io_File_GET_caseSensitive();
+ if (_r0.i != 0) goto label23;
+ XMLVM_SOURCE_POSITION("File.java", 431)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_io_File*) _r2.o)->fields.java_io_File.path_;
+ _r3.o = _r3.o;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_io_File_getPath__(_r3.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ goto label5;
+ label23:;
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_io_File*) _r2.o)->fields.java_io_File.path_;
+ _r3.o = _r3.o;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_io_File_getPath__(_r3.o);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[1])(_r0.o, _r1.o);
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_io_File_exists__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_exists__]
+ XMLVM_ENTER_METHOD("java.io.File", "exists", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("File.java", 448)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_io_File*) _r2.o)->fields.java_io_File.path_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(1)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
+ if (_r1.i != 0) goto label10;
+ XMLVM_SOURCE_POSITION("File.java", 449)
+ _r1.i = 0;
+ label9:;
+ XMLVM_SOURCE_POSITION("File.java", 455)
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ label10:;
+ XMLVM_SOURCE_POSITION("File.java", 451)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label21;
+ XMLVM_SOURCE_POSITION("File.java", 452)
+ XMLVM_SOURCE_POSITION("File.java", 453)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_io_File*) _r2.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkRead___java_lang_String(_r0.o, _r1.o);
+ label21:;
+ _r1.i = 1;
+ XMLVM_CHECK_NPE(2)
+ _r1.o = java_io_File_properPath___boolean(_r2.o, _r1.i);
+ XMLVM_CHECK_NPE(2)
+ _r1.i = java_io_File_existsImpl___byte_1ARRAY(_r2.o, _r1.o);
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_io_File_existsImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+JAVA_OBJECT java_io_File_getAbsolutePath__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_getAbsolutePath__]
+ XMLVM_ENTER_METHOD("java.io.File", "getAbsolutePath", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("File.java", 468)
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_io_File_properPath___boolean(_r2.o, _r1.i);
+ XMLVM_SOURCE_POSITION("File.java", 469)
+ _r1.o = org_apache_harmony_luni_util_Util_toUTF8String___byte_1ARRAY(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_File_getAbsoluteFile__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_getAbsoluteFile__]
+ XMLVM_ENTER_METHOD("java.io.File", "getAbsoluteFile", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("File.java", 479)
+ _r0.o = __NEW_java_io_File();
+ XMLVM_CHECK_NPE(2)
+ _r1.o = java_io_File_getAbsolutePath__(_r2.o);
+ XMLVM_CHECK_NPE(0)
+ java_io_File___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_File_getCanonicalPath__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_getCanonicalPath__]
+ XMLVM_ENTER_METHOD("java.io.File", "getCanonicalPath", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ XMLVMElem _r14;
+ XMLVMElem _r15;
+ XMLVMElem _r16;
+ XMLVMElem _r17;
+ XMLVMElem _r18;
+ XMLVMElem _r19;
+ XMLVMElem _r20;
+ _r20.o = me;
+ XMLVM_SOURCE_POSITION("File.java", 498)
+ _r18.i = 0;
+ _r0 = _r20;
+ _r1 = _r18;
+ XMLVM_CHECK_NPE(0)
+ _r15.o = java_io_File_properPath___boolean(_r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("File.java", 499)
+ _r4.o = org_apache_harmony_luni_util_Util_toUTF8String___byte_1ARRAY(_r15.o);
+ XMLVM_SOURCE_POSITION("File.java", 500)
+
+
+ // Red class access removed: org.apache.harmony.luni.internal.io.FileCanonPathCache::get
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r5.o == JAVA_NULL) goto label22;
+ XMLVM_SOURCE_POSITION("File.java", 502)
+ _r6 = _r5;
+ label21:;
+ XMLVM_SOURCE_POSITION("File.java", 503)
+ XMLVM_SOURCE_POSITION("File.java", 578)
+ XMLVM_EXIT_METHOD()
+ return _r6.o;
+ label22:;
+ XMLVM_SOURCE_POSITION("File.java", 505)
+ _r18.i = java_io_File_GET_separatorChar();
+ _r19.i = 47;
+ _r0 = _r18;
+ _r1 = _r19;
+ if (_r0.i != _r1.i) goto label56;
+ XMLVM_SOURCE_POSITION("File.java", 507)
+ _r0 = _r15;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ _r18 = _r0;
+ _r19.i = 0;
+ _r0 = _r20;
+ _r1 = _r15;
+ _r2 = _r18;
+ _r3 = _r19;
+ XMLVM_CHECK_NPE(0)
+ _r15.o = java_io_File_resolveLink___byte_1ARRAY_int_boolean(_r0.o, _r1.o, _r2.i, _r3.i);
+ XMLVM_SOURCE_POSITION("File.java", 509)
+ _r0 = _r20;
+ _r1 = _r15;
+ XMLVM_CHECK_NPE(0)
+ _r15.o = java_io_File_resolve___byte_1ARRAY(_r0.o, _r1.o);
+ label56:;
+ XMLVM_SOURCE_POSITION("File.java", 511)
+ _r14.i = 1;
+ _r8.i = 0;
+ label58:;
+ XMLVM_SOURCE_POSITION("File.java", 512)
+ _r0 = _r15;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ _r18 = _r0;
+ _r0 = _r8;
+ _r1 = _r18;
+ if (_r0.i >= _r1.i) goto label82;
+ XMLVM_SOURCE_POSITION("File.java", 513)
+ XMLVM_CHECK_NPE(15)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r15.o, _r8.i);
+ _r18.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r15.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i];
+ _r19.i = java_io_File_GET_separatorChar();
+ _r0 = _r18;
+ _r1 = _r19;
+ if (_r0.i != _r1.i) goto label79;
+ XMLVM_SOURCE_POSITION("File.java", 514)
+ _r14.i = _r14.i + 1;
+ label79:;
+ _r8.i = _r8.i + 1;
+ goto label58;
+ label82:;
+ XMLVM_SOURCE_POSITION("File.java", 517)
+ _r0 = _r14;
+ XMLVM_CLASS_INIT(int)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_int, _r0.i);
+ _r17 = _r0;
+ _r16.i = 0;
+ XMLVM_SOURCE_POSITION("File.java", 519)
+ _r18.i = java_io_File_GET_separatorChar();
+ _r19.i = 47;
+ _r0 = _r18;
+ _r1 = _r19;
+ if (_r0.i == _r1.i) goto label139;
+ XMLVM_SOURCE_POSITION("File.java", 520)
+ _r18.i = 0;
+ XMLVM_CHECK_NPE(15)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r15.o, _r18.i);
+ _r18.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r15.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r18.i];
+ _r19.i = 92;
+ _r0 = _r18;
+ _r1 = _r19;
+ if (_r0.i != _r1.i) goto label185;
+ XMLVM_SOURCE_POSITION("File.java", 521)
+ _r0 = _r15;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ _r18 = _r0;
+ _r19.i = 1;
+ _r0 = _r18;
+ _r1 = _r19;
+ if (_r0.i <= _r1.i) goto label180;
+ _r18.i = 1;
+ XMLVM_CHECK_NPE(15)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r15.o, _r18.i);
+ _r18.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r15.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r18.i];
+ _r19.i = 92;
+ _r0 = _r18;
+ _r1 = _r19;
+ if (_r0.i != _r1.i) goto label180;
+ _r18.i = 1;
+ _r16 = _r18;
+ label139:;
+ XMLVM_SOURCE_POSITION("File.java", 526)
+ _r0 = _r15;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ _r18 = _r0;
+ _r18.i = _r18.i + 1;
+ _r0 = _r18;
+ XMLVM_CLASS_INIT(byte)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r0.i);
+ _r13 = _r0;
+ _r11.i = 0;
+ _r10.i = 0;
+ _r7.i = 0;
+ XMLVM_SOURCE_POSITION("File.java", 528)
+ XMLVM_CHECK_NPE(17)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r17.o, _r10.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r17.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r10.i] = _r16.i;
+ XMLVM_SOURCE_POSITION("File.java", 529)
+ _r8.i = 0;
+ label156:;
+ _r0 = _r15;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ _r18 = _r0;
+ _r0 = _r8;
+ _r1 = _r18;
+ if (_r0.i > _r1.i) goto label218;
+ XMLVM_SOURCE_POSITION("File.java", 530)
+ _r0 = _r8;
+ _r1 = _r16;
+ if (_r0.i >= _r1.i) goto label188;
+ XMLVM_SOURCE_POSITION("File.java", 531)
+ _r12.i = _r11.i + 1;
+ XMLVM_CHECK_NPE(15)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r15.o, _r8.i);
+ _r18.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r15.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i];
+ XMLVM_CHECK_NPE(13)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r13.o, _r11.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r13.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r11.i] = _r18.i;
+ _r11 = _r12;
+ label177:;
+ _r8.i = _r8.i + 1;
+ goto label156;
+ label180:;
+ _r18.i = 0;
+ _r16 = _r18;
+ goto label139;
+ label185:;
+ XMLVM_SOURCE_POSITION("File.java", 523)
+ _r16.i = 2;
+ goto label139;
+ label188:;
+ XMLVM_SOURCE_POSITION("File.java", 533)
+ _r0 = _r15;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ _r18 = _r0;
+ _r0 = _r8;
+ _r1 = _r18;
+ if (_r0.i == _r1.i) goto label207;
+ XMLVM_CHECK_NPE(15)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r15.o, _r8.i);
+ _r18.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r15.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i];
+ _r19.i = java_io_File_GET_separatorChar();
+ _r0 = _r18;
+ _r1 = _r19;
+ if (_r0.i != _r1.i) goto label332;
+ label207:;
+ XMLVM_SOURCE_POSITION("File.java", 534)
+ _r0 = _r15;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ _r18 = _r0;
+ _r0 = _r8;
+ _r1 = _r18;
+ if (_r0.i != _r1.i) goto label269;
+ if (_r7.i != 0) goto label269;
+ label218:;
+ XMLVM_SOURCE_POSITION("File.java", 569)
+ _r18.i = _r16.i + 1;
+ _r0 = _r11;
+ _r1 = _r18;
+ if (_r0.i <= _r1.i) goto label241;
+ _r18.i = 1;
+ _r18.i = _r11.i - _r18.i;
+ XMLVM_CHECK_NPE(13)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r13.o, _r18.i);
+ _r18.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r13.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r18.i];
+ _r19.i = java_io_File_GET_separatorChar();
+ _r0 = _r18;
+ _r1 = _r19;
+ if (_r0.i != _r1.i) goto label241;
+ XMLVM_SOURCE_POSITION("File.java", 571)
+ _r11.i = _r11.i + -1;
+ label241:;
+ XMLVM_SOURCE_POSITION("File.java", 573)
+ _r18.i = 0;
+ XMLVM_CHECK_NPE(13)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r13.o, _r11.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r13.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r11.i] = _r18.i;
+ XMLVM_SOURCE_POSITION("File.java", 574)
+ _r0 = _r20;
+ _r1 = _r13;
+ XMLVM_CHECK_NPE(0)
+ _r13.o = java_io_File_getCanonImpl___byte_1ARRAY(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("File.java", 575)
+ _r11.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r13.o));
+ _r18.i = 0;
+ XMLVM_SOURCE_POSITION("File.java", 576)
+ _r0 = _r13;
+ _r1 = _r18;
+ _r2 = _r11;
+ _r5.o = org_apache_harmony_luni_util_Util_toUTF8String___byte_1ARRAY_int_int(_r0.o, _r1.i, _r2.i);
+ XMLVM_SOURCE_POSITION("File.java", 577)
+
+
+ // Red class access removed: org.apache.harmony.luni.internal.io.FileCanonPathCache::put
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r6 = _r5;
+ goto label21;
+ label269:;
+ XMLVM_SOURCE_POSITION("File.java", 537)
+ _r18.i = 1;
+ _r0 = _r7;
+ _r1 = _r18;
+ if (_r0.i != _r1.i) goto label278;
+ XMLVM_SOURCE_POSITION("File.java", 539)
+ _r7.i = 0;
+ XMLVM_SOURCE_POSITION("File.java", 540)
+ goto label177;
+ label278:;
+ XMLVM_SOURCE_POSITION("File.java", 542)
+ _r18.i = 1;
+ _r0 = _r7;
+ _r1 = _r18;
+ if (_r0.i <= _r1.i) goto label314;
+ XMLVM_SOURCE_POSITION("File.java", 544)
+ _r18.i = 1;
+ _r18.i = _r7.i - _r18.i;
+ _r0 = _r10;
+ _r1 = _r18;
+ if (_r0.i <= _r1.i) goto label309;
+ _r18.i = 1;
+ _r18.i = _r7.i - _r18.i;
+ _r18.i = _r10.i - _r18.i;
+ _r10 = _r18;
+ label302:;
+ XMLVM_SOURCE_POSITION("File.java", 546)
+ XMLVM_CHECK_NPE(17)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r17.o, _r10.i);
+ _r18.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r17.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r10.i];
+ _r11.i = _r18.i + 1;
+ _r7.i = 0;
+ XMLVM_SOURCE_POSITION("File.java", 548)
+ goto label177;
+ label309:;
+ _r18.i = 0;
+ _r10 = _r18;
+ goto label302;
+ label314:;
+ XMLVM_SOURCE_POSITION("File.java", 550)
+ _r10.i = _r10.i + 1;
+ XMLVM_CHECK_NPE(17)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r17.o, _r10.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r17.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r10.i] = _r11.i;
+ XMLVM_SOURCE_POSITION("File.java", 551)
+ _r12.i = _r11.i + 1;
+ _r18.i = java_io_File_GET_separatorChar();
+ _r0 = _r18;
+ _r0.i = (_r0.i << 24) >> 24;
+ _r18 = _r0;
+ XMLVM_CHECK_NPE(13)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r13.o, _r11.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r13.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r11.i] = _r18.i;
+ _r11 = _r12;
+ XMLVM_SOURCE_POSITION("File.java", 552)
+ goto label177;
+ label332:;
+ XMLVM_SOURCE_POSITION("File.java", 554)
+ XMLVM_CHECK_NPE(15)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r15.o, _r8.i);
+ _r18.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r15.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i];
+ _r19.i = 46;
+ _r0 = _r18;
+ _r1 = _r19;
+ if (_r0.i != _r1.i) goto label346;
+ XMLVM_SOURCE_POSITION("File.java", 555)
+ _r7.i = _r7.i + 1;
+ XMLVM_SOURCE_POSITION("File.java", 556)
+ goto label177;
+ label346:;
+ XMLVM_SOURCE_POSITION("File.java", 559)
+ if (_r7.i <= 0) goto label363;
+ XMLVM_SOURCE_POSITION("File.java", 560)
+ _r9.i = 0;
+ _r12 = _r11;
+ label350:;
+ if (_r9.i >= _r7.i) goto label362;
+ XMLVM_SOURCE_POSITION("File.java", 561)
+ _r11.i = _r12.i + 1;
+ _r18.i = 46;
+ XMLVM_CHECK_NPE(13)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r13.o, _r12.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r13.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r12.i] = _r18.i;
+ _r9.i = _r9.i + 1;
+ _r12 = _r11;
+ goto label350;
+ label362:;
+ _r11 = _r12;
+ label363:;
+ XMLVM_SOURCE_POSITION("File.java", 564)
+ _r12.i = _r11.i + 1;
+ XMLVM_CHECK_NPE(15)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r15.o, _r8.i);
+ _r18.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r15.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i];
+ XMLVM_CHECK_NPE(13)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r13.o, _r11.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r13.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r11.i] = _r18.i;
+ XMLVM_SOURCE_POSITION("File.java", 565)
+ _r7.i = 0;
+ _r11 = _r12;
+ goto label177;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_File_resolve___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_resolve___byte_1ARRAY]
+ XMLVM_ENTER_METHOD("java.io.File", "resolve", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ _r12.o = me;
+ _r13.o = n1;
+ _r11.i = 0;
+ _r10.i = 1;
+ XMLVM_SOURCE_POSITION("File.java", 585)
+ _r4.i = 1;
+ _r5 = _r13;
+ _r2.i = 1;
+ label5:;
+ XMLVM_SOURCE_POSITION("File.java", 588)
+ _r8.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r13.o));
+ if (_r2.i > _r8.i) goto label92;
+ XMLVM_SOURCE_POSITION("File.java", 589)
+ _r8.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r13.o));
+ if (_r2.i == _r8.i) goto label17;
+ XMLVM_CHECK_NPE(13)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r13.o, _r2.i);
+ _r8.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r13.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ _r9.i = java_io_File_GET_separatorChar();
+ if (_r8.i != _r9.i) goto label87;
+ label17:;
+ XMLVM_SOURCE_POSITION("File.java", 590)
+ _r8.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r13.o));
+ _r8.i = _r8.i - _r10.i;
+ if (_r2.i < _r8.i) goto label29;
+ _r1 = _r10;
+ label22:;
+ if (_r1.i == 0) goto label31;
+ XMLVM_SOURCE_POSITION("File.java", 592)
+ _r8.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ if (_r8.i != _r10.i) goto label31;
+ _r8 = _r13;
+ label28:;
+ XMLVM_SOURCE_POSITION("File.java", 593)
+ XMLVM_SOURCE_POSITION("File.java", 617)
+ XMLVM_EXIT_METHOD()
+ return _r8.o;
+ label29:;
+ _r1 = _r11;
+ goto label22;
+ label31:;
+ XMLVM_SOURCE_POSITION("File.java", 595)
+ _r3.i = 0;
+ if (_r5.o != _r13.o) goto label44;
+ XMLVM_SOURCE_POSITION("File.java", 596)
+ XMLVM_SOURCE_POSITION("File.java", 597)
+ _r0 = _r13;
+ if (_r1.i != 0) goto label40;
+ XMLVM_SOURCE_POSITION("File.java", 600)
+ XMLVM_SOURCE_POSITION("File.java", 601)
+ _r3.i = 1;
+ XMLVM_SOURCE_POSITION("File.java", 602)
+ XMLVM_CHECK_NPE(13)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r13.o, _r2.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r13.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r11.i;
+ label40:;
+ XMLVM_SOURCE_POSITION("File.java", 616)
+ if (_r1.i == 0) goto label72;
+ _r8 = _r0;
+ goto label28;
+ label44:;
+ XMLVM_SOURCE_POSITION("File.java", 605)
+ _r8.i = _r2.i - _r4.i;
+ _r7.i = _r8.i + 1;
+ XMLVM_SOURCE_POSITION("File.java", 606)
+ _r6.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ _r8.i = _r6.i - _r10.i;
+ XMLVM_SOURCE_POSITION("File.java", 607)
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r8.i);
+ _r8.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i];
+ _r9.i = java_io_File_GET_separatorChar();
+ if (_r8.i != _r9.i) goto label59;
+ XMLVM_SOURCE_POSITION("File.java", 608)
+ _r6.i = _r6.i + -1;
+ label59:;
+ XMLVM_SOURCE_POSITION("File.java", 610)
+ _r8.i = _r6.i + _r7.i;
+ XMLVM_CLASS_INIT(byte)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r8.i);
+ XMLVM_SOURCE_POSITION("File.java", 611)
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r5.o, _r11.i, _r0.o, _r11.i, _r6.i);
+ XMLVM_SOURCE_POSITION("File.java", 612)
+ _r8.i = _r4.i - _r10.i;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r13.o, _r8.i, _r0.o, _r6.i, _r7.i);
+ goto label40;
+ label72:;
+ XMLVM_SOURCE_POSITION("File.java", 619)
+ if (_r3.i == 0) goto label90;
+ _r8 = _r2;
+ label75:;
+ XMLVM_CHECK_NPE(12)
+ _r5.o = java_io_File_resolveLink___byte_1ARRAY_int_boolean(_r12.o, _r0.o, _r8.i, _r10.i);
+ if (_r3.i == 0) goto label85;
+ XMLVM_SOURCE_POSITION("File.java", 620)
+ XMLVM_SOURCE_POSITION("File.java", 621)
+ _r8.i = 47;
+ XMLVM_CHECK_NPE(13)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r13.o, _r2.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r13.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r8.i;
+ label85:;
+ XMLVM_SOURCE_POSITION("File.java", 623)
+ _r4.i = _r2.i + 1;
+ label87:;
+ _r2.i = _r2.i + 1;
+ goto label5;
+ label90:;
+ _r8.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ goto label75;
+ label92:;
+ XMLVM_SOURCE_POSITION("File.java", 626)
+
+
+ // Red class access removed: java.lang.InternalError::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.InternalError::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r8.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_File_resolveLink___byte_1ARRAY_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_BOOLEAN n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_resolveLink___byte_1ARRAY_int_boolean]
+ XMLVM_ENTER_METHOD("java.io.File", "resolveLink", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ _r7.o = me;
+ _r8.o = n1;
+ _r9.i = n2;
+ _r10.i = n3;
+ _r6.i = 0;
+ XMLVM_SOURCE_POSITION("File.java", 636)
+ _r2.i = 0;
+ label2:;
+ XMLVM_SOURCE_POSITION("File.java", 639)
+ XMLVM_CHECK_NPE(7)
+ _r1.o = java_io_File_getLinkImpl___byte_1ARRAY(_r7.o, _r8.o);
+ if (_r1.o != _r8.o) goto label15;
+ label8:;
+ XMLVM_SOURCE_POSITION("File.java", 640)
+ XMLVM_SOURCE_POSITION("File.java", 662)
+ if (_r2.i == 0) goto label58;
+ XMLVM_SOURCE_POSITION("File.java", 663)
+ XMLVM_CHECK_NPE(7)
+ _r4.o = java_io_File_resolve___byte_1ARRAY(_r7.o, _r8.o);
+ label14:;
+ XMLVM_SOURCE_POSITION("File.java", 665)
+ XMLVM_EXIT_METHOD()
+ return _r4.o;
+ label15:;
+ XMLVM_SOURCE_POSITION("File.java", 643)
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r6.i);
+ _r4.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i];
+ _r5.i = java_io_File_GET_separatorChar();
+ if (_r4.i != _r5.i) goto label31;
+ XMLVM_SOURCE_POSITION("File.java", 646)
+ _r2 = _r10;
+ _r8 = _r1;
+ label23:;
+ XMLVM_SOURCE_POSITION("File.java", 647)
+ XMLVM_SOURCE_POSITION("File.java", 659)
+ _r9.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r8.o));
+ XMLVM_SOURCE_POSITION("File.java", 660)
+ XMLVM_CHECK_NPE(7)
+ _r4.i = java_io_File_existsImpl___byte_1ARRAY(_r7.o, _r8.o);
+ if (_r4.i != 0) goto label2;
+ goto label8;
+ label31:;
+ XMLVM_SOURCE_POSITION("File.java", 649)
+ _r4.i = 1;
+ _r0.i = _r9.i - _r4.i;
+ label34:;
+ XMLVM_SOURCE_POSITION("File.java", 650)
+ XMLVM_CHECK_NPE(8)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r8.o, _r0.i);
+ _r4.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r8.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ _r5.i = java_io_File_GET_separatorChar();
+ if (_r4.i == _r5.i) goto label43;
+ XMLVM_SOURCE_POSITION("File.java", 651)
+ _r0.i = _r0.i + -1;
+ goto label34;
+ label43:;
+ XMLVM_SOURCE_POSITION("File.java", 653)
+ _r0.i = _r0.i + 1;
+ XMLVM_SOURCE_POSITION("File.java", 654)
+ _r4.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ _r4.i = _r4.i + _r0.i;
+ XMLVM_CLASS_INIT(byte)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r4.i);
+ XMLVM_SOURCE_POSITION("File.java", 655)
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r8.o, _r6.i, _r3.o, _r6.i, _r0.i);
+ XMLVM_SOURCE_POSITION("File.java", 656)
+ _r4.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r6.i, _r3.o, _r0.i, _r4.i);
+ XMLVM_SOURCE_POSITION("File.java", 657)
+ _r8 = _r3;
+ goto label23;
+ label58:;
+ _r4 = _r8;
+ goto label14;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_File_getCanonicalFile__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_getCanonicalFile__]
+ XMLVM_ENTER_METHOD("java.io.File", "getCanonicalFile", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("File.java", 678)
+ _r0.o = __NEW_java_io_File();
+ XMLVM_CHECK_NPE(2)
+ _r1.o = java_io_File_getCanonicalPath__(_r2.o);
+ XMLVM_CHECK_NPE(0)
+ java_io_File___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_io_File_getCanonImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+JAVA_OBJECT java_io_File_getName__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_getName__]
+ XMLVM_ENTER_METHOD("java.io.File", "getName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ XMLVM_SOURCE_POSITION("File.java", 690)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_io_File*) _r4.o)->fields.java_io_File.path_;
+ _r2.o = java_io_File_GET_separator();
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_String_lastIndexOf___java_lang_String(_r1.o, _r2.o);
+ if (_r0.i >= 0) goto label13;
+ XMLVM_SOURCE_POSITION("File.java", 691)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_io_File*) _r4.o)->fields.java_io_File.path_;
+ label12:;
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label13:;
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_io_File*) _r4.o)->fields.java_io_File.path_;
+ _r2.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(4)
+ _r3.o = ((java_io_File*) _r4.o)->fields.java_io_File.path_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(3)
+ _r3.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r3.o)->tib->vtable[8])(_r3.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_String_substring___int_int(_r1.o, _r2.i, _r3.i);
+ goto label12;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_File_getParent__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_getParent__]
+ XMLVM_ENTER_METHOD("java.io.File", "getParent", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r8.o = me;
+ _r7.i = 1;
+ _r6.i = 0;
+ _r5.i = -1;
+ XMLVM_SOURCE_POSITION("File.java", 703)
+ XMLVM_CHECK_NPE(8)
+ _r3.o = ((java_io_File*) _r8.o)->fields.java_io_File.path_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(3)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r3.o)->tib->vtable[8])(_r3.o);
+ _r0.i = 0;
+ XMLVM_SOURCE_POSITION("File.java", 704)
+ _r3.i = java_io_File_GET_separatorChar();
+ _r4.i = 92;
+ if (_r3.i != _r4.i) goto label30;
+ _r3.i = 2;
+ if (_r2.i <= _r3.i) goto label30;
+ XMLVM_CHECK_NPE(8)
+ _r3.o = ((java_io_File*) _r8.o)->fields.java_io_File.path_;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(3)
+ _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r3.o)->tib->vtable[6])(_r3.o, _r7.i);
+ _r4.i = 58;
+ if (_r3.i != _r4.i) goto label30;
+ XMLVM_SOURCE_POSITION("File.java", 705)
+ _r0.i = 2;
+ label30:;
+ XMLVM_SOURCE_POSITION("File.java", 707)
+ XMLVM_CHECK_NPE(8)
+ _r3.o = ((java_io_File*) _r8.o)->fields.java_io_File.path_;
+ _r4.i = java_io_File_GET_separatorChar();
+ XMLVM_CHECK_NPE(3)
+ _r1.i = java_lang_String_lastIndexOf___int(_r3.o, _r4.i);
+ if (_r1.i != _r5.i) goto label43;
+ XMLVM_SOURCE_POSITION("File.java", 708)
+ if (_r0.i <= 0) goto label43;
+ XMLVM_SOURCE_POSITION("File.java", 709)
+ _r1.i = 2;
+ label43:;
+ XMLVM_SOURCE_POSITION("File.java", 711)
+ if (_r1.i == _r5.i) goto label57;
+ XMLVM_CHECK_NPE(8)
+ _r3.o = ((java_io_File*) _r8.o)->fields.java_io_File.path_;
+ _r4.i = _r2.i - _r7.i;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(3)
+ _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r3.o)->tib->vtable[6])(_r3.o, _r4.i);
+ _r4.i = java_io_File_GET_separatorChar();
+ if (_r3.i != _r4.i) goto label59;
+ label57:;
+ XMLVM_SOURCE_POSITION("File.java", 712)
+ _r3.o = JAVA_NULL;
+ label58:;
+ XMLVM_SOURCE_POSITION("File.java", 718)
+ XMLVM_EXIT_METHOD()
+ return _r3.o;
+ label59:;
+ XMLVM_SOURCE_POSITION("File.java", 714)
+ XMLVM_CHECK_NPE(8)
+ _r3.o = ((java_io_File*) _r8.o)->fields.java_io_File.path_;
+ _r4.i = java_io_File_GET_separatorChar();
+ XMLVM_CHECK_NPE(3)
+ _r3.i = java_lang_String_indexOf___int(_r3.o, _r4.i);
+ if (_r3.i != _r1.i) goto label88;
+ XMLVM_CHECK_NPE(8)
+ _r3.o = ((java_io_File*) _r8.o)->fields.java_io_File.path_;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(3)
+ _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r3.o)->tib->vtable[6])(_r3.o, _r0.i);
+ _r4.i = java_io_File_GET_separatorChar();
+ if (_r3.i != _r4.i) goto label88;
+ XMLVM_SOURCE_POSITION("File.java", 716)
+ XMLVM_CHECK_NPE(8)
+ _r3.o = ((java_io_File*) _r8.o)->fields.java_io_File.path_;
+ _r4.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(3)
+ _r3.o = java_lang_String_substring___int_int(_r3.o, _r6.i, _r4.i);
+ goto label58;
+ label88:;
+ XMLVM_CHECK_NPE(8)
+ _r3.o = ((java_io_File*) _r8.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(3)
+ _r3.o = java_lang_String_substring___int_int(_r3.o, _r6.i, _r1.i);
+ goto label58;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_File_getParentFile__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_getParentFile__]
+ XMLVM_ENTER_METHOD("java.io.File", "getParentFile", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("File.java", 729)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_io_File_getParent__(_r2.o);
+ if (_r0.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("File.java", 730)
+ XMLVM_SOURCE_POSITION("File.java", 731)
+ _r1.o = JAVA_NULL;
+ label7:;
+ XMLVM_SOURCE_POSITION("File.java", 733)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label8:;
+ _r1.o = __NEW_java_io_File();
+ XMLVM_CHECK_NPE(1)
+ java_io_File___INIT____java_lang_String(_r1.o, _r0.o);
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_File_getPath__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_getPath__]
+ XMLVM_ENTER_METHOD("java.io.File", "getPath", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("File.java", 742)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_io_File*) _r1.o)->fields.java_io_File.path_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_io_File_getTotalSpace__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_getTotalSpace__]
+ XMLVM_ENTER_METHOD("java.io.File", "getTotalSpace", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("File.java", 752)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label21;
+ XMLVM_SOURCE_POSITION("File.java", 753)
+ XMLVM_SOURCE_POSITION("File.java", 754)
+ _r1.o = __NEW_java_lang_RuntimePermission();
+ // "getFileSystemAttributes"
+ _r2.o = xmlvm_create_java_string_from_pool(738);
+ XMLVM_CHECK_NPE(1)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r1.o, _r2.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("File.java", 756)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_io_File*) _r3.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkRead___java_lang_String(_r0.o, _r1.o);
+ label21:;
+ XMLVM_SOURCE_POSITION("File.java", 758)
+ _r1.i = 1;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_io_File_properPath___boolean(_r3.o, _r1.i);
+ XMLVM_CHECK_NPE(3)
+ _r1.l = java_io_File_getTotalSpaceImpl___byte_1ARRAY(_r3.o, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r1.l;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG java_io_File_getTotalSpaceImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+JAVA_LONG java_io_File_getUsableSpace__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_getUsableSpace__]
+ XMLVM_ENTER_METHOD("java.io.File", "getUsableSpace", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("File.java", 774)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label21;
+ XMLVM_SOURCE_POSITION("File.java", 775)
+ XMLVM_SOURCE_POSITION("File.java", 776)
+ _r1.o = __NEW_java_lang_RuntimePermission();
+ // "getFileSystemAttributes"
+ _r2.o = xmlvm_create_java_string_from_pool(738);
+ XMLVM_CHECK_NPE(1)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r1.o, _r2.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("File.java", 778)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_io_File*) _r3.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkRead___java_lang_String(_r0.o, _r1.o);
+ label21:;
+ XMLVM_SOURCE_POSITION("File.java", 780)
+ _r1.i = 1;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_io_File_properPath___boolean(_r3.o, _r1.i);
+ XMLVM_CHECK_NPE(3)
+ _r1.l = java_io_File_getUsableSpaceImpl___byte_1ARRAY(_r3.o, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r1.l;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG java_io_File_getUsableSpaceImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+JAVA_LONG java_io_File_getFreeSpace__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_getFreeSpace__]
+ XMLVM_ENTER_METHOD("java.io.File", "getFreeSpace", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("File.java", 791)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label21;
+ XMLVM_SOURCE_POSITION("File.java", 792)
+ XMLVM_SOURCE_POSITION("File.java", 793)
+ _r1.o = __NEW_java_lang_RuntimePermission();
+ // "getFileSystemAttributes"
+ _r2.o = xmlvm_create_java_string_from_pool(738);
+ XMLVM_CHECK_NPE(1)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r1.o, _r2.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("File.java", 795)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_io_File*) _r3.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkRead___java_lang_String(_r0.o, _r1.o);
+ label21:;
+ XMLVM_SOURCE_POSITION("File.java", 797)
+ _r1.i = 1;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_io_File_properPath___boolean(_r3.o, _r1.i);
+ XMLVM_CHECK_NPE(3)
+ _r1.l = java_io_File_getFreeSpaceImpl___byte_1ARRAY(_r3.o, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r1.l;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG java_io_File_getFreeSpaceImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+JAVA_INT java_io_File_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_hashCode__]
+ XMLVM_ENTER_METHOD("java.io.File", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ _r1.i = 1234321;
+ XMLVM_SOURCE_POSITION("File.java", 811)
+ _r0.i = java_io_File_GET_caseSensitive();
+ if (_r0.i == 0) goto label15;
+ XMLVM_SOURCE_POSITION("File.java", 812)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_io_File*) _r2.o)->fields.java_io_File.path_;
+ //java_lang_String_hashCode__[4]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[4])(_r0.o);
+ _r0.i = _r0.i ^ _r1.i;
+ label14:;
+ XMLVM_SOURCE_POSITION("File.java", 814)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label15:;
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_io_File*) _r2.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_String_toLowerCase__(_r0.o);
+ //java_lang_String_hashCode__[4]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[4])(_r0.o);
+ _r0.i = _r0.i ^ _r1.i;
+ goto label14;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_io_File_isAbsolute__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_isAbsolute__]
+ XMLVM_ENTER_METHOD("java.io.File", "isAbsolute", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r6.o = me;
+ _r5.i = 92;
+ _r4.i = 2;
+ _r3.i = 0;
+ _r2.i = 1;
+ XMLVM_SOURCE_POSITION("File.java", 828)
+ _r0.i = java_io_File_GET_separatorChar();
+ if (_r0.i != _r5.i) goto label91;
+ XMLVM_SOURCE_POSITION("File.java", 830)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_io_File*) _r6.o)->fields.java_io_File.path_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[8])(_r0.o);
+ if (_r0.i <= _r2.i) goto label39;
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_io_File*) _r6.o)->fields.java_io_File.path_;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r0.o)->tib->vtable[6])(_r0.o, _r3.i);
+ _r1.i = java_io_File_GET_separatorChar();
+ if (_r0.i != _r1.i) goto label39;
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_io_File*) _r6.o)->fields.java_io_File.path_;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r0.o)->tib->vtable[6])(_r0.o, _r2.i);
+ _r1.i = java_io_File_GET_separatorChar();
+ if (_r0.i != _r1.i) goto label39;
+ _r0 = _r2;
+ label38:;
+ XMLVM_SOURCE_POSITION("File.java", 832)
+ XMLVM_SOURCE_POSITION("File.java", 844)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label39:;
+ XMLVM_SOURCE_POSITION("File.java", 834)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_io_File*) _r6.o)->fields.java_io_File.path_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[8])(_r0.o);
+ if (_r0.i <= _r4.i) goto label89;
+ XMLVM_SOURCE_POSITION("File.java", 835)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_io_File*) _r6.o)->fields.java_io_File.path_;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r0.o)->tib->vtable[6])(_r0.o, _r3.i);
+ _r0.i = java_lang_Character_isLetter___char(_r0.i);
+ if (_r0.i == 0) goto label89;
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_io_File*) _r6.o)->fields.java_io_File.path_;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r0.o)->tib->vtable[6])(_r0.o, _r2.i);
+ _r1.i = 58;
+ if (_r0.i != _r1.i) goto label89;
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_io_File*) _r6.o)->fields.java_io_File.path_;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r0.o)->tib->vtable[6])(_r0.o, _r4.i);
+ _r1.i = 47;
+ if (_r0.i == _r1.i) goto label87;
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_io_File*) _r6.o)->fields.java_io_File.path_;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r0.o)->tib->vtable[6])(_r0.o, _r4.i);
+ if (_r0.i != _r5.i) goto label89;
+ label87:;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("File.java", 837)
+ goto label38;
+ label89:;
+ _r0 = _r3;
+ XMLVM_SOURCE_POSITION("File.java", 840)
+ goto label38;
+ label91:;
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_io_File*) _r6.o)->fields.java_io_File.path_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[8])(_r0.o);
+ if (_r0.i <= 0) goto label111;
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_io_File*) _r6.o)->fields.java_io_File.path_;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r0.o)->tib->vtable[6])(_r0.o, _r3.i);
+ _r1.i = java_io_File_GET_separatorChar();
+ if (_r0.i != _r1.i) goto label111;
+ _r0 = _r2;
+ goto label38;
+ label111:;
+ _r0 = _r3;
+ goto label38;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_io_File_isDirectory__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_isDirectory__]
+ XMLVM_ENTER_METHOD("java.io.File", "isDirectory", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("File.java", 858)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_io_File*) _r2.o)->fields.java_io_File.path_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(1)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
+ if (_r1.i != 0) goto label10;
+ XMLVM_SOURCE_POSITION("File.java", 859)
+ _r1.i = 0;
+ label9:;
+ XMLVM_SOURCE_POSITION("File.java", 865)
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ label10:;
+ XMLVM_SOURCE_POSITION("File.java", 861)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label21;
+ XMLVM_SOURCE_POSITION("File.java", 862)
+ XMLVM_SOURCE_POSITION("File.java", 863)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_io_File*) _r2.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkRead___java_lang_String(_r0.o, _r1.o);
+ label21:;
+ _r1.i = 1;
+ XMLVM_CHECK_NPE(2)
+ _r1.o = java_io_File_properPath___boolean(_r2.o, _r1.i);
+ XMLVM_CHECK_NPE(2)
+ _r1.i = java_io_File_isDirectoryImpl___byte_1ARRAY(_r2.o, _r1.o);
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_io_File_isDirectoryImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+JAVA_BOOLEAN java_io_File_isFile__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_isFile__]
+ XMLVM_ENTER_METHOD("java.io.File", "isFile", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("File.java", 880)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_io_File*) _r2.o)->fields.java_io_File.path_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(1)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
+ if (_r1.i != 0) goto label10;
+ XMLVM_SOURCE_POSITION("File.java", 881)
+ _r1.i = 0;
+ label9:;
+ XMLVM_SOURCE_POSITION("File.java", 887)
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ label10:;
+ XMLVM_SOURCE_POSITION("File.java", 883)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label21;
+ XMLVM_SOURCE_POSITION("File.java", 884)
+ XMLVM_SOURCE_POSITION("File.java", 885)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_io_File*) _r2.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkRead___java_lang_String(_r0.o, _r1.o);
+ label21:;
+ _r1.i = 1;
+ XMLVM_CHECK_NPE(2)
+ _r1.o = java_io_File_properPath___boolean(_r2.o, _r1.i);
+ XMLVM_CHECK_NPE(2)
+ _r1.i = java_io_File_isFileImpl___byte_1ARRAY(_r2.o, _r1.o);
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_io_File_isFileImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+JAVA_BOOLEAN java_io_File_isHidden__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_isHidden__]
+ XMLVM_ENTER_METHOD("java.io.File", "isHidden", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("File.java", 905)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_io_File*) _r2.o)->fields.java_io_File.path_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(1)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
+ if (_r1.i != 0) goto label10;
+ XMLVM_SOURCE_POSITION("File.java", 906)
+ _r1.i = 0;
+ label9:;
+ XMLVM_SOURCE_POSITION("File.java", 912)
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ label10:;
+ XMLVM_SOURCE_POSITION("File.java", 908)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label21;
+ XMLVM_SOURCE_POSITION("File.java", 909)
+ XMLVM_SOURCE_POSITION("File.java", 910)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_io_File*) _r2.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkRead___java_lang_String(_r0.o, _r1.o);
+ label21:;
+ _r1.i = 1;
+ XMLVM_CHECK_NPE(2)
+ _r1.o = java_io_File_properPath___boolean(_r2.o, _r1.i);
+ XMLVM_CHECK_NPE(2)
+ _r1.i = java_io_File_isHiddenImpl___byte_1ARRAY(_r2.o, _r1.o);
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_io_File_isHiddenImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_io_File_isReadOnlyImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_io_File_isWriteOnlyImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_io_File_getLinkImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+JAVA_LONG java_io_File_lastModified__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_lastModified__]
+ XMLVM_ENTER_METHOD("java.io.File", "lastModified", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r7.o = me;
+ _r5.l = 0;
+ XMLVM_SOURCE_POSITION("File.java", 933)
+ _r2.o = java_lang_System_getSecurityManager__();
+ if (_r2.o == JAVA_NULL) goto label13;
+ XMLVM_SOURCE_POSITION("File.java", 934)
+ XMLVM_SOURCE_POSITION("File.java", 935)
+ XMLVM_CHECK_NPE(7)
+ _r3.o = ((java_io_File*) _r7.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(2)
+ java_lang_SecurityManager_checkRead___java_lang_String(_r2.o, _r3.o);
+ label13:;
+ XMLVM_SOURCE_POSITION("File.java", 937)
+ _r3.i = 1;
+ XMLVM_CHECK_NPE(7)
+ _r3.o = java_io_File_properPath___boolean(_r7.o, _r3.i);
+ XMLVM_CHECK_NPE(7)
+ _r0.l = java_io_File_lastModifiedImpl___byte_1ARRAY(_r7.o, _r3.o);
+ _r3.l = -1;
+ _r3.i = _r0.l > _r3.l ? 1 : (_r0.l == _r3.l ? 0 : -1);
+ if (_r3.i == 0) goto label32;
+ XMLVM_SOURCE_POSITION("File.java", 939)
+ _r3.i = _r0.l > _r5.l ? 1 : (_r0.l == _r5.l ? 0 : -1);
+ if (_r3.i != 0) goto label34;
+ label32:;
+ _r3 = _r5;
+ label33:;
+ XMLVM_SOURCE_POSITION("File.java", 940)
+ XMLVM_SOURCE_POSITION("File.java", 942)
+ XMLVM_EXIT_METHOD()
+ return _r3.l;
+ label34:;
+ _r3 = _r0;
+ goto label33;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG java_io_File_lastModifiedImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+JAVA_BOOLEAN java_io_File_setLastModified___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_setLastModified___long]
+ XMLVM_ENTER_METHOD("java.io.File", "setLastModified", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r3.o = me;
+ _r4.l = n1;
+ XMLVM_SOURCE_POSITION("File.java", 962)
+ _r1.l = 0;
+ _r1.i = _r4.l > _r1.l ? 1 : (_r4.l == _r1.l ? 0 : -1);
+ if (_r1.i >= 0) goto label18;
+ XMLVM_SOURCE_POSITION("File.java", 963)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.B2"
+ _r2.o = xmlvm_create_java_string_from_pool(739);
+ _r2.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String(_r2.o);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label18:;
+ XMLVM_SOURCE_POSITION("File.java", 965)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label29;
+ XMLVM_SOURCE_POSITION("File.java", 966)
+ XMLVM_SOURCE_POSITION("File.java", 967)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_io_File*) _r3.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkWrite___java_lang_String(_r0.o, _r1.o);
+ label29:;
+ XMLVM_SOURCE_POSITION("File.java", 969)
+ _r1.i = 1;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_io_File_properPath___boolean(_r3.o, _r1.i);
+ XMLVM_CHECK_NPE(3)
+ _r1.i = java_io_File_setLastModifiedImpl___byte_1ARRAY_long(_r3.o, _r1.o, _r4.l);
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_io_File_setLastModifiedImpl___byte_1ARRAY_long(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_LONG n2)]
+
+JAVA_BOOLEAN java_io_File_setReadOnly__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_setReadOnly__]
+ XMLVM_ENTER_METHOD("java.io.File", "setReadOnly", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("File.java", 985)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label11;
+ XMLVM_SOURCE_POSITION("File.java", 986)
+ XMLVM_SOURCE_POSITION("File.java", 987)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_io_File*) _r2.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkWrite___java_lang_String(_r0.o, _r1.o);
+ label11:;
+ XMLVM_SOURCE_POSITION("File.java", 989)
+ _r1.i = 1;
+ XMLVM_CHECK_NPE(2)
+ _r1.o = java_io_File_properPath___boolean(_r2.o, _r1.i);
+ XMLVM_CHECK_NPE(2)
+ _r1.i = java_io_File_setReadOnlyImpl___byte_1ARRAY(_r2.o, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_io_File_setReadOnlyImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+JAVA_BOOLEAN java_io_File_setReadable___boolean_boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1, JAVA_BOOLEAN n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_setReadable___boolean_boolean]
+ XMLVM_ENTER_METHOD("java.io.File", "setReadable", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.i = n2;
+ XMLVM_SOURCE_POSITION("File.java", 1017)
+ XMLVM_CHECK_NPE(1)
+ java_io_File_checkWrite__(_r1.o);
+ XMLVM_SOURCE_POSITION("File.java", 1018)
+ _r0.i = 1;
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_io_File_properPath___boolean(_r1.o, _r0.i);
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_io_File_setReadableImpl___byte_1ARRAY_boolean_boolean(_r1.o, _r0.o, _r2.i, _r3.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_io_File_setReadable___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_setReadable___boolean]
+ XMLVM_ENTER_METHOD("java.io.File", "setReadable", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("File.java", 1039)
+ _r0.i = 1;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_io_File_setReadable___boolean_boolean(_r1.o, _r2.i, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_io_File_setReadableImpl___byte_1ARRAY_boolean_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2, JAVA_BOOLEAN n3)]
+
+JAVA_BOOLEAN java_io_File_setWritable___boolean_boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1, JAVA_BOOLEAN n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_setWritable___boolean_boolean]
+ XMLVM_ENTER_METHOD("java.io.File", "setWritable", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.i = n2;
+ XMLVM_SOURCE_POSITION("File.java", 1066)
+ XMLVM_CHECK_NPE(1)
+ java_io_File_checkWrite__(_r1.o);
+ XMLVM_SOURCE_POSITION("File.java", 1067)
+ _r0.i = 1;
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_io_File_properPath___boolean(_r1.o, _r0.i);
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_io_File_setWritableImpl___byte_1ARRAY_boolean_boolean(_r1.o, _r0.o, _r2.i, _r3.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_io_File_setWritableImpl___byte_1ARRAY_boolean_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2, JAVA_BOOLEAN n3)]
+
+JAVA_BOOLEAN java_io_File_setWritable___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_setWritable___boolean]
+ XMLVM_ENTER_METHOD("java.io.File", "setWritable", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("File.java", 1089)
+ _r0.i = 1;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_io_File_setWritable___boolean_boolean(_r1.o, _r2.i, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_io_File_length__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_length__]
+ XMLVM_ENTER_METHOD("java.io.File", "length", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("File.java", 1101)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label11;
+ XMLVM_SOURCE_POSITION("File.java", 1102)
+ XMLVM_SOURCE_POSITION("File.java", 1103)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_io_File*) _r3.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkRead___java_lang_String(_r0.o, _r1.o);
+ label11:;
+ XMLVM_SOURCE_POSITION("File.java", 1105)
+ _r1.i = 1;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_io_File_properPath___boolean(_r3.o, _r1.i);
+ XMLVM_CHECK_NPE(3)
+ _r1.l = java_io_File_lengthImpl___byte_1ARRAY(_r3.o, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r1.l;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG java_io_File_lengthImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+JAVA_OBJECT java_io_File_list__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_list__]
+ XMLVM_ENTER_METHOD("java.io.File", "list", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r7.o = me;
+ _r6.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("File.java", 1126)
+ _r4.o = java_lang_System_getSecurityManager__();
+ if (_r4.o == JAVA_NULL) goto label12;
+ XMLVM_SOURCE_POSITION("File.java", 1127)
+ XMLVM_SOURCE_POSITION("File.java", 1128)
+ XMLVM_CHECK_NPE(7)
+ _r5.o = ((java_io_File*) _r7.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(4)
+ java_lang_SecurityManager_checkRead___java_lang_String(_r4.o, _r5.o);
+ label12:;
+ XMLVM_SOURCE_POSITION("File.java", 1131)
+ XMLVM_CHECK_NPE(7)
+ _r5.o = ((java_io_File*) _r7.o)->fields.java_io_File.path_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(5)
+ _r5.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r5.o)->tib->vtable[8])(_r5.o);
+ if (_r5.i != 0) goto label22;
+ _r5 = _r6;
+ label21:;
+ XMLVM_SOURCE_POSITION("File.java", 1132)
+ XMLVM_SOURCE_POSITION("File.java", 1149)
+ XMLVM_EXIT_METHOD()
+ return _r5.o;
+ label22:;
+ XMLVM_SOURCE_POSITION("File.java", 1135)
+ _r5.i = 1;
+ XMLVM_CHECK_NPE(7)
+ _r0.o = java_io_File_properPath___boolean(_r7.o, _r5.i);
+ XMLVM_SOURCE_POSITION("File.java", 1136)
+ XMLVM_CHECK_NPE(7)
+ _r5.i = java_io_File_isDirectoryImpl___byte_1ARRAY(_r7.o, _r0.o);
+ if (_r5.i == 0) goto label45;
+ XMLVM_CHECK_NPE(7)
+ _r5.i = java_io_File_existsImpl___byte_1ARRAY(_r7.o, _r0.o);
+ if (_r5.i == 0) goto label45;
+ XMLVM_CHECK_NPE(7)
+ _r5.i = java_io_File_isWriteOnlyImpl___byte_1ARRAY(_r7.o, _r0.o);
+ if (_r5.i == 0) goto label47;
+ label45:;
+ _r5 = _r6;
+ XMLVM_SOURCE_POSITION("File.java", 1137)
+ goto label21;
+ label47:;
+ XMLVM_SOURCE_POSITION("File.java", 1140)
+ _r1.o = java_io_File_listImpl___byte_1ARRAY(_r0.o);
+ if (_r1.o != JAVA_NULL) goto label57;
+ XMLVM_SOURCE_POSITION("File.java", 1141)
+ XMLVM_SOURCE_POSITION("File.java", 1143)
+ _r5.i = 0;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r5.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r5.i);
+ goto label21;
+ label57:;
+ XMLVM_SOURCE_POSITION("File.java", 1145)
+ _r5.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r5.i);
+ _r2.i = 0;
+ label61:;
+ XMLVM_SOURCE_POSITION("File.java", 1146)
+ _r5.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ if (_r2.i >= _r5.i) goto label75;
+ XMLVM_SOURCE_POSITION("File.java", 1147)
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r2.i);
+ _r5.o = ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ _r5.o = org_apache_harmony_luni_util_Util_toUTF8String___byte_1ARRAY(_r5.o);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r5.o;
+ _r2.i = _r2.i + 1;
+ goto label61;
+ label75:;
+ _r5 = _r3;
+ goto label21;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_File_listFiles__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_listFiles__]
+ XMLVM_ENTER_METHOD("java.io.File", "listFiles", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r6.o = me;
+ XMLVM_SOURCE_POSITION("File.java", 1166)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = java_io_File_list__(_r6.o);
+ if (_r3.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("File.java", 1167)
+ XMLVM_SOURCE_POSITION("File.java", 1168)
+ _r4.o = JAVA_NULL;
+ label7:;
+ XMLVM_SOURCE_POSITION("File.java", 1175)
+ XMLVM_EXIT_METHOD()
+ return _r4.o;
+ label8:;
+ XMLVM_SOURCE_POSITION("File.java", 1170)
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ XMLVM_SOURCE_POSITION("File.java", 1171)
+ XMLVM_CLASS_INIT(java_io_File)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_io_File, _r1.i);
+ _r0.i = 0;
+ label12:;
+ XMLVM_SOURCE_POSITION("File.java", 1172)
+ if (_r0.i >= _r1.i) goto label26;
+ XMLVM_SOURCE_POSITION("File.java", 1173)
+ _r4.o = __NEW_java_io_File();
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ _r5.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_CHECK_NPE(4)
+ java_io_File___INIT____java_io_File_java_lang_String(_r4.o, _r6.o, _r5.o);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r4.o;
+ _r0.i = _r0.i + 1;
+ goto label12;
+ label26:;
+ _r4 = _r2;
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_File_listFiles___java_io_FilenameFilter(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_listFiles___java_io_FilenameFilter]
+ XMLVM_ENTER_METHOD("java.io.File", "listFiles", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ XMLVM_SOURCE_POSITION("File.java", 1200)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = java_io_File_list___java_io_FilenameFilter(_r6.o, _r7.o);
+ if (_r3.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("File.java", 1201)
+ XMLVM_SOURCE_POSITION("File.java", 1202)
+ _r4.o = JAVA_NULL;
+ label7:;
+ XMLVM_SOURCE_POSITION("File.java", 1209)
+ XMLVM_EXIT_METHOD()
+ return _r4.o;
+ label8:;
+ XMLVM_SOURCE_POSITION("File.java", 1204)
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ XMLVM_SOURCE_POSITION("File.java", 1205)
+ XMLVM_CLASS_INIT(java_io_File)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_io_File, _r1.i);
+ _r0.i = 0;
+ label12:;
+ XMLVM_SOURCE_POSITION("File.java", 1206)
+ if (_r0.i >= _r1.i) goto label26;
+ XMLVM_SOURCE_POSITION("File.java", 1207)
+ _r4.o = __NEW_java_io_File();
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ _r5.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_CHECK_NPE(4)
+ java_io_File___INIT____java_io_File_java_lang_String(_r4.o, _r6.o, _r5.o);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r4.o;
+ _r0.i = _r0.i + 1;
+ goto label12;
+ label26:;
+ _r4 = _r2;
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_File_listFiles___java_io_FileFilter(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_listFiles___java_io_FileFilter]
+ XMLVM_ENTER_METHOD("java.io.File", "listFiles", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ _r9.o = me;
+ _r10.o = n1;
+ _r8.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("File.java", 1232)
+ _r5.o = java_lang_System_getSecurityManager__();
+ if (_r5.o == JAVA_NULL) goto label12;
+ XMLVM_SOURCE_POSITION("File.java", 1233)
+ XMLVM_SOURCE_POSITION("File.java", 1234)
+ XMLVM_CHECK_NPE(9)
+ _r7.o = ((java_io_File*) _r9.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(5)
+ java_lang_SecurityManager_checkRead___java_lang_String(_r5.o, _r7.o);
+ label12:;
+ XMLVM_SOURCE_POSITION("File.java", 1237)
+ XMLVM_CHECK_NPE(9)
+ _r7.o = ((java_io_File*) _r9.o)->fields.java_io_File.path_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(7)
+ _r7.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r7.o)->tib->vtable[8])(_r7.o);
+ if (_r7.i != 0) goto label22;
+ _r7 = _r8;
+ label21:;
+ XMLVM_SOURCE_POSITION("File.java", 1238)
+ XMLVM_SOURCE_POSITION("File.java", 1258)
+ XMLVM_EXIT_METHOD()
+ return _r7.o;
+ label22:;
+ XMLVM_SOURCE_POSITION("File.java", 1241)
+ _r7.i = 1;
+ XMLVM_CHECK_NPE(9)
+ _r2.o = java_io_File_properPath___boolean(_r9.o, _r7.i);
+ XMLVM_SOURCE_POSITION("File.java", 1242)
+ XMLVM_CHECK_NPE(9)
+ _r7.i = java_io_File_isDirectoryImpl___byte_1ARRAY(_r9.o, _r2.o);
+ if (_r7.i == 0) goto label45;
+ XMLVM_CHECK_NPE(9)
+ _r7.i = java_io_File_existsImpl___byte_1ARRAY(_r9.o, _r2.o);
+ if (_r7.i == 0) goto label45;
+ XMLVM_CHECK_NPE(9)
+ _r7.i = java_io_File_isWriteOnlyImpl___byte_1ARRAY(_r9.o, _r2.o);
+ if (_r7.i == 0) goto label47;
+ label45:;
+ _r7 = _r8;
+ XMLVM_SOURCE_POSITION("File.java", 1243)
+ goto label21;
+ label47:;
+ XMLVM_SOURCE_POSITION("File.java", 1246)
+ _r3.o = java_io_File_listImpl___byte_1ARRAY(_r2.o);
+ if (_r3.o != JAVA_NULL) goto label57;
+ XMLVM_SOURCE_POSITION("File.java", 1247)
+ XMLVM_SOURCE_POSITION("File.java", 1248)
+ _r7.i = 0;
+ XMLVM_CLASS_INIT(java_io_File)
+ _r7.o = XMLVMArray_createSingleDimension(__CLASS_java_io_File, _r7.i);
+ goto label21;
+ label57:;
+ XMLVM_SOURCE_POSITION("File.java", 1250)
+ _r6.o = __NEW_java_util_ArrayList();
+ XMLVM_CHECK_NPE(6)
+ java_util_ArrayList___INIT___(_r6.o);
+ _r4.i = 0;
+ label63:;
+ XMLVM_SOURCE_POSITION("File.java", 1251)
+ _r7.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ if (_r4.i >= _r7.i) goto label91;
+ XMLVM_SOURCE_POSITION("File.java", 1252)
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ _r7.o = ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ _r1.o = org_apache_harmony_luni_util_Util_toString___byte_1ARRAY(_r7.o);
+ XMLVM_SOURCE_POSITION("File.java", 1253)
+ _r0.o = __NEW_java_io_File();
+ XMLVM_CHECK_NPE(0)
+ java_io_File___INIT____java_io_File_java_lang_String(_r0.o, _r9.o, _r1.o);
+ if (_r10.o == JAVA_NULL) goto label85;
+ XMLVM_SOURCE_POSITION("File.java", 1254)
+
+
+ // Red class access removed: java.io.FileFilter::accept
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r7.i == 0) goto label88;
+ label85:;
+ XMLVM_SOURCE_POSITION("File.java", 1255)
+ XMLVM_CHECK_NPE(6)
+ (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r6.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_add___java_lang_Object])(_r6.o, _r0.o);
+ label88:;
+ _r4.i = _r4.i + 1;
+ goto label63;
+ label91:;
+ XMLVM_CHECK_NPE(6)
+ _r7.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r6.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_size__])(_r6.o);
+ XMLVM_CLASS_INIT(java_io_File)
+ _r7.o = XMLVMArray_createSingleDimension(__CLASS_java_io_File, _r7.i);
+ XMLVM_CHECK_NPE(6)
+ _r9.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r6.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_toArray___java_lang_Object_1ARRAY])(_r6.o, _r7.o);
+ _r9.o = _r9.o;
+ _r7 = _r9;
+ goto label21;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_File_list___java_io_FilenameFilter(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_list___java_io_FilenameFilter]
+ XMLVM_ENTER_METHOD("java.io.File", "list", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r8.o = me;
+ _r9.o = n1;
+ _r7.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("File.java", 1282)
+ _r4.o = java_lang_System_getSecurityManager__();
+ if (_r4.o == JAVA_NULL) goto label12;
+ XMLVM_SOURCE_POSITION("File.java", 1283)
+ XMLVM_SOURCE_POSITION("File.java", 1284)
+ XMLVM_CHECK_NPE(8)
+ _r6.o = ((java_io_File*) _r8.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(4)
+ java_lang_SecurityManager_checkRead___java_lang_String(_r4.o, _r6.o);
+ label12:;
+ XMLVM_SOURCE_POSITION("File.java", 1287)
+ XMLVM_CHECK_NPE(8)
+ _r6.o = ((java_io_File*) _r8.o)->fields.java_io_File.path_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(6)
+ _r6.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r6.o)->tib->vtable[8])(_r6.o);
+ if (_r6.i != 0) goto label22;
+ _r6 = _r7;
+ label21:;
+ XMLVM_SOURCE_POSITION("File.java", 1288)
+ XMLVM_SOURCE_POSITION("File.java", 1309)
+ XMLVM_EXIT_METHOD()
+ return _r6.o;
+ label22:;
+ XMLVM_SOURCE_POSITION("File.java", 1291)
+ _r6.i = 1;
+ XMLVM_CHECK_NPE(8)
+ _r1.o = java_io_File_properPath___boolean(_r8.o, _r6.i);
+ XMLVM_SOURCE_POSITION("File.java", 1292)
+ XMLVM_CHECK_NPE(8)
+ _r6.i = java_io_File_isDirectoryImpl___byte_1ARRAY(_r8.o, _r1.o);
+ if (_r6.i == 0) goto label45;
+ XMLVM_CHECK_NPE(8)
+ _r6.i = java_io_File_existsImpl___byte_1ARRAY(_r8.o, _r1.o);
+ if (_r6.i == 0) goto label45;
+ XMLVM_CHECK_NPE(8)
+ _r6.i = java_io_File_isWriteOnlyImpl___byte_1ARRAY(_r8.o, _r1.o);
+ if (_r6.i == 0) goto label47;
+ label45:;
+ _r6 = _r7;
+ XMLVM_SOURCE_POSITION("File.java", 1293)
+ goto label21;
+ label47:;
+ XMLVM_SOURCE_POSITION("File.java", 1296)
+ _r2.o = java_io_File_listImpl___byte_1ARRAY(_r1.o);
+ if (_r2.o != JAVA_NULL) goto label57;
+ XMLVM_SOURCE_POSITION("File.java", 1297)
+ XMLVM_SOURCE_POSITION("File.java", 1299)
+ _r6.i = 0;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r6.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r6.i);
+ goto label21;
+ label57:;
+ XMLVM_SOURCE_POSITION("File.java", 1301)
+ _r5.o = __NEW_java_util_ArrayList();
+ XMLVM_CHECK_NPE(5)
+ java_util_ArrayList___INIT___(_r5.o);
+ _r3.i = 0;
+ label63:;
+ XMLVM_SOURCE_POSITION("File.java", 1302)
+ _r6.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ if (_r3.i >= _r6.i) goto label86;
+ XMLVM_SOURCE_POSITION("File.java", 1303)
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ _r6.o = ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ _r0.o = org_apache_harmony_luni_util_Util_toString___byte_1ARRAY(_r6.o);
+ if (_r9.o == JAVA_NULL) goto label80;
+ XMLVM_SOURCE_POSITION("File.java", 1304)
+
+
+ // Red class access removed: java.io.FilenameFilter::accept
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r6.i == 0) goto label83;
+ label80:;
+ XMLVM_SOURCE_POSITION("File.java", 1305)
+ XMLVM_CHECK_NPE(5)
+ (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_add___java_lang_Object])(_r5.o, _r0.o);
+ label83:;
+ _r3.i = _r3.i + 1;
+ goto label63;
+ label86:;
+ XMLVM_CHECK_NPE(5)
+ _r6.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_size__])(_r5.o);
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r6.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r6.i);
+ XMLVM_CHECK_NPE(5)
+ _r8.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_toArray___java_lang_Object_1ARRAY])(_r5.o, _r6.o);
+ _r8.o = _r8.o;
+ _r6 = _r8;
+ goto label21;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_io_File_listImpl___byte_1ARRAY(JAVA_OBJECT n1)]
+
+JAVA_BOOLEAN java_io_File_mkdir__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_mkdir__]
+ XMLVM_ENTER_METHOD("java.io.File", "mkdir", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("File.java", 1326)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label11;
+ XMLVM_SOURCE_POSITION("File.java", 1327)
+ XMLVM_SOURCE_POSITION("File.java", 1328)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_io_File*) _r2.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkWrite___java_lang_String(_r0.o, _r1.o);
+ label11:;
+ XMLVM_SOURCE_POSITION("File.java", 1330)
+ _r1.i = 1;
+ XMLVM_CHECK_NPE(2)
+ _r1.o = java_io_File_properPath___boolean(_r2.o, _r1.i);
+ XMLVM_CHECK_NPE(2)
+ _r1.i = java_io_File_mkdirImpl___byte_1ARRAY(_r2.o, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_io_File_mkdirImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+JAVA_BOOLEAN java_io_File_mkdirs__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_mkdirs__]
+ XMLVM_ENTER_METHOD("java.io.File", "mkdirs", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ _r3.i = 1;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("File.java", 1349)
+ XMLVM_CHECK_NPE(4)
+ _r1.i = java_io_File_exists__(_r4.o);
+ if (_r1.i == 0) goto label10;
+ _r1 = _r2;
+ label9:;
+ XMLVM_SOURCE_POSITION("File.java", 1350)
+ XMLVM_SOURCE_POSITION("File.java", 1365)
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ label10:;
+ XMLVM_SOURCE_POSITION("File.java", 1354)
+ XMLVM_CHECK_NPE(4)
+ _r1.i = java_io_File_mkdir__(_r4.o);
+ if (_r1.i == 0) goto label18;
+ _r1 = _r3;
+ XMLVM_SOURCE_POSITION("File.java", 1355)
+ goto label9;
+ label18:;
+ XMLVM_SOURCE_POSITION("File.java", 1358)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = java_io_File_getParent__(_r4.o);
+ if (_r0.o != JAVA_NULL) goto label26;
+ XMLVM_SOURCE_POSITION("File.java", 1360)
+ _r1 = _r2;
+ XMLVM_SOURCE_POSITION("File.java", 1361)
+ goto label9;
+ label26:;
+ _r1.o = __NEW_java_io_File();
+ XMLVM_CHECK_NPE(1)
+ java_io_File___INIT____java_lang_String(_r1.o, _r0.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.i = java_io_File_mkdirs__(_r1.o);
+ if (_r1.i == 0) goto label45;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = java_io_File_mkdir__(_r4.o);
+ if (_r1.i == 0) goto label45;
+ _r1 = _r3;
+ goto label9;
+ label45:;
+ _r1 = _r2;
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_io_File_createNewFile__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_createNewFile__]
+ XMLVM_ENTER_METHOD("java.io.File", "createNewFile", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.o = me;
+ _r3.i = 1;
+ XMLVM_SOURCE_POSITION("File.java", 1382)
+ _r1.o = java_lang_System_getSecurityManager__();
+ if (_r1.o == JAVA_NULL) goto label12;
+ XMLVM_SOURCE_POSITION("File.java", 1383)
+ XMLVM_SOURCE_POSITION("File.java", 1384)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_io_File*) _r5.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(1)
+ java_lang_SecurityManager_checkWrite___java_lang_String(_r1.o, _r2.o);
+ label12:;
+ XMLVM_SOURCE_POSITION("File.java", 1386)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_io_File*) _r5.o)->fields.java_io_File.path_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(2)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r2.o)->tib->vtable[8])(_r2.o);
+ if (_r2.i != 0) goto label32;
+ XMLVM_SOURCE_POSITION("File.java", 1387)
+ _r2.o = __NEW_java_io_IOException();
+ // "luni.B3"
+ _r3.o = xmlvm_create_java_string_from_pool(740);
+ _r3.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String(_r3.o);
+ XMLVM_CHECK_NPE(2)
+ java_io_IOException___INIT____java_lang_String(_r2.o, _r3.o);
+ XMLVM_THROW_CUSTOM(_r2.o)
+ label32:;
+ XMLVM_SOURCE_POSITION("File.java", 1389)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = java_io_File_properPath___boolean(_r5.o, _r3.i);
+ XMLVM_CHECK_NPE(5)
+ _r0.i = java_io_File_newFileImpl___byte_1ARRAY(_r5.o, _r2.o);
+ XMLVM_SOURCE_POSITION("File.java", 1390)
+ switch (_r0.i) {
+ case 0: goto label57;
+ case 1: goto label59;
+ }
+ XMLVM_SOURCE_POSITION("File.java", 1396)
+ _r2.o = __NEW_java_io_IOException();
+ // "luni.B4"
+ _r3.o = xmlvm_create_java_string_from_pool(741);
+ XMLVM_CHECK_NPE(5)
+ _r4.o = ((java_io_File*) _r5.o)->fields.java_io_File.path_;
+ _r3.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object(_r3.o, _r4.o);
+ XMLVM_CHECK_NPE(2)
+ java_io_IOException___INIT____java_lang_String(_r2.o, _r3.o);
+ XMLVM_THROW_CUSTOM(_r2.o)
+ label57:;
+ _r2 = _r3;
+ label58:;
+ XMLVM_SOURCE_POSITION("File.java", 1392)
+ XMLVM_SOURCE_POSITION("File.java", 1394)
+ XMLVM_EXIT_METHOD()
+ return _r2.i;
+ label59:;
+ _r2.i = 0;
+ goto label58;
+ label62:;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_INT java_io_File_newFileImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+JAVA_OBJECT java_io_File_createTempFile___java_lang_String_java_lang_String(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_io_File)
+ //XMLVM_BEGIN_WRAPPER[java_io_File_createTempFile___java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("java.io.File", "createTempFile", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("File.java", 1419)
+ _r0.o = JAVA_NULL;
+ _r0.o = java_io_File_createTempFile___java_lang_String_java_lang_String_java_io_File(_r1.o, _r2.o, _r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_File_createTempFile___java_lang_String_java_lang_String_java_io_File(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
+{
+ XMLVM_CLASS_INIT(java_io_File)
+ //XMLVM_BEGIN_WRAPPER[java_io_File_createTempFile___java_lang_String_java_lang_String_java_io_File]
+ XMLVM_ENTER_METHOD("java.io.File", "createTempFile", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r7.o = n1;
+ _r8.o = n2;
+ _r9.o = n3;
+ XMLVM_SOURCE_POSITION("File.java", 1446)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(7)
+ _r4.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r7.o)->tib->vtable[8])(_r7.o);
+ _r5.i = 3;
+ if (_r4.i >= _r5.i) goto label19;
+ XMLVM_SOURCE_POSITION("File.java", 1447)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.B5"
+ _r5.o = xmlvm_create_java_string_from_pool(742);
+ _r5.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String(_r5.o);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r4.o)
+ label19:;
+ XMLVM_SOURCE_POSITION("File.java", 1449)
+ if (_r8.o != JAVA_NULL) goto label57;
+ // ".tmp"
+ _r4.o = xmlvm_create_java_string_from_pool(743);
+ _r0 = _r4;
+ label24:;
+ if (_r9.o != JAVA_NULL) goto label59;
+ XMLVM_SOURCE_POSITION("File.java", 1451)
+ XMLVM_SOURCE_POSITION("File.java", 1452)
+ _r4.o = __NEW_org_apache_harmony_luni_util_PriviAction();
+ // "java.io.tmpdir"
+ _r5.o = xmlvm_create_java_string_from_pool(744);
+ // "."
+ _r6.o = xmlvm_create_java_string_from_pool(52);
+ XMLVM_CHECK_NPE(4)
+ org_apache_harmony_luni_util_PriviAction___INIT____java_lang_String_java_lang_String(_r4.o, _r5.o, _r6.o);
+ _r2.o = java_security_AccessController_doPrivileged___java_security_PrivilegedAction(_r4.o);
+ _r2.o = _r2.o;
+ XMLVM_SOURCE_POSITION("File.java", 1454)
+ _r3.o = __NEW_java_io_File();
+ XMLVM_CHECK_NPE(3)
+ java_io_File___INIT____java_lang_String(_r3.o, _r2.o);
+ label46:;
+ XMLVM_SOURCE_POSITION("File.java", 1455)
+ XMLVM_SOURCE_POSITION("File.java", 1460)
+ _r1.o = java_io_File_genTempFile___java_lang_String_java_lang_String_java_io_File(_r7.o, _r0.o, _r3.o);
+ XMLVM_SOURCE_POSITION("File.java", 1461)
+ XMLVM_CHECK_NPE(1)
+ _r4.i = java_io_File_createNewFile__(_r1.o);
+ if (_r4.i == 0) goto label46;
+ XMLVM_SOURCE_POSITION("File.java", 1462)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label57:;
+ _r0 = _r8;
+ goto label24;
+ label59:;
+ XMLVM_SOURCE_POSITION("File.java", 1456)
+ _r3 = _r9;
+ goto label46;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_File_genTempFile___java_lang_String_java_lang_String_java_io_File(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
+{
+ XMLVM_CLASS_INIT(java_io_File)
+ //XMLVM_BEGIN_WRAPPER[java_io_File_genTempFile___java_lang_String_java_lang_String_java_io_File]
+ XMLVM_ENTER_METHOD("java.io.File", "genTempFile", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ volatile XMLVMElem _r9;
+ _r7.o = n1;
+ _r8.o = n2;
+ _r9.o = n3;
+ _r6.i = 65535;
+ XMLVM_SOURCE_POSITION("File.java", 1466)
+ _r0.i = 0;
+ XMLVM_SOURCE_POSITION("File.java", 1467)
+ _r4.o = java_io_File_GET_tempFileLocker();
+ java_lang_Object_acquireLockRecursive__(_r4.o);
+ XMLVM_TRY_BEGIN(w4981aaac88b1c10)
+ // Begin try
+ XMLVM_SOURCE_POSITION("File.java", 1468)
+ _r5.i = java_io_File_GET_counter();
+ if (_r5.i != 0) { XMLVM_MEMCPY(curThread_w4981aaac88b1c10->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4981aaac88b1c10, sizeof(XMLVM_JMP_BUF)); goto label34; };
+ XMLVM_SOURCE_POSITION("File.java", 1469)
+
+
+ // Red class access removed: java.security.SecureRandom::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.security.SecureRandom::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.security.SecureRandom::nextInt
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r5.i = 65535;
+ XMLVM_SOURCE_POSITION("File.java", 1470)
+ _r5.i = _r2.i / _r5.i;
+ _r5.i = _r5.i & _r6.i;
+ _r5.i = _r5.i + 10000;
+ java_io_File_PUT_counter( _r5.i);
+ XMLVM_SOURCE_POSITION("File.java", 1471)
+ _r5.i = java_io_File_GET_counter();
+ java_io_File_PUT_counterBase( _r5.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4981aaac88b1c10)
+ XMLVM_CATCH_SPECIFIC(w4981aaac88b1c10,java_lang_Object,70)
+ XMLVM_CATCH_END(w4981aaac88b1c10)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4981aaac88b1c10)
+ label34:;
+ XMLVM_TRY_BEGIN(w4981aaac88b1c12)
+ // Begin try
+ XMLVM_SOURCE_POSITION("File.java", 1473)
+ _r1.i = java_io_File_GET_counter();
+ _r5.i = _r1.i + 1;
+ java_io_File_PUT_counter( _r5.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4981aaac88b1c12)
+ XMLVM_CATCH_SPECIFIC(w4981aaac88b1c12,java_lang_Object,70)
+ XMLVM_CATCH_END(w4981aaac88b1c12)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4981aaac88b1c12)
+ XMLVM_TRY_BEGIN(w4981aaac88b1c13)
+ // Begin try
+ XMLVM_SOURCE_POSITION("File.java", 1474)
+ java_lang_Object_releaseLockRecursive__(_r4.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4981aaac88b1c13)
+ XMLVM_CATCH_SPECIFIC(w4981aaac88b1c13,java_lang_Object,73)
+ XMLVM_CATCH_END(w4981aaac88b1c13)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4981aaac88b1c13)
+ XMLVM_SOURCE_POSITION("File.java", 1476)
+ _r3.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder___INIT___(_r3.o);
+ XMLVM_SOURCE_POSITION("File.java", 1477)
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder_append___java_lang_String(_r3.o, _r7.o);
+ XMLVM_SOURCE_POSITION("File.java", 1478)
+ _r4.i = java_io_File_GET_counterBase();
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder_append___int(_r3.o, _r4.i);
+ XMLVM_SOURCE_POSITION("File.java", 1479)
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder_append___int(_r3.o, _r1.i);
+ XMLVM_SOURCE_POSITION("File.java", 1480)
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder_append___java_lang_String(_r3.o, _r8.o);
+ XMLVM_SOURCE_POSITION("File.java", 1481)
+ _r4.o = __NEW_java_io_File();
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(3)
+ _r5.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r3.o)->tib->vtable[5])(_r3.o);
+ XMLVM_CHECK_NPE(4)
+ java_io_File___INIT____java_io_File_java_lang_String(_r4.o, _r9.o, _r5.o);
+ XMLVM_EXIT_METHOD()
+ return _r4.o;
+ label70:;
+ java_lang_Thread* curThread_w4981aaac88b1c32 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r5.o = curThread_w4981aaac88b1c32->fields.java_lang_Thread.xmlvmException_;
+ label71:;
+ XMLVM_TRY_BEGIN(w4981aaac88b1c34)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r4.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4981aaac88b1c34)
+ XMLVM_CATCH_SPECIFIC(w4981aaac88b1c34,java_lang_Object,70)
+ XMLVM_CATCH_END(w4981aaac88b1c34)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4981aaac88b1c34)
+ XMLVM_THROW_CUSTOM(_r5.o)
+ label73:;
+ java_lang_Thread* curThread_w4981aaac88b1c37 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r5.o = curThread_w4981aaac88b1c37->fields.java_lang_Thread.xmlvmException_;
+ _r0 = _r1;
+ goto label71;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_File_properPath___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_properPath___boolean]
+ XMLVM_ENTER_METHOD("java.io.File", "properPath", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ _r10.o = me;
+ _r11.i = n1;
+ _r8.i = 2;
+ _r7.i = 1;
+ _r6.i = 0;
+ // "user.dir"
+ _r9.o = xmlvm_create_java_string_from_pool(691);
+ XMLVM_SOURCE_POSITION("File.java", 1494)
+ _r11.i = 0;
+ XMLVM_SOURCE_POSITION("File.java", 1496)
+ XMLVM_CHECK_NPE(10)
+ _r4.o = ((java_io_File*) _r10.o)->fields.java_io_File.properPath_;
+ if (_r4.o == JAVA_NULL) goto label13;
+ XMLVM_SOURCE_POSITION("File.java", 1497)
+ XMLVM_CHECK_NPE(10)
+ _r4.o = ((java_io_File*) _r10.o)->fields.java_io_File.properPath_;
+ label12:;
+ XMLVM_SOURCE_POSITION("File.java", 1538)
+ XMLVM_EXIT_METHOD()
+ return _r4.o;
+ label13:;
+ XMLVM_SOURCE_POSITION("File.java", 1500)
+ XMLVM_CHECK_NPE(10)
+ _r4.i = java_io_File_isAbsolute__(_r10.o);
+ if (_r4.i == 0) goto label29;
+ XMLVM_SOURCE_POSITION("File.java", 1501)
+ XMLVM_CHECK_NPE(10)
+ _r4.o = ((java_io_File*) _r10.o)->fields.java_io_File.path_;
+ _r1.o = org_apache_harmony_luni_util_Util_getUTF8Bytes___java_lang_String(_r4.o);
+ XMLVM_SOURCE_POSITION("File.java", 1502)
+ XMLVM_CHECK_NPE(10)
+ ((java_io_File*) _r10.o)->fields.java_io_File.properPath_ = _r1.o;
+ _r4 = _r1;
+ goto label12;
+ label29:;
+ XMLVM_SOURCE_POSITION("File.java", 1506)
+ if (_r11.i == 0) goto label59;
+ XMLVM_SOURCE_POSITION("File.java", 1507)
+ _r4.o = __NEW_org_apache_harmony_luni_util_PriviAction();
+ // "user.dir"
+ _r5.o = xmlvm_create_java_string_from_pool(691);
+ XMLVM_CHECK_NPE(4)
+ org_apache_harmony_luni_util_PriviAction___INIT____java_lang_String(_r4.o, _r9.o);
+ _r3.o = java_security_AccessController_doPrivileged___java_security_PrivilegedAction(_r4.o);
+ _r3.o = _r3.o;
+ label44:;
+ XMLVM_SOURCE_POSITION("File.java", 1513)
+ XMLVM_CHECK_NPE(10)
+ _r4.o = ((java_io_File*) _r10.o)->fields.java_io_File.path_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(4)
+ _r4.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r4.o)->tib->vtable[8])(_r4.o);
+ if (_r4.i != 0) goto label66;
+ XMLVM_SOURCE_POSITION("File.java", 1514)
+ _r4.o = org_apache_harmony_luni_util_Util_getUTF8Bytes___java_lang_String(_r3.o);
+ XMLVM_CHECK_NPE(10)
+ ((java_io_File*) _r10.o)->fields.java_io_File.properPath_ = _r4.o;
+ goto label12;
+ label59:;
+ XMLVM_SOURCE_POSITION("File.java", 1510)
+ // "user.dir"
+ _r4.o = xmlvm_create_java_string_from_pool(691);
+ _r3.o = java_lang_System_getProperty___java_lang_String(_r9.o);
+ goto label44;
+ label66:;
+ XMLVM_SOURCE_POSITION("File.java", 1516)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r3.o)->tib->vtable[8])(_r3.o);
+ XMLVM_SOURCE_POSITION("File.java", 1519)
+ XMLVM_CHECK_NPE(10)
+ _r4.o = ((java_io_File*) _r10.o)->fields.java_io_File.path_;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(4)
+ _r4.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r4.o)->tib->vtable[6])(_r4.o, _r6.i);
+ _r5.i = 92;
+ if (_r4.i != _r5.i) goto label128;
+ XMLVM_SOURCE_POSITION("File.java", 1520)
+ if (_r0.i <= _r7.i) goto label120;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(3)
+ _r4.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r3.o)->tib->vtable[6])(_r3.o, _r7.i);
+ _r5.i = 58;
+ if (_r4.i != _r5.i) goto label120;
+ XMLVM_SOURCE_POSITION("File.java", 1521)
+ _r4.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(4)
+ java_lang_StringBuilder___INIT___(_r4.o);
+ XMLVM_CHECK_NPE(3)
+ _r5.o = java_lang_String_substring___int_int(_r3.o, _r6.i, _r8.i);
+ XMLVM_CHECK_NPE(4)
+ _r4.o = java_lang_StringBuilder_append___java_lang_String(_r4.o, _r5.o);
+ XMLVM_CHECK_NPE(10)
+ _r5.o = ((java_io_File*) _r10.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(4)
+ _r4.o = java_lang_StringBuilder_append___java_lang_String(_r4.o, _r5.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(4)
+ _r4.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r4.o)->tib->vtable[5])(_r4.o);
+ _r4.o = org_apache_harmony_luni_util_Util_getUTF8Bytes___java_lang_String(_r4.o);
+ XMLVM_CHECK_NPE(10)
+ ((java_io_File*) _r10.o)->fields.java_io_File.properPath_ = _r4.o;
+ goto label12;
+ label120:;
+ XMLVM_SOURCE_POSITION("File.java", 1524)
+ XMLVM_CHECK_NPE(10)
+ _r4.o = ((java_io_File*) _r10.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(4)
+ _r4.o = java_lang_String_substring___int(_r4.o, _r7.i);
+ XMLVM_CHECK_NPE(10)
+ ((java_io_File*) _r10.o)->fields.java_io_File.path_ = _r4.o;
+ label128:;
+ XMLVM_SOURCE_POSITION("File.java", 1528)
+ _r2 = _r3;
+ _r4.i = _r0.i - _r7.i;
+ XMLVM_SOURCE_POSITION("File.java", 1529)
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(3)
+ _r4.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r3.o)->tib->vtable[6])(_r3.o, _r4.i);
+ _r5.i = java_io_File_GET_separatorChar();
+ if (_r4.i == _r5.i) goto label195;
+ XMLVM_SOURCE_POSITION("File.java", 1530)
+ XMLVM_CHECK_NPE(10)
+ _r4.o = ((java_io_File*) _r10.o)->fields.java_io_File.path_;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(4)
+ _r4.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r4.o)->tib->vtable[6])(_r4.o, _r6.i);
+ _r5.i = java_io_File_GET_separatorChar();
+ if (_r4.i == _r5.i) goto label168;
+ XMLVM_SOURCE_POSITION("File.java", 1531)
+ _r4.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(4)
+ java_lang_StringBuilder___INIT___(_r4.o);
+ XMLVM_CHECK_NPE(4)
+ _r4.o = java_lang_StringBuilder_append___java_lang_String(_r4.o, _r2.o);
+ _r5.o = java_io_File_GET_separator();
+ XMLVM_CHECK_NPE(4)
+ _r4.o = java_lang_StringBuilder_append___java_lang_String(_r4.o, _r5.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(4)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r4.o)->tib->vtable[5])(_r4.o);
+ label168:;
+ XMLVM_SOURCE_POSITION("File.java", 1537)
+ _r4.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(4)
+ java_lang_StringBuilder___INIT___(_r4.o);
+ XMLVM_CHECK_NPE(4)
+ _r4.o = java_lang_StringBuilder_append___java_lang_String(_r4.o, _r2.o);
+ XMLVM_CHECK_NPE(10)
+ _r5.o = ((java_io_File*) _r10.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(4)
+ _r4.o = java_lang_StringBuilder_append___java_lang_String(_r4.o, _r5.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(4)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r4.o)->tib->vtable[5])(_r4.o);
+ _r4.o = org_apache_harmony_luni_util_Util_getUTF8Bytes___java_lang_String(_r2.o);
+ XMLVM_CHECK_NPE(10)
+ ((java_io_File*) _r10.o)->fields.java_io_File.properPath_ = _r4.o;
+ goto label12;
+ label195:;
+ XMLVM_SOURCE_POSITION("File.java", 1533)
+ XMLVM_CHECK_NPE(10)
+ _r4.o = ((java_io_File*) _r10.o)->fields.java_io_File.path_;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(4)
+ _r4.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r4.o)->tib->vtable[6])(_r4.o, _r6.i);
+ _r5.i = java_io_File_GET_separatorChar();
+ if (_r4.i != _r5.i) goto label168;
+ XMLVM_SOURCE_POSITION("File.java", 1534)
+ _r4.i = _r0.i - _r8.i;
+ XMLVM_CHECK_NPE(2)
+ _r2.o = java_lang_String_substring___int_int(_r2.o, _r6.i, _r4.i);
+ goto label168;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_io_File_renameTo___java_io_File(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_renameTo___java_io_File]
+ XMLVM_ENTER_METHOD("java.io.File", "renameTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ _r2.i = 1;
+ XMLVM_SOURCE_POSITION("File.java", 1553)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label17;
+ XMLVM_SOURCE_POSITION("File.java", 1554)
+ XMLVM_SOURCE_POSITION("File.java", 1555)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_io_File*) _r3.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkWrite___java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("File.java", 1556)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_io_File*) _r4.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkWrite___java_lang_String(_r0.o, _r1.o);
+ label17:;
+ XMLVM_SOURCE_POSITION("File.java", 1558)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_io_File_properPath___boolean(_r3.o, _r2.i);
+ XMLVM_CHECK_NPE(4)
+ _r2.o = java_io_File_properPath___boolean(_r4.o, _r2.i);
+ XMLVM_CHECK_NPE(3)
+ _r1.i = java_io_File_renameToImpl___byte_1ARRAY_byte_1ARRAY(_r3.o, _r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_io_File_renameToImpl___byte_1ARRAY_byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)]
+
+JAVA_OBJECT java_io_File_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_toString__]
+ XMLVM_ENTER_METHOD("java.io.File", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("File.java", 1571)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_io_File*) _r1.o)->fields.java_io_File.path_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_File_toURI__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_toURI__]
+ XMLVM_ENTER_METHOD("java.io.File", "toURI", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ _r8.o = me;
+ _r7.o = JAVA_NULL;
+ // "file"
+ _r0.o = xmlvm_create_java_string_from_pool(732);
+ XMLVM_SOURCE_POSITION("File.java", 1583)
+ XMLVM_CHECK_NPE(8)
+ _r3.o = java_io_File_getAbsoluteName__(_r8.o);
+ XMLVM_TRY_BEGIN(w4981aaac93b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("File.java", 1585)
+ // "/"
+ _r0.o = xmlvm_create_java_string_from_pool(54);
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_lang_String_startsWith___java_lang_String(_r3.o, _r0.o);
+ if (_r0.i != 0) { XMLVM_MEMCPY(curThread_w4981aaac93b1b6->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4981aaac93b1b6, sizeof(XMLVM_JMP_BUF)); goto label51; };
+ XMLVM_SOURCE_POSITION("File.java", 1587)
+
+
+ // Red class access removed: java.net.URI::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "file"
+ _r1.o = xmlvm_create_java_string_from_pool(732);
+ _r2.o = JAVA_NULL;
+ _r4.o = __NEW_java_lang_StringBuilder();
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(3)
+ _r5.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r3.o)->tib->vtable[8])(_r3.o);
+ _r5.i = _r5.i + 1;
+ XMLVM_CHECK_NPE(4)
+ java_lang_StringBuilder___INIT____int(_r4.o, _r5.i);
+ _r5.i = 47;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(4)
+ _r4.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r4.o)->tib->vtable[6])(_r4.o, _r5.i);
+ XMLVM_CHECK_NPE(4)
+ _r4.o = java_lang_StringBuilder_append___java_lang_String(_r4.o, _r3.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(4)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r4.o)->tib->vtable[5])(_r4.o);
+ _r4.o = JAVA_NULL;
+ _r5.o = JAVA_NULL;
+
+
+ // Red class access removed: java.net.URI::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4981aaac93b1b6)
+ XMLVM_CATCH_END(w4981aaac93b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4981aaac93b1b6)
+ label50:;
+ XMLVM_TRY_BEGIN(w4981aaac93b1b8)
+ // Begin try
+ XMLVM_SOURCE_POSITION("File.java", 1596)
+ XMLVM_MEMCPY(curThread_w4981aaac93b1b8->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4981aaac93b1b8, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4981aaac93b1b8)
+ XMLVM_CATCH_END(w4981aaac93b1b8)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4981aaac93b1b8)
+ label51:;
+ XMLVM_TRY_BEGIN(w4981aaac93b1c10)
+ // Begin try
+ XMLVM_SOURCE_POSITION("File.java", 1590)
+ // "//"
+ _r0.o = xmlvm_create_java_string_from_pool(745);
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_lang_String_startsWith___java_lang_String(_r3.o, _r0.o);
+ if (_r0.i == 0) { XMLVM_MEMCPY(curThread_w4981aaac93b1c10->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4981aaac93b1c10, sizeof(XMLVM_JMP_BUF)); goto label74; };
+ XMLVM_SOURCE_POSITION("File.java", 1591)
+
+
+ // Red class access removed: java.net.URI::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "file"
+ _r1.o = xmlvm_create_java_string_from_pool(732);
+ // ""
+ _r2.o = xmlvm_create_java_string_from_pool(21);
+ _r4.o = JAVA_NULL;
+
+
+ // Red class access removed: java.net.URI::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ { XMLVM_MEMCPY(curThread_w4981aaac93b1c10->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4981aaac93b1c10, sizeof(XMLVM_JMP_BUF)); goto label50; };
+ XMLVM_SOURCE_POSITION("File.java", 1594)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4981aaac93b1c10)
+ XMLVM_CATCH_END(w4981aaac93b1c10)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4981aaac93b1c10)
+ label70:;
+ XMLVM_TRY_BEGIN(w4981aaac93b1c12)
+ // Begin try
+ java_lang_Thread* curThread_w4981aaac93b1c12aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4981aaac93b1c12aa->fields.java_lang_Thread.xmlvmException_;
+ _r6 = _r0;
+ _r0 = _r7;
+ { XMLVM_MEMCPY(curThread_w4981aaac93b1c12->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4981aaac93b1c12, sizeof(XMLVM_JMP_BUF)); goto label50; };
+ XMLVM_SOURCE_POSITION("File.java", 1593)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4981aaac93b1c12)
+ XMLVM_CATCH_END(w4981aaac93b1c12)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4981aaac93b1c12)
+ label74:;
+ XMLVM_TRY_BEGIN(w4981aaac93b1c14)
+ // Begin try
+
+
+ // Red class access removed: java.net.URI::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "file"
+ _r1.o = xmlvm_create_java_string_from_pool(732);
+ _r2.o = JAVA_NULL;
+ _r4.o = JAVA_NULL;
+ _r5.o = JAVA_NULL;
+
+
+ // Red class access removed: java.net.URI::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4981aaac93b1c14)
+ XMLVM_CATCH_END(w4981aaac93b1c14)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4981aaac93b1c14)
+ goto label50;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_File_toURL__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_toURL__]
+ XMLVM_ENTER_METHOD("java.io.File", "toURL", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r8.o = me;
+ _r5.o = JAVA_NULL;
+ _r3.i = -1;
+ // "file"
+ _r1.o = xmlvm_create_java_string_from_pool(732);
+ // ""
+ _r2.o = xmlvm_create_java_string_from_pool(21);
+ XMLVM_SOURCE_POSITION("File.java", 1615)
+ XMLVM_CHECK_NPE(8)
+ _r4.o = java_io_File_getAbsoluteName__(_r8.o);
+ XMLVM_SOURCE_POSITION("File.java", 1616)
+ // "/"
+ _r0.o = xmlvm_create_java_string_from_pool(54);
+ XMLVM_CHECK_NPE(4)
+ _r0.i = java_lang_String_startsWith___java_lang_String(_r4.o, _r0.o);
+ if (_r0.i != 0) goto label53;
+ XMLVM_SOURCE_POSITION("File.java", 1618)
+
+
+ // Red class access removed: java.net.URL::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "file"
+ _r6.o = xmlvm_create_java_string_from_pool(732);
+ // ""
+ _r6.o = xmlvm_create_java_string_from_pool(21);
+ _r6.o = __NEW_java_lang_StringBuilder();
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(4)
+ _r7.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r4.o)->tib->vtable[8])(_r4.o);
+ _r7.i = _r7.i + 1;
+ XMLVM_CHECK_NPE(6)
+ java_lang_StringBuilder___INIT____int(_r6.o, _r7.i);
+ _r7.i = 47;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(6)
+ _r6.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r6.o)->tib->vtable[6])(_r6.o, _r7.i);
+ XMLVM_CHECK_NPE(6)
+ _r6.o = java_lang_StringBuilder_append___java_lang_String(_r6.o, _r4.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(6)
+ _r4.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r6.o)->tib->vtable[5])(_r6.o);
+
+
+ // Red class access removed: java.net.URL::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ label52:;
+ XMLVM_SOURCE_POSITION("File.java", 1624)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label53:;
+ XMLVM_SOURCE_POSITION("File.java", 1621)
+ // "//"
+ _r0.o = xmlvm_create_java_string_from_pool(745);
+ XMLVM_CHECK_NPE(4)
+ _r0.i = java_lang_String_startsWith___java_lang_String(_r4.o, _r0.o);
+ if (_r0.i == 0) goto label86;
+ XMLVM_SOURCE_POSITION("File.java", 1622)
+
+
+ // Red class access removed: java.net.URL::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder___INIT___(_r1.o);
+ // "file:"
+ _r2.o = xmlvm_create_java_string_from_pool(746);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r2.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r4.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
+
+
+ // Red class access removed: java.net.URL::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label52;
+ label86:;
+
+
+ // Red class access removed: java.net.URL::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "file"
+ _r6.o = xmlvm_create_java_string_from_pool(732);
+ // ""
+ _r6.o = xmlvm_create_java_string_from_pool(21);
+
+
+ // Red class access removed: java.net.URL::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label52;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_File_getAbsoluteName__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_getAbsoluteName__]
+ XMLVM_ENTER_METHOD("java.io.File", "getAbsoluteName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.o = me;
+ _r4.i = 47;
+ XMLVM_SOURCE_POSITION("File.java", 1628)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = java_io_File_getAbsoluteFile__(_r5.o);
+ XMLVM_SOURCE_POSITION("File.java", 1629)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = java_io_File_getPath__(_r0.o);
+ XMLVM_SOURCE_POSITION("File.java", 1631)
+ XMLVM_CHECK_NPE(0)
+ _r2.i = java_io_File_isDirectory__(_r0.o);
+ if (_r2.i == 0) goto label53;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(1)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
+ _r3.i = 1;
+ _r2.i = _r2.i - _r3.i;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(1)
+ _r2.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r1.o)->tib->vtable[6])(_r1.o, _r2.i);
+ _r3.i = java_io_File_GET_separatorChar();
+ if (_r2.i == _r3.i) goto label53;
+ XMLVM_SOURCE_POSITION("File.java", 1633)
+ _r2.o = __NEW_java_lang_StringBuilder();
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(1)
+ _r3.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
+ _r3.i = _r3.i + 1;
+ XMLVM_CHECK_NPE(2)
+ java_lang_StringBuilder___INIT____int(_r2.o, _r3.i);
+ XMLVM_CHECK_NPE(2)
+ _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r1.o);
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(2)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r2.o)->tib->vtable[6])(_r2.o, _r4.i);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(2)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r2.o)->tib->vtable[5])(_r2.o);
+ label53:;
+ XMLVM_SOURCE_POSITION("File.java", 1636)
+ _r2.i = java_io_File_GET_separatorChar();
+ if (_r2.i == _r4.i) goto label63;
+ XMLVM_SOURCE_POSITION("File.java", 1637)
+ _r2.i = java_io_File_GET_separatorChar();
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_String_replace___char_char(_r1.o, _r2.i, _r4.i);
+ label63:;
+ XMLVM_SOURCE_POSITION("File.java", 1639)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_File_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_writeObject___java_io_ObjectOutputStream]
+ XMLVM_ENTER_METHOD("java.io.File", "writeObject", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("File.java", 1643)
+
+
+ // Red class access removed: java.io.ObjectOutputStream::defaultWriteObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("File.java", 1644)
+ _r0.i = java_io_File_GET_separatorChar();
+
+
+ // Red class access removed: java.io.ObjectOutputStream::writeChar
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("File.java", 1646)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_File_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_readObject___java_io_ObjectInputStream]
+ XMLVM_ENTER_METHOD("java.io.File", "readObject", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("File.java", 1650)
+
+
+ // Red class access removed: java.io.ObjectInputStream::defaultReadObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("File.java", 1651)
+
+
+ // Red class access removed: java.io.ObjectInputStream::readChar
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("File.java", 1652)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_io_File*) _r3.o)->fields.java_io_File.path_;
+ _r2.i = java_io_File_GET_separatorChar();
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_String_replace___char_char(_r1.o, _r0.i, _r2.i);
+ XMLVM_CHECK_NPE(3)
+ ((java_io_File*) _r3.o)->fields.java_io_File.path_ = _r1.o;
+ XMLVM_SOURCE_POSITION("File.java", 1653)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_io_File_setExecutable___boolean_boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1, JAVA_BOOLEAN n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_setExecutable___boolean_boolean]
+ XMLVM_ENTER_METHOD("java.io.File", "setExecutable", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.i = n2;
+ XMLVM_SOURCE_POSITION("File.java", 1678)
+ XMLVM_CHECK_NPE(1)
+ java_io_File_checkWrite__(_r1.o);
+ XMLVM_SOURCE_POSITION("File.java", 1679)
+ _r0.i = 1;
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_io_File_properPath___boolean(_r1.o, _r0.i);
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_io_File_setExecutableImpl___byte_1ARRAY_boolean_boolean(_r1.o, _r0.o, _r2.i, _r3.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_io_File_setExecutable___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_setExecutable___boolean]
+ XMLVM_ENTER_METHOD("java.io.File", "setExecutable", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("File.java", 1700)
+ _r0.i = 1;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_io_File_setExecutable___boolean_boolean(_r1.o, _r2.i, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_io_File_setExecutableImpl___byte_1ARRAY_boolean_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2, JAVA_BOOLEAN n3)]
+
+JAVA_BOOLEAN java_io_File_canExecute__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_canExecute__]
+ XMLVM_ENTER_METHOD("java.io.File", "canExecute", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ _r2.i = 0;
+ _r1.i = 1;
+ XMLVM_SOURCE_POSITION("File.java", 1724)
+ XMLVM_CHECK_NPE(3)
+ java_io_File_checkExec__(_r3.o);
+ XMLVM_SOURCE_POSITION("File.java", 1725)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_io_File*) _r3.o)->fields.java_io_File.path_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[8])(_r0.o);
+ if (_r0.i != 0) goto label15;
+ _r0 = _r2;
+ label14:;
+ XMLVM_SOURCE_POSITION("File.java", 1726)
+ XMLVM_SOURCE_POSITION("File.java", 1728)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label15:;
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_io_File_properPath___boolean(_r3.o, _r1.i);
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_io_File_existsImpl___byte_1ARRAY(_r3.o, _r0.o);
+ if (_r0.i == 0) goto label37;
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_io_File_properPath___boolean(_r3.o, _r1.i);
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_io_File_isExecutableImpl___byte_1ARRAY(_r3.o, _r0.o);
+ if (_r0.i == 0) goto label37;
+ _r0 = _r1;
+ goto label14;
+ label37:;
+ _r0 = _r2;
+ goto label14;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_io_File_isExecutableImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+void java_io_File_checkExec__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_checkExec__]
+ XMLVM_ENTER_METHOD("java.io.File", "checkExec", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("File.java", 1734)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label11;
+ XMLVM_SOURCE_POSITION("File.java", 1735)
+ XMLVM_SOURCE_POSITION("File.java", 1736)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_io_File*) _r2.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkExec___java_lang_String(_r0.o, _r1.o);
+ label11:;
+ XMLVM_SOURCE_POSITION("File.java", 1738)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_File_checkWrite__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_checkWrite__]
+ XMLVM_ENTER_METHOD("java.io.File", "checkWrite", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("File.java", 1741)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label11;
+ XMLVM_SOURCE_POSITION("File.java", 1742)
+ XMLVM_SOURCE_POSITION("File.java", 1743)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_io_File*) _r2.o)->fields.java_io_File.path_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkWrite___java_lang_String(_r0.o, _r1.o);
+ label11:;
+ XMLVM_SOURCE_POSITION("File.java", 1745)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_io_File_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File_compareTo___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.io.File", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("File.java", 49)
+ _r2.o = _r2.o;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_io_File_compareTo___java_io_File(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_File___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_File___CLINIT___]
+ XMLVM_ENTER_METHOD("java.io.File", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.i = 1;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("File.java", 82)
+ java_io_File_PUT_counter( _r3.i);
+ XMLVM_SOURCE_POSITION("File.java", 85)
+ java_io_File_PUT_counterBase( _r3.i);
+ XMLVM_SOURCE_POSITION("File.java", 89)
+
+
+ // Red class access removed: java.io.File$TempFileLocker::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = JAVA_NULL;
+
+
+ // Red class access removed: java.io.File$TempFileLocker::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ java_io_File_PUT_tempFileLocker( _r0.o);
+ XMLVM_SOURCE_POSITION("File.java", 96)
+ java_io_File_oneTimeInitialization__();
+ XMLVM_SOURCE_POSITION("File.java", 99)
+ // "file.separator"
+ _r0.o = xmlvm_create_java_string_from_pool(689);
+ // "\134"
+ _r1.o = xmlvm_create_java_string_from_pool(747);
+ _r0.o = java_lang_System_getProperty___java_lang_String_java_lang_String(_r0.o, _r1.o);
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r0.o)->tib->vtable[6])(_r0.o, _r3.i);
+ java_io_File_PUT_separatorChar( _r0.i);
+ XMLVM_SOURCE_POSITION("File.java", 100)
+ // "path.separator"
+ _r0.o = xmlvm_create_java_string_from_pool(690);
+ // ";"
+ _r1.o = xmlvm_create_java_string_from_pool(748);
+ _r0.o = java_lang_System_getProperty___java_lang_String_java_lang_String(_r0.o, _r1.o);
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r0.o)->tib->vtable[6])(_r0.o, _r3.i);
+ java_io_File_PUT_pathSeparatorChar( _r0.i);
+ XMLVM_SOURCE_POSITION("File.java", 101)
+ _r0.o = __NEW_java_lang_String();
+ XMLVM_CLASS_INIT(char)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_char, _r4.i);
+ _r2.i = java_io_File_GET_separatorChar();
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r3.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r2.i;
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____char_1ARRAY_int_int(_r0.o, _r1.o, _r3.i, _r4.i);
+ java_io_File_PUT_separator( _r0.o);
+ XMLVM_SOURCE_POSITION("File.java", 102)
+ _r0.o = __NEW_java_lang_String();
+ XMLVM_CLASS_INIT(char)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_char, _r4.i);
+ _r2.i = java_io_File_GET_pathSeparatorChar();
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r3.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r2.i;
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____char_1ARRAY_int_int(_r0.o, _r1.o, _r3.i, _r4.i);
+ java_io_File_PUT_pathSeparator( _r0.o);
+ XMLVM_SOURCE_POSITION("File.java", 103)
+ _r0.i = java_io_File_isCaseSensitiveImpl__();
+ java_io_File_PUT_caseSensitive( _r0.i);
+ XMLVM_SOURCE_POSITION("File.java", 104)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_io_File.h b/tests/nbody-java/java_io_File.h
new file mode 100644
index 00000000..620bbb68
--- /dev/null
+++ b/tests/nbody-java/java_io_File.h
@@ -0,0 +1,238 @@
+#ifndef __JAVA_IO_FILE__
+#define __JAVA_IO_FILE__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_io_File 8
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+#include "java_lang_Comparable.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_io_IOException
+#define XMLVM_FORWARD_DECL_java_io_IOException
+XMLVM_FORWARD_DECL(java_io_IOException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Character
+#define XMLVM_FORWARD_DECL_java_lang_Character
+XMLVM_FORWARD_DECL(java_lang_Character)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_RuntimePermission
+#define XMLVM_FORWARD_DECL_java_lang_RuntimePermission
+XMLVM_FORWARD_DECL(java_lang_RuntimePermission)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_SecurityManager
+#define XMLVM_FORWARD_DECL_java_lang_SecurityManager
+XMLVM_FORWARD_DECL(java_lang_SecurityManager)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_security_AccessController
+#define XMLVM_FORWARD_DECL_java_security_AccessController
+XMLVM_FORWARD_DECL(java_security_AccessController)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_ArrayList
+#define XMLVM_FORWARD_DECL_java_util_ArrayList
+XMLVM_FORWARD_DECL(java_util_ArrayList)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_List
+#define XMLVM_FORWARD_DECL_java_util_List
+XMLVM_FORWARD_DECL(java_util_List)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_internal_nls_Messages)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_PriviAction
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_PriviAction
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_util_PriviAction)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_Util
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_Util
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_util_Util)
+#endif
+// Class declarations for java.io.File
+XMLVM_DEFINE_CLASS(java_io_File, 7, XMLVM_ITABLE_SIZE_java_io_File)
+
+extern JAVA_OBJECT __CLASS_java_io_File;
+extern JAVA_OBJECT __CLASS_java_io_File_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_File_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_File_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_io_File
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_io_File \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT path_; \
+ JAVA_OBJECT properPath_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_io_File \
+ } java_io_File
+
+struct java_io_File {
+ __TIB_DEFINITION_java_io_File* tib;
+ struct {
+ __INSTANCE_FIELDS_java_io_File;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_io_File
+#define XMLVM_FORWARD_DECL_java_io_File
+typedef struct java_io_File java_io_File;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_io_File 7
+#define XMLVM_VTABLE_IDX_java_io_File_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_io_File_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_io_File_toString__ 5
+#define XMLVM_VTABLE_IDX_java_io_File_compareTo___java_lang_Object 6
+
+void __INIT_java_io_File();
+void __INIT_IMPL_java_io_File();
+void __DELETE_java_io_File(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_io_File(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_io_File();
+JAVA_OBJECT __NEW_INSTANCE_java_io_File();
+void xmlvm_init_native_java_io_File();
+JAVA_LONG java_io_File_GET_serialVersionUID();
+void java_io_File_PUT_serialVersionUID(JAVA_LONG v);
+JAVA_OBJECT java_io_File_GET_EMPTY_STRING();
+void java_io_File_PUT_EMPTY_STRING(JAVA_OBJECT v);
+JAVA_CHAR java_io_File_GET_separatorChar();
+void java_io_File_PUT_separatorChar(JAVA_CHAR v);
+JAVA_OBJECT java_io_File_GET_separator();
+void java_io_File_PUT_separator(JAVA_OBJECT v);
+JAVA_CHAR java_io_File_GET_pathSeparatorChar();
+void java_io_File_PUT_pathSeparatorChar(JAVA_CHAR v);
+JAVA_OBJECT java_io_File_GET_pathSeparator();
+void java_io_File_PUT_pathSeparator(JAVA_OBJECT v);
+JAVA_INT java_io_File_GET_counter();
+void java_io_File_PUT_counter(JAVA_INT v);
+JAVA_INT java_io_File_GET_counterBase();
+void java_io_File_PUT_counterBase(JAVA_INT v);
+JAVA_OBJECT java_io_File_GET_tempFileLocker();
+void java_io_File_PUT_tempFileLocker(JAVA_OBJECT v);
+JAVA_BOOLEAN java_io_File_GET_caseSensitive();
+void java_io_File_PUT_caseSensitive(JAVA_BOOLEAN v);
+void java_io_File_oneTimeInitialization__();
+void java_io_File___INIT____java_io_File_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_io_File___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_io_File___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_io_File___INIT____java_net_URI(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_io_File_calculatePath___java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_io_File_checkURI___java_net_URI(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_io_File_rootsImpl__();
+JAVA_BOOLEAN java_io_File_isCaseSensitiveImpl__();
+JAVA_OBJECT java_io_File_listRoots__();
+JAVA_OBJECT java_io_File_fixSlashes___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_io_File_canRead__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_io_File_canWrite__(JAVA_OBJECT me);
+JAVA_INT java_io_File_compareTo___java_io_File(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_io_File_delete__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_io_File_deleteDirImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_io_File_deleteFileImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_io_File_deleteOnExit__(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_io_File_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_io_File_exists__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_io_File_existsImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_io_File_getAbsolutePath__(JAVA_OBJECT me);
+JAVA_OBJECT java_io_File_getAbsoluteFile__(JAVA_OBJECT me);
+JAVA_OBJECT java_io_File_getCanonicalPath__(JAVA_OBJECT me);
+JAVA_OBJECT java_io_File_resolve___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_io_File_resolveLink___byte_1ARRAY_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_BOOLEAN n3);
+JAVA_OBJECT java_io_File_getCanonicalFile__(JAVA_OBJECT me);
+JAVA_OBJECT java_io_File_getCanonImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_io_File_getName__(JAVA_OBJECT me);
+JAVA_OBJECT java_io_File_getParent__(JAVA_OBJECT me);
+JAVA_OBJECT java_io_File_getParentFile__(JAVA_OBJECT me);
+JAVA_OBJECT java_io_File_getPath__(JAVA_OBJECT me);
+JAVA_LONG java_io_File_getTotalSpace__(JAVA_OBJECT me);
+JAVA_LONG java_io_File_getTotalSpaceImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_LONG java_io_File_getUsableSpace__(JAVA_OBJECT me);
+JAVA_LONG java_io_File_getUsableSpaceImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_LONG java_io_File_getFreeSpace__(JAVA_OBJECT me);
+JAVA_LONG java_io_File_getFreeSpaceImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 4
+JAVA_INT java_io_File_hashCode__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_io_File_isAbsolute__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_io_File_isDirectory__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_io_File_isDirectoryImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_io_File_isFile__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_io_File_isFileImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_io_File_isHidden__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_io_File_isHiddenImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_io_File_isReadOnlyImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_io_File_isWriteOnlyImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_io_File_getLinkImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_LONG java_io_File_lastModified__(JAVA_OBJECT me);
+JAVA_LONG java_io_File_lastModifiedImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_io_File_setLastModified___long(JAVA_OBJECT me, JAVA_LONG n1);
+JAVA_BOOLEAN java_io_File_setLastModifiedImpl___byte_1ARRAY_long(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_LONG n2);
+JAVA_BOOLEAN java_io_File_setReadOnly__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_io_File_setReadOnlyImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_io_File_setReadable___boolean_boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1, JAVA_BOOLEAN n2);
+JAVA_BOOLEAN java_io_File_setReadable___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1);
+JAVA_BOOLEAN java_io_File_setReadableImpl___byte_1ARRAY_boolean_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2, JAVA_BOOLEAN n3);
+JAVA_BOOLEAN java_io_File_setWritable___boolean_boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1, JAVA_BOOLEAN n2);
+JAVA_BOOLEAN java_io_File_setWritableImpl___byte_1ARRAY_boolean_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2, JAVA_BOOLEAN n3);
+JAVA_BOOLEAN java_io_File_setWritable___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1);
+JAVA_LONG java_io_File_length__(JAVA_OBJECT me);
+JAVA_LONG java_io_File_lengthImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_io_File_list__(JAVA_OBJECT me);
+JAVA_OBJECT java_io_File_listFiles__(JAVA_OBJECT me);
+JAVA_OBJECT java_io_File_listFiles___java_io_FilenameFilter(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_io_File_listFiles___java_io_FileFilter(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_io_File_list___java_io_FilenameFilter(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_io_File_listImpl___byte_1ARRAY(JAVA_OBJECT n1);
+JAVA_BOOLEAN java_io_File_mkdir__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_io_File_mkdirImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_io_File_mkdirs__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_io_File_createNewFile__(JAVA_OBJECT me);
+JAVA_INT java_io_File_newFileImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_io_File_createTempFile___java_lang_String_java_lang_String(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_io_File_createTempFile___java_lang_String_java_lang_String_java_io_File(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3);
+JAVA_OBJECT java_io_File_genTempFile___java_lang_String_java_lang_String_java_io_File(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3);
+JAVA_OBJECT java_io_File_properPath___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1);
+JAVA_BOOLEAN java_io_File_renameTo___java_io_File(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_io_File_renameToImpl___byte_1ARRAY_byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+// Vtable index: 5
+JAVA_OBJECT java_io_File_toString__(JAVA_OBJECT me);
+JAVA_OBJECT java_io_File_toURI__(JAVA_OBJECT me);
+JAVA_OBJECT java_io_File_toURL__(JAVA_OBJECT me);
+JAVA_OBJECT java_io_File_getAbsoluteName__(JAVA_OBJECT me);
+void java_io_File_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_io_File_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_io_File_setExecutable___boolean_boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1, JAVA_BOOLEAN n2);
+JAVA_BOOLEAN java_io_File_setExecutable___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1);
+JAVA_BOOLEAN java_io_File_setExecutableImpl___byte_1ARRAY_boolean_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2, JAVA_BOOLEAN n3);
+JAVA_BOOLEAN java_io_File_canExecute__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_io_File_isExecutableImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_io_File_checkExec__(JAVA_OBJECT me);
+void java_io_File_checkWrite__(JAVA_OBJECT me);
+// Vtable index: 6
+JAVA_INT java_io_File_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_io_File___CLINIT_();
+
+#endif
diff --git a/tests/nbody-java/java_io_FileDescriptor.c b/tests/nbody-java/java_io_FileDescriptor.c
new file mode 100644
index 00000000..3cc2bc61
--- /dev/null
+++ b/tests/nbody-java/java_io_FileDescriptor.c
@@ -0,0 +1,309 @@
+#include "xmlvm.h"
+
+#include "java_io_FileDescriptor.h"
+
+#define XMLVM_CURRENT_CLASS_NAME FileDescriptor
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_io_FileDescriptor
+
+__TIB_DEFINITION_java_io_FileDescriptor __TIB_java_io_FileDescriptor = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_io_FileDescriptor, // classInitializer
+ "java.io.FileDescriptor", // className
+ "java.io", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_io_FileDescriptor), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_io_FileDescriptor;
+JAVA_OBJECT __CLASS_java_io_FileDescriptor_1ARRAY;
+JAVA_OBJECT __CLASS_java_io_FileDescriptor_2ARRAY;
+JAVA_OBJECT __CLASS_java_io_FileDescriptor_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_OBJECT _STATIC_java_io_FileDescriptor_in;
+static JAVA_OBJECT _STATIC_java_io_FileDescriptor_out;
+static JAVA_OBJECT _STATIC_java_io_FileDescriptor_err;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_io_FileDescriptor()
+{
+ staticInitializerLock(&__TIB_java_io_FileDescriptor);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_io_FileDescriptor.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_io_FileDescriptor.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_io_FileDescriptor);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_io_FileDescriptor.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_io_FileDescriptor.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_io_FileDescriptor.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.io.FileDescriptor")
+ __INIT_IMPL_java_io_FileDescriptor();
+ }
+}
+
+void __INIT_IMPL_java_io_FileDescriptor()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_io_FileDescriptor.newInstanceFunc = __NEW_INSTANCE_java_io_FileDescriptor;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_io_FileDescriptor.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_io_FileDescriptor.numImplementedInterfaces = 0;
+ __TIB_java_io_FileDescriptor.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_java_io_FileDescriptor_in = (java_io_FileDescriptor*) JAVA_NULL;
+ _STATIC_java_io_FileDescriptor_out = (java_io_FileDescriptor*) JAVA_NULL;
+ _STATIC_java_io_FileDescriptor_err = (java_io_FileDescriptor*) JAVA_NULL;
+
+ __TIB_java_io_FileDescriptor.declaredFields = &__field_reflection_data[0];
+ __TIB_java_io_FileDescriptor.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_io_FileDescriptor.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_io_FileDescriptor.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_io_FileDescriptor.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_io_FileDescriptor.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_io_FileDescriptor.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_io_FileDescriptor.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_io_FileDescriptor = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_io_FileDescriptor);
+ __TIB_java_io_FileDescriptor.clazz = __CLASS_java_io_FileDescriptor;
+ __TIB_java_io_FileDescriptor.baseType = JAVA_NULL;
+ __CLASS_java_io_FileDescriptor_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_FileDescriptor);
+ __CLASS_java_io_FileDescriptor_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_FileDescriptor_1ARRAY);
+ __CLASS_java_io_FileDescriptor_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_FileDescriptor_2ARRAY);
+ java_io_FileDescriptor___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_io_FileDescriptor]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_io_FileDescriptor.classInitialized = 1;
+}
+
+void __DELETE_java_io_FileDescriptor(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_io_FileDescriptor]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_io_FileDescriptor(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_io_FileDescriptor*) me)->fields.java_io_FileDescriptor.descriptor_ = 0;
+ ((java_io_FileDescriptor*) me)->fields.java_io_FileDescriptor.readOnly_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_io_FileDescriptor]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_io_FileDescriptor()
+{ XMLVM_CLASS_INIT(java_io_FileDescriptor)
+java_io_FileDescriptor* me = (java_io_FileDescriptor*) XMLVM_MALLOC(sizeof(java_io_FileDescriptor));
+ me->tib = &__TIB_java_io_FileDescriptor;
+ __INIT_INSTANCE_MEMBERS_java_io_FileDescriptor(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_io_FileDescriptor]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_io_FileDescriptor()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_io_FileDescriptor();
+ java_io_FileDescriptor___INIT___(me);
+ return me;
+}
+
+JAVA_OBJECT java_io_FileDescriptor_GET_in()
+{
+ XMLVM_CLASS_INIT(java_io_FileDescriptor)
+ return _STATIC_java_io_FileDescriptor_in;
+}
+
+void java_io_FileDescriptor_PUT_in(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_io_FileDescriptor)
+_STATIC_java_io_FileDescriptor_in = v;
+}
+
+JAVA_OBJECT java_io_FileDescriptor_GET_out()
+{
+ XMLVM_CLASS_INIT(java_io_FileDescriptor)
+ return _STATIC_java_io_FileDescriptor_out;
+}
+
+void java_io_FileDescriptor_PUT_out(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_io_FileDescriptor)
+_STATIC_java_io_FileDescriptor_out = v;
+}
+
+JAVA_OBJECT java_io_FileDescriptor_GET_err()
+{
+ XMLVM_CLASS_INIT(java_io_FileDescriptor)
+ return _STATIC_java_io_FileDescriptor_err;
+}
+
+void java_io_FileDescriptor_PUT_err(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_io_FileDescriptor)
+_STATIC_java_io_FileDescriptor_err = v;
+}
+
+void java_io_FileDescriptor___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_FileDescriptor___CLINIT___]
+ XMLVM_ENTER_METHOD("java.io.FileDescriptor", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVM_SOURCE_POSITION("FileDescriptor.java", 43)
+ _r0.o = __NEW_java_io_FileDescriptor();
+ XMLVM_CHECK_NPE(0)
+ java_io_FileDescriptor___INIT___(_r0.o);
+ java_io_FileDescriptor_PUT_in( _r0.o);
+ XMLVM_SOURCE_POSITION("FileDescriptor.java", 48)
+ _r0.o = __NEW_java_io_FileDescriptor();
+ XMLVM_CHECK_NPE(0)
+ java_io_FileDescriptor___INIT___(_r0.o);
+ java_io_FileDescriptor_PUT_out( _r0.o);
+ XMLVM_SOURCE_POSITION("FileDescriptor.java", 53)
+ _r0.o = __NEW_java_io_FileDescriptor();
+ XMLVM_CHECK_NPE(0)
+ java_io_FileDescriptor___INIT___(_r0.o);
+ java_io_FileDescriptor_PUT_err( _r0.o);
+ XMLVM_SOURCE_POSITION("FileDescriptor.java", 66)
+ _r0.o = java_io_FileDescriptor_GET_in();
+ _r1.l = 0;
+ XMLVM_CHECK_NPE(0)
+ ((java_io_FileDescriptor*) _r0.o)->fields.java_io_FileDescriptor.descriptor_ = _r1.l;
+ XMLVM_SOURCE_POSITION("FileDescriptor.java", 67)
+ _r0.o = java_io_FileDescriptor_GET_out();
+ _r1.l = 1;
+ XMLVM_CHECK_NPE(0)
+ ((java_io_FileDescriptor*) _r0.o)->fields.java_io_FileDescriptor.descriptor_ = _r1.l;
+ XMLVM_SOURCE_POSITION("FileDescriptor.java", 68)
+ _r0.o = java_io_FileDescriptor_GET_err();
+ _r1.l = 2;
+ XMLVM_CHECK_NPE(0)
+ ((java_io_FileDescriptor*) _r0.o)->fields.java_io_FileDescriptor.descriptor_ = _r1.l;
+ XMLVM_SOURCE_POSITION("FileDescriptor.java", 70)
+ java_io_FileDescriptor_oneTimeInitialization__();
+ XMLVM_SOURCE_POSITION("FileDescriptor.java", 38)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void java_io_FileDescriptor_oneTimeInitialization__()]
+
+void java_io_FileDescriptor___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_FileDescriptor___INIT___]
+ XMLVM_ENTER_METHOD("java.io.FileDescriptor", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("FileDescriptor.java", 78)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("FileDescriptor.java", 59)
+ _r0.l = -1;
+ XMLVM_CHECK_NPE(2)
+ ((java_io_FileDescriptor*) _r2.o)->fields.java_io_FileDescriptor.descriptor_ = _r0.l;
+ XMLVM_SOURCE_POSITION("FileDescriptor.java", 61)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(2)
+ ((java_io_FileDescriptor*) _r2.o)->fields.java_io_FileDescriptor.readOnly_ = _r0.i;
+ XMLVM_SOURCE_POSITION("FileDescriptor.java", 79)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_FileDescriptor_sync__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_FileDescriptor_sync__]
+ XMLVM_ENTER_METHOD("java.io.FileDescriptor", "sync", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("FileDescriptor.java", 90)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_io_FileDescriptor*) _r1.o)->fields.java_io_FileDescriptor.readOnly_;
+ if (_r0.i != 0) goto label7;
+ XMLVM_SOURCE_POSITION("FileDescriptor.java", 91)
+ XMLVM_CHECK_NPE(1)
+ java_io_FileDescriptor_syncImpl__(_r1.o);
+ label7:;
+ XMLVM_SOURCE_POSITION("FileDescriptor.java", 93)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void java_io_FileDescriptor_syncImpl__(JAVA_OBJECT me)]
+
+JAVA_BOOLEAN java_io_FileDescriptor_valid__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_FileDescriptor_valid__]
+ XMLVM_ENTER_METHOD("java.io.FileDescriptor", "valid", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ XMLVM_SOURCE_POSITION("FileDescriptor.java", 104)
+ XMLVM_CHECK_NPE(4)
+ _r0.l = ((java_io_FileDescriptor*) _r4.o)->fields.java_io_FileDescriptor.descriptor_;
+ _r2.l = -1;
+ _r0.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r0.i == 0) goto label10;
+ _r0.i = 1;
+ label9:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label10:;
+ _r0.i = 0;
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_io_FileDescriptor.h b/tests/nbody-java/java_io_FileDescriptor.h
new file mode 100644
index 00000000..72fb91c7
--- /dev/null
+++ b/tests/nbody-java/java_io_FileDescriptor.h
@@ -0,0 +1,65 @@
+#ifndef __JAVA_IO_FILEDESCRIPTOR__
+#define __JAVA_IO_FILEDESCRIPTOR__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_io_FileDescriptor 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+// Class declarations for java.io.FileDescriptor
+XMLVM_DEFINE_CLASS(java_io_FileDescriptor, 6, XMLVM_ITABLE_SIZE_java_io_FileDescriptor)
+
+extern JAVA_OBJECT __CLASS_java_io_FileDescriptor;
+extern JAVA_OBJECT __CLASS_java_io_FileDescriptor_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_FileDescriptor_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_FileDescriptor_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_io_FileDescriptor
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_io_FileDescriptor \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_LONG descriptor_; \
+ JAVA_BOOLEAN readOnly_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_io_FileDescriptor \
+ } java_io_FileDescriptor
+
+struct java_io_FileDescriptor {
+ __TIB_DEFINITION_java_io_FileDescriptor* tib;
+ struct {
+ __INSTANCE_FIELDS_java_io_FileDescriptor;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_io_FileDescriptor
+#define XMLVM_FORWARD_DECL_java_io_FileDescriptor
+typedef struct java_io_FileDescriptor java_io_FileDescriptor;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_io_FileDescriptor 6
+
+void __INIT_java_io_FileDescriptor();
+void __INIT_IMPL_java_io_FileDescriptor();
+void __DELETE_java_io_FileDescriptor(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_io_FileDescriptor(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_io_FileDescriptor();
+JAVA_OBJECT __NEW_INSTANCE_java_io_FileDescriptor();
+void xmlvm_init_native_java_io_FileDescriptor();
+JAVA_OBJECT java_io_FileDescriptor_GET_in();
+void java_io_FileDescriptor_PUT_in(JAVA_OBJECT v);
+JAVA_OBJECT java_io_FileDescriptor_GET_out();
+void java_io_FileDescriptor_PUT_out(JAVA_OBJECT v);
+JAVA_OBJECT java_io_FileDescriptor_GET_err();
+void java_io_FileDescriptor_PUT_err(JAVA_OBJECT v);
+void java_io_FileDescriptor___CLINIT_();
+void java_io_FileDescriptor_oneTimeInitialization__();
+void java_io_FileDescriptor___INIT___(JAVA_OBJECT me);
+void java_io_FileDescriptor_sync__(JAVA_OBJECT me);
+void java_io_FileDescriptor_syncImpl__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_io_FileDescriptor_valid__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_io_FilterOutputStream.c b/tests/nbody-java/java_io_FilterOutputStream.c
new file mode 100644
index 00000000..7611c920
--- /dev/null
+++ b/tests/nbody-java/java_io_FilterOutputStream.c
@@ -0,0 +1,386 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_String.h"
+#include "java_lang_Throwable.h"
+#include "org_apache_harmony_luni_internal_nls_Messages.h"
+
+#include "java_io_FilterOutputStream.h"
+
+#define XMLVM_CURRENT_CLASS_NAME FilterOutputStream
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_io_FilterOutputStream
+
+__TIB_DEFINITION_java_io_FilterOutputStream __TIB_java_io_FilterOutputStream = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_io_FilterOutputStream, // classInitializer
+ "java.io.FilterOutputStream", // className
+ "java.io", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_io_OutputStream, // extends
+ sizeof(java_io_FilterOutputStream), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_io_FilterOutputStream;
+JAVA_OBJECT __CLASS_java_io_FilterOutputStream_1ARRAY;
+JAVA_OBJECT __CLASS_java_io_FilterOutputStream_2ARRAY;
+JAVA_OBJECT __CLASS_java_io_FilterOutputStream_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_io_FilterOutputStream()
+{
+ staticInitializerLock(&__TIB_java_io_FilterOutputStream);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_io_FilterOutputStream.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_io_FilterOutputStream.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_io_FilterOutputStream);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_io_FilterOutputStream.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_io_FilterOutputStream.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_io_FilterOutputStream.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.io.FilterOutputStream")
+ __INIT_IMPL_java_io_FilterOutputStream();
+ }
+}
+
+void __INIT_IMPL_java_io_FilterOutputStream()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_io_OutputStream)
+ __TIB_java_io_FilterOutputStream.newInstanceFunc = __NEW_INSTANCE_java_io_FilterOutputStream;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_io_FilterOutputStream.vtable, __TIB_java_io_OutputStream.vtable, sizeof(__TIB_java_io_OutputStream.vtable));
+ // Initialize vtable for this class
+ __TIB_java_io_FilterOutputStream.vtable[7] = (VTABLE_PTR) &java_io_FilterOutputStream_close__;
+ __TIB_java_io_FilterOutputStream.vtable[8] = (VTABLE_PTR) &java_io_FilterOutputStream_flush__;
+ __TIB_java_io_FilterOutputStream.vtable[9] = (VTABLE_PTR) &java_io_FilterOutputStream_write___byte_1ARRAY;
+ __TIB_java_io_FilterOutputStream.vtable[10] = (VTABLE_PTR) &java_io_FilterOutputStream_write___byte_1ARRAY_int_int;
+ __TIB_java_io_FilterOutputStream.vtable[11] = (VTABLE_PTR) &java_io_FilterOutputStream_write___int;
+ // Initialize interface information
+ __TIB_java_io_FilterOutputStream.numImplementedInterfaces = 2;
+ __TIB_java_io_FilterOutputStream.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Closeable)
+
+ __TIB_java_io_FilterOutputStream.implementedInterfaces[0][0] = &__TIB_java_io_Closeable;
+
+ XMLVM_CLASS_INIT(java_io_Flushable)
+
+ __TIB_java_io_FilterOutputStream.implementedInterfaces[0][1] = &__TIB_java_io_Flushable;
+ // Initialize itable for this class
+ __TIB_java_io_FilterOutputStream.itableBegin = &__TIB_java_io_FilterOutputStream.itable[0];
+ __TIB_java_io_FilterOutputStream.itable[XMLVM_ITABLE_IDX_java_io_Closeable_close__] = __TIB_java_io_FilterOutputStream.vtable[7];
+ __TIB_java_io_FilterOutputStream.itable[XMLVM_ITABLE_IDX_java_io_Flushable_flush__] = __TIB_java_io_FilterOutputStream.vtable[8];
+
+
+ __TIB_java_io_FilterOutputStream.declaredFields = &__field_reflection_data[0];
+ __TIB_java_io_FilterOutputStream.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_io_FilterOutputStream.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_io_FilterOutputStream.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_io_FilterOutputStream.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_io_FilterOutputStream.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_io_FilterOutputStream.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_io_FilterOutputStream.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_io_FilterOutputStream = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_io_FilterOutputStream);
+ __TIB_java_io_FilterOutputStream.clazz = __CLASS_java_io_FilterOutputStream;
+ __TIB_java_io_FilterOutputStream.baseType = JAVA_NULL;
+ __CLASS_java_io_FilterOutputStream_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_FilterOutputStream);
+ __CLASS_java_io_FilterOutputStream_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_FilterOutputStream_1ARRAY);
+ __CLASS_java_io_FilterOutputStream_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_FilterOutputStream_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_io_FilterOutputStream]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_io_FilterOutputStream.classInitialized = 1;
+}
+
+void __DELETE_java_io_FilterOutputStream(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_io_FilterOutputStream]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_io_FilterOutputStream(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_io_OutputStream(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_io_FilterOutputStream*) me)->fields.java_io_FilterOutputStream.out_ = (java_io_OutputStream*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_io_FilterOutputStream]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_io_FilterOutputStream()
+{ XMLVM_CLASS_INIT(java_io_FilterOutputStream)
+java_io_FilterOutputStream* me = (java_io_FilterOutputStream*) XMLVM_MALLOC(sizeof(java_io_FilterOutputStream));
+ me->tib = &__TIB_java_io_FilterOutputStream;
+ __INIT_INSTANCE_MEMBERS_java_io_FilterOutputStream(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_io_FilterOutputStream]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_io_FilterOutputStream()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+void java_io_FilterOutputStream___INIT____java_io_OutputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_FilterOutputStream___INIT____java_io_OutputStream]
+ XMLVM_ENTER_METHOD("java.io.FilterOutputStream", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 47)
+ XMLVM_CHECK_NPE(0)
+ java_io_OutputStream___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 48)
+ XMLVM_CHECK_NPE(0)
+ ((java_io_FilterOutputStream*) _r0.o)->fields.java_io_FilterOutputStream.out_ = _r1.o;
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 49)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_FilterOutputStream_close__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_FilterOutputStream_close__]
+ XMLVM_ENTER_METHOD("java.io.FilterOutputStream", "close", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 59)
+ _r0.o = JAVA_NULL;
+ XMLVM_TRY_BEGIN(w4463aaab2b1b4)
+ // Begin try
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 61)
+ //java_io_FilterOutputStream_flush__[8]
+ XMLVM_CHECK_NPE(2)
+ (*(void (*)(JAVA_OBJECT)) ((java_io_FilterOutputStream*) _r2.o)->tib->vtable[8])(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4463aaab2b1b4)
+ XMLVM_CATCH_SPECIFIC(w4463aaab2b1b4,java_lang_Throwable,20)
+ XMLVM_CATCH_END(w4463aaab2b1b4)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4463aaab2b1b4)
+ label4:;
+ XMLVM_TRY_BEGIN(w4463aaab2b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 67)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_io_FilterOutputStream*) _r2.o)->fields.java_io_FilterOutputStream.out_;
+ //java_io_OutputStream_close__[7]
+ XMLVM_CHECK_NPE(1)
+ (*(void (*)(JAVA_OBJECT)) ((java_io_OutputStream*) _r1.o)->tib->vtable[7])(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4463aaab2b1b6)
+ XMLVM_CATCH_SPECIFIC(w4463aaab2b1b6,java_lang_Throwable,15)
+ XMLVM_CATCH_END(w4463aaab2b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4463aaab2b1b6)
+ label9:;
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 74)
+ if (_r0.o == JAVA_NULL) goto label14;
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 75)
+
+
+ // Red class access removed: org.apache.harmony.luni.util.SneakyThrow::sneakyThrow
+ XMLVM_RED_CLASS_DEPENDENCY();
+ label14:;
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 77)
+ XMLVM_EXIT_METHOD()
+ return;
+ label15:;
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 68)
+ java_lang_Thread* curThread_w4463aaab2b1c17 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4463aaab2b1c17->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 69)
+ if (_r0.o != JAVA_NULL) goto label9;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 70)
+ goto label9;
+ label20:;
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 62)
+ java_lang_Thread* curThread_w4463aaab2b1c25 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4463aaab2b1c25->fields.java_lang_Thread.xmlvmException_;
+ goto label4;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_FilterOutputStream_flush__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_FilterOutputStream_flush__]
+ XMLVM_ENTER_METHOD("java.io.FilterOutputStream", "flush", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 88)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_io_FilterOutputStream*) _r1.o)->fields.java_io_FilterOutputStream.out_;
+ //java_io_OutputStream_flush__[8]
+ XMLVM_CHECK_NPE(0)
+ (*(void (*)(JAVA_OBJECT)) ((java_io_OutputStream*) _r0.o)->tib->vtable[8])(_r0.o);
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 89)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_FilterOutputStream_write___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_FilterOutputStream_write___byte_1ARRAY]
+ XMLVM_ENTER_METHOD("java.io.FilterOutputStream", "write", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 103)
+ _r0.i = 0;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ //java_io_FilterOutputStream_write___byte_1ARRAY_int_int[10]
+ XMLVM_CHECK_NPE(2)
+ (*(void (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_INT, JAVA_INT)) ((java_io_FilterOutputStream*) _r2.o)->tib->vtable[10])(_r2.o, _r3.o, _r0.i, _r1.i);
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 104)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_FilterOutputStream_write___byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_FilterOutputStream_write___byte_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.io.FilterOutputStream", "write", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.i = n2;
+ _r5.i = n3;
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 126)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ if (_r4.i > _r0.i) goto label5;
+ if (_r4.i >= 0) goto label17;
+ label5:;
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 128)
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.12"
+ _r1.o = xmlvm_create_java_string_from_pool(61);
+ _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_int(_r1.o, _r4.i);
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label17:;
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 130)
+ if (_r5.i < 0) goto label23;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ _r0.i = _r0.i - _r4.i;
+ if (_r5.i <= _r0.i) goto label35;
+ label23:;
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 132)
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.18"
+ _r1.o = xmlvm_create_java_string_from_pool(62);
+ _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_int(_r1.o, _r5.i);
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label35:;
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 134)
+ _r0.i = 0;
+ label36:;
+ if (_r0.i < _r5.i) goto label39;
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 139)
+ XMLVM_EXIT_METHOD()
+ return;
+ label39:;
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 137)
+ _r1.i = _r4.i + _r0.i;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r1.i);
+ _r1.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ //java_io_FilterOutputStream_write___int[11]
+ XMLVM_CHECK_NPE(2)
+ (*(void (*)(JAVA_OBJECT, JAVA_INT)) ((java_io_FilterOutputStream*) _r2.o)->tib->vtable[11])(_r2.o, _r1.i);
+ _r0.i = _r0.i + 1;
+ goto label36;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_FilterOutputStream_write___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_FilterOutputStream_write___int]
+ XMLVM_ENTER_METHOD("java.io.FilterOutputStream", "write", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 152)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_io_FilterOutputStream*) _r1.o)->fields.java_io_FilterOutputStream.out_;
+ //java_io_OutputStream_write___int[11]
+ XMLVM_CHECK_NPE(0)
+ (*(void (*)(JAVA_OBJECT, JAVA_INT)) ((java_io_OutputStream*) _r0.o)->tib->vtable[11])(_r0.o, _r2.i);
+ XMLVM_SOURCE_POSITION("FilterOutputStream.java", 153)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_io_FilterOutputStream.h b/tests/nbody-java/java_io_FilterOutputStream.h
new file mode 100644
index 00000000..5fa1eeb1
--- /dev/null
+++ b/tests/nbody-java/java_io_FilterOutputStream.h
@@ -0,0 +1,83 @@
+#ifndef __JAVA_IO_FILTEROUTPUTSTREAM__
+#define __JAVA_IO_FILTEROUTPUTSTREAM__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_io_FilterOutputStream 2
+// Implemented interfaces:
+// Super Class:
+#include "java_io_OutputStream.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Throwable
+#define XMLVM_FORWARD_DECL_java_lang_Throwable
+XMLVM_FORWARD_DECL(java_lang_Throwable)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_internal_nls_Messages)
+#endif
+// Class declarations for java.io.FilterOutputStream
+XMLVM_DEFINE_CLASS(java_io_FilterOutputStream, 12, XMLVM_ITABLE_SIZE_java_io_FilterOutputStream)
+
+extern JAVA_OBJECT __CLASS_java_io_FilterOutputStream;
+extern JAVA_OBJECT __CLASS_java_io_FilterOutputStream_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_FilterOutputStream_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_FilterOutputStream_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_io_FilterOutputStream
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_io_FilterOutputStream \
+ __INSTANCE_FIELDS_java_io_OutputStream; \
+ struct { \
+ JAVA_OBJECT out_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_io_FilterOutputStream \
+ } java_io_FilterOutputStream
+
+struct java_io_FilterOutputStream {
+ __TIB_DEFINITION_java_io_FilterOutputStream* tib;
+ struct {
+ __INSTANCE_FIELDS_java_io_FilterOutputStream;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_io_FilterOutputStream
+#define XMLVM_FORWARD_DECL_java_io_FilterOutputStream
+typedef struct java_io_FilterOutputStream java_io_FilterOutputStream;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_io_FilterOutputStream 12
+#define XMLVM_VTABLE_IDX_java_io_FilterOutputStream_close__ 7
+#define XMLVM_VTABLE_IDX_java_io_FilterOutputStream_flush__ 8
+#define XMLVM_VTABLE_IDX_java_io_FilterOutputStream_write___byte_1ARRAY 9
+#define XMLVM_VTABLE_IDX_java_io_FilterOutputStream_write___byte_1ARRAY_int_int 10
+#define XMLVM_VTABLE_IDX_java_io_FilterOutputStream_write___int 11
+
+void __INIT_java_io_FilterOutputStream();
+void __INIT_IMPL_java_io_FilterOutputStream();
+void __DELETE_java_io_FilterOutputStream(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_io_FilterOutputStream(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_io_FilterOutputStream();
+JAVA_OBJECT __NEW_INSTANCE_java_io_FilterOutputStream();
+void java_io_FilterOutputStream___INIT____java_io_OutputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 7
+void java_io_FilterOutputStream_close__(JAVA_OBJECT me);
+// Vtable index: 8
+void java_io_FilterOutputStream_flush__(JAVA_OBJECT me);
+// Vtable index: 9
+void java_io_FilterOutputStream_write___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 10
+void java_io_FilterOutputStream_write___byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+// Vtable index: 11
+void java_io_FilterOutputStream_write___int(JAVA_OBJECT me, JAVA_INT n1);
+
+#endif
diff --git a/tests/nbody-java/java_io_Flushable.c b/tests/nbody-java/java_io_Flushable.c
new file mode 100644
index 00000000..99ac4e83
--- /dev/null
+++ b/tests/nbody-java/java_io_Flushable.c
@@ -0,0 +1,76 @@
+#include "xmlvm.h"
+
+#include "java_io_Flushable.h"
+
+__TIB_DEFINITION_java_io_Flushable __TIB_java_io_Flushable = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_io_Flushable, // classInitializer
+ "java.io.Flushable", // className
+ "java.io", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_io_Flushable;
+JAVA_OBJECT __CLASS_java_io_Flushable_1ARRAY;
+JAVA_OBJECT __CLASS_java_io_Flushable_2ARRAY;
+JAVA_OBJECT __CLASS_java_io_Flushable_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_io_Flushable()
+{
+ staticInitializerLock(&__TIB_java_io_Flushable);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_io_Flushable.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_io_Flushable.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_io_Flushable);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_io_Flushable.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_io_Flushable.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_io_Flushable.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.io.Flushable")
+ __INIT_IMPL_java_io_Flushable();
+ }
+}
+
+void __INIT_IMPL_java_io_Flushable()
+{
+ __TIB_java_io_Flushable.numInterfaces = 0;
+ __TIB_java_io_Flushable.declaredFields = &__field_reflection_data[0];
+ __TIB_java_io_Flushable.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_io_Flushable.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_io_Flushable.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_io_Flushable.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_io_Flushable = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_io_Flushable);
+ __TIB_java_io_Flushable.clazz = __CLASS_java_io_Flushable;
+ __TIB_java_io_Flushable.baseType = JAVA_NULL;
+ __CLASS_java_io_Flushable_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_Flushable);
+ __CLASS_java_io_Flushable_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_Flushable_1ARRAY);
+ __CLASS_java_io_Flushable_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_Flushable_2ARRAY);
+
+ __TIB_java_io_Flushable.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_io_Flushable.h b/tests/nbody-java/java_io_Flushable.h
new file mode 100644
index 00000000..ef099618
--- /dev/null
+++ b/tests/nbody-java/java_io_Flushable.h
@@ -0,0 +1,28 @@
+#ifndef __JAVA_IO_FLUSHABLE__
+#define __JAVA_IO_FLUSHABLE__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_io_Flushable_flush__ 1
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+
+XMLVM_DEFINE_CLASS(java_io_Flushable, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_io_Flushable;
+extern JAVA_OBJECT __CLASS_java_io_Flushable_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_Flushable_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_Flushable_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_io_Flushable
+#define XMLVM_FORWARD_DECL_java_io_Flushable
+typedef struct java_io_Flushable java_io_Flushable;
+#endif
+
+void __INIT_java_io_Flushable();
+void __INIT_IMPL_java_io_Flushable();
+
+#endif
diff --git a/tests/nbody-java/java_io_IOException.c b/tests/nbody-java/java_io_IOException.c
new file mode 100644
index 00000000..0c0551af
--- /dev/null
+++ b/tests/nbody-java/java_io_IOException.c
@@ -0,0 +1,243 @@
+#include "xmlvm.h"
+#include "java_lang_String.h"
+#include "java_lang_Throwable.h"
+
+#include "java_io_IOException.h"
+
+#define XMLVM_CURRENT_CLASS_NAME IOException
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_io_IOException
+
+__TIB_DEFINITION_java_io_IOException __TIB_java_io_IOException = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_io_IOException, // classInitializer
+ "java.io.IOException", // className
+ "java.io", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Exception, // extends
+ sizeof(java_io_IOException), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_io_IOException;
+JAVA_OBJECT __CLASS_java_io_IOException_1ARRAY;
+JAVA_OBJECT __CLASS_java_io_IOException_2ARRAY;
+JAVA_OBJECT __CLASS_java_io_IOException_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_io_IOException_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_io_IOException()
+{
+ staticInitializerLock(&__TIB_java_io_IOException);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_io_IOException.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_io_IOException.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_io_IOException);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_io_IOException.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_io_IOException.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_io_IOException.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.io.IOException")
+ __INIT_IMPL_java_io_IOException();
+ }
+}
+
+void __INIT_IMPL_java_io_IOException()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Exception)
+ __TIB_java_io_IOException.newInstanceFunc = __NEW_INSTANCE_java_io_IOException;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_io_IOException.vtable, __TIB_java_lang_Exception.vtable, sizeof(__TIB_java_lang_Exception.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_io_IOException.numImplementedInterfaces = 1;
+ __TIB_java_io_IOException.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_io_IOException.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+ // Initialize itable for this class
+ __TIB_java_io_IOException.itableBegin = &__TIB_java_io_IOException.itable[0];
+
+ _STATIC_java_io_IOException_serialVersionUID = 7818375828146090155;
+
+ __TIB_java_io_IOException.declaredFields = &__field_reflection_data[0];
+ __TIB_java_io_IOException.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_io_IOException.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_io_IOException.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_io_IOException.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_io_IOException.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_io_IOException.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_io_IOException.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_io_IOException = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_io_IOException);
+ __TIB_java_io_IOException.clazz = __CLASS_java_io_IOException;
+ __TIB_java_io_IOException.baseType = JAVA_NULL;
+ __CLASS_java_io_IOException_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_IOException);
+ __CLASS_java_io_IOException_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_IOException_1ARRAY);
+ __CLASS_java_io_IOException_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_IOException_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_io_IOException]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_io_IOException.classInitialized = 1;
+}
+
+void __DELETE_java_io_IOException(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_io_IOException]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_io_IOException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Exception(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_io_IOException]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_io_IOException()
+{ XMLVM_CLASS_INIT(java_io_IOException)
+java_io_IOException* me = (java_io_IOException*) XMLVM_MALLOC(sizeof(java_io_IOException));
+ me->tib = &__TIB_java_io_IOException;
+ __INIT_INSTANCE_MEMBERS_java_io_IOException(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_io_IOException]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_io_IOException()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_io_IOException();
+ java_io_IOException___INIT___(me);
+ return me;
+}
+
+JAVA_LONG java_io_IOException_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_io_IOException)
+ return _STATIC_java_io_IOException_serialVersionUID;
+}
+
+void java_io_IOException_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_io_IOException)
+_STATIC_java_io_IOException_serialVersionUID = v;
+}
+
+void java_io_IOException___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_IOException___INIT___]
+ XMLVM_ENTER_METHOD("java.io.IOException", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("IOException.java", 34)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Exception___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("IOException.java", 35)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_IOException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_IOException___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.io.IOException", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("IOException.java", 45)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Exception___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("IOException.java", 46)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_IOException___INIT____java_lang_String_java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_IOException___INIT____java_lang_String_java_lang_Throwable]
+ XMLVM_ENTER_METHOD("java.io.IOException", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("IOException.java", 59)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Exception___INIT____java_lang_String_java_lang_Throwable(_r0.o, _r1.o, _r2.o);
+ XMLVM_SOURCE_POSITION("IOException.java", 60)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_IOException___INIT____java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_IOException___INIT____java_lang_Throwable]
+ XMLVM_ENTER_METHOD("java.io.IOException", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("IOException.java", 70)
+ if (_r2.o != JAVA_NULL) goto label7;
+ _r0.o = JAVA_NULL;
+ label3:;
+ XMLVM_CHECK_NPE(1)
+ java_lang_Exception___INIT____java_lang_String_java_lang_Throwable(_r1.o, _r0.o, _r2.o);
+ XMLVM_SOURCE_POSITION("IOException.java", 71)
+ XMLVM_EXIT_METHOD()
+ return;
+ label7:;
+ //java_lang_Throwable_toString__[5]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Throwable*) _r2.o)->tib->vtable[5])(_r2.o);
+ goto label3;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_io_IOException.h b/tests/nbody-java/java_io_IOException.h
new file mode 100644
index 00000000..d2f06fed
--- /dev/null
+++ b/tests/nbody-java/java_io_IOException.h
@@ -0,0 +1,64 @@
+#ifndef __JAVA_IO_IOEXCEPTION__
+#define __JAVA_IO_IOEXCEPTION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_io_IOException 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Exception.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Throwable
+#define XMLVM_FORWARD_DECL_java_lang_Throwable
+XMLVM_FORWARD_DECL(java_lang_Throwable)
+#endif
+// Class declarations for java.io.IOException
+XMLVM_DEFINE_CLASS(java_io_IOException, 8, XMLVM_ITABLE_SIZE_java_io_IOException)
+
+extern JAVA_OBJECT __CLASS_java_io_IOException;
+extern JAVA_OBJECT __CLASS_java_io_IOException_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_IOException_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_IOException_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_io_IOException
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_io_IOException \
+ __INSTANCE_FIELDS_java_lang_Exception; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_io_IOException \
+ } java_io_IOException
+
+struct java_io_IOException {
+ __TIB_DEFINITION_java_io_IOException* tib;
+ struct {
+ __INSTANCE_FIELDS_java_io_IOException;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_io_IOException
+#define XMLVM_FORWARD_DECL_java_io_IOException
+typedef struct java_io_IOException java_io_IOException;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_io_IOException 8
+
+void __INIT_java_io_IOException();
+void __INIT_IMPL_java_io_IOException();
+void __DELETE_java_io_IOException(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_io_IOException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_io_IOException();
+JAVA_OBJECT __NEW_INSTANCE_java_io_IOException();
+JAVA_LONG java_io_IOException_GET_serialVersionUID();
+void java_io_IOException_PUT_serialVersionUID(JAVA_LONG v);
+void java_io_IOException___INIT___(JAVA_OBJECT me);
+void java_io_IOException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_io_IOException___INIT____java_lang_String_java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_io_IOException___INIT____java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_io_InterruptedIOException.c b/tests/nbody-java/java_io_InterruptedIOException.c
new file mode 100644
index 00000000..ac011279
--- /dev/null
+++ b/tests/nbody-java/java_io_InterruptedIOException.c
@@ -0,0 +1,198 @@
+#include "xmlvm.h"
+#include "java_lang_String.h"
+
+#include "java_io_InterruptedIOException.h"
+
+#define XMLVM_CURRENT_CLASS_NAME InterruptedIOException
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_io_InterruptedIOException
+
+__TIB_DEFINITION_java_io_InterruptedIOException __TIB_java_io_InterruptedIOException = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_io_InterruptedIOException, // classInitializer
+ "java.io.InterruptedIOException", // className
+ "java.io", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_io_IOException, // extends
+ sizeof(java_io_InterruptedIOException), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_io_InterruptedIOException;
+JAVA_OBJECT __CLASS_java_io_InterruptedIOException_1ARRAY;
+JAVA_OBJECT __CLASS_java_io_InterruptedIOException_2ARRAY;
+JAVA_OBJECT __CLASS_java_io_InterruptedIOException_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_io_InterruptedIOException_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_io_InterruptedIOException()
+{
+ staticInitializerLock(&__TIB_java_io_InterruptedIOException);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_io_InterruptedIOException.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_io_InterruptedIOException.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_io_InterruptedIOException);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_io_InterruptedIOException.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_io_InterruptedIOException.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_io_InterruptedIOException.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.io.InterruptedIOException")
+ __INIT_IMPL_java_io_InterruptedIOException();
+ }
+}
+
+void __INIT_IMPL_java_io_InterruptedIOException()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_io_IOException)
+ __TIB_java_io_InterruptedIOException.newInstanceFunc = __NEW_INSTANCE_java_io_InterruptedIOException;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_io_InterruptedIOException.vtable, __TIB_java_io_IOException.vtable, sizeof(__TIB_java_io_IOException.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_io_InterruptedIOException.numImplementedInterfaces = 1;
+ __TIB_java_io_InterruptedIOException.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_io_InterruptedIOException.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+ // Initialize itable for this class
+ __TIB_java_io_InterruptedIOException.itableBegin = &__TIB_java_io_InterruptedIOException.itable[0];
+
+ _STATIC_java_io_InterruptedIOException_serialVersionUID = 4020568460727500567;
+
+ __TIB_java_io_InterruptedIOException.declaredFields = &__field_reflection_data[0];
+ __TIB_java_io_InterruptedIOException.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_io_InterruptedIOException.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_io_InterruptedIOException.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_io_InterruptedIOException.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_io_InterruptedIOException.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_io_InterruptedIOException.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_io_InterruptedIOException.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_io_InterruptedIOException = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_io_InterruptedIOException);
+ __TIB_java_io_InterruptedIOException.clazz = __CLASS_java_io_InterruptedIOException;
+ __TIB_java_io_InterruptedIOException.baseType = JAVA_NULL;
+ __CLASS_java_io_InterruptedIOException_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_InterruptedIOException);
+ __CLASS_java_io_InterruptedIOException_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_InterruptedIOException_1ARRAY);
+ __CLASS_java_io_InterruptedIOException_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_InterruptedIOException_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_io_InterruptedIOException]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_io_InterruptedIOException.classInitialized = 1;
+}
+
+void __DELETE_java_io_InterruptedIOException(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_io_InterruptedIOException]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_io_InterruptedIOException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_io_IOException(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_io_InterruptedIOException*) me)->fields.java_io_InterruptedIOException.bytesTransferred_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_io_InterruptedIOException]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_io_InterruptedIOException()
+{ XMLVM_CLASS_INIT(java_io_InterruptedIOException)
+java_io_InterruptedIOException* me = (java_io_InterruptedIOException*) XMLVM_MALLOC(sizeof(java_io_InterruptedIOException));
+ me->tib = &__TIB_java_io_InterruptedIOException;
+ __INIT_INSTANCE_MEMBERS_java_io_InterruptedIOException(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_io_InterruptedIOException]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_io_InterruptedIOException()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_io_InterruptedIOException();
+ java_io_InterruptedIOException___INIT___(me);
+ return me;
+}
+
+JAVA_LONG java_io_InterruptedIOException_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_io_InterruptedIOException)
+ return _STATIC_java_io_InterruptedIOException_serialVersionUID;
+}
+
+void java_io_InterruptedIOException_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_io_InterruptedIOException)
+_STATIC_java_io_InterruptedIOException_serialVersionUID = v;
+}
+
+void java_io_InterruptedIOException___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_InterruptedIOException___INIT___]
+ XMLVM_ENTER_METHOD("java.io.InterruptedIOException", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("InterruptedIOException.java", 39)
+ XMLVM_CHECK_NPE(0)
+ java_io_IOException___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("InterruptedIOException.java", 40)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_InterruptedIOException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_InterruptedIOException___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.io.InterruptedIOException", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("InterruptedIOException.java", 50)
+ XMLVM_CHECK_NPE(0)
+ java_io_IOException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("InterruptedIOException.java", 51)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_io_InterruptedIOException.h b/tests/nbody-java/java_io_InterruptedIOException.h
new file mode 100644
index 00000000..9735fbfd
--- /dev/null
+++ b/tests/nbody-java/java_io_InterruptedIOException.h
@@ -0,0 +1,59 @@
+#ifndef __JAVA_IO_INTERRUPTEDIOEXCEPTION__
+#define __JAVA_IO_INTERRUPTEDIOEXCEPTION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_io_InterruptedIOException 0
+// Implemented interfaces:
+// Super Class:
+#include "java_io_IOException.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+// Class declarations for java.io.InterruptedIOException
+XMLVM_DEFINE_CLASS(java_io_InterruptedIOException, 8, XMLVM_ITABLE_SIZE_java_io_InterruptedIOException)
+
+extern JAVA_OBJECT __CLASS_java_io_InterruptedIOException;
+extern JAVA_OBJECT __CLASS_java_io_InterruptedIOException_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_InterruptedIOException_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_InterruptedIOException_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_io_InterruptedIOException
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_io_InterruptedIOException \
+ __INSTANCE_FIELDS_java_io_IOException; \
+ struct { \
+ JAVA_INT bytesTransferred_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_io_InterruptedIOException \
+ } java_io_InterruptedIOException
+
+struct java_io_InterruptedIOException {
+ __TIB_DEFINITION_java_io_InterruptedIOException* tib;
+ struct {
+ __INSTANCE_FIELDS_java_io_InterruptedIOException;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_io_InterruptedIOException
+#define XMLVM_FORWARD_DECL_java_io_InterruptedIOException
+typedef struct java_io_InterruptedIOException java_io_InterruptedIOException;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_io_InterruptedIOException 8
+
+void __INIT_java_io_InterruptedIOException();
+void __INIT_IMPL_java_io_InterruptedIOException();
+void __DELETE_java_io_InterruptedIOException(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_io_InterruptedIOException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_io_InterruptedIOException();
+JAVA_OBJECT __NEW_INSTANCE_java_io_InterruptedIOException();
+JAVA_LONG java_io_InterruptedIOException_GET_serialVersionUID();
+void java_io_InterruptedIOException_PUT_serialVersionUID(JAVA_LONG v);
+void java_io_InterruptedIOException___INIT___(JAVA_OBJECT me);
+void java_io_InterruptedIOException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_io_InvalidClassException.c b/tests/nbody-java/java_io_InvalidClassException.c
new file mode 100644
index 00000000..647a15f8
--- /dev/null
+++ b/tests/nbody-java/java_io_InvalidClassException.c
@@ -0,0 +1,245 @@
+#include "xmlvm.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+
+#include "java_io_InvalidClassException.h"
+
+#define XMLVM_CURRENT_CLASS_NAME InvalidClassException
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_io_InvalidClassException
+
+__TIB_DEFINITION_java_io_InvalidClassException __TIB_java_io_InvalidClassException = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_io_InvalidClassException, // classInitializer
+ "java.io.InvalidClassException", // className
+ "java.io", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_io_ObjectStreamException, // extends
+ sizeof(java_io_InvalidClassException), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_io_InvalidClassException;
+JAVA_OBJECT __CLASS_java_io_InvalidClassException_1ARRAY;
+JAVA_OBJECT __CLASS_java_io_InvalidClassException_2ARRAY;
+JAVA_OBJECT __CLASS_java_io_InvalidClassException_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_io_InvalidClassException_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_io_InvalidClassException()
+{
+ staticInitializerLock(&__TIB_java_io_InvalidClassException);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_io_InvalidClassException.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_io_InvalidClassException.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_io_InvalidClassException);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_io_InvalidClassException.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_io_InvalidClassException.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_io_InvalidClassException.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.io.InvalidClassException")
+ __INIT_IMPL_java_io_InvalidClassException();
+ }
+}
+
+void __INIT_IMPL_java_io_InvalidClassException()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_io_ObjectStreamException)
+ __TIB_java_io_InvalidClassException.newInstanceFunc = __NEW_INSTANCE_java_io_InvalidClassException;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_io_InvalidClassException.vtable, __TIB_java_io_ObjectStreamException.vtable, sizeof(__TIB_java_io_ObjectStreamException.vtable));
+ // Initialize vtable for this class
+ __TIB_java_io_InvalidClassException.vtable[7] = (VTABLE_PTR) &java_io_InvalidClassException_getMessage__;
+ // Initialize interface information
+ __TIB_java_io_InvalidClassException.numImplementedInterfaces = 1;
+ __TIB_java_io_InvalidClassException.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_io_InvalidClassException.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+ // Initialize itable for this class
+ __TIB_java_io_InvalidClassException.itableBegin = &__TIB_java_io_InvalidClassException.itable[0];
+
+ _STATIC_java_io_InvalidClassException_serialVersionUID = -4333316296251054416;
+
+ __TIB_java_io_InvalidClassException.declaredFields = &__field_reflection_data[0];
+ __TIB_java_io_InvalidClassException.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_io_InvalidClassException.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_io_InvalidClassException.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_io_InvalidClassException.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_io_InvalidClassException.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_io_InvalidClassException.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_io_InvalidClassException.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_io_InvalidClassException = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_io_InvalidClassException);
+ __TIB_java_io_InvalidClassException.clazz = __CLASS_java_io_InvalidClassException;
+ __TIB_java_io_InvalidClassException.baseType = JAVA_NULL;
+ __CLASS_java_io_InvalidClassException_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_InvalidClassException);
+ __CLASS_java_io_InvalidClassException_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_InvalidClassException_1ARRAY);
+ __CLASS_java_io_InvalidClassException_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_InvalidClassException_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_io_InvalidClassException]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_io_InvalidClassException.classInitialized = 1;
+}
+
+void __DELETE_java_io_InvalidClassException(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_io_InvalidClassException]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_io_InvalidClassException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_io_ObjectStreamException(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_io_InvalidClassException*) me)->fields.java_io_InvalidClassException.classname_ = (java_lang_String*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_io_InvalidClassException]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_io_InvalidClassException()
+{ XMLVM_CLASS_INIT(java_io_InvalidClassException)
+java_io_InvalidClassException* me = (java_io_InvalidClassException*) XMLVM_MALLOC(sizeof(java_io_InvalidClassException));
+ me->tib = &__TIB_java_io_InvalidClassException;
+ __INIT_INSTANCE_MEMBERS_java_io_InvalidClassException(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_io_InvalidClassException]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_io_InvalidClassException()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_io_InvalidClassException_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_io_InvalidClassException)
+ return _STATIC_java_io_InvalidClassException_serialVersionUID;
+}
+
+void java_io_InvalidClassException_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_io_InvalidClassException)
+_STATIC_java_io_InvalidClassException_serialVersionUID = v;
+}
+
+void java_io_InvalidClassException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_InvalidClassException___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.io.InvalidClassException", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("InvalidClassException.java", 51)
+ XMLVM_CHECK_NPE(0)
+ java_io_ObjectStreamException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("InvalidClassException.java", 52)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_InvalidClassException___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_InvalidClassException___INIT____java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("java.io.InvalidClassException", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("InvalidClassException.java", 65)
+ XMLVM_CHECK_NPE(0)
+ java_io_ObjectStreamException___INIT____java_lang_String(_r0.o, _r2.o);
+ XMLVM_SOURCE_POSITION("InvalidClassException.java", 66)
+ XMLVM_CHECK_NPE(0)
+ ((java_io_InvalidClassException*) _r0.o)->fields.java_io_InvalidClassException.classname_ = _r1.o;
+ XMLVM_SOURCE_POSITION("InvalidClassException.java", 67)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_InvalidClassException_getMessage__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_InvalidClassException_getMessage__]
+ XMLVM_ENTER_METHOD("java.io.InvalidClassException", "getMessage", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("InvalidClassException.java", 80)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_lang_Throwable_getMessage__(_r3.o);
+ XMLVM_SOURCE_POSITION("InvalidClassException.java", 81)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_io_InvalidClassException*) _r3.o)->fields.java_io_InvalidClassException.classname_;
+ if (_r1.o == JAVA_NULL) goto label33;
+ XMLVM_SOURCE_POSITION("InvalidClassException.java", 82)
+ _r1.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_io_InvalidClassException*) _r3.o)->fields.java_io_InvalidClassException.classname_;
+ _r2.o = java_lang_String_valueOf___java_lang_Object(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder___INIT____java_lang_String(_r1.o, _r2.o);
+ // "; "
+ _r2.o = xmlvm_create_java_string_from_pool(820);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r2.o);
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r0.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ label33:;
+ XMLVM_SOURCE_POSITION("InvalidClassException.java", 84)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_io_InvalidClassException.h b/tests/nbody-java/java_io_InvalidClassException.h
new file mode 100644
index 00000000..b1207522
--- /dev/null
+++ b/tests/nbody-java/java_io_InvalidClassException.h
@@ -0,0 +1,70 @@
+#ifndef __JAVA_IO_INVALIDCLASSEXCEPTION__
+#define __JAVA_IO_INVALIDCLASSEXCEPTION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_io_InvalidClassException 0
+// Implemented interfaces:
+// Super Class:
+#include "java_io_ObjectStreamException.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+// Class declarations for java.io.InvalidClassException
+XMLVM_DEFINE_CLASS(java_io_InvalidClassException, 8, XMLVM_ITABLE_SIZE_java_io_InvalidClassException)
+
+extern JAVA_OBJECT __CLASS_java_io_InvalidClassException;
+extern JAVA_OBJECT __CLASS_java_io_InvalidClassException_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_InvalidClassException_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_InvalidClassException_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_io_InvalidClassException
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_io_InvalidClassException \
+ __INSTANCE_FIELDS_java_io_ObjectStreamException; \
+ struct { \
+ JAVA_OBJECT classname_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_io_InvalidClassException \
+ } java_io_InvalidClassException
+
+struct java_io_InvalidClassException {
+ __TIB_DEFINITION_java_io_InvalidClassException* tib;
+ struct {
+ __INSTANCE_FIELDS_java_io_InvalidClassException;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_io_InvalidClassException
+#define XMLVM_FORWARD_DECL_java_io_InvalidClassException
+typedef struct java_io_InvalidClassException java_io_InvalidClassException;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_io_InvalidClassException 8
+#define XMLVM_VTABLE_IDX_java_io_InvalidClassException_getMessage__ 7
+
+void __INIT_java_io_InvalidClassException();
+void __INIT_IMPL_java_io_InvalidClassException();
+void __DELETE_java_io_InvalidClassException(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_io_InvalidClassException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_io_InvalidClassException();
+JAVA_OBJECT __NEW_INSTANCE_java_io_InvalidClassException();
+JAVA_LONG java_io_InvalidClassException_GET_serialVersionUID();
+void java_io_InvalidClassException_PUT_serialVersionUID(JAVA_LONG v);
+void java_io_InvalidClassException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_io_InvalidClassException___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+// Vtable index: 7
+JAVA_OBJECT java_io_InvalidClassException_getMessage__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_io_InvalidObjectException.c b/tests/nbody-java/java_io_InvalidObjectException.c
new file mode 100644
index 00000000..b65e2021
--- /dev/null
+++ b/tests/nbody-java/java_io_InvalidObjectException.c
@@ -0,0 +1,180 @@
+#include "xmlvm.h"
+#include "java_lang_String.h"
+
+#include "java_io_InvalidObjectException.h"
+
+#define XMLVM_CURRENT_CLASS_NAME InvalidObjectException
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_io_InvalidObjectException
+
+__TIB_DEFINITION_java_io_InvalidObjectException __TIB_java_io_InvalidObjectException = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_io_InvalidObjectException, // classInitializer
+ "java.io.InvalidObjectException", // className
+ "java.io", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_io_ObjectStreamException, // extends
+ sizeof(java_io_InvalidObjectException), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_io_InvalidObjectException;
+JAVA_OBJECT __CLASS_java_io_InvalidObjectException_1ARRAY;
+JAVA_OBJECT __CLASS_java_io_InvalidObjectException_2ARRAY;
+JAVA_OBJECT __CLASS_java_io_InvalidObjectException_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_io_InvalidObjectException_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_io_InvalidObjectException()
+{
+ staticInitializerLock(&__TIB_java_io_InvalidObjectException);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_io_InvalidObjectException.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_io_InvalidObjectException.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_io_InvalidObjectException);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_io_InvalidObjectException.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_io_InvalidObjectException.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_io_InvalidObjectException.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.io.InvalidObjectException")
+ __INIT_IMPL_java_io_InvalidObjectException();
+ }
+}
+
+void __INIT_IMPL_java_io_InvalidObjectException()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_io_ObjectStreamException)
+ __TIB_java_io_InvalidObjectException.newInstanceFunc = __NEW_INSTANCE_java_io_InvalidObjectException;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_io_InvalidObjectException.vtable, __TIB_java_io_ObjectStreamException.vtable, sizeof(__TIB_java_io_ObjectStreamException.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_io_InvalidObjectException.numImplementedInterfaces = 1;
+ __TIB_java_io_InvalidObjectException.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_io_InvalidObjectException.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+ // Initialize itable for this class
+ __TIB_java_io_InvalidObjectException.itableBegin = &__TIB_java_io_InvalidObjectException.itable[0];
+
+ _STATIC_java_io_InvalidObjectException_serialVersionUID = 3233174318281839583;
+
+ __TIB_java_io_InvalidObjectException.declaredFields = &__field_reflection_data[0];
+ __TIB_java_io_InvalidObjectException.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_io_InvalidObjectException.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_io_InvalidObjectException.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_io_InvalidObjectException.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_io_InvalidObjectException.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_io_InvalidObjectException.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_io_InvalidObjectException.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_io_InvalidObjectException = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_io_InvalidObjectException);
+ __TIB_java_io_InvalidObjectException.clazz = __CLASS_java_io_InvalidObjectException;
+ __TIB_java_io_InvalidObjectException.baseType = JAVA_NULL;
+ __CLASS_java_io_InvalidObjectException_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_InvalidObjectException);
+ __CLASS_java_io_InvalidObjectException_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_InvalidObjectException_1ARRAY);
+ __CLASS_java_io_InvalidObjectException_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_InvalidObjectException_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_io_InvalidObjectException]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_io_InvalidObjectException.classInitialized = 1;
+}
+
+void __DELETE_java_io_InvalidObjectException(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_io_InvalidObjectException]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_io_InvalidObjectException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_io_ObjectStreamException(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_io_InvalidObjectException]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_io_InvalidObjectException()
+{ XMLVM_CLASS_INIT(java_io_InvalidObjectException)
+java_io_InvalidObjectException* me = (java_io_InvalidObjectException*) XMLVM_MALLOC(sizeof(java_io_InvalidObjectException));
+ me->tib = &__TIB_java_io_InvalidObjectException;
+ __INIT_INSTANCE_MEMBERS_java_io_InvalidObjectException(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_io_InvalidObjectException]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_io_InvalidObjectException()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_io_InvalidObjectException_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_io_InvalidObjectException)
+ return _STATIC_java_io_InvalidObjectException_serialVersionUID;
+}
+
+void java_io_InvalidObjectException_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_io_InvalidObjectException)
+_STATIC_java_io_InvalidObjectException_serialVersionUID = v;
+}
+
+void java_io_InvalidObjectException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_InvalidObjectException___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.io.InvalidObjectException", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("InvalidObjectException.java", 38)
+ XMLVM_CHECK_NPE(0)
+ java_io_ObjectStreamException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("InvalidObjectException.java", 39)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_io_InvalidObjectException.h b/tests/nbody-java/java_io_InvalidObjectException.h
new file mode 100644
index 00000000..01996226
--- /dev/null
+++ b/tests/nbody-java/java_io_InvalidObjectException.h
@@ -0,0 +1,57 @@
+#ifndef __JAVA_IO_INVALIDOBJECTEXCEPTION__
+#define __JAVA_IO_INVALIDOBJECTEXCEPTION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_io_InvalidObjectException 0
+// Implemented interfaces:
+// Super Class:
+#include "java_io_ObjectStreamException.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+// Class declarations for java.io.InvalidObjectException
+XMLVM_DEFINE_CLASS(java_io_InvalidObjectException, 8, XMLVM_ITABLE_SIZE_java_io_InvalidObjectException)
+
+extern JAVA_OBJECT __CLASS_java_io_InvalidObjectException;
+extern JAVA_OBJECT __CLASS_java_io_InvalidObjectException_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_InvalidObjectException_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_InvalidObjectException_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_io_InvalidObjectException
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_io_InvalidObjectException \
+ __INSTANCE_FIELDS_java_io_ObjectStreamException; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_io_InvalidObjectException \
+ } java_io_InvalidObjectException
+
+struct java_io_InvalidObjectException {
+ __TIB_DEFINITION_java_io_InvalidObjectException* tib;
+ struct {
+ __INSTANCE_FIELDS_java_io_InvalidObjectException;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_io_InvalidObjectException
+#define XMLVM_FORWARD_DECL_java_io_InvalidObjectException
+typedef struct java_io_InvalidObjectException java_io_InvalidObjectException;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_io_InvalidObjectException 8
+
+void __INIT_java_io_InvalidObjectException();
+void __INIT_IMPL_java_io_InvalidObjectException();
+void __DELETE_java_io_InvalidObjectException(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_io_InvalidObjectException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_io_InvalidObjectException();
+JAVA_OBJECT __NEW_INSTANCE_java_io_InvalidObjectException();
+JAVA_LONG java_io_InvalidObjectException_GET_serialVersionUID();
+void java_io_InvalidObjectException_PUT_serialVersionUID(JAVA_LONG v);
+void java_io_InvalidObjectException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_io_ObjectStreamException.c b/tests/nbody-java/java_io_ObjectStreamException.c
new file mode 100644
index 00000000..0f0ba25a
--- /dev/null
+++ b/tests/nbody-java/java_io_ObjectStreamException.c
@@ -0,0 +1,197 @@
+#include "xmlvm.h"
+#include "java_lang_String.h"
+
+#include "java_io_ObjectStreamException.h"
+
+#define XMLVM_CURRENT_CLASS_NAME ObjectStreamException
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_io_ObjectStreamException
+
+__TIB_DEFINITION_java_io_ObjectStreamException __TIB_java_io_ObjectStreamException = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_io_ObjectStreamException, // classInitializer
+ "java.io.ObjectStreamException", // className
+ "java.io", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_io_IOException, // extends
+ sizeof(java_io_ObjectStreamException), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_io_ObjectStreamException;
+JAVA_OBJECT __CLASS_java_io_ObjectStreamException_1ARRAY;
+JAVA_OBJECT __CLASS_java_io_ObjectStreamException_2ARRAY;
+JAVA_OBJECT __CLASS_java_io_ObjectStreamException_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_io_ObjectStreamException_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_io_ObjectStreamException()
+{
+ staticInitializerLock(&__TIB_java_io_ObjectStreamException);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_io_ObjectStreamException.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_io_ObjectStreamException.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_io_ObjectStreamException);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_io_ObjectStreamException.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_io_ObjectStreamException.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_io_ObjectStreamException.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.io.ObjectStreamException")
+ __INIT_IMPL_java_io_ObjectStreamException();
+ }
+}
+
+void __INIT_IMPL_java_io_ObjectStreamException()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_io_IOException)
+ __TIB_java_io_ObjectStreamException.newInstanceFunc = __NEW_INSTANCE_java_io_ObjectStreamException;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_io_ObjectStreamException.vtable, __TIB_java_io_IOException.vtable, sizeof(__TIB_java_io_IOException.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_io_ObjectStreamException.numImplementedInterfaces = 1;
+ __TIB_java_io_ObjectStreamException.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_io_ObjectStreamException.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+ // Initialize itable for this class
+ __TIB_java_io_ObjectStreamException.itableBegin = &__TIB_java_io_ObjectStreamException.itable[0];
+
+ _STATIC_java_io_ObjectStreamException_serialVersionUID = 7260898174833392607;
+
+ __TIB_java_io_ObjectStreamException.declaredFields = &__field_reflection_data[0];
+ __TIB_java_io_ObjectStreamException.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_io_ObjectStreamException.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_io_ObjectStreamException.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_io_ObjectStreamException.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_io_ObjectStreamException.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_io_ObjectStreamException.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_io_ObjectStreamException.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_io_ObjectStreamException = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_io_ObjectStreamException);
+ __TIB_java_io_ObjectStreamException.clazz = __CLASS_java_io_ObjectStreamException;
+ __TIB_java_io_ObjectStreamException.baseType = JAVA_NULL;
+ __CLASS_java_io_ObjectStreamException_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_ObjectStreamException);
+ __CLASS_java_io_ObjectStreamException_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_ObjectStreamException_1ARRAY);
+ __CLASS_java_io_ObjectStreamException_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_ObjectStreamException_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_io_ObjectStreamException]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_io_ObjectStreamException.classInitialized = 1;
+}
+
+void __DELETE_java_io_ObjectStreamException(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_io_ObjectStreamException]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_io_ObjectStreamException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_io_IOException(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_io_ObjectStreamException]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_io_ObjectStreamException()
+{ XMLVM_CLASS_INIT(java_io_ObjectStreamException)
+java_io_ObjectStreamException* me = (java_io_ObjectStreamException*) XMLVM_MALLOC(sizeof(java_io_ObjectStreamException));
+ me->tib = &__TIB_java_io_ObjectStreamException;
+ __INIT_INSTANCE_MEMBERS_java_io_ObjectStreamException(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_io_ObjectStreamException]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_io_ObjectStreamException()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_io_ObjectStreamException();
+ java_io_ObjectStreamException___INIT___(me);
+ return me;
+}
+
+JAVA_LONG java_io_ObjectStreamException_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_io_ObjectStreamException)
+ return _STATIC_java_io_ObjectStreamException_serialVersionUID;
+}
+
+void java_io_ObjectStreamException_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_io_ObjectStreamException)
+_STATIC_java_io_ObjectStreamException_serialVersionUID = v;
+}
+
+void java_io_ObjectStreamException___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_ObjectStreamException___INIT___]
+ XMLVM_ENTER_METHOD("java.io.ObjectStreamException", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("ObjectStreamException.java", 41)
+ XMLVM_CHECK_NPE(0)
+ java_io_IOException___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("ObjectStreamException.java", 42)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_ObjectStreamException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_ObjectStreamException___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.io.ObjectStreamException", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("ObjectStreamException.java", 52)
+ XMLVM_CHECK_NPE(0)
+ java_io_IOException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("ObjectStreamException.java", 53)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_io_ObjectStreamException.h b/tests/nbody-java/java_io_ObjectStreamException.h
new file mode 100644
index 00000000..1fe4e0ee
--- /dev/null
+++ b/tests/nbody-java/java_io_ObjectStreamException.h
@@ -0,0 +1,58 @@
+#ifndef __JAVA_IO_OBJECTSTREAMEXCEPTION__
+#define __JAVA_IO_OBJECTSTREAMEXCEPTION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_io_ObjectStreamException 0
+// Implemented interfaces:
+// Super Class:
+#include "java_io_IOException.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+// Class declarations for java.io.ObjectStreamException
+XMLVM_DEFINE_CLASS(java_io_ObjectStreamException, 8, XMLVM_ITABLE_SIZE_java_io_ObjectStreamException)
+
+extern JAVA_OBJECT __CLASS_java_io_ObjectStreamException;
+extern JAVA_OBJECT __CLASS_java_io_ObjectStreamException_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_ObjectStreamException_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_ObjectStreamException_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_io_ObjectStreamException
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_io_ObjectStreamException \
+ __INSTANCE_FIELDS_java_io_IOException; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_io_ObjectStreamException \
+ } java_io_ObjectStreamException
+
+struct java_io_ObjectStreamException {
+ __TIB_DEFINITION_java_io_ObjectStreamException* tib;
+ struct {
+ __INSTANCE_FIELDS_java_io_ObjectStreamException;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_io_ObjectStreamException
+#define XMLVM_FORWARD_DECL_java_io_ObjectStreamException
+typedef struct java_io_ObjectStreamException java_io_ObjectStreamException;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_io_ObjectStreamException 8
+
+void __INIT_java_io_ObjectStreamException();
+void __INIT_IMPL_java_io_ObjectStreamException();
+void __DELETE_java_io_ObjectStreamException(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_io_ObjectStreamException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_io_ObjectStreamException();
+JAVA_OBJECT __NEW_INSTANCE_java_io_ObjectStreamException();
+JAVA_LONG java_io_ObjectStreamException_GET_serialVersionUID();
+void java_io_ObjectStreamException_PUT_serialVersionUID(JAVA_LONG v);
+void java_io_ObjectStreamException___INIT___(JAVA_OBJECT me);
+void java_io_ObjectStreamException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_io_ObjectStreamField.c b/tests/nbody-java/java_io_ObjectStreamField.c
new file mode 100644
index 00000000..88064d5d
--- /dev/null
+++ b/tests/nbody-java/java_io_ObjectStreamField.c
@@ -0,0 +1,1128 @@
+#include "xmlvm.h"
+#include "java_lang_Boolean.h"
+#include "java_lang_Byte.h"
+#include "java_lang_Character.h"
+#include "java_lang_Class.h"
+#include "java_lang_ClassLoader.h"
+#include "java_lang_ClassNotFoundException.h"
+#include "java_lang_Double.h"
+#include "java_lang_Float.h"
+#include "java_lang_Integer.h"
+#include "java_lang_Long.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_Short.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_lang_ref_WeakReference.h"
+
+#include "java_io_ObjectStreamField.h"
+
+#define XMLVM_CURRENT_CLASS_NAME ObjectStreamField
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_io_ObjectStreamField
+
+__TIB_DEFINITION_java_io_ObjectStreamField __TIB_java_io_ObjectStreamField = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_io_ObjectStreamField, // classInitializer
+ "java.io.ObjectStreamField", // className
+ "java.io", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "Ljava/lang/Object;Ljava/lang/Comparable<Ljava/lang/Object;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_io_ObjectStreamField), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_io_ObjectStreamField;
+JAVA_OBJECT __CLASS_java_io_ObjectStreamField_1ARRAY;
+JAVA_OBJECT __CLASS_java_io_ObjectStreamField_2ARRAY;
+JAVA_OBJECT __CLASS_java_io_ObjectStreamField_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_INT _STATIC_java_io_ObjectStreamField_FIELD_IS_NOT_RESOLVED;
+static JAVA_INT _STATIC_java_io_ObjectStreamField_FIELD_IS_ABSENT;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_io_ObjectStreamField()
+{
+ staticInitializerLock(&__TIB_java_io_ObjectStreamField);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_io_ObjectStreamField.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_io_ObjectStreamField.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_io_ObjectStreamField);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_io_ObjectStreamField.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_io_ObjectStreamField.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_io_ObjectStreamField.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.io.ObjectStreamField")
+ __INIT_IMPL_java_io_ObjectStreamField();
+ }
+}
+
+void __INIT_IMPL_java_io_ObjectStreamField()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_io_ObjectStreamField.newInstanceFunc = __NEW_INSTANCE_java_io_ObjectStreamField;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_io_ObjectStreamField.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_io_ObjectStreamField.vtable[6] = (VTABLE_PTR) &java_io_ObjectStreamField_compareTo___java_lang_Object;
+ __TIB_java_io_ObjectStreamField.vtable[1] = (VTABLE_PTR) &java_io_ObjectStreamField_equals___java_lang_Object;
+ __TIB_java_io_ObjectStreamField.vtable[4] = (VTABLE_PTR) &java_io_ObjectStreamField_hashCode__;
+ __TIB_java_io_ObjectStreamField.vtable[5] = (VTABLE_PTR) &java_io_ObjectStreamField_toString__;
+ // Initialize interface information
+ __TIB_java_io_ObjectStreamField.numImplementedInterfaces = 1;
+ __TIB_java_io_ObjectStreamField.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_lang_Comparable)
+
+ __TIB_java_io_ObjectStreamField.implementedInterfaces[0][0] = &__TIB_java_lang_Comparable;
+ // Initialize itable for this class
+ __TIB_java_io_ObjectStreamField.itableBegin = &__TIB_java_io_ObjectStreamField.itable[0];
+ __TIB_java_io_ObjectStreamField.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_io_ObjectStreamField.vtable[6];
+
+ _STATIC_java_io_ObjectStreamField_FIELD_IS_NOT_RESOLVED = -1;
+ _STATIC_java_io_ObjectStreamField_FIELD_IS_ABSENT = -2;
+
+ __TIB_java_io_ObjectStreamField.declaredFields = &__field_reflection_data[0];
+ __TIB_java_io_ObjectStreamField.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_io_ObjectStreamField.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_io_ObjectStreamField.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_io_ObjectStreamField.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_io_ObjectStreamField.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_io_ObjectStreamField.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_io_ObjectStreamField.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_io_ObjectStreamField = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_io_ObjectStreamField);
+ __TIB_java_io_ObjectStreamField.clazz = __CLASS_java_io_ObjectStreamField;
+ __TIB_java_io_ObjectStreamField.baseType = JAVA_NULL;
+ __CLASS_java_io_ObjectStreamField_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_ObjectStreamField);
+ __CLASS_java_io_ObjectStreamField_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_ObjectStreamField_1ARRAY);
+ __CLASS_java_io_ObjectStreamField_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_ObjectStreamField_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_io_ObjectStreamField]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_io_ObjectStreamField.classInitialized = 1;
+}
+
+void __DELETE_java_io_ObjectStreamField(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_io_ObjectStreamField]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_io_ObjectStreamField(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_io_ObjectStreamField*) me)->fields.java_io_ObjectStreamField.name_ = (java_lang_String*) JAVA_NULL;
+ ((java_io_ObjectStreamField*) me)->fields.java_io_ObjectStreamField.type_ = (java_lang_Object*) JAVA_NULL;
+ ((java_io_ObjectStreamField*) me)->fields.java_io_ObjectStreamField.offset_ = 0;
+ ((java_io_ObjectStreamField*) me)->fields.java_io_ObjectStreamField.typeString_ = (java_lang_String*) JAVA_NULL;
+ ((java_io_ObjectStreamField*) me)->fields.java_io_ObjectStreamField.unshared_ = 0;
+ ((java_io_ObjectStreamField*) me)->fields.java_io_ObjectStreamField.isDeserialized_ = 0;
+ ((java_io_ObjectStreamField*) me)->fields.java_io_ObjectStreamField.assocFieldID_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_io_ObjectStreamField]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_io_ObjectStreamField()
+{ XMLVM_CLASS_INIT(java_io_ObjectStreamField)
+java_io_ObjectStreamField* me = (java_io_ObjectStreamField*) XMLVM_MALLOC(sizeof(java_io_ObjectStreamField));
+ me->tib = &__TIB_java_io_ObjectStreamField;
+ __INIT_INSTANCE_MEMBERS_java_io_ObjectStreamField(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_io_ObjectStreamField]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_io_ObjectStreamField()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_INT java_io_ObjectStreamField_GET_FIELD_IS_NOT_RESOLVED()
+{
+ XMLVM_CLASS_INIT(java_io_ObjectStreamField)
+ return _STATIC_java_io_ObjectStreamField_FIELD_IS_NOT_RESOLVED;
+}
+
+void java_io_ObjectStreamField_PUT_FIELD_IS_NOT_RESOLVED(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_io_ObjectStreamField)
+_STATIC_java_io_ObjectStreamField_FIELD_IS_NOT_RESOLVED = v;
+}
+
+JAVA_INT java_io_ObjectStreamField_GET_FIELD_IS_ABSENT()
+{
+ XMLVM_CLASS_INIT(java_io_ObjectStreamField)
+ return _STATIC_java_io_ObjectStreamField_FIELD_IS_ABSENT;
+}
+
+void java_io_ObjectStreamField_PUT_FIELD_IS_ABSENT(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_io_ObjectStreamField)
+_STATIC_java_io_ObjectStreamField_FIELD_IS_ABSENT = v;
+}
+
+JAVA_LONG java_io_ObjectStreamField_getFieldID___org_apache_harmony_misc_accessors_ObjectAccessor_java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_ObjectStreamField_getFieldID___org_apache_harmony_misc_accessors_ObjectAccessor_java_lang_Class]
+ XMLVM_ENTER_METHOD("java.io.ObjectStreamField", "getFieldID", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ _r4.o = me;
+ _r5.o = n1;
+ _r6.o = n2;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 58)
+ XMLVM_CHECK_NPE(4)
+ _r0.l = ((java_io_ObjectStreamField*) _r4.o)->fields.java_io_ObjectStreamField.assocFieldID_;
+ _r2.l = -1;
+ _r0.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r0.i == 0) goto label11;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 59)
+ XMLVM_CHECK_NPE(4)
+ _r0.l = ((java_io_ObjectStreamField*) _r4.o)->fields.java_io_ObjectStreamField.assocFieldID_;
+ label10:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 66)
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ label11:;
+ XMLVM_TRY_BEGIN(w308aaab9b1c15)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 62)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_io_ObjectStreamField*) _r4.o)->fields.java_io_ObjectStreamField.name_;
+
+
+ // Red class access removed: org.apache.harmony.misc.accessors.ObjectAccessor::getFieldID
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(4)
+ ((java_io_ObjectStreamField*) _r4.o)->fields.java_io_ObjectStreamField.assocFieldID_ = _r0.l;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w308aaab9b1c15)
+ XMLVM_CATCH_END(w308aaab9b1c15)
+ XMLVM_RESTORE_EXCEPTION_ENV(w308aaab9b1c15)
+ label19:;
+ XMLVM_CHECK_NPE(4)
+ _r0.l = ((java_io_ObjectStreamField*) _r4.o)->fields.java_io_ObjectStreamField.assocFieldID_;
+ goto label10;
+ label22:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 64)
+ java_lang_Thread* curThread_w308aaab9b1c21 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w308aaab9b1c21->fields.java_lang_Thread.xmlvmException_;
+ _r0.l = -2;
+ XMLVM_CHECK_NPE(4)
+ ((java_io_ObjectStreamField*) _r4.o)->fields.java_io_ObjectStreamField.assocFieldID_ = _r0.l;
+ goto label19;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_ObjectStreamField___INIT____java_lang_String_java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_ObjectStreamField___INIT____java_lang_String_java_lang_Class]
+ XMLVM_ENTER_METHOD("java.io.ObjectStreamField", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.o = n2;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 80)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 55)
+ _r0.l = -1;
+ XMLVM_CHECK_NPE(2)
+ ((java_io_ObjectStreamField*) _r2.o)->fields.java_io_ObjectStreamField.assocFieldID_ = _r0.l;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 81)
+ if (_r3.o == JAVA_NULL) goto label11;
+ if (_r4.o != JAVA_NULL) goto label17;
+ label11:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 82)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label17:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 84)
+ XMLVM_CHECK_NPE(2)
+ ((java_io_ObjectStreamField*) _r2.o)->fields.java_io_ObjectStreamField.name_ = _r3.o;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 85)
+ _r0.o = __NEW_java_lang_ref_WeakReference();
+ XMLVM_CHECK_NPE(0)
+ java_lang_ref_WeakReference___INIT____java_lang_Object(_r0.o, _r4.o);
+ XMLVM_CHECK_NPE(2)
+ ((java_io_ObjectStreamField*) _r2.o)->fields.java_io_ObjectStreamField.type_ = _r0.o;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 86)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_ObjectStreamField___INIT____java_lang_String_java_lang_Class_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_BOOLEAN n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_ObjectStreamField___INIT____java_lang_String_java_lang_Class_boolean]
+ XMLVM_ENTER_METHOD("java.io.ObjectStreamField", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.o = n2;
+ _r5.i = n3;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 103)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 55)
+ _r0.l = -1;
+ XMLVM_CHECK_NPE(2)
+ ((java_io_ObjectStreamField*) _r2.o)->fields.java_io_ObjectStreamField.assocFieldID_ = _r0.l;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 104)
+ if (_r3.o == JAVA_NULL) goto label11;
+ if (_r4.o != JAVA_NULL) goto label17;
+ label11:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 105)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label17:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 107)
+ XMLVM_CHECK_NPE(2)
+ ((java_io_ObjectStreamField*) _r2.o)->fields.java_io_ObjectStreamField.name_ = _r3.o;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 108)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = java_lang_Class_getClassLoader__(_r4.o);
+ if (_r0.o != JAVA_NULL) goto label31;
+ _r0 = _r4;
+ label26:;
+ XMLVM_CHECK_NPE(2)
+ ((java_io_ObjectStreamField*) _r2.o)->fields.java_io_ObjectStreamField.type_ = _r0.o;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 110)
+ XMLVM_CHECK_NPE(2)
+ ((java_io_ObjectStreamField*) _r2.o)->fields.java_io_ObjectStreamField.unshared_ = _r5.i;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 111)
+ XMLVM_EXIT_METHOD()
+ return;
+ label31:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 109)
+ _r0.o = __NEW_java_lang_ref_WeakReference();
+ XMLVM_CHECK_NPE(0)
+ java_lang_ref_WeakReference___INIT____java_lang_Object(_r0.o, _r4.o);
+ goto label26;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_ObjectStreamField___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_ObjectStreamField___INIT____java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("java.io.ObjectStreamField", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.o = n2;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 122)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 55)
+ _r0.l = -1;
+ XMLVM_CHECK_NPE(2)
+ ((java_io_ObjectStreamField*) _r2.o)->fields.java_io_ObjectStreamField.assocFieldID_ = _r0.l;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 123)
+ if (_r4.o != JAVA_NULL) goto label15;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 124)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label15:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 126)
+ XMLVM_CHECK_NPE(2)
+ ((java_io_ObjectStreamField*) _r2.o)->fields.java_io_ObjectStreamField.name_ = _r4.o;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 127)
+ _r0.i = 46;
+ _r1.i = 47;
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_lang_String_replace___char_char(_r3.o, _r0.i, _r1.i);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_String_intern__(_r0.o);
+ XMLVM_CHECK_NPE(2)
+ ((java_io_ObjectStreamField*) _r2.o)->fields.java_io_ObjectStreamField.typeString_ = _r0.o;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 128)
+ XMLVM_CHECK_NPE(2)
+ java_io_ObjectStreamField_defaultResolve__(_r2.o);
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 129)
+ _r0.i = 1;
+ XMLVM_CHECK_NPE(2)
+ ((java_io_ObjectStreamField*) _r2.o)->fields.java_io_ObjectStreamField.isDeserialized_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 130)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_io_ObjectStreamField_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_ObjectStreamField_compareTo___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.io.ObjectStreamField", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 145)
+ _r3.o = _r3.o;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 146)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = java_io_ObjectStreamField_isPrimitive__(_r2.o);
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 147)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = java_io_ObjectStreamField_isPrimitive__(_r3.o);
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 151)
+ if (_r0.i == _r1.i) goto label18;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 152)
+ if (_r0.i == 0) goto label16;
+ _r0.i = -1;
+ label15:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 156)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label16:;
+ _r0.i = 1;
+ goto label15;
+ label18:;
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_io_ObjectStreamField_getName__(_r2.o);
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_io_ObjectStreamField_getName__(_r3.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_compareTo___java_lang_String(_r0.o, _r1.o);
+ goto label15;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_io_ObjectStreamField_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_ObjectStreamField_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.io.ObjectStreamField", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 161)
+ XMLVM_CLASS_INIT(java_io_ObjectStreamField)
+ _r0.i = XMLVM_ISA(_r2.o, __CLASS_java_io_ObjectStreamField);
+ if (_r0.i == 0) goto label12;
+ //java_io_ObjectStreamField_compareTo___java_lang_Object[6]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_io_ObjectStreamField*) _r1.o)->tib->vtable[6])(_r1.o, _r2.o);
+ if (_r0.i != 0) goto label12;
+ _r0.i = 1;
+ label11:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label12:;
+ _r0.i = 0;
+ goto label11;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_io_ObjectStreamField_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_ObjectStreamField_hashCode__]
+ XMLVM_ENTER_METHOD("java.io.ObjectStreamField", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 166)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_io_ObjectStreamField_getName__(_r1.o);
+ //java_lang_String_hashCode__[4]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[4])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_ObjectStreamField_getName__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_ObjectStreamField_getName__]
+ XMLVM_ENTER_METHOD("java.io.ObjectStreamField", "getName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 175)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_io_ObjectStreamField*) _r1.o)->fields.java_io_ObjectStreamField.name_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_io_ObjectStreamField_getOffset__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_ObjectStreamField_getOffset__]
+ XMLVM_ENTER_METHOD("java.io.ObjectStreamField", "getOffset", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 184)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_io_ObjectStreamField*) _r1.o)->fields.java_io_ObjectStreamField.offset_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_ObjectStreamField_getTypeInternal__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_ObjectStreamField_getTypeInternal__]
+ XMLVM_ENTER_METHOD("java.io.ObjectStreamField", "getTypeInternal", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 194)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_io_ObjectStreamField*) _r1.o)->fields.java_io_ObjectStreamField.type_;
+ XMLVM_CLASS_INIT(java_lang_ref_WeakReference)
+ _r0.i = XMLVM_ISA(_r0.o, __CLASS_java_lang_ref_WeakReference);
+ if (_r0.i == 0) goto label18;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 195)
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((java_io_ObjectStreamField*) _r1.o)->fields.java_io_ObjectStreamField.type_;
+ _r1.o = _r1.o;
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_ref_Reference_get__(_r1.o);
+ _r1.o = _r1.o;
+ _r0 = _r1;
+ label17:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 197)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label18:;
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((java_io_ObjectStreamField*) _r1.o)->fields.java_io_ObjectStreamField.type_;
+ _r1.o = _r1.o;
+ _r0 = _r1;
+ goto label17;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_ObjectStreamField_getType__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_ObjectStreamField_getType__]
+ XMLVM_ENTER_METHOD("java.io.ObjectStreamField", "getType", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 206)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_io_ObjectStreamField_getTypeInternal__(_r2.o);
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 207)
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_io_ObjectStreamField*) _r2.o)->fields.java_io_ObjectStreamField.isDeserialized_;
+ if (_r1.i == 0) goto label16;
+ XMLVM_CHECK_NPE(0)
+ _r1.i = java_lang_Class_isPrimitive__(_r0.o);
+ if (_r1.i != 0) goto label16;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 208)
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r0.o = __CLASS_java_lang_Object;
+ label16:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 210)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_CHAR java_io_ObjectStreamField_getTypeCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_ObjectStreamField_getTypeCode__]
+ XMLVM_ENTER_METHOD("java.io.ObjectStreamField", "getTypeCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 233)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_io_ObjectStreamField_getTypeInternal__(_r2.o);
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 234)
+ _r1.o = java_lang_Integer_GET_TYPE();
+ if (_r0.o != _r1.o) goto label11;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 235)
+ _r0.i = 73;
+ label10:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 261)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label11:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 237)
+ _r1.o = java_lang_Byte_GET_TYPE();
+ if (_r0.o != _r1.o) goto label18;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 238)
+ _r0.i = 66;
+ goto label10;
+ label18:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 240)
+ _r1.o = java_lang_Character_GET_TYPE();
+ if (_r0.o != _r1.o) goto label25;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 241)
+ _r0.i = 67;
+ goto label10;
+ label25:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 243)
+ _r1.o = java_lang_Short_GET_TYPE();
+ if (_r0.o != _r1.o) goto label32;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 244)
+ _r0.i = 83;
+ goto label10;
+ label32:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 246)
+ _r1.o = java_lang_Boolean_GET_TYPE();
+ if (_r0.o != _r1.o) goto label39;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 247)
+ _r0.i = 90;
+ goto label10;
+ label39:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 249)
+ _r1.o = java_lang_Long_GET_TYPE();
+ if (_r0.o != _r1.o) goto label46;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 250)
+ _r0.i = 74;
+ goto label10;
+ label46:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 252)
+ _r1.o = java_lang_Float_GET_TYPE();
+ if (_r0.o != _r1.o) goto label53;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 253)
+ _r0.i = 70;
+ goto label10;
+ label53:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 255)
+ _r1.o = java_lang_Double_GET_TYPE();
+ if (_r0.o != _r1.o) goto label60;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 256)
+ _r0.i = 68;
+ goto label10;
+ label60:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 258)
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_Class_isArray__(_r0.o);
+ if (_r0.i == 0) goto label69;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 259)
+ _r0.i = 91;
+ goto label10;
+ label69:;
+ _r0.i = 76;
+ goto label10;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_ObjectStreamField_getTypeString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_ObjectStreamField_getTypeString__]
+ XMLVM_ENTER_METHOD("java.io.ObjectStreamField", "getTypeString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 272)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = java_io_ObjectStreamField_isPrimitive__(_r4.o);
+ if (_r0.i == 0) goto label8;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 273)
+ _r0.o = JAVA_NULL;
+ label7:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 281)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label8:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 275)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_io_ObjectStreamField*) _r4.o)->fields.java_io_ObjectStreamField.typeString_;
+ if (_r0.o != JAVA_NULL) goto label41;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 276)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = java_io_ObjectStreamField_getTypeInternal__(_r4.o);
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 277)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = java_lang_Class_getName__(_r0.o);
+ _r2.i = 46;
+ _r3.i = 47;
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_String_replace___char_char(_r1.o, _r2.i, _r3.i);
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 278)
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_Class_isArray__(_r0.o);
+ if (_r0.i == 0) goto label44;
+ _r0 = _r1;
+ label35:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 279)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_String_intern__(_r0.o);
+ XMLVM_CHECK_NPE(4)
+ ((java_io_ObjectStreamField*) _r4.o)->fields.java_io_ObjectStreamField.typeString_ = _r0.o;
+ label41:;
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_io_ObjectStreamField*) _r4.o)->fields.java_io_ObjectStreamField.typeString_;
+ goto label7;
+ label44:;
+ _r0.o = __NEW_java_lang_StringBuilder();
+ // "L"
+ _r2.o = xmlvm_create_java_string_from_pool(18);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____java_lang_String(_r0.o, _r2.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ _r1.i = 59;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r1.i);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ goto label35;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_io_ObjectStreamField_isPrimitive__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_ObjectStreamField_isPrimitive__]
+ XMLVM_ENTER_METHOD("java.io.ObjectStreamField", "isPrimitive", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 291)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_io_ObjectStreamField_getTypeInternal__(_r1.o);
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 292)
+ if (_r0.o == JAVA_NULL) goto label14;
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_Class_isPrimitive__(_r0.o);
+ if (_r0.i == 0) goto label14;
+ _r0.i = 1;
+ label13:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label14:;
+ _r0.i = 0;
+ goto label13;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_ObjectStreamField_setOffset___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_ObjectStreamField_setOffset___int]
+ XMLVM_ENTER_METHOD("java.io.ObjectStreamField", "setOffset", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 302)
+ XMLVM_CHECK_NPE(0)
+ ((java_io_ObjectStreamField*) _r0.o)->fields.java_io_ObjectStreamField.offset_ = _r1.i;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 303)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_ObjectStreamField_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_ObjectStreamField_toString__]
+ XMLVM_ENTER_METHOD("java.io.ObjectStreamField", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 313)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(2)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r2.o)->tib->vtable[3])(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_Class_getName__(_r1.o);
+ _r1.o = java_lang_String_valueOf___java_lang_Object(_r1.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____java_lang_String(_r0.o, _r1.o);
+ _r1.i = 40;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r1.i);
+ XMLVM_CHECK_NPE(2)
+ _r1.o = java_io_ObjectStreamField_getName__(_r2.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ _r1.i = 58;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 314)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = java_io_ObjectStreamField_getTypeInternal__(_r2.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_Object(_r0.o, _r1.o);
+ _r1.i = 41;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r1.i);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_ObjectStreamField_sortFields___java_io_ObjectStreamField_1ARRAY(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_io_ObjectStreamField)
+ //XMLVM_BEGIN_WRAPPER[java_io_ObjectStreamField_sortFields___java_io_ObjectStreamField_1ARRAY]
+ XMLVM_ENTER_METHOD("java.io.ObjectStreamField", "sortFields", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 326)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ _r1.i = 1;
+ if (_r0.i <= _r1.i) goto label12;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 327)
+
+
+ // Red class access removed: java.io.ObjectStreamField$1::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.io.ObjectStreamField$1::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 332)
+
+
+ // Red class access removed: java.util.Arrays::sort
+ XMLVM_RED_CLASS_DEPENDENCY();
+ label12:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 334)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_ObjectStreamField_resolve___java_lang_ClassLoader(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_ObjectStreamField_resolve___java_lang_ClassLoader]
+ XMLVM_ENTER_METHOD("java.io.ObjectStreamField", "resolve", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ _r5.o = me;
+ _r6.o = n1;
+ _r4.i = 0;
+ _r3.i = 1;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 337)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_io_ObjectStreamField*) _r5.o)->fields.java_io_ObjectStreamField.typeString_;
+ if (_r0.o != JAVA_NULL) goto label22;
+ XMLVM_CHECK_NPE(5)
+ _r0.i = java_io_ObjectStreamField_isPrimitive__(_r5.o);
+ if (_r0.i == 0) goto label22;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 339)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = java_io_ObjectStreamField_getTypeCode__(_r5.o);
+ _r0.o = java_lang_String_valueOf___char(_r0.i);
+ XMLVM_CHECK_NPE(5)
+ ((java_io_ObjectStreamField*) _r5.o)->fields.java_io_ObjectStreamField.typeString_ = _r0.o;
+ label22:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 342)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_io_ObjectStreamField*) _r5.o)->fields.java_io_ObjectStreamField.typeString_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[8])(_r0.o);
+ if (_r0.i != _r3.i) goto label37;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 343)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = java_io_ObjectStreamField_defaultResolve__(_r5.o);
+ if (_r0.i == 0) goto label37;
+ label36:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 360)
+ XMLVM_EXIT_METHOD()
+ return;
+ label37:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 348)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_io_ObjectStreamField*) _r5.o)->fields.java_io_ObjectStreamField.typeString_;
+ _r1.i = 47;
+ _r2.i = 46;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_String_replace___char_char(_r0.o, _r1.i, _r2.i);
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 349)
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r0.o)->tib->vtable[6])(_r0.o, _r4.i);
+ _r2.i = 76;
+ if (_r1.i != _r2.i) goto label64;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 351)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[8])(_r0.o);
+ _r1.i = _r1.i - _r3.i;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_String_substring___int_int(_r0.o, _r3.i, _r1.i);
+ label64:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 354)
+ _r1.i = 0;
+ XMLVM_TRY_BEGIN(w308aaac26b1c42)
+ // Begin try
+ _r0.o = java_lang_Class_forName___java_lang_String_boolean_java_lang_ClassLoader(_r0.o, _r1.i, _r6.o);
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 355)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = java_lang_Class_getClassLoader__(_r0.o);
+ if (_r1.o != JAVA_NULL) { XMLVM_MEMCPY(curThread_w308aaac26b1c42->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w308aaac26b1c42, sizeof(XMLVM_JMP_BUF)); goto label80; };
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w308aaac26b1c42)
+ XMLVM_CATCH_SPECIFIC(w308aaac26b1c42,java_lang_ClassNotFoundException,78)
+ XMLVM_CATCH_END(w308aaac26b1c42)
+ XMLVM_RESTORE_EXCEPTION_ENV(w308aaac26b1c42)
+ label75:;
+ XMLVM_TRY_BEGIN(w308aaac26b1c44)
+ // Begin try
+ XMLVM_CHECK_NPE(5)
+ ((java_io_ObjectStreamField*) _r5.o)->fields.java_io_ObjectStreamField.type_ = _r0.o;
+ { XMLVM_MEMCPY(curThread_w308aaac26b1c44->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w308aaac26b1c44, sizeof(XMLVM_JMP_BUF)); goto label36; };
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w308aaac26b1c44)
+ XMLVM_CATCH_SPECIFIC(w308aaac26b1c44,java_lang_ClassNotFoundException,78)
+ XMLVM_CATCH_END(w308aaac26b1c44)
+ XMLVM_RESTORE_EXCEPTION_ENV(w308aaac26b1c44)
+ label78:;
+ XMLVM_TRY_BEGIN(w308aaac26b1c46)
+ // Begin try
+ java_lang_Thread* curThread_w308aaac26b1c46aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w308aaac26b1c46aa->fields.java_lang_Thread.xmlvmException_;
+ { XMLVM_MEMCPY(curThread_w308aaac26b1c46->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w308aaac26b1c46, sizeof(XMLVM_JMP_BUF)); goto label36; };
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 356)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w308aaac26b1c46)
+ XMLVM_CATCH_SPECIFIC(w308aaac26b1c46,java_lang_ClassNotFoundException,78)
+ XMLVM_CATCH_END(w308aaac26b1c46)
+ XMLVM_RESTORE_EXCEPTION_ENV(w308aaac26b1c46)
+ label80:;
+ XMLVM_TRY_BEGIN(w308aaac26b1c48)
+ // Begin try
+ _r1.o = __NEW_java_lang_ref_WeakReference();
+ XMLVM_CHECK_NPE(1)
+ java_lang_ref_WeakReference___INIT____java_lang_Object(_r1.o, _r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w308aaac26b1c48)
+ XMLVM_CATCH_SPECIFIC(w308aaac26b1c48,java_lang_ClassNotFoundException,78)
+ XMLVM_CATCH_END(w308aaac26b1c48)
+ XMLVM_RESTORE_EXCEPTION_ENV(w308aaac26b1c48)
+ _r0 = _r1;
+ goto label75;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_io_ObjectStreamField_isUnshared__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_ObjectStreamField_isUnshared__]
+ XMLVM_ENTER_METHOD("java.io.ObjectStreamField", "isUnshared", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 368)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_io_ObjectStreamField*) _r1.o)->fields.java_io_ObjectStreamField.unshared_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_ObjectStreamField_setUnshared___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_ObjectStreamField_setUnshared___boolean]
+ XMLVM_ENTER_METHOD("java.io.ObjectStreamField", "setUnshared", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 372)
+ XMLVM_CHECK_NPE(0)
+ ((java_io_ObjectStreamField*) _r0.o)->fields.java_io_ObjectStreamField.unshared_ = _r1.i;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 373)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_io_ObjectStreamField_defaultResolve__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_ObjectStreamField_defaultResolve__]
+ XMLVM_ENTER_METHOD("java.io.ObjectStreamField", "defaultResolve", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ _r2.i = 0;
+ _r1.i = 1;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 380)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_io_ObjectStreamField*) _r3.o)->fields.java_io_ObjectStreamField.typeString_;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r0.o)->tib->vtable[6])(_r0.o, _r2.i);
+ switch (_r0.i) {
+ case 66: goto label23;
+ case 67: goto label29;
+ case 68: goto label59;
+ case 70: goto label53;
+ case 73: goto label17;
+ case 74: goto label47;
+ case 83: goto label35;
+ case 90: goto label41;
+ }
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 406)
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r0.o = __CLASS_java_lang_Object;
+ XMLVM_CHECK_NPE(3)
+ ((java_io_ObjectStreamField*) _r3.o)->fields.java_io_ObjectStreamField.type_ = _r0.o;
+ _r0 = _r2;
+ label16:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 407)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label17:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 382)
+ _r0.o = java_lang_Integer_GET_TYPE();
+ XMLVM_CHECK_NPE(3)
+ ((java_io_ObjectStreamField*) _r3.o)->fields.java_io_ObjectStreamField.type_ = _r0.o;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 383)
+ goto label16;
+ label23:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 385)
+ _r0.o = java_lang_Byte_GET_TYPE();
+ XMLVM_CHECK_NPE(3)
+ ((java_io_ObjectStreamField*) _r3.o)->fields.java_io_ObjectStreamField.type_ = _r0.o;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 386)
+ goto label16;
+ label29:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 388)
+ _r0.o = java_lang_Character_GET_TYPE();
+ XMLVM_CHECK_NPE(3)
+ ((java_io_ObjectStreamField*) _r3.o)->fields.java_io_ObjectStreamField.type_ = _r0.o;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 389)
+ goto label16;
+ label35:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 391)
+ _r0.o = java_lang_Short_GET_TYPE();
+ XMLVM_CHECK_NPE(3)
+ ((java_io_ObjectStreamField*) _r3.o)->fields.java_io_ObjectStreamField.type_ = _r0.o;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 392)
+ goto label16;
+ label41:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 394)
+ _r0.o = java_lang_Boolean_GET_TYPE();
+ XMLVM_CHECK_NPE(3)
+ ((java_io_ObjectStreamField*) _r3.o)->fields.java_io_ObjectStreamField.type_ = _r0.o;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 395)
+ goto label16;
+ label47:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 397)
+ _r0.o = java_lang_Long_GET_TYPE();
+ XMLVM_CHECK_NPE(3)
+ ((java_io_ObjectStreamField*) _r3.o)->fields.java_io_ObjectStreamField.type_ = _r0.o;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 398)
+ goto label16;
+ label53:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 400)
+ _r0.o = java_lang_Float_GET_TYPE();
+ XMLVM_CHECK_NPE(3)
+ ((java_io_ObjectStreamField*) _r3.o)->fields.java_io_ObjectStreamField.type_ = _r0.o;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 401)
+ goto label16;
+ label59:;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 403)
+ _r0.o = java_lang_Double_GET_TYPE();
+ XMLVM_CHECK_NPE(3)
+ ((java_io_ObjectStreamField*) _r3.o)->fields.java_io_ObjectStreamField.type_ = _r0.o;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("ObjectStreamField.java", 404)
+ goto label16;
+ label66:;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_io_ObjectStreamField.h b/tests/nbody-java/java_io_ObjectStreamField.h
new file mode 100644
index 00000000..d57599de
--- /dev/null
+++ b/tests/nbody-java/java_io_ObjectStreamField.h
@@ -0,0 +1,151 @@
+#ifndef __JAVA_IO_OBJECTSTREAMFIELD__
+#define __JAVA_IO_OBJECTSTREAMFIELD__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_io_ObjectStreamField 8
+// Implemented interfaces:
+#include "java_lang_Comparable.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Boolean
+#define XMLVM_FORWARD_DECL_java_lang_Boolean
+XMLVM_FORWARD_DECL(java_lang_Boolean)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Byte
+#define XMLVM_FORWARD_DECL_java_lang_Byte
+XMLVM_FORWARD_DECL(java_lang_Byte)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Character
+#define XMLVM_FORWARD_DECL_java_lang_Character
+XMLVM_FORWARD_DECL(java_lang_Character)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_ClassLoader
+#define XMLVM_FORWARD_DECL_java_lang_ClassLoader
+XMLVM_FORWARD_DECL(java_lang_ClassLoader)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_ClassNotFoundException
+#define XMLVM_FORWARD_DECL_java_lang_ClassNotFoundException
+XMLVM_FORWARD_DECL(java_lang_ClassNotFoundException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Double
+#define XMLVM_FORWARD_DECL_java_lang_Double
+XMLVM_FORWARD_DECL(java_lang_Double)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Float
+#define XMLVM_FORWARD_DECL_java_lang_Float
+XMLVM_FORWARD_DECL(java_lang_Float)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Integer
+#define XMLVM_FORWARD_DECL_java_lang_Integer
+XMLVM_FORWARD_DECL(java_lang_Integer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Long
+#define XMLVM_FORWARD_DECL_java_lang_Long
+XMLVM_FORWARD_DECL(java_lang_Long)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Short
+#define XMLVM_FORWARD_DECL_java_lang_Short
+XMLVM_FORWARD_DECL(java_lang_Short)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_ref_WeakReference
+#define XMLVM_FORWARD_DECL_java_lang_ref_WeakReference
+XMLVM_FORWARD_DECL(java_lang_ref_WeakReference)
+#endif
+// Class declarations for java.io.ObjectStreamField
+XMLVM_DEFINE_CLASS(java_io_ObjectStreamField, 7, XMLVM_ITABLE_SIZE_java_io_ObjectStreamField)
+
+extern JAVA_OBJECT __CLASS_java_io_ObjectStreamField;
+extern JAVA_OBJECT __CLASS_java_io_ObjectStreamField_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_ObjectStreamField_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_ObjectStreamField_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_io_ObjectStreamField
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_io_ObjectStreamField \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT name_; \
+ JAVA_OBJECT type_; \
+ JAVA_INT offset_; \
+ JAVA_OBJECT typeString_; \
+ JAVA_BOOLEAN unshared_; \
+ JAVA_BOOLEAN isDeserialized_; \
+ JAVA_LONG assocFieldID_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_io_ObjectStreamField \
+ } java_io_ObjectStreamField
+
+struct java_io_ObjectStreamField {
+ __TIB_DEFINITION_java_io_ObjectStreamField* tib;
+ struct {
+ __INSTANCE_FIELDS_java_io_ObjectStreamField;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_io_ObjectStreamField
+#define XMLVM_FORWARD_DECL_java_io_ObjectStreamField
+typedef struct java_io_ObjectStreamField java_io_ObjectStreamField;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_io_ObjectStreamField 7
+#define XMLVM_VTABLE_IDX_java_io_ObjectStreamField_compareTo___java_lang_Object 6
+#define XMLVM_VTABLE_IDX_java_io_ObjectStreamField_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_io_ObjectStreamField_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_io_ObjectStreamField_toString__ 5
+
+void __INIT_java_io_ObjectStreamField();
+void __INIT_IMPL_java_io_ObjectStreamField();
+void __DELETE_java_io_ObjectStreamField(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_io_ObjectStreamField(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_io_ObjectStreamField();
+JAVA_OBJECT __NEW_INSTANCE_java_io_ObjectStreamField();
+JAVA_INT java_io_ObjectStreamField_GET_FIELD_IS_NOT_RESOLVED();
+void java_io_ObjectStreamField_PUT_FIELD_IS_NOT_RESOLVED(JAVA_INT v);
+JAVA_INT java_io_ObjectStreamField_GET_FIELD_IS_ABSENT();
+void java_io_ObjectStreamField_PUT_FIELD_IS_ABSENT(JAVA_INT v);
+JAVA_LONG java_io_ObjectStreamField_getFieldID___org_apache_harmony_misc_accessors_ObjectAccessor_java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_io_ObjectStreamField___INIT____java_lang_String_java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_io_ObjectStreamField___INIT____java_lang_String_java_lang_Class_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_BOOLEAN n3);
+void java_io_ObjectStreamField___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+// Vtable index: 6
+JAVA_INT java_io_ObjectStreamField_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 1
+JAVA_BOOLEAN java_io_ObjectStreamField_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 4
+JAVA_INT java_io_ObjectStreamField_hashCode__(JAVA_OBJECT me);
+JAVA_OBJECT java_io_ObjectStreamField_getName__(JAVA_OBJECT me);
+JAVA_INT java_io_ObjectStreamField_getOffset__(JAVA_OBJECT me);
+JAVA_OBJECT java_io_ObjectStreamField_getTypeInternal__(JAVA_OBJECT me);
+JAVA_OBJECT java_io_ObjectStreamField_getType__(JAVA_OBJECT me);
+JAVA_CHAR java_io_ObjectStreamField_getTypeCode__(JAVA_OBJECT me);
+JAVA_OBJECT java_io_ObjectStreamField_getTypeString__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_io_ObjectStreamField_isPrimitive__(JAVA_OBJECT me);
+void java_io_ObjectStreamField_setOffset___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 5
+JAVA_OBJECT java_io_ObjectStreamField_toString__(JAVA_OBJECT me);
+void java_io_ObjectStreamField_sortFields___java_io_ObjectStreamField_1ARRAY(JAVA_OBJECT n1);
+void java_io_ObjectStreamField_resolve___java_lang_ClassLoader(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_io_ObjectStreamField_isUnshared__(JAVA_OBJECT me);
+void java_io_ObjectStreamField_setUnshared___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1);
+JAVA_BOOLEAN java_io_ObjectStreamField_defaultResolve__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_io_OutputStream.c b/tests/nbody-java/java_io_OutputStream.c
new file mode 100644
index 00000000..9ec68226
--- /dev/null
+++ b/tests/nbody-java/java_io_OutputStream.c
@@ -0,0 +1,293 @@
+#include "xmlvm.h"
+#include "java_lang_IndexOutOfBoundsException.h"
+#include "java_lang_String.h"
+#include "org_apache_harmony_luni_internal_nls_Messages.h"
+
+#include "java_io_OutputStream.h"
+
+#define XMLVM_CURRENT_CLASS_NAME OutputStream
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_io_OutputStream
+
+__TIB_DEFINITION_java_io_OutputStream __TIB_java_io_OutputStream = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_io_OutputStream, // classInitializer
+ "java.io.OutputStream", // className
+ "java.io", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_io_OutputStream), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_io_OutputStream;
+JAVA_OBJECT __CLASS_java_io_OutputStream_1ARRAY;
+JAVA_OBJECT __CLASS_java_io_OutputStream_2ARRAY;
+JAVA_OBJECT __CLASS_java_io_OutputStream_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_io_OutputStream()
+{
+ staticInitializerLock(&__TIB_java_io_OutputStream);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_io_OutputStream.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_io_OutputStream.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_io_OutputStream);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_io_OutputStream.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_io_OutputStream.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_io_OutputStream.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.io.OutputStream")
+ __INIT_IMPL_java_io_OutputStream();
+ }
+}
+
+void __INIT_IMPL_java_io_OutputStream()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_io_OutputStream.newInstanceFunc = __NEW_INSTANCE_java_io_OutputStream;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_io_OutputStream.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_io_OutputStream.vtable[7] = (VTABLE_PTR) &java_io_OutputStream_close__;
+ __TIB_java_io_OutputStream.vtable[8] = (VTABLE_PTR) &java_io_OutputStream_flush__;
+ __TIB_java_io_OutputStream.vtable[9] = (VTABLE_PTR) &java_io_OutputStream_write___byte_1ARRAY;
+ __TIB_java_io_OutputStream.vtable[10] = (VTABLE_PTR) &java_io_OutputStream_write___byte_1ARRAY_int_int;
+ __TIB_java_io_OutputStream.vtable[6] = (VTABLE_PTR) &java_io_OutputStream_checkError__;
+ // Initialize interface information
+ __TIB_java_io_OutputStream.numImplementedInterfaces = 2;
+ __TIB_java_io_OutputStream.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Closeable)
+
+ __TIB_java_io_OutputStream.implementedInterfaces[0][0] = &__TIB_java_io_Closeable;
+
+ XMLVM_CLASS_INIT(java_io_Flushable)
+
+ __TIB_java_io_OutputStream.implementedInterfaces[0][1] = &__TIB_java_io_Flushable;
+ // Initialize itable for this class
+ __TIB_java_io_OutputStream.itableBegin = &__TIB_java_io_OutputStream.itable[0];
+ __TIB_java_io_OutputStream.itable[XMLVM_ITABLE_IDX_java_io_Closeable_close__] = __TIB_java_io_OutputStream.vtable[7];
+ __TIB_java_io_OutputStream.itable[XMLVM_ITABLE_IDX_java_io_Flushable_flush__] = __TIB_java_io_OutputStream.vtable[8];
+
+
+ __TIB_java_io_OutputStream.declaredFields = &__field_reflection_data[0];
+ __TIB_java_io_OutputStream.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_io_OutputStream.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_io_OutputStream.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_io_OutputStream.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_io_OutputStream.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_io_OutputStream.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_io_OutputStream.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_io_OutputStream = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_io_OutputStream);
+ __TIB_java_io_OutputStream.clazz = __CLASS_java_io_OutputStream;
+ __TIB_java_io_OutputStream.baseType = JAVA_NULL;
+ __CLASS_java_io_OutputStream_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_OutputStream);
+ __CLASS_java_io_OutputStream_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_OutputStream_1ARRAY);
+ __CLASS_java_io_OutputStream_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_OutputStream_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_io_OutputStream]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_io_OutputStream.classInitialized = 1;
+}
+
+void __DELETE_java_io_OutputStream(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_io_OutputStream]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_io_OutputStream(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_io_OutputStream]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_io_OutputStream()
+{ XMLVM_CLASS_INIT(java_io_OutputStream)
+java_io_OutputStream* me = (java_io_OutputStream*) XMLVM_MALLOC(sizeof(java_io_OutputStream));
+ me->tib = &__TIB_java_io_OutputStream;
+ __INIT_INSTANCE_MEMBERS_java_io_OutputStream(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_io_OutputStream]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_io_OutputStream()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_io_OutputStream();
+ java_io_OutputStream___INIT___(me);
+ return me;
+}
+
+void java_io_OutputStream___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_OutputStream___INIT___]
+ XMLVM_ENTER_METHOD("java.io.OutputStream", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("OutputStream.java", 44)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("OutputStream.java", 45)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_OutputStream_close__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_OutputStream_close__]
+ XMLVM_ENTER_METHOD("java.io.OutputStream", "close", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("OutputStream.java", 56)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_OutputStream_flush__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_OutputStream_flush__]
+ XMLVM_ENTER_METHOD("java.io.OutputStream", "flush", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("OutputStream.java", 67)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_OutputStream_write___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_OutputStream_write___byte_1ARRAY]
+ XMLVM_ENTER_METHOD("java.io.OutputStream", "write", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("OutputStream.java", 79)
+ _r0.i = 0;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ //java_io_OutputStream_write___byte_1ARRAY_int_int[10]
+ XMLVM_CHECK_NPE(2)
+ (*(void (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_INT, JAVA_INT)) ((java_io_OutputStream*) _r2.o)->tib->vtable[10])(_r2.o, _r3.o, _r0.i, _r1.i);
+ XMLVM_SOURCE_POSITION("OutputStream.java", 80)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_OutputStream_write___byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_OutputStream_write___byte_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.io.OutputStream", "write", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.i = n2;
+ _r5.i = n3;
+ XMLVM_SOURCE_POSITION("OutputStream.java", 102)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ if (_r4.i > _r0.i) goto label11;
+ if (_r4.i < 0) goto label11;
+ if (_r5.i < 0) goto label11;
+ XMLVM_SOURCE_POSITION("OutputStream.java", 103)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ _r0.i = _r0.i - _r4.i;
+ if (_r5.i <= _r0.i) goto label23;
+ label11:;
+ XMLVM_SOURCE_POSITION("OutputStream.java", 104)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ // "luni.13"
+ _r1.o = xmlvm_create_java_string_from_pool(828);
+ _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String(_r1.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label23:;
+ _r0 = _r4;
+ label24:;
+ XMLVM_SOURCE_POSITION("OutputStream.java", 106)
+ _r1.i = _r4.i + _r5.i;
+ if (_r0.i < _r1.i) goto label29;
+ XMLVM_SOURCE_POSITION("OutputStream.java", 109)
+ XMLVM_EXIT_METHOD()
+ return;
+ label29:;
+ XMLVM_SOURCE_POSITION("OutputStream.java", 107)
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ _r1.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ //java_io_OutputStream_write___int[11]
+ XMLVM_CHECK_NPE(2)
+ (*(void (*)(JAVA_OBJECT, JAVA_INT)) ((java_io_OutputStream*) _r2.o)->tib->vtable[11])(_r2.o, _r1.i);
+ _r0.i = _r0.i + 1;
+ goto label24;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_io_OutputStream_checkError__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_OutputStream_checkError__]
+ XMLVM_ENTER_METHOD("java.io.OutputStream", "checkError", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("OutputStream.java", 127)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_io_OutputStream.h b/tests/nbody-java/java_io_OutputStream.h
new file mode 100644
index 00000000..0a187fe5
--- /dev/null
+++ b/tests/nbody-java/java_io_OutputStream.h
@@ -0,0 +1,83 @@
+#ifndef __JAVA_IO_OUTPUTSTREAM__
+#define __JAVA_IO_OUTPUTSTREAM__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_io_OutputStream 2
+// Implemented interfaces:
+#include "java_io_Closeable.h"
+#include "java_io_Flushable.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+#define XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+XMLVM_FORWARD_DECL(java_lang_IndexOutOfBoundsException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_internal_nls_Messages)
+#endif
+// Class declarations for java.io.OutputStream
+XMLVM_DEFINE_CLASS(java_io_OutputStream, 12, XMLVM_ITABLE_SIZE_java_io_OutputStream)
+
+extern JAVA_OBJECT __CLASS_java_io_OutputStream;
+extern JAVA_OBJECT __CLASS_java_io_OutputStream_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_OutputStream_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_OutputStream_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_io_OutputStream
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_io_OutputStream \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_io_OutputStream \
+ } java_io_OutputStream
+
+struct java_io_OutputStream {
+ __TIB_DEFINITION_java_io_OutputStream* tib;
+ struct {
+ __INSTANCE_FIELDS_java_io_OutputStream;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_io_OutputStream
+#define XMLVM_FORWARD_DECL_java_io_OutputStream
+typedef struct java_io_OutputStream java_io_OutputStream;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_io_OutputStream 12
+#define XMLVM_VTABLE_IDX_java_io_OutputStream_close__ 7
+#define XMLVM_VTABLE_IDX_java_io_OutputStream_flush__ 8
+#define XMLVM_VTABLE_IDX_java_io_OutputStream_write___byte_1ARRAY 9
+#define XMLVM_VTABLE_IDX_java_io_OutputStream_write___byte_1ARRAY_int_int 10
+#define XMLVM_VTABLE_IDX_java_io_OutputStream_write___int 11
+#define XMLVM_VTABLE_IDX_java_io_OutputStream_checkError__ 6
+
+void __INIT_java_io_OutputStream();
+void __INIT_IMPL_java_io_OutputStream();
+void __DELETE_java_io_OutputStream(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_io_OutputStream(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_io_OutputStream();
+JAVA_OBJECT __NEW_INSTANCE_java_io_OutputStream();
+void java_io_OutputStream___INIT___(JAVA_OBJECT me);
+// Vtable index: 7
+void java_io_OutputStream_close__(JAVA_OBJECT me);
+// Vtable index: 8
+void java_io_OutputStream_flush__(JAVA_OBJECT me);
+// Vtable index: 9
+void java_io_OutputStream_write___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 10
+void java_io_OutputStream_write___byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+// Vtable index: 11
+void java_io_OutputStream_write___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 6
+JAVA_BOOLEAN java_io_OutputStream_checkError__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_io_PrintStream.c b/tests/nbody-java/java_io_PrintStream.c
new file mode 100644
index 00000000..57d8b418
--- /dev/null
+++ b/tests/nbody-java/java_io_PrintStream.c
@@ -0,0 +1,1610 @@
+#include "xmlvm.h"
+#include "java_io_File.h"
+#include "java_io_IOException.h"
+#include "java_io_OutputStream.h"
+#include "java_lang_CharSequence.h"
+#include "java_lang_Class.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+#include "java_lang_Throwable.h"
+#include "java_nio_charset_Charset.h"
+#include "java_util_Locale.h"
+
+#include "java_io_PrintStream.h"
+
+#define XMLVM_CURRENT_CLASS_NAME PrintStream
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_io_PrintStream
+
+__TIB_DEFINITION_java_io_PrintStream __TIB_java_io_PrintStream = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_io_PrintStream, // classInitializer
+ "java.io.PrintStream", // className
+ "java.io", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_io_FilterOutputStream, // extends
+ sizeof(java_io_PrintStream), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_io_PrintStream;
+JAVA_OBJECT __CLASS_java_io_PrintStream_1ARRAY;
+JAVA_OBJECT __CLASS_java_io_PrintStream_2ARRAY;
+JAVA_OBJECT __CLASS_java_io_PrintStream_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_OBJECT _STATIC_java_io_PrintStream_TOKEN_NULL;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_io_PrintStream()
+{
+ staticInitializerLock(&__TIB_java_io_PrintStream);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_io_PrintStream.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_io_PrintStream.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_io_PrintStream);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_io_PrintStream.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_io_PrintStream.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_io_PrintStream.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.io.PrintStream")
+ __INIT_IMPL_java_io_PrintStream();
+ }
+}
+
+void __INIT_IMPL_java_io_PrintStream()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_io_FilterOutputStream)
+ __TIB_java_io_PrintStream.newInstanceFunc = __NEW_INSTANCE_java_io_PrintStream;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_io_PrintStream.vtable, __TIB_java_io_FilterOutputStream.vtable, sizeof(__TIB_java_io_FilterOutputStream.vtable));
+ // Initialize vtable for this class
+ __TIB_java_io_PrintStream.vtable[6] = (VTABLE_PTR) &java_io_PrintStream_checkError__;
+ __TIB_java_io_PrintStream.vtable[7] = (VTABLE_PTR) &java_io_PrintStream_close__;
+ __TIB_java_io_PrintStream.vtable[8] = (VTABLE_PTR) &java_io_PrintStream_flush__;
+ __TIB_java_io_PrintStream.vtable[10] = (VTABLE_PTR) &java_io_PrintStream_write___byte_1ARRAY_int_int;
+ __TIB_java_io_PrintStream.vtable[11] = (VTABLE_PTR) &java_io_PrintStream_write___int;
+ __TIB_java_io_PrintStream.vtable[12] = (VTABLE_PTR) &java_io_PrintStream_append___char;
+ __TIB_java_io_PrintStream.vtable[13] = (VTABLE_PTR) &java_io_PrintStream_append___java_lang_CharSequence;
+ __TIB_java_io_PrintStream.vtable[14] = (VTABLE_PTR) &java_io_PrintStream_append___java_lang_CharSequence_int_int;
+ // Initialize interface information
+ __TIB_java_io_PrintStream.numImplementedInterfaces = 3;
+ __TIB_java_io_PrintStream.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 3);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Closeable)
+
+ __TIB_java_io_PrintStream.implementedInterfaces[0][0] = &__TIB_java_io_Closeable;
+
+ XMLVM_CLASS_INIT(java_io_Flushable)
+
+ __TIB_java_io_PrintStream.implementedInterfaces[0][1] = &__TIB_java_io_Flushable;
+
+ XMLVM_CLASS_INIT(java_lang_Appendable)
+
+ __TIB_java_io_PrintStream.implementedInterfaces[0][2] = &__TIB_java_lang_Appendable;
+ // Initialize itable for this class
+ __TIB_java_io_PrintStream.itableBegin = &__TIB_java_io_PrintStream.itable[0];
+ __TIB_java_io_PrintStream.itable[XMLVM_ITABLE_IDX_java_io_Closeable_close__] = __TIB_java_io_PrintStream.vtable[7];
+ __TIB_java_io_PrintStream.itable[XMLVM_ITABLE_IDX_java_io_Flushable_flush__] = __TIB_java_io_PrintStream.vtable[8];
+ __TIB_java_io_PrintStream.itable[XMLVM_ITABLE_IDX_java_lang_Appendable_append___char] = __TIB_java_io_PrintStream.vtable[12];
+ __TIB_java_io_PrintStream.itable[XMLVM_ITABLE_IDX_java_lang_Appendable_append___java_lang_CharSequence] = __TIB_java_io_PrintStream.vtable[13];
+ __TIB_java_io_PrintStream.itable[XMLVM_ITABLE_IDX_java_lang_Appendable_append___java_lang_CharSequence_int_int] = __TIB_java_io_PrintStream.vtable[14];
+
+ _STATIC_java_io_PrintStream_TOKEN_NULL = (java_lang_String*) xmlvm_create_java_string_from_pool(63);
+
+ __TIB_java_io_PrintStream.declaredFields = &__field_reflection_data[0];
+ __TIB_java_io_PrintStream.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_io_PrintStream.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_io_PrintStream.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_io_PrintStream.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_io_PrintStream.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_io_PrintStream.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_io_PrintStream.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_io_PrintStream = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_io_PrintStream);
+ __TIB_java_io_PrintStream.clazz = __CLASS_java_io_PrintStream;
+ __TIB_java_io_PrintStream.baseType = JAVA_NULL;
+ __CLASS_java_io_PrintStream_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_PrintStream);
+ __CLASS_java_io_PrintStream_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_PrintStream_1ARRAY);
+ __CLASS_java_io_PrintStream_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_PrintStream_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_io_PrintStream]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_io_PrintStream.classInitialized = 1;
+}
+
+void __DELETE_java_io_PrintStream(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_io_PrintStream]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_io_PrintStream(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_io_FilterOutputStream(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_io_PrintStream*) me)->fields.java_io_PrintStream.ioError_ = 0;
+ ((java_io_PrintStream*) me)->fields.java_io_PrintStream.autoflush_ = 0;
+ ((java_io_PrintStream*) me)->fields.java_io_PrintStream.encoding_ = (java_lang_String*) JAVA_NULL;
+ ((java_io_PrintStream*) me)->fields.java_io_PrintStream.lineSeparator_ = (java_lang_String*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_io_PrintStream]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_io_PrintStream()
+{ XMLVM_CLASS_INIT(java_io_PrintStream)
+java_io_PrintStream* me = (java_io_PrintStream*) XMLVM_MALLOC(sizeof(java_io_PrintStream));
+ me->tib = &__TIB_java_io_PrintStream;
+ __INIT_INSTANCE_MEMBERS_java_io_PrintStream(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_io_PrintStream]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_io_PrintStream()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_OBJECT java_io_PrintStream_GET_TOKEN_NULL()
+{
+ XMLVM_CLASS_INIT(java_io_PrintStream)
+ return _STATIC_java_io_PrintStream_TOKEN_NULL;
+}
+
+void java_io_PrintStream_PUT_TOKEN_NULL(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_io_PrintStream)
+_STATIC_java_io_PrintStream_TOKEN_NULL = v;
+}
+
+void java_io_PrintStream___INIT____java_io_OutputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream___INIT____java_io_OutputStream]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 73)
+ XMLVM_CHECK_NPE(1)
+ java_io_FilterOutputStream___INIT____java_io_OutputStream(_r1.o, _r2.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 58)
+ // "\012"
+ _r0.o = xmlvm_create_java_string_from_pool(812);
+ XMLVM_CHECK_NPE(1)
+ ((java_io_PrintStream*) _r1.o)->fields.java_io_PrintStream.lineSeparator_ = _r0.o;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 74)
+ if (_r2.o != JAVA_NULL) goto label15;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 75)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label15:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 77)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream___INIT____java_io_OutputStream_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream___INIT____java_io_OutputStream_boolean]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.i = n2;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 94)
+ XMLVM_CHECK_NPE(1)
+ java_io_FilterOutputStream___INIT____java_io_OutputStream(_r1.o, _r2.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 58)
+ // "\012"
+ _r0.o = xmlvm_create_java_string_from_pool(812);
+ XMLVM_CHECK_NPE(1)
+ ((java_io_PrintStream*) _r1.o)->fields.java_io_PrintStream.lineSeparator_ = _r0.o;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 95)
+ if (_r2.o != JAVA_NULL) goto label15;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 96)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label15:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 98)
+ XMLVM_CHECK_NPE(1)
+ ((java_io_PrintStream*) _r1.o)->fields.java_io_PrintStream.autoflush_ = _r3.i;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 99)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream___INIT____java_io_OutputStream_boolean_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream___INIT____java_io_OutputStream_boolean_java_lang_String]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "<init>", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.i = n2;
+ _r5.o = n3;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 121)
+ XMLVM_CHECK_NPE(2)
+ java_io_FilterOutputStream___INIT____java_io_OutputStream(_r2.o, _r3.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 58)
+ // "\012"
+ _r1.o = xmlvm_create_java_string_from_pool(812);
+ XMLVM_CHECK_NPE(2)
+ ((java_io_PrintStream*) _r2.o)->fields.java_io_PrintStream.lineSeparator_ = _r1.o;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 122)
+ if (_r3.o == JAVA_NULL) goto label11;
+ if (_r5.o != JAVA_NULL) goto label17;
+ label11:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 123)
+ _r1.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(1)
+ java_lang_NullPointerException___INIT___(_r1.o);
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label17:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 125)
+ XMLVM_CHECK_NPE(2)
+ ((java_io_PrintStream*) _r2.o)->fields.java_io_PrintStream.autoflush_ = _r4.i;
+ XMLVM_TRY_BEGIN(w5955aaab7b1c21)
+ // Begin try
+ XMLVM_SOURCE_POSITION("PrintStream.java", 127)
+ _r1.i = java_nio_charset_Charset_isSupported___java_lang_String(_r5.o);
+ if (_r1.i != 0) { XMLVM_MEMCPY(curThread_w5955aaab7b1c21->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5955aaab7b1c21, sizeof(XMLVM_JMP_BUF)); goto label39; };
+ XMLVM_SOURCE_POSITION("PrintStream.java", 128)
+
+
+ // Red class access removed: java.io.UnsupportedEncodingException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.io.UnsupportedEncodingException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5955aaab7b1c21)
+ XMLVM_CATCH_END(w5955aaab7b1c21)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5955aaab7b1c21)
+ label31:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 130)
+ java_lang_Thread* curThread_w5955aaab7b1c24 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w5955aaab7b1c24->fields.java_lang_Thread.xmlvmException_;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 131)
+
+
+ // Red class access removed: java.io.UnsupportedEncodingException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.io.UnsupportedEncodingException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label39:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 133)
+ XMLVM_CHECK_NPE(2)
+ ((java_io_PrintStream*) _r2.o)->fields.java_io_PrintStream.encoding_ = _r5.o;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 134)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream___INIT____java_io_File(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream___INIT____java_io_File]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 150)
+
+
+ // Red class access removed: java.io.FileOutputStream::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.io.FileOutputStream::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(1)
+ java_io_FilterOutputStream___INIT____java_io_OutputStream(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 58)
+ // "\012"
+ _r0.o = xmlvm_create_java_string_from_pool(812);
+ XMLVM_CHECK_NPE(1)
+ ((java_io_PrintStream*) _r1.o)->fields.java_io_PrintStream.lineSeparator_ = _r0.o;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 151)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream___INIT____java_io_File_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream___INIT____java_io_File_java_lang_String]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 174)
+
+
+ // Red class access removed: java.io.FileOutputStream::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.io.FileOutputStream::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(1)
+ java_io_FilterOutputStream___INIT____java_io_OutputStream(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 58)
+ // "\012"
+ _r0.o = xmlvm_create_java_string_from_pool(812);
+ XMLVM_CHECK_NPE(1)
+ ((java_io_PrintStream*) _r1.o)->fields.java_io_PrintStream.lineSeparator_ = _r0.o;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 175)
+ if (_r3.o != JAVA_NULL) goto label20;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 176)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label20:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 178)
+ _r0.i = java_nio_charset_Charset_isSupported___java_lang_String(_r3.o);
+ if (_r0.i != 0) goto label32;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 179)
+
+
+ // Red class access removed: java.io.UnsupportedEncodingException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.io.UnsupportedEncodingException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label32:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 181)
+ XMLVM_CHECK_NPE(1)
+ ((java_io_PrintStream*) _r1.o)->fields.java_io_PrintStream.encoding_ = _r3.o;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 182)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 199)
+ _r0.o = __NEW_java_io_File();
+ XMLVM_CHECK_NPE(0)
+ java_io_File___INIT____java_lang_String(_r0.o, _r2.o);
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream___INIT____java_io_File(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 200)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream___INIT____java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 224)
+ _r0.o = __NEW_java_io_File();
+ XMLVM_CHECK_NPE(0)
+ java_io_File___INIT____java_lang_String(_r0.o, _r2.o);
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream___INIT____java_io_File_java_lang_String(_r1.o, _r0.o, _r3.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 225)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_io_PrintStream_checkError__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_checkError__]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "checkError", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 236)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_io_FilterOutputStream*) _r2.o)->fields.java_io_FilterOutputStream.out_;
+ if (_r0.o != JAVA_NULL) goto label7;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 237)
+ XMLVM_SOURCE_POSITION("PrintStream.java", 238)
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_io_PrintStream*) _r2.o)->fields.java_io_PrintStream.ioError_;
+ label6:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 243)
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ label7:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 241)
+ //java_io_PrintStream_flush__[8]
+ XMLVM_CHECK_NPE(2)
+ (*(void (*)(JAVA_OBJECT)) ((java_io_PrintStream*) _r2.o)->tib->vtable[8])(_r2.o);
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_io_PrintStream*) _r2.o)->fields.java_io_PrintStream.ioError_;
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_close__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_close__]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "close", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 253)
+ java_lang_Object_acquireLockRecursive__(_r2.o);
+ XMLVM_TRY_BEGIN(w5955aaac13b1b4)
+ // Begin try
+ //java_io_PrintStream_flush__[8]
+ XMLVM_CHECK_NPE(2)
+ (*(void (*)(JAVA_OBJECT)) ((java_io_PrintStream*) _r2.o)->tib->vtable[8])(_r2.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 254)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_io_FilterOutputStream*) _r2.o)->fields.java_io_FilterOutputStream.out_;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5955aaac13b1b4)
+ XMLVM_CATCH_SPECIFIC(w5955aaac13b1b4,java_lang_Object,24)
+ XMLVM_CATCH_END(w5955aaac13b1b4)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5955aaac13b1b4)
+ if (_r1.o == JAVA_NULL) goto label16;
+ XMLVM_TRY_BEGIN(w5955aaac13b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("PrintStream.java", 256)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_io_FilterOutputStream*) _r2.o)->fields.java_io_FilterOutputStream.out_;
+ //java_io_OutputStream_close__[7]
+ XMLVM_CHECK_NPE(1)
+ (*(void (*)(JAVA_OBJECT)) ((java_io_OutputStream*) _r1.o)->tib->vtable[7])(_r1.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 257)
+ _r1.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(2)
+ ((java_io_FilterOutputStream*) _r2.o)->fields.java_io_FilterOutputStream.out_ = _r1.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5955aaac13b1b6)
+ XMLVM_CATCH_SPECIFIC(w5955aaac13b1b6,java_io_IOException,18)
+ XMLVM_CATCH_SPECIFIC(w5955aaac13b1b6,java_lang_Object,24)
+ XMLVM_CATCH_END(w5955aaac13b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5955aaac13b1b6)
+ label16:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 262)
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ label18:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 258)
+ java_lang_Thread* curThread_w5955aaac13b1c13 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w5955aaac13b1c13->fields.java_lang_Thread.xmlvmException_;
+ _r0 = _r1;
+ XMLVM_TRY_BEGIN(w5955aaac13b1c15)
+ // Begin try
+ XMLVM_SOURCE_POSITION("PrintStream.java", 259)
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_setError__(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5955aaac13b1c15)
+ XMLVM_CATCH_SPECIFIC(w5955aaac13b1c15,java_lang_Object,24)
+ XMLVM_CATCH_END(w5955aaac13b1c15)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5955aaac13b1c15)
+ goto label16;
+ label24:;
+ java_lang_Thread* curThread_w5955aaac13b1c18 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w5955aaac13b1c18->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_flush__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_flush__]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "flush", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 271)
+ java_lang_Object_acquireLockRecursive__(_r1.o);
+ XMLVM_TRY_BEGIN(w5955aaac14b1b4)
+ // Begin try
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_io_FilterOutputStream*) _r1.o)->fields.java_io_FilterOutputStream.out_;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5955aaac14b1b4)
+ XMLVM_CATCH_SPECIFIC(w5955aaac14b1b4,java_lang_Object,17)
+ XMLVM_CATCH_END(w5955aaac14b1b4)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5955aaac14b1b4)
+ if (_r0.o == JAVA_NULL) goto label13;
+ XMLVM_TRY_BEGIN(w5955aaac14b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("PrintStream.java", 273)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_io_FilterOutputStream*) _r1.o)->fields.java_io_FilterOutputStream.out_;
+ //java_io_OutputStream_flush__[8]
+ XMLVM_CHECK_NPE(0)
+ (*(void (*)(JAVA_OBJECT)) ((java_io_OutputStream*) _r0.o)->tib->vtable[8])(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5955aaac14b1b6)
+ XMLVM_CATCH_SPECIFIC(w5955aaac14b1b6,java_io_IOException,12)
+ XMLVM_CATCH_SPECIFIC(w5955aaac14b1b6,java_lang_Object,17)
+ XMLVM_CATCH_END(w5955aaac14b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5955aaac14b1b6)
+ label10:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 280)
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ label12:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 275)
+ java_lang_Thread* curThread_w5955aaac14b1c13 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w5955aaac14b1c13->fields.java_lang_Thread.xmlvmException_;
+ label13:;
+ XMLVM_TRY_BEGIN(w5955aaac14b1c15)
+ // Begin try
+ XMLVM_SOURCE_POSITION("PrintStream.java", 279)
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream_setError__(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5955aaac14b1c15)
+ XMLVM_CATCH_SPECIFIC(w5955aaac14b1c15,java_lang_Object,17)
+ XMLVM_CATCH_END(w5955aaac14b1c15)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5955aaac14b1c15)
+ goto label10;
+ label17:;
+ java_lang_Thread* curThread_w5955aaac14b1c18 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w5955aaac14b1c18->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_PrintStream_format___java_lang_String_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_format___java_lang_String_java_lang_Object_1ARRAY]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "format", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 303)
+ _r0.o = java_util_Locale_getDefault__();
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_io_PrintStream_format___java_util_Locale_java_lang_String_java_lang_Object_1ARRAY(_r1.o, _r0.o, _r2.o, _r3.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_PrintStream_format___java_util_Locale_java_lang_String_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_format___java_util_Locale_java_lang_String_java_lang_Object_1ARRAY]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "format", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ _r4.o = n3;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 328)
+ if (_r3.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 330)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 332)
+
+
+ // Red class access removed: java.util.Formatter::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Formatter::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Formatter::format
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("PrintStream.java", 333)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_PrintStream_printf___java_lang_String_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_printf___java_lang_String_java_lang_Object_1ARRAY]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "printf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 357)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_io_PrintStream_format___java_lang_String_java_lang_Object_1ARRAY(_r1.o, _r2.o, _r3.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_PrintStream_printf___java_util_Locale_java_lang_String_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_printf___java_util_Locale_java_lang_String_java_lang_Object_1ARRAY]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "printf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ _r4.o = n3;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 382)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_io_PrintStream_format___java_util_Locale_java_lang_String_java_lang_Object_1ARRAY(_r1.o, _r2.o, _r3.o, _r4.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_newline__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_newline__]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "newline", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 389)
+ // "\012"
+ _r0.o = xmlvm_create_java_string_from_pool(812);
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream_print___java_lang_String(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 390)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_print___char_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_print___char_1ARRAY]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "print", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 401)
+ _r0.o = __NEW_java_lang_String();
+ _r1.i = 0;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____char_1ARRAY_int_int(_r0.o, _r4.o, _r1.i, _r2.i);
+ XMLVM_CHECK_NPE(3)
+ java_io_PrintStream_print___java_lang_String(_r3.o, _r0.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 402)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_print___char(JAVA_OBJECT me, JAVA_CHAR n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_print___char]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "print", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 413)
+ _r0.o = java_lang_String_valueOf___char(_r2.i);
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream_print___java_lang_String(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 414)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_print___double(JAVA_OBJECT me, JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_print___double]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "print", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.d = n1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 425)
+ _r0.o = java_lang_String_valueOf___double(_r2.d);
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream_print___java_lang_String(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 426)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_print___float(JAVA_OBJECT me, JAVA_FLOAT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_print___float]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "print", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.f = n1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 437)
+ _r0.o = java_lang_String_valueOf___float(_r2.f);
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream_print___java_lang_String(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 438)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_print___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_print___int]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "print", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 449)
+ _r0.o = java_lang_String_valueOf___int(_r2.i);
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream_print___java_lang_String(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 450)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_print___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_print___long]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "print", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.l = n1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 461)
+ _r0.o = java_lang_String_valueOf___long(_r2.l);
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream_print___java_lang_String(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 462)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_print___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_print___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "print", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 473)
+ _r0.o = java_lang_String_valueOf___java_lang_Object(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream_print___java_lang_String(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 474)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_print___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_print___java_lang_String]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "print", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 489)
+ java_lang_Object_acquireLockRecursive__(_r2.o);
+ XMLVM_TRY_BEGIN(w5955aaac27b1b5)
+ // Begin try
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_io_FilterOutputStream*) _r2.o)->fields.java_io_FilterOutputStream.out_;
+ if (_r1.o != JAVA_NULL) { XMLVM_MEMCPY(curThread_w5955aaac27b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5955aaac27b1b5, sizeof(XMLVM_JMP_BUF)); goto label10; };
+ XMLVM_SOURCE_POSITION("PrintStream.java", 490)
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_setError__(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5955aaac27b1b5)
+ XMLVM_CATCH_SPECIFIC(w5955aaac27b1b5,java_lang_Object,18)
+ XMLVM_CATCH_END(w5955aaac27b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5955aaac27b1b5)
+ label8:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 507)
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ label10:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 493)
+ if (_r3.o != JAVA_NULL) goto label21;
+ XMLVM_TRY_BEGIN(w5955aaac27b1c13)
+ // Begin try
+ XMLVM_SOURCE_POSITION("PrintStream.java", 494)
+ // "null"
+ _r1.o = xmlvm_create_java_string_from_pool(63);
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_print___java_lang_String(_r2.o, _r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5955aaac27b1c13)
+ XMLVM_CATCH_SPECIFIC(w5955aaac27b1c13,java_lang_Object,18)
+ XMLVM_CATCH_END(w5955aaac27b1c13)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5955aaac27b1c13)
+ goto label8;
+ label18:;
+ java_lang_Thread* curThread_w5955aaac27b1c16 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w5955aaac27b1c16->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label21:;
+ XMLVM_TRY_BEGIN(w5955aaac27b1c20)
+ // Begin try
+ XMLVM_SOURCE_POSITION("PrintStream.java", 499)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_io_PrintStream*) _r2.o)->fields.java_io_PrintStream.encoding_;
+ if (_r1.o != JAVA_NULL) { XMLVM_MEMCPY(curThread_w5955aaac27b1c20->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5955aaac27b1c20, sizeof(XMLVM_JMP_BUF)); goto label39; };
+ XMLVM_SOURCE_POSITION("PrintStream.java", 500)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_lang_String_getBytes__(_r3.o);
+ //java_io_PrintStream_write___byte_1ARRAY[9]
+ XMLVM_CHECK_NPE(2)
+ (*(void (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_io_PrintStream*) _r2.o)->tib->vtable[9])(_r2.o, _r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5955aaac27b1c20)
+ XMLVM_CATCH_SPECIFIC(w5955aaac27b1c20,java_io_IOException,33)
+ XMLVM_CATCH_SPECIFIC(w5955aaac27b1c20,java_lang_Object,18)
+ XMLVM_CATCH_END(w5955aaac27b1c20)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5955aaac27b1c20)
+ goto label8;
+ label33:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 504)
+ java_lang_Thread* curThread_w5955aaac27b1c24 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w5955aaac27b1c24->fields.java_lang_Thread.xmlvmException_;
+ _r0 = _r1;
+ XMLVM_TRY_BEGIN(w5955aaac27b1c26)
+ // Begin try
+ XMLVM_SOURCE_POSITION("PrintStream.java", 505)
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_setError__(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5955aaac27b1c26)
+ XMLVM_CATCH_SPECIFIC(w5955aaac27b1c26,java_lang_Object,18)
+ XMLVM_CATCH_END(w5955aaac27b1c26)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5955aaac27b1c26)
+ goto label8;
+ label39:;
+ XMLVM_TRY_BEGIN(w5955aaac27b1c29)
+ // Begin try
+ XMLVM_SOURCE_POSITION("PrintStream.java", 502)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_io_PrintStream*) _r2.o)->fields.java_io_PrintStream.encoding_;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_lang_String_getBytes___java_lang_String(_r3.o, _r1.o);
+ //java_io_PrintStream_write___byte_1ARRAY[9]
+ XMLVM_CHECK_NPE(2)
+ (*(void (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_io_PrintStream*) _r2.o)->tib->vtable[9])(_r2.o, _r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5955aaac27b1c29)
+ XMLVM_CATCH_SPECIFIC(w5955aaac27b1c29,java_io_IOException,33)
+ XMLVM_CATCH_SPECIFIC(w5955aaac27b1c29,java_lang_Object,18)
+ XMLVM_CATCH_END(w5955aaac27b1c29)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5955aaac27b1c29)
+ goto label8;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_print___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_print___boolean]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "print", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 518)
+ _r0.o = java_lang_String_valueOf___boolean(_r2.i);
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream_print___java_lang_String(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 519)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_println__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_println__]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "println", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 526)
+ XMLVM_CHECK_NPE(0)
+ java_io_PrintStream_newline__(_r0.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 527)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_println___char_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_println___char_1ARRAY]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "println", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 539)
+ _r0.o = __NEW_java_lang_String();
+ _r1.i = 0;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____char_1ARRAY_int_int(_r0.o, _r4.o, _r1.i, _r2.i);
+ XMLVM_CHECK_NPE(3)
+ java_io_PrintStream_println___java_lang_String(_r3.o, _r0.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 540)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_println___char(JAVA_OBJECT me, JAVA_CHAR n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_println___char]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "println", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 551)
+ _r0.o = java_lang_String_valueOf___char(_r2.i);
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream_println___java_lang_String(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 552)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_println___double(JAVA_OBJECT me, JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_println___double]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "println", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.d = n1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 563)
+ _r0.o = java_lang_String_valueOf___double(_r2.d);
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream_println___java_lang_String(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 564)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_println___float(JAVA_OBJECT me, JAVA_FLOAT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_println___float]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "println", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.f = n1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 575)
+ _r0.o = java_lang_String_valueOf___float(_r2.f);
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream_println___java_lang_String(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 576)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_println___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_println___int]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "println", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 587)
+ _r0.o = java_lang_String_valueOf___int(_r2.i);
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream_println___java_lang_String(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 588)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_println___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_println___long]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "println", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.l = n1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 599)
+ _r0.o = java_lang_String_valueOf___long(_r2.l);
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream_println___java_lang_String(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 600)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_println___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_println___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "println", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 611)
+ _r0.o = java_lang_String_valueOf___java_lang_Object(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream_println___java_lang_String(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 612)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_println___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_println___java_lang_String]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "println", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 627)
+ java_lang_Object_acquireLockRecursive__(_r1.o);
+ XMLVM_TRY_BEGIN(w5955aaac37b1b5)
+ // Begin try
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream_print___java_lang_String(_r1.o, _r2.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 628)
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream_newline__(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5955aaac37b1b5)
+ XMLVM_CATCH_SPECIFIC(w5955aaac37b1b5,java_lang_Object,9)
+ XMLVM_CATCH_END(w5955aaac37b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5955aaac37b1b5)
+ XMLVM_SOURCE_POSITION("PrintStream.java", 629)
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ label9:;
+ java_lang_Thread* curThread_w5955aaac37b1c10 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w5955aaac37b1c10->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_println___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_println___boolean]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "println", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 640)
+ _r0.o = java_lang_String_valueOf___boolean(_r2.i);
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream_println___java_lang_String(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 641)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_setError__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_setError__]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "setError", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 647)
+ _r0.i = 1;
+ XMLVM_CHECK_NPE(1)
+ ((java_io_PrintStream*) _r1.o)->fields.java_io_PrintStream.ioError_ = _r0.i;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 648)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_write___byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_write___byte_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "write", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.i = n2;
+ _r5.i = n3;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 672)
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ if (_r4.i > _r1.i) goto label5;
+ if (_r4.i >= 0) goto label11;
+ label5:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 675)
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label11:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 677)
+ if (_r5.i < 0) goto label17;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ _r1.i = _r1.i - _r4.i;
+ if (_r5.i <= _r1.i) goto label23;
+ label17:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 680)
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label23:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 682)
+ java_lang_Object_acquireLockRecursive__(_r2.o);
+ XMLVM_TRY_BEGIN(w5955aaac40b1c28)
+ // Begin try
+ XMLVM_SOURCE_POSITION("PrintStream.java", 683)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_io_FilterOutputStream*) _r2.o)->fields.java_io_FilterOutputStream.out_;
+ if (_r1.o != JAVA_NULL) { XMLVM_MEMCPY(curThread_w5955aaac40b1c28->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5955aaac40b1c28, sizeof(XMLVM_JMP_BUF)); goto label33; };
+ XMLVM_SOURCE_POSITION("PrintStream.java", 684)
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_setError__(_r2.o);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 685)
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5955aaac40b1c28)
+ XMLVM_CATCH_SPECIFIC(w5955aaac40b1c28,java_lang_Object,47)
+ XMLVM_CATCH_END(w5955aaac40b1c28)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5955aaac40b1c28)
+ label32:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 696)
+ XMLVM_EXIT_METHOD()
+ return;
+ label33:;
+ XMLVM_TRY_BEGIN(w5955aaac40b1c33)
+ // Begin try
+ XMLVM_SOURCE_POSITION("PrintStream.java", 688)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_io_FilterOutputStream*) _r2.o)->fields.java_io_FilterOutputStream.out_;
+ //java_io_OutputStream_write___byte_1ARRAY_int_int[10]
+ XMLVM_CHECK_NPE(1)
+ (*(void (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_INT, JAVA_INT)) ((java_io_OutputStream*) _r1.o)->tib->vtable[10])(_r1.o, _r3.o, _r4.i, _r5.i);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 689)
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_io_PrintStream*) _r2.o)->fields.java_io_PrintStream.autoflush_;
+ if (_r1.i == 0) { XMLVM_MEMCPY(curThread_w5955aaac40b1c33->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5955aaac40b1c33, sizeof(XMLVM_JMP_BUF)); goto label45; };
+ XMLVM_SOURCE_POSITION("PrintStream.java", 690)
+ //java_io_PrintStream_flush__[8]
+ XMLVM_CHECK_NPE(2)
+ (*(void (*)(JAVA_OBJECT)) ((java_io_PrintStream*) _r2.o)->tib->vtable[8])(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5955aaac40b1c33)
+ XMLVM_CATCH_SPECIFIC(w5955aaac40b1c33,java_io_IOException,50)
+ XMLVM_CATCH_SPECIFIC(w5955aaac40b1c33,java_lang_Object,47)
+ XMLVM_CATCH_END(w5955aaac40b1c33)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5955aaac40b1c33)
+ label45:;
+ XMLVM_TRY_BEGIN(w5955aaac40b1c35)
+ // Begin try
+ XMLVM_SOURCE_POSITION("PrintStream.java", 695)
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ { XMLVM_MEMCPY(curThread_w5955aaac40b1c35->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5955aaac40b1c35, sizeof(XMLVM_JMP_BUF)); goto label32; };
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5955aaac40b1c35)
+ XMLVM_CATCH_SPECIFIC(w5955aaac40b1c35,java_lang_Object,47)
+ XMLVM_CATCH_END(w5955aaac40b1c35)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5955aaac40b1c35)
+ label47:;
+ XMLVM_TRY_BEGIN(w5955aaac40b1c37)
+ // Begin try
+ java_lang_Thread* curThread_w5955aaac40b1c37aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w5955aaac40b1c37aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5955aaac40b1c37)
+ XMLVM_CATCH_SPECIFIC(w5955aaac40b1c37,java_lang_Object,47)
+ XMLVM_CATCH_END(w5955aaac40b1c37)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5955aaac40b1c37)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label50:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 692)
+ java_lang_Thread* curThread_w5955aaac40b1c41 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w5955aaac40b1c41->fields.java_lang_Thread.xmlvmException_;
+ _r0 = _r1;
+ XMLVM_TRY_BEGIN(w5955aaac40b1c43)
+ // Begin try
+ XMLVM_SOURCE_POSITION("PrintStream.java", 693)
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_setError__(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5955aaac40b1c43)
+ XMLVM_CATCH_SPECIFIC(w5955aaac40b1c43,java_lang_Object,47)
+ XMLVM_CATCH_END(w5955aaac40b1c43)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5955aaac40b1c43)
+ goto label45;
+ //XMLVM_END_WRAPPER
+}
+
+void java_io_PrintStream_write___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_write___int]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "write", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ _r4.o = me;
+ _r5.i = n1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 712)
+ java_lang_Object_acquireLockRecursive__(_r4.o);
+ XMLVM_TRY_BEGIN(w5955aaac41b1b5)
+ // Begin try
+ XMLVM_CHECK_NPE(4)
+ _r3.o = ((java_io_FilterOutputStream*) _r4.o)->fields.java_io_FilterOutputStream.out_;
+ if (_r3.o != JAVA_NULL) { XMLVM_MEMCPY(curThread_w5955aaac41b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5955aaac41b1b5, sizeof(XMLVM_JMP_BUF)); goto label10; };
+ XMLVM_SOURCE_POSITION("PrintStream.java", 713)
+ XMLVM_CHECK_NPE(4)
+ java_io_PrintStream_setError__(_r4.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5955aaac41b1b5)
+ XMLVM_CATCH_SPECIFIC(w5955aaac41b1b5,java_lang_Object,43)
+ XMLVM_CATCH_END(w5955aaac41b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5955aaac41b1b5)
+ label8:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 727)
+ java_lang_Object_releaseLockRecursive__(_r4.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ label10:;
+ XMLVM_TRY_BEGIN(w5955aaac41b1c11)
+ // Begin try
+ XMLVM_SOURCE_POSITION("PrintStream.java", 717)
+ XMLVM_CHECK_NPE(4)
+ _r3.o = ((java_io_FilterOutputStream*) _r4.o)->fields.java_io_FilterOutputStream.out_;
+ //java_io_OutputStream_write___int[11]
+ XMLVM_CHECK_NPE(3)
+ (*(void (*)(JAVA_OBJECT, JAVA_INT)) ((java_io_OutputStream*) _r3.o)->tib->vtable[11])(_r3.o, _r5.i);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 718)
+ _r0.i = _r5.i & 255;
+ _r3.i = 10;
+ if (_r0.i == _r3.i) { XMLVM_MEMCPY(curThread_w5955aaac41b1c11->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5955aaac41b1c11, sizeof(XMLVM_JMP_BUF)); goto label25; };
+ XMLVM_SOURCE_POSITION("PrintStream.java", 720)
+ _r3.i = 21;
+ if (_r0.i != _r3.i) { XMLVM_MEMCPY(curThread_w5955aaac41b1c11->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5955aaac41b1c11, sizeof(XMLVM_JMP_BUF)); goto label46; };
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5955aaac41b1c11)
+ XMLVM_CATCH_SPECIFIC(w5955aaac41b1c11,java_io_IOException,37)
+ XMLVM_CATCH_SPECIFIC(w5955aaac41b1c11,java_lang_Object,43)
+ XMLVM_CATCH_END(w5955aaac41b1c11)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5955aaac41b1c11)
+ label25:;
+ XMLVM_TRY_BEGIN(w5955aaac41b1c13)
+ // Begin try
+ _r3.i = 1;
+ _r2 = _r3;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5955aaac41b1c13)
+ XMLVM_CATCH_SPECIFIC(w5955aaac41b1c13,java_io_IOException,37)
+ XMLVM_CATCH_SPECIFIC(w5955aaac41b1c13,java_lang_Object,43)
+ XMLVM_CATCH_END(w5955aaac41b1c13)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5955aaac41b1c13)
+ label27:;
+ XMLVM_TRY_BEGIN(w5955aaac41b1c15)
+ // Begin try
+ XMLVM_SOURCE_POSITION("PrintStream.java", 721)
+ XMLVM_CHECK_NPE(4)
+ _r3.i = ((java_io_PrintStream*) _r4.o)->fields.java_io_PrintStream.autoflush_;
+ if (_r3.i == 0) { XMLVM_MEMCPY(curThread_w5955aaac41b1c15->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5955aaac41b1c15, sizeof(XMLVM_JMP_BUF)); goto label8; };
+ if (_r2.i == 0) { XMLVM_MEMCPY(curThread_w5955aaac41b1c15->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5955aaac41b1c15, sizeof(XMLVM_JMP_BUF)); goto label8; };
+ XMLVM_SOURCE_POSITION("PrintStream.java", 722)
+ //java_io_PrintStream_flush__[8]
+ XMLVM_CHECK_NPE(4)
+ (*(void (*)(JAVA_OBJECT)) ((java_io_PrintStream*) _r4.o)->tib->vtable[8])(_r4.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5955aaac41b1c15)
+ XMLVM_CATCH_SPECIFIC(w5955aaac41b1c15,java_io_IOException,37)
+ XMLVM_CATCH_SPECIFIC(w5955aaac41b1c15,java_lang_Object,43)
+ XMLVM_CATCH_END(w5955aaac41b1c15)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5955aaac41b1c15)
+ goto label8;
+ label37:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 724)
+ java_lang_Thread* curThread_w5955aaac41b1c19 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r3.o = curThread_w5955aaac41b1c19->fields.java_lang_Thread.xmlvmException_;
+ _r1 = _r3;
+ XMLVM_TRY_BEGIN(w5955aaac41b1c21)
+ // Begin try
+ XMLVM_SOURCE_POSITION("PrintStream.java", 725)
+ XMLVM_CHECK_NPE(4)
+ java_io_PrintStream_setError__(_r4.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5955aaac41b1c21)
+ XMLVM_CATCH_SPECIFIC(w5955aaac41b1c21,java_lang_Object,43)
+ XMLVM_CATCH_END(w5955aaac41b1c21)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5955aaac41b1c21)
+ goto label8;
+ label43:;
+ java_lang_Thread* curThread_w5955aaac41b1c24 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r3.o = curThread_w5955aaac41b1c24->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r4.o);
+ XMLVM_THROW_CUSTOM(_r3.o)
+ label46:;
+ _r3.i = 0;
+ _r2 = _r3;
+ goto label27;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_PrintStream_append___char(JAVA_OBJECT me, JAVA_CHAR n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_append___char]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "append", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 738)
+ XMLVM_CHECK_NPE(0)
+ java_io_PrintStream_print___char(_r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("PrintStream.java", 739)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_PrintStream_append___java_lang_CharSequence(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_append___java_lang_CharSequence]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "append", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 753)
+ if (_r2.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 754)
+ // "null"
+ _r0.o = xmlvm_create_java_string_from_pool(63);
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream_print___java_lang_String(_r1.o, _r0.o);
+ label7:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 758)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label8:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 756)
+ //java_lang_Object_toString__[5]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r2.o)->tib->vtable[5])(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream_print___java_lang_String(_r1.o, _r0.o);
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_io_PrintStream_append___java_lang_CharSequence_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_io_PrintStream_append___java_lang_CharSequence_int_int]
+ XMLVM_ENTER_METHOD("java.io.PrintStream", "append", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.i = n2;
+ _r4.i = n3;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 783)
+ if (_r2.o != JAVA_NULL) goto label12;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 784)
+ // "null"
+ _r0.o = xmlvm_create_java_string_from_pool(63);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_String_substring___int_int(_r0.o, _r3.i, _r4.i);
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream_print___java_lang_String(_r1.o, _r0.o);
+ label11:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 788)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label12:;
+ XMLVM_SOURCE_POSITION("PrintStream.java", 786)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT, JAVA_INT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_subSequence___int_int])(_r2.o, _r3.i, _r4.i);
+ //java_lang_Object_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream_print___java_lang_String(_r1.o, _r0.o);
+ goto label11;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_io_PrintStream.h b/tests/nbody-java/java_io_PrintStream.h
new file mode 100644
index 00000000..97b5a51d
--- /dev/null
+++ b/tests/nbody-java/java_io_PrintStream.h
@@ -0,0 +1,158 @@
+#ifndef __JAVA_IO_PRINTSTREAM__
+#define __JAVA_IO_PRINTSTREAM__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_io_PrintStream 5
+// Implemented interfaces:
+#include "java_io_Closeable.h"
+#include "java_lang_Appendable.h"
+// Super Class:
+#include "java_io_FilterOutputStream.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_io_File
+#define XMLVM_FORWARD_DECL_java_io_File
+XMLVM_FORWARD_DECL(java_io_File)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_io_IOException
+#define XMLVM_FORWARD_DECL_java_io_IOException
+XMLVM_FORWARD_DECL(java_io_IOException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_io_OutputStream
+#define XMLVM_FORWARD_DECL_java_io_OutputStream
+XMLVM_FORWARD_DECL(java_io_OutputStream)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_CharSequence
+#define XMLVM_FORWARD_DECL_java_lang_CharSequence
+XMLVM_FORWARD_DECL(java_lang_CharSequence)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Throwable
+#define XMLVM_FORWARD_DECL_java_lang_Throwable
+XMLVM_FORWARD_DECL(java_lang_Throwable)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_Charset
+#define XMLVM_FORWARD_DECL_java_nio_charset_Charset
+XMLVM_FORWARD_DECL(java_nio_charset_Charset)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Locale
+#define XMLVM_FORWARD_DECL_java_util_Locale
+XMLVM_FORWARD_DECL(java_util_Locale)
+#endif
+// Class declarations for java.io.PrintStream
+XMLVM_DEFINE_CLASS(java_io_PrintStream, 15, XMLVM_ITABLE_SIZE_java_io_PrintStream)
+
+extern JAVA_OBJECT __CLASS_java_io_PrintStream;
+extern JAVA_OBJECT __CLASS_java_io_PrintStream_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_PrintStream_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_PrintStream_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_io_PrintStream
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_io_PrintStream \
+ __INSTANCE_FIELDS_java_io_FilterOutputStream; \
+ struct { \
+ JAVA_BOOLEAN ioError_; \
+ JAVA_BOOLEAN autoflush_; \
+ JAVA_OBJECT encoding_; \
+ JAVA_OBJECT lineSeparator_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_io_PrintStream \
+ } java_io_PrintStream
+
+struct java_io_PrintStream {
+ __TIB_DEFINITION_java_io_PrintStream* tib;
+ struct {
+ __INSTANCE_FIELDS_java_io_PrintStream;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_io_PrintStream
+#define XMLVM_FORWARD_DECL_java_io_PrintStream
+typedef struct java_io_PrintStream java_io_PrintStream;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_io_PrintStream 15
+#define XMLVM_VTABLE_IDX_java_io_PrintStream_checkError__ 6
+#define XMLVM_VTABLE_IDX_java_io_PrintStream_close__ 7
+#define XMLVM_VTABLE_IDX_java_io_PrintStream_flush__ 8
+#define XMLVM_VTABLE_IDX_java_io_PrintStream_write___byte_1ARRAY_int_int 10
+#define XMLVM_VTABLE_IDX_java_io_PrintStream_write___int 11
+#define XMLVM_VTABLE_IDX_java_io_PrintStream_append___char 12
+#define XMLVM_VTABLE_IDX_java_io_PrintStream_append___java_lang_CharSequence 13
+#define XMLVM_VTABLE_IDX_java_io_PrintStream_append___java_lang_CharSequence_int_int 14
+
+void __INIT_java_io_PrintStream();
+void __INIT_IMPL_java_io_PrintStream();
+void __DELETE_java_io_PrintStream(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_io_PrintStream(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_io_PrintStream();
+JAVA_OBJECT __NEW_INSTANCE_java_io_PrintStream();
+JAVA_OBJECT java_io_PrintStream_GET_TOKEN_NULL();
+void java_io_PrintStream_PUT_TOKEN_NULL(JAVA_OBJECT v);
+void java_io_PrintStream___INIT____java_io_OutputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_io_PrintStream___INIT____java_io_OutputStream_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2);
+void java_io_PrintStream___INIT____java_io_OutputStream_boolean_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2, JAVA_OBJECT n3);
+void java_io_PrintStream___INIT____java_io_File(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_io_PrintStream___INIT____java_io_File_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_io_PrintStream___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_io_PrintStream___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+// Vtable index: 6
+JAVA_BOOLEAN java_io_PrintStream_checkError__(JAVA_OBJECT me);
+// Vtable index: 7
+void java_io_PrintStream_close__(JAVA_OBJECT me);
+// Vtable index: 8
+void java_io_PrintStream_flush__(JAVA_OBJECT me);
+JAVA_OBJECT java_io_PrintStream_format___java_lang_String_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_io_PrintStream_format___java_util_Locale_java_lang_String_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3);
+JAVA_OBJECT java_io_PrintStream_printf___java_lang_String_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_io_PrintStream_printf___java_util_Locale_java_lang_String_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3);
+void java_io_PrintStream_newline__(JAVA_OBJECT me);
+void java_io_PrintStream_print___char_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_io_PrintStream_print___char(JAVA_OBJECT me, JAVA_CHAR n1);
+void java_io_PrintStream_print___double(JAVA_OBJECT me, JAVA_DOUBLE n1);
+void java_io_PrintStream_print___float(JAVA_OBJECT me, JAVA_FLOAT n1);
+void java_io_PrintStream_print___int(JAVA_OBJECT me, JAVA_INT n1);
+void java_io_PrintStream_print___long(JAVA_OBJECT me, JAVA_LONG n1);
+void java_io_PrintStream_print___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_io_PrintStream_print___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_io_PrintStream_print___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1);
+void java_io_PrintStream_println__(JAVA_OBJECT me);
+void java_io_PrintStream_println___char_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_io_PrintStream_println___char(JAVA_OBJECT me, JAVA_CHAR n1);
+void java_io_PrintStream_println___double(JAVA_OBJECT me, JAVA_DOUBLE n1);
+void java_io_PrintStream_println___float(JAVA_OBJECT me, JAVA_FLOAT n1);
+void java_io_PrintStream_println___int(JAVA_OBJECT me, JAVA_INT n1);
+void java_io_PrintStream_println___long(JAVA_OBJECT me, JAVA_LONG n1);
+void java_io_PrintStream_println___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_io_PrintStream_println___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_io_PrintStream_println___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1);
+void java_io_PrintStream_setError__(JAVA_OBJECT me);
+// Vtable index: 10
+void java_io_PrintStream_write___byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+// Vtable index: 11
+void java_io_PrintStream_write___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 12
+JAVA_OBJECT java_io_PrintStream_append___char(JAVA_OBJECT me, JAVA_CHAR n1);
+// Vtable index: 13
+JAVA_OBJECT java_io_PrintStream_append___java_lang_CharSequence(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 14
+JAVA_OBJECT java_io_PrintStream_append___java_lang_CharSequence_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+
+#endif
diff --git a/tests/nbody-java/java_io_Serializable.c b/tests/nbody-java/java_io_Serializable.c
new file mode 100644
index 00000000..a5428cac
--- /dev/null
+++ b/tests/nbody-java/java_io_Serializable.c
@@ -0,0 +1,76 @@
+#include "xmlvm.h"
+
+#include "java_io_Serializable.h"
+
+__TIB_DEFINITION_java_io_Serializable __TIB_java_io_Serializable = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_io_Serializable, // classInitializer
+ "java.io.Serializable", // className
+ "java.io", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_io_Serializable;
+JAVA_OBJECT __CLASS_java_io_Serializable_1ARRAY;
+JAVA_OBJECT __CLASS_java_io_Serializable_2ARRAY;
+JAVA_OBJECT __CLASS_java_io_Serializable_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_io_Serializable()
+{
+ staticInitializerLock(&__TIB_java_io_Serializable);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_io_Serializable.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_io_Serializable.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_io_Serializable);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_io_Serializable.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_io_Serializable.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_io_Serializable.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.io.Serializable")
+ __INIT_IMPL_java_io_Serializable();
+ }
+}
+
+void __INIT_IMPL_java_io_Serializable()
+{
+ __TIB_java_io_Serializable.numInterfaces = 0;
+ __TIB_java_io_Serializable.declaredFields = &__field_reflection_data[0];
+ __TIB_java_io_Serializable.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_io_Serializable.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_io_Serializable.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_io_Serializable.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_io_Serializable = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_io_Serializable);
+ __TIB_java_io_Serializable.clazz = __CLASS_java_io_Serializable;
+ __TIB_java_io_Serializable.baseType = JAVA_NULL;
+ __CLASS_java_io_Serializable_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_Serializable);
+ __CLASS_java_io_Serializable_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_Serializable_1ARRAY);
+ __CLASS_java_io_Serializable_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_io_Serializable_2ARRAY);
+
+ __TIB_java_io_Serializable.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_io_Serializable.h b/tests/nbody-java/java_io_Serializable.h
new file mode 100644
index 00000000..9f3d15e5
--- /dev/null
+++ b/tests/nbody-java/java_io_Serializable.h
@@ -0,0 +1,27 @@
+#ifndef __JAVA_IO_SERIALIZABLE__
+#define __JAVA_IO_SERIALIZABLE__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+
+XMLVM_DEFINE_CLASS(java_io_Serializable, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_io_Serializable;
+extern JAVA_OBJECT __CLASS_java_io_Serializable_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_Serializable_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_io_Serializable_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_io_Serializable
+#define XMLVM_FORWARD_DECL_java_io_Serializable
+typedef struct java_io_Serializable java_io_Serializable;
+#endif
+
+void __INIT_java_io_Serializable();
+void __INIT_IMPL_java_io_Serializable();
+
+#endif
diff --git a/tests/nbody-java/java_lang_AbstractStringBuilder.c b/tests/nbody-java/java_lang_AbstractStringBuilder.c
new file mode 100644
index 00000000..82ee8d99
--- /dev/null
+++ b/tests/nbody-java/java_lang_AbstractStringBuilder.c
@@ -0,0 +1,2794 @@
+#include "xmlvm.h"
+#include "java_io_InvalidObjectException.h"
+#include "java_lang_CharSequence.h"
+#include "java_lang_Character.h"
+#include "java_lang_IndexOutOfBoundsException.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_lang_System.h"
+#include "org_apache_harmony_luni_internal_nls_Messages.h"
+
+#include "java_lang_AbstractStringBuilder.h"
+
+#define XMLVM_CURRENT_CLASS_NAME AbstractStringBuilder
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_AbstractStringBuilder
+
+__TIB_DEFINITION_java_lang_AbstractStringBuilder __TIB_java_lang_AbstractStringBuilder = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_AbstractStringBuilder, // classInitializer
+ "java.lang.AbstractStringBuilder", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_AbstractStringBuilder), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_AbstractStringBuilder;
+JAVA_OBJECT __CLASS_java_lang_AbstractStringBuilder_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_AbstractStringBuilder_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_AbstractStringBuilder_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_INT _STATIC_java_lang_AbstractStringBuilder_INITIAL_CAPACITY;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_AbstractStringBuilder()
+{
+ staticInitializerLock(&__TIB_java_lang_AbstractStringBuilder);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_AbstractStringBuilder.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_AbstractStringBuilder.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_AbstractStringBuilder);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_AbstractStringBuilder.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_AbstractStringBuilder.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_AbstractStringBuilder.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.AbstractStringBuilder")
+ __INIT_IMPL_java_lang_AbstractStringBuilder();
+ }
+}
+
+void __INIT_IMPL_java_lang_AbstractStringBuilder()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_AbstractStringBuilder.newInstanceFunc = __NEW_INSTANCE_java_lang_AbstractStringBuilder;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_AbstractStringBuilder.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_AbstractStringBuilder.vtable[5] = (VTABLE_PTR) &java_lang_AbstractStringBuilder_toString__;
+ // Initialize interface information
+ __TIB_java_lang_AbstractStringBuilder.numImplementedInterfaces = 0;
+ __TIB_java_lang_AbstractStringBuilder.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_java_lang_AbstractStringBuilder_INITIAL_CAPACITY = 16;
+
+ __TIB_java_lang_AbstractStringBuilder.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_AbstractStringBuilder.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_AbstractStringBuilder.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_AbstractStringBuilder.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_AbstractStringBuilder.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_AbstractStringBuilder.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_AbstractStringBuilder.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_AbstractStringBuilder.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_AbstractStringBuilder = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_AbstractStringBuilder);
+ __TIB_java_lang_AbstractStringBuilder.clazz = __CLASS_java_lang_AbstractStringBuilder;
+ __TIB_java_lang_AbstractStringBuilder.baseType = JAVA_NULL;
+ __CLASS_java_lang_AbstractStringBuilder_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_AbstractStringBuilder);
+ __CLASS_java_lang_AbstractStringBuilder_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_AbstractStringBuilder_1ARRAY);
+ __CLASS_java_lang_AbstractStringBuilder_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_AbstractStringBuilder_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_AbstractStringBuilder]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_AbstractStringBuilder.classInitialized = 1;
+}
+
+void __DELETE_java_lang_AbstractStringBuilder(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_AbstractStringBuilder]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_AbstractStringBuilder(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_AbstractStringBuilder*) me)->fields.java_lang_AbstractStringBuilder.value_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ ((java_lang_AbstractStringBuilder*) me)->fields.java_lang_AbstractStringBuilder.count_ = 0;
+ ((java_lang_AbstractStringBuilder*) me)->fields.java_lang_AbstractStringBuilder.shared_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_AbstractStringBuilder]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_AbstractStringBuilder()
+{ XMLVM_CLASS_INIT(java_lang_AbstractStringBuilder)
+java_lang_AbstractStringBuilder* me = (java_lang_AbstractStringBuilder*) XMLVM_MALLOC(sizeof(java_lang_AbstractStringBuilder));
+ me->tib = &__TIB_java_lang_AbstractStringBuilder;
+ __INIT_INSTANCE_MEMBERS_java_lang_AbstractStringBuilder(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_AbstractStringBuilder]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_AbstractStringBuilder()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_lang_AbstractStringBuilder();
+ java_lang_AbstractStringBuilder___INIT___(me);
+ return me;
+}
+
+JAVA_INT java_lang_AbstractStringBuilder_GET_INITIAL_CAPACITY()
+{
+ XMLVM_CLASS_INIT(java_lang_AbstractStringBuilder)
+ return _STATIC_java_lang_AbstractStringBuilder_INITIAL_CAPACITY;
+}
+
+void java_lang_AbstractStringBuilder_PUT_INITIAL_CAPACITY(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_AbstractStringBuilder)
+_STATIC_java_lang_AbstractStringBuilder_INITIAL_CAPACITY = v;
+}
+
+JAVA_OBJECT java_lang_AbstractStringBuilder_getValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_getValue__]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "getValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 48)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r1.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_AbstractStringBuilder_shareValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_shareValue__]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "shareValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 55)
+ _r0.i = 1;
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_AbstractStringBuilder*) _r1.o)->fields.java_lang_AbstractStringBuilder.shared_ = _r0.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 56)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r1.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder_set___char_1ARRAY_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_set___char_1ARRAY_int]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "set", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r3.o = me;
+ _r4.o = n1;
+ _r5.i = n2;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 63)
+ if (_r4.o != JAVA_NULL) goto label27;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 64)
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r2.i);
+ label5:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 66)
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ if (_r1.i >= _r5.i) goto label20;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 67)
+ _r0.o = __NEW_java_io_InvalidObjectException();
+ // "luni.4A"
+ _r1.o = xmlvm_create_java_string_from_pool(60);
+ _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String(_r1.o);
+ XMLVM_CHECK_NPE(0)
+ java_io_InvalidObjectException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label20:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 70)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.shared_ = _r2.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 71)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.value_ = _r0.o;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 72)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.count_ = _r5.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 73)
+ XMLVM_EXIT_METHOD()
+ return;
+ label27:;
+ _r0 = _r4;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 75)
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 76)
+ _r0.i = 16;
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_AbstractStringBuilder*) _r1.o)->fields.java_lang_AbstractStringBuilder.value_ = _r0.o;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 77)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder___INIT____int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder___INIT____int]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 79)
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 80)
+ if (_r2.i >= 0) goto label11;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 81)
+
+
+ // Red class access removed: java.lang.NegativeArraySizeException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NegativeArraySizeException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label11:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 83)
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r2.i);
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_AbstractStringBuilder*) _r1.o)->fields.java_lang_AbstractStringBuilder.value_ = _r0.o;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 84)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 86)
+ XMLVM_CHECK_NPE(3)
+ java_lang_Object___INIT___(_r3.o);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 87)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r4.o)->tib->vtable[8])(_r4.o);
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.count_ = _r0.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 88)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.shared_ = _r2.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 89)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r0.i = _r0.i + 16;
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.value_ = _r0.o;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 90)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.count_;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(4)
+ java_lang_String_getChars___int_int_char_1ARRAY_int(_r4.o, _r2.i, _r0.i, _r1.o, _r2.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 91)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder_enlargeBuffer___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_enlargeBuffer___int]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "enlargeBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.i = n1;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 94)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ _r0.i = _r0.i >> 1;
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ _r0.i = _r0.i + _r1.i;
+ _r0.i = _r0.i + 2;
+ if (_r5.i <= _r0.i) goto label15;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 95)
+ _r0 = _r5;
+ label15:;
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 96)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r3.i, _r0.o, _r3.i, _r2.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 97)
+ XMLVM_CHECK_NPE(4)
+ ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.value_ = _r0.o;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 98)
+ XMLVM_CHECK_NPE(4)
+ ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.shared_ = _r3.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 99)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder_appendNull__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_appendNull__]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "appendNull", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ _r3.i = 108;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 102)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r0.i = _r0.i + 4;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 103)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ if (_r0.i <= _r1.i) goto label14;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 104)
+ XMLVM_CHECK_NPE(4)
+ java_lang_AbstractStringBuilder_enlargeBuffer___int(_r4.o, _r0.i);
+ label14:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 106)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r2.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(4)
+ ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_ = _r2.i;
+ _r2.i = 110;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 107)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r2.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(4)
+ ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_ = _r2.i;
+ _r2.i = 117;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 108)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r2.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(4)
+ ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_ = _r2.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 109)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r2.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(4)
+ ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_ = _r2.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 110)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder_append0___char_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_append0___char_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "append0", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r5.o = me;
+ _r6.o = n1;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 113)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ _r0.i = _r0.i + _r1.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 114)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ if (_r0.i <= _r1.i) goto label12;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 115)
+ XMLVM_CHECK_NPE(5)
+ java_lang_AbstractStringBuilder_enlargeBuffer___int(_r5.o, _r0.i);
+ label12:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 117)
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(5)
+ _r3.i = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r4.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r6.o, _r1.i, _r2.o, _r3.i, _r4.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 118)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.count_ = _r0.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 119)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder_append0___char_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_append0___char_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "append0", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r3.o = me;
+ _r4.o = n1;
+ _r5.i = n2;
+ _r6.i = n3;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 123)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
+ if (_r5.i > _r0.i) goto label5;
+ if (_r5.i >= 0) goto label17;
+ label5:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 125)
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.12"
+ _r1.o = xmlvm_create_java_string_from_pool(61);
+ _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_int(_r1.o, _r5.i);
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label17:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 127)
+ if (_r6.i < 0) goto label23;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
+ _r0.i = _r0.i - _r5.i;
+ if (_r0.i >= _r6.i) goto label35;
+ label23:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 129)
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.18"
+ _r1.o = xmlvm_create_java_string_from_pool(62);
+ _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_int(_r1.o, _r6.i);
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label35:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 132)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r0.i = _r0.i + _r6.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 133)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ if (_r0.i <= _r1.i) goto label46;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 134)
+ XMLVM_CHECK_NPE(3)
+ java_lang_AbstractStringBuilder_enlargeBuffer___int(_r3.o, _r0.i);
+ label46:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 136)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(3)
+ _r2.i = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.count_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r4.o, _r5.i, _r1.o, _r2.i, _r6.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 137)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.count_ = _r0.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 138)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder_append0___char(JAVA_OBJECT me, JAVA_CHAR n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_append0___char]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "append0", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.i = n1;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 141)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.count_;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ if (_r0.i != _r1.i) goto label14;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 142)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(3)
+ java_lang_AbstractStringBuilder_enlargeBuffer___int(_r3.o, _r0.i);
+ label14:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 144)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r2.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.count_ = _r2.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 145)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder_append0___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_append0___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "append0", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r5.o = me;
+ _r6.o = n1;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 148)
+ if (_r6.o != JAVA_NULL) goto label6;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 149)
+ XMLVM_CHECK_NPE(5)
+ java_lang_AbstractStringBuilder_appendNull__(_r5.o);
+ label5:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 159)
+ XMLVM_EXIT_METHOD()
+ return;
+ label6:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 152)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(6)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r6.o)->tib->vtable[8])(_r6.o);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 153)
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r1.i = _r1.i + _r0.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 154)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ if (_r1.i <= _r2.i) goto label21;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 155)
+ XMLVM_CHECK_NPE(5)
+ java_lang_AbstractStringBuilder_enlargeBuffer___int(_r5.o, _r1.i);
+ label21:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 157)
+ _r2.i = 0;
+ XMLVM_CHECK_NPE(5)
+ _r3.o = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(5)
+ _r4.i = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.count_;
+ XMLVM_CHECK_NPE(6)
+ java_lang_String_getChars___int_int_char_1ARRAY_int(_r6.o, _r2.i, _r0.i, _r3.o, _r4.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 158)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.count_ = _r1.i;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder_append0___java_lang_CharSequence_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_append0___java_lang_CharSequence_int_int]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "append0", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.i = n2;
+ _r5.i = n3;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 162)
+ if (_r3.o != JAVA_NULL) goto label34;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 163)
+ // "null"
+ _r0.o = xmlvm_create_java_string_from_pool(63);
+ label4:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 165)
+ if (_r4.i < 0) goto label16;
+ if (_r5.i < 0) goto label16;
+ if (_r4.i > _r5.i) goto label16;
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__])(_r0.o);
+ if (_r5.i <= _r1.i) goto label22;
+ label16:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 166)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label22:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 169)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT, JAVA_INT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_subSequence___int_int])(_r0.o, _r4.i, _r5.i);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_toString__])(_r0.o);
+ XMLVM_CHECK_NPE(2)
+ java_lang_AbstractStringBuilder_append0___java_lang_String(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 170)
+ XMLVM_EXIT_METHOD()
+ return;
+ label34:;
+ _r0 = _r3;
+ goto label4;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_AbstractStringBuilder_capacity__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_capacity__]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "capacity", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 180)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r1.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_CHAR java_lang_AbstractStringBuilder_charAt___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_charAt___int]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "charAt", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 194)
+ if (_r2.i < 0) goto label6;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r1.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r2.i < _r0.i) goto label12;
+ label6:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 195)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label12:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 197)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r1.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder_delete0___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_delete0___int_int]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "delete0", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r5.o = me;
+ _r6.i = n1;
+ _r7.i = n2;
+ _r4.i = 0;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 201)
+ if (_r6.i < 0) goto label58;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 202)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r7.i <= _r0.i) goto label64;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 203)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.count_;
+ label9:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 205)
+ if (_r0.i != _r6.i) goto label12;
+ label11:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 222)
+ XMLVM_EXIT_METHOD()
+ return;
+ label12:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 208)
+ if (_r0.i <= _r6.i) goto label58;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 209)
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r1.i = _r1.i - _r0.i;
+ if (_r1.i < 0) goto label30;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 210)
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 211)
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.shared_;
+ if (_r2.i != 0) goto label38;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 212)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(5)
+ _r3.o = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.value_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r2.o, _r0.i, _r3.o, _r6.i, _r1.i);
+ label30:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 221)
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r0.i = _r0.i - _r6.i;
+ _r0.i = _r1.i - _r0.i;
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.count_ = _r0.i;
+ goto label11;
+ label38:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 214)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ XMLVM_CLASS_INIT(char)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_char, _r2.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 215)
+ XMLVM_CHECK_NPE(5)
+ _r3.o = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.value_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r3.o, _r4.i, _r2.o, _r4.i, _r6.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 216)
+ XMLVM_CHECK_NPE(5)
+ _r3.o = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.value_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r3.o, _r0.i, _r2.o, _r6.i, _r1.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 217)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.value_ = _r2.o;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 218)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.shared_ = _r4.i;
+ goto label30;
+ label58:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 225)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label64:;
+ _r0 = _r7;
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder_deleteCharAt0___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_deleteCharAt0___int]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "deleteCharAt0", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r6.o = me;
+ _r7.i = n1;
+ _r5.i = 1;
+ _r4.i = 0;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 229)
+ if (_r7.i < 0) goto label8;
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r6.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r7.i < _r0.i) goto label14;
+ label8:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 230)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label14:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 232)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r6.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r0.i = _r0.i - _r7.i;
+ _r0.i = _r0.i - _r5.i;
+ if (_r0.i <= 0) goto label33;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 233)
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 234)
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_lang_AbstractStringBuilder*) _r6.o)->fields.java_lang_AbstractStringBuilder.shared_;
+ if (_r1.i != 0) goto label39;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 235)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r6.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r2.i = _r7.i + 1;
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_lang_AbstractStringBuilder*) _r6.o)->fields.java_lang_AbstractStringBuilder.value_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r2.i, _r3.o, _r7.i, _r0.i);
+ label33:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 246)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r6.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r0.i = _r0.i - _r5.i;
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_AbstractStringBuilder*) _r6.o)->fields.java_lang_AbstractStringBuilder.count_ = _r0.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 247)
+ XMLVM_EXIT_METHOD()
+ return;
+ label39:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 237)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r6.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ XMLVM_CLASS_INIT(char)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_char, _r1.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 238)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_lang_AbstractStringBuilder*) _r6.o)->fields.java_lang_AbstractStringBuilder.value_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r2.o, _r4.i, _r1.o, _r4.i, _r7.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 240)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_lang_AbstractStringBuilder*) _r6.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r3.i = _r7.i + 1;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r2.o, _r3.i, _r1.o, _r7.i, _r0.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 242)
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_AbstractStringBuilder*) _r6.o)->fields.java_lang_AbstractStringBuilder.value_ = _r1.o;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 243)
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_AbstractStringBuilder*) _r6.o)->fields.java_lang_AbstractStringBuilder.shared_ = _r4.i;
+ goto label33;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder_ensureCapacity___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_ensureCapacity___int]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "ensureCapacity", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 262)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r1.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ if (_r2.i <= _r0.i) goto label17;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 263)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r1.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ _r0.i = _r0.i << 1;
+ _r0.i = _r0.i + 2;
+ if (_r0.i <= _r2.i) goto label18;
+ label14:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 264)
+ XMLVM_CHECK_NPE(1)
+ java_lang_AbstractStringBuilder_enlargeBuffer___int(_r1.o, _r0.i);
+ label17:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 266)
+ XMLVM_EXIT_METHOD()
+ return;
+ label18:;
+ _r0 = _r2;
+ goto label14;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder_getChars___int_int_char_1ARRAY_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_getChars___int_int_char_1ARRAY_int]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "getChars", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r2.o = me;
+ _r3.i = n1;
+ _r4.i = n2;
+ _r5.o = n3;
+ _r6.i = n4;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 288)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r2.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r3.i > _r0.i) goto label10;
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r2.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r4.i > _r0.i) goto label10;
+ if (_r3.i <= _r4.i) goto label16;
+ label10:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 289)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label16:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 291)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r2.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r1.i = _r4.i - _r3.i;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r3.i, _r5.o, _r6.i, _r1.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 292)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder_insert0___int_char_1ARRAY(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_insert0___int_char_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "insert0", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r3.o = me;
+ _r4.i = n1;
+ _r5.o = n2;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 295)
+ if (_r4.i < 0) goto label6;
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r4.i <= _r0.i) goto label12;
+ label6:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 296)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label12:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 298)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ if (_r0.i == 0) goto label32;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 299)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ XMLVM_CHECK_NPE(3)
+ java_lang_AbstractStringBuilder_move___int_int(_r3.o, _r0.i, _r4.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 300)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r5.o, _r0.i, _r1.o, _r4.i, _r2.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 301)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ _r0.i = _r0.i + _r1.i;
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.count_ = _r0.i;
+ label32:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 303)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder_insert0___int_char_1ARRAY_int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_insert0___int_char_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "insert0", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r3.o = me;
+ _r4.i = n1;
+ _r5.o = n2;
+ _r6.i = n3;
+ _r7.i = n4;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 306)
+ if (_r4.i < 0) goto label72;
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r4.i > _r0.i) goto label72;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 308)
+ if (_r6.i < 0) goto label30;
+ if (_r7.i < 0) goto label30;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ _r0.i = _r0.i - _r6.i;
+ if (_r7.i > _r0.i) goto label30;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 309)
+ if (_r7.i == 0) goto label29;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 310)
+ XMLVM_CHECK_NPE(3)
+ java_lang_AbstractStringBuilder_move___int_int(_r3.o, _r7.i, _r4.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 311)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.value_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r5.o, _r6.i, _r0.o, _r4.i, _r7.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 312)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r0.i = _r0.i + _r7.i;
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.count_ = _r0.i;
+ label29:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 314)
+ XMLVM_EXIT_METHOD()
+ return;
+ label30:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 316)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = __NEW_java_lang_StringBuilder();
+ // "offset "
+ _r2.o = xmlvm_create_java_string_from_pool(64);
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder___INIT____java_lang_String(_r1.o, _r2.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___int(_r1.o, _r6.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 317)
+ // ", length "
+ _r2.o = xmlvm_create_java_string_from_pool(65);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r2.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___int(_r1.o, _r7.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 318)
+ // ", char[].length "
+ _r2.o = xmlvm_create_java_string_from_pool(66);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r2.o);
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___int(_r1.o, _r2.i);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label72:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 320)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder_insert0___int_char(JAVA_OBJECT me, JAVA_INT n1, JAVA_CHAR n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_insert0___int_char]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "insert0", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.i = n2;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 324)
+ if (_r2.i < 0) goto label6;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r1.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r2.i <= _r0.i) goto label12;
+ label6:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 326)
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label12:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 328)
+ _r0.i = 1;
+ XMLVM_CHECK_NPE(1)
+ java_lang_AbstractStringBuilder_move___int_int(_r1.o, _r0.i, _r2.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 329)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r1.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r3.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 330)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r1.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_AbstractStringBuilder*) _r1.o)->fields.java_lang_AbstractStringBuilder.count_ = _r0.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 331)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder_insert0___int_java_lang_String(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_insert0___int_java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "insert0", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r4.o = me;
+ _r5.i = n1;
+ _r6.o = n2;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 334)
+ if (_r5.i < 0) goto label31;
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r5.i > _r0.i) goto label31;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 335)
+ if (_r6.o != JAVA_NULL) goto label37;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 336)
+ // "null"
+ _r0.o = xmlvm_create_java_string_from_pool(63);
+ label10:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 338)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[8])(_r0.o);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 339)
+ if (_r1.i == 0) goto label30;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 340)
+ XMLVM_CHECK_NPE(4)
+ java_lang_AbstractStringBuilder_move___int_int(_r4.o, _r1.i, _r5.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 341)
+ _r2.i = 0;
+ XMLVM_CHECK_NPE(4)
+ _r3.o = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_String_getChars___int_int_char_1ARRAY_int(_r0.o, _r2.i, _r1.i, _r3.o, _r5.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 342)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r0.i = _r0.i + _r1.i;
+ XMLVM_CHECK_NPE(4)
+ ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_ = _r0.i;
+ label30:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 347)
+ XMLVM_EXIT_METHOD()
+ return;
+ label31:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 345)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label37:;
+ _r0 = _r6;
+ goto label10;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder_insert0___int_java_lang_CharSequence_int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_insert0___int_java_lang_CharSequence_int_int]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "insert0", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r2.o = me;
+ _r3.i = n1;
+ _r4.o = n2;
+ _r5.i = n3;
+ _r6.i = n4;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 350)
+ if (_r4.o != JAVA_NULL) goto label40;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 351)
+ // "null"
+ _r0.o = xmlvm_create_java_string_from_pool(63);
+ label4:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 353)
+ if (_r3.i < 0) goto label22;
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_lang_AbstractStringBuilder*) _r2.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r3.i > _r1.i) goto label22;
+ if (_r5.i < 0) goto label22;
+ if (_r6.i < 0) goto label22;
+ if (_r5.i > _r6.i) goto label22;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 354)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__])(_r0.o);
+ if (_r6.i <= _r1.i) goto label28;
+ label22:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 355)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label28:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 357)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT, JAVA_INT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_subSequence___int_int])(_r0.o, _r5.i, _r6.i);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_toString__])(_r0.o);
+ XMLVM_CHECK_NPE(2)
+ java_lang_AbstractStringBuilder_insert0___int_java_lang_String(_r2.o, _r3.i, _r0.o);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 358)
+ XMLVM_EXIT_METHOD()
+ return;
+ label40:;
+ _r0 = _r4;
+ goto label4;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_AbstractStringBuilder_length__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_length__]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "length", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 366)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r1.o)->fields.java_lang_AbstractStringBuilder.count_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder_move___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_move___int_int]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "move", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r5.o = me;
+ _r6.i = n1;
+ _r7.i = n2;
+ _r4.i = 0;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 371)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r0.i = _r0.i - _r1.i;
+ if (_r0.i < _r6.i) goto label51;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 372)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.shared_;
+ if (_r0.i != 0) goto label26;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 373)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r2.i = _r7.i + _r6.i;
+ XMLVM_CHECK_NPE(5)
+ _r3.i = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.count_;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 374)
+ _r3.i = _r3.i - _r7.i;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r7.i, _r1.o, _r2.i, _r3.i);
+ label25:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 389)
+ XMLVM_EXIT_METHOD()
+ return;
+ label26:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 377)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ label29:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 383)
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 384)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.value_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r4.i, _r0.o, _r4.i, _r7.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 386)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r2.i = _r7.i + _r6.i;
+ XMLVM_CHECK_NPE(5)
+ _r3.i = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r3.i = _r3.i - _r7.i;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r7.i, _r0.o, _r2.i, _r3.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 387)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.value_ = _r0.o;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 388)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.shared_ = _r4.i;
+ goto label25;
+ label51:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 379)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r0.i = _r0.i + _r6.i;
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r5.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ _r1.i = _r1.i << 1;
+ _r1.i = _r1.i + 2;
+ if (_r0.i > _r1.i) goto label29;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 380)
+ _r0 = _r1;
+ goto label29;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder_replace0___int_int_java_lang_String(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_replace0___int_int_java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "replace0", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ _r8.o = me;
+ _r9.i = n1;
+ _r10.i = n2;
+ _r11.o = n3;
+ _r7.i = 0;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 392)
+ if (_r9.i < 0) goto label110;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 393)
+ XMLVM_CHECK_NPE(8)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r8.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r10.i <= _r0.i) goto label116;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 394)
+ XMLVM_CHECK_NPE(8)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r8.o)->fields.java_lang_AbstractStringBuilder.count_;
+ label9:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 396)
+ if (_r0.i <= _r9.i) goto label96;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 397)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(11)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r11.o)->tib->vtable[8])(_r11.o);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 398)
+ _r2.i = _r0.i - _r9.i;
+ _r2.i = _r2.i - _r1.i;
+ if (_r2.i <= 0) goto label72;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 399)
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 400)
+ XMLVM_CHECK_NPE(8)
+ _r3.i = ((java_lang_AbstractStringBuilder*) _r8.o)->fields.java_lang_AbstractStringBuilder.shared_;
+ if (_r3.i != 0) goto label47;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 402)
+ XMLVM_CHECK_NPE(8)
+ _r3.o = ((java_lang_AbstractStringBuilder*) _r8.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(8)
+ _r4.o = ((java_lang_AbstractStringBuilder*) _r8.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 403)
+ _r5.i = _r9.i + _r1.i;
+ XMLVM_CHECK_NPE(8)
+ _r6.i = ((java_lang_AbstractStringBuilder*) _r8.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r6.i = _r6.i - _r0.i;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r3.o, _r0.i, _r4.o, _r5.i, _r6.i);
+ label36:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 420)
+ XMLVM_CHECK_NPE(8)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r8.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(11)
+ java_lang_String_getChars___int_int_char_1ARRAY_int(_r11.o, _r7.i, _r1.i, _r0.o, _r9.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 421)
+ XMLVM_CHECK_NPE(8)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r8.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r0.i = _r0.i - _r2.i;
+ XMLVM_CHECK_NPE(8)
+ ((java_lang_AbstractStringBuilder*) _r8.o)->fields.java_lang_AbstractStringBuilder.count_ = _r0.i;
+ label46:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 429)
+ XMLVM_EXIT_METHOD()
+ return;
+ label47:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 405)
+ XMLVM_CHECK_NPE(8)
+ _r3.o = ((java_lang_AbstractStringBuilder*) _r8.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ XMLVM_CLASS_INIT(char)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_char, _r3.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 406)
+ XMLVM_CHECK_NPE(8)
+ _r4.o = ((java_lang_AbstractStringBuilder*) _r8.o)->fields.java_lang_AbstractStringBuilder.value_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r4.o, _r7.i, _r3.o, _r7.i, _r9.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 408)
+ XMLVM_CHECK_NPE(8)
+ _r4.o = ((java_lang_AbstractStringBuilder*) _r8.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 409)
+ _r5.i = _r9.i + _r1.i;
+ XMLVM_CHECK_NPE(8)
+ _r6.i = ((java_lang_AbstractStringBuilder*) _r8.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r6.i = _r6.i - _r0.i;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r4.o, _r0.i, _r3.o, _r5.i, _r6.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 410)
+ XMLVM_CHECK_NPE(8)
+ ((java_lang_AbstractStringBuilder*) _r8.o)->fields.java_lang_AbstractStringBuilder.value_ = _r3.o;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 411)
+ XMLVM_CHECK_NPE(8)
+ ((java_lang_AbstractStringBuilder*) _r8.o)->fields.java_lang_AbstractStringBuilder.shared_ = _r7.i;
+ goto label36;
+ label72:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 413)
+ if (_r2.i >= 0) goto label79;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 415)
+ _r3.i = -_r2.i;
+ XMLVM_CHECK_NPE(8)
+ java_lang_AbstractStringBuilder_move___int_int(_r8.o, _r3.i, _r0.i);
+ goto label36;
+ label79:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 416)
+ XMLVM_CHECK_NPE(8)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r8.o)->fields.java_lang_AbstractStringBuilder.shared_;
+ if (_r0.i == 0) goto label36;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 417)
+ XMLVM_CHECK_NPE(8)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r8.o)->fields.java_lang_AbstractStringBuilder.value_;
+ //char_1ARRAY_clone__[0]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((org_xmlvm_runtime_XMLVMArray*) _r0.o)->tib->vtable[0])(_r0.o);
+ _r0.o = _r0.o;
+ XMLVM_CHECK_NPE(8)
+ ((java_lang_AbstractStringBuilder*) _r8.o)->fields.java_lang_AbstractStringBuilder.value_ = _r0.o;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 418)
+ XMLVM_CHECK_NPE(8)
+ ((java_lang_AbstractStringBuilder*) _r8.o)->fields.java_lang_AbstractStringBuilder.shared_ = _r7.i;
+ goto label36;
+ label96:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 424)
+ if (_r9.i != _r0.i) goto label110;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 425)
+ if (_r11.o != JAVA_NULL) goto label106;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 426)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label106:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 428)
+ XMLVM_CHECK_NPE(8)
+ java_lang_AbstractStringBuilder_insert0___int_java_lang_String(_r8.o, _r9.i, _r11.o);
+ goto label46;
+ label110:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 432)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label116:;
+ _r0 = _r10;
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder_reverse0__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_reverse0__]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "reverse0", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ XMLVMElem _r14;
+ _r14.o = me;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 436)
+ XMLVM_CHECK_NPE(14)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r1.i = 2;
+ if (_r0.i >= _r1.i) goto label6;
+ label5:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 510)
+ XMLVM_EXIT_METHOD()
+ return;
+ label6:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 439)
+ XMLVM_CHECK_NPE(14)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.shared_;
+ if (_r0.i != 0) goto label227;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 440)
+ XMLVM_CHECK_NPE(14)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r1.i = 1;
+ _r0.i = _r0.i - _r1.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 441)
+ XMLVM_CHECK_NPE(14)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r2.i = 0;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r2.i);
+ _r1.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 442)
+ XMLVM_CHECK_NPE(14)
+ _r2.o = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
+ _r2.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 443)
+ _r3.i = 1;
+ _r4.i = 1;
+ _r5.i = 0;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 444)
+ XMLVM_CHECK_NPE(14)
+ _r6.i = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r6.i = _r6.i / 2;
+ _r11 = _r5;
+ _r5 = _r0;
+ _r0 = _r11;
+ _r12 = _r3;
+ _r3 = _r2;
+ _r2 = _r12;
+ _r13 = _r1;
+ _r1 = _r4;
+ _r4 = _r13;
+ label39:;
+ if (_r0.i < _r6.i) goto label60;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 491)
+ XMLVM_CHECK_NPE(14)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r0.i = _r0.i & 1;
+ _r6.i = 1;
+ if (_r0.i != _r6.i) goto label5;
+ if (_r2.i == 0) goto label52;
+ if (_r1.i != 0) goto label5;
+ label52:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 492)
+ XMLVM_CHECK_NPE(14)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.value_;
+ if (_r2.i == 0) goto label224;
+ _r1 = _r3;
+ label57:;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r5.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i] = _r1.i;
+ goto label5;
+ label60:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 445)
+ XMLVM_CHECK_NPE(14)
+ _r7.o = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r8.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(7)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r8.i);
+ _r7.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i];
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 446)
+ XMLVM_CHECK_NPE(14)
+ _r8.o = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r9.i = 1;
+ _r9.i = _r5.i - _r9.i;
+ XMLVM_CHECK_NPE(8)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r8.o, _r9.i);
+ _r8.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r8.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i];
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 447)
+ if (_r2.i == 0) goto label180;
+ _r2.i = 56320;
+ if (_r7.i < _r2.i) goto label180;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 448)
+ _r2.i = 57343;
+ if (_r7.i > _r2.i) goto label180;
+ _r2.i = 55296;
+ if (_r4.i < _r2.i) goto label180;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 449)
+ _r2.i = 56319;
+ if (_r4.i > _r2.i) goto label180;
+ _r2.i = 1;
+ label96:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 450)
+ if (_r2.i == 0) goto label103;
+ XMLVM_CHECK_NPE(14)
+ _r9.i = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r10.i = 3;
+ if (_r9.i < _r10.i) goto label5;
+ label103:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 453)
+ if (_r1.i == 0) goto label182;
+ _r1.i = 55296;
+ if (_r8.i < _r1.i) goto label182;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 454)
+ _r1.i = 56319;
+ if (_r8.i > _r1.i) goto label182;
+ _r1.i = 56320;
+ if (_r3.i < _r1.i) goto label182;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 455)
+ _r1.i = 57343;
+ if (_r3.i > _r1.i) goto label182;
+ _r1.i = 1;
+ label126:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 456)
+ _r9.i = 1;
+ if (_r2.i != _r1.i) goto label197;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 457)
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 458)
+ if (_r2.i == 0) goto label184;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 460)
+ XMLVM_CHECK_NPE(14)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r5.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i] = _r7.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 461)
+ XMLVM_CHECK_NPE(14)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r2.i = 1;
+ _r2.i = _r5.i - _r2.i;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r2.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r4.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 462)
+ XMLVM_CHECK_NPE(14)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r8.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 463)
+ XMLVM_CHECK_NPE(14)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r2.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r2.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r3.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 464)
+ XMLVM_CHECK_NPE(14)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r2.i = _r0.i + 2;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r2.i);
+ _r1.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 465)
+ XMLVM_CHECK_NPE(14)
+ _r2.o = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r3.i = 2;
+ _r3.i = _r5.i - _r3.i;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ _r2.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 466)
+ _r0.i = _r0.i + 1;
+ _r3.i = _r5.i + -1;
+ _r4 = _r1;
+ _r5 = _r3;
+ _r3 = _r2;
+ _r1 = _r9;
+ _r2 = _r9;
+ label174:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 467)
+ _r0.i = _r0.i + 1;
+ _r5.i = _r5.i + -1;
+ goto label39;
+ label180:;
+ _r2.i = 0;
+ goto label96;
+ label182:;
+ _r1.i = 0;
+ goto label126;
+ label184:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 470)
+ XMLVM_CHECK_NPE(14)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r5.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i] = _r4.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 471)
+ XMLVM_CHECK_NPE(14)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r3.i;
+ _r1 = _r9;
+ _r2 = _r9;
+ _r3 = _r8;
+ _r4 = _r7;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 473)
+ goto label174;
+ label197:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 476)
+ if (_r2.i == 0) goto label212;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 478)
+ XMLVM_CHECK_NPE(14)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r5.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i] = _r7.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 479)
+ XMLVM_CHECK_NPE(14)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r3.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 481)
+ _r1.i = 0;
+ _r2 = _r1;
+ _r3 = _r8;
+ _r1 = _r9;
+ goto label174;
+ label212:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 484)
+ XMLVM_CHECK_NPE(14)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r5.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i] = _r4.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 485)
+ XMLVM_CHECK_NPE(14)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r8.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 487)
+ _r1.i = 0;
+ _r2 = _r9;
+ _r4 = _r7;
+ goto label174;
+ label224:;
+ _r1 = _r4;
+ goto label57;
+ label227:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 495)
+ XMLVM_CHECK_NPE(14)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 496)
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(14)
+ _r2.i = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r11 = _r2;
+ _r2 = _r1;
+ _r1 = _r11;
+ label238:;
+ XMLVM_CHECK_NPE(14)
+ _r3.i = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r2.i < _r3.i) goto label249;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 507)
+ XMLVM_CHECK_NPE(14)
+ ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.value_ = _r0.o;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 508)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(14)
+ ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.shared_ = _r0.i;
+ goto label5;
+ label249:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 497)
+ XMLVM_CHECK_NPE(14)
+ _r3.o = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
+ _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 498)
+ _r4.i = _r2.i + 1;
+ XMLVM_CHECK_NPE(14)
+ _r5.i = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r4.i >= _r5.i) goto label291;
+ _r4.i = 55296;
+ if (_r3.i < _r4.i) goto label291;
+ _r4.i = 56319;
+ if (_r3.i > _r4.i) goto label291;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 499)
+ XMLVM_CHECK_NPE(14)
+ _r4.o = ((java_lang_AbstractStringBuilder*) _r14.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r5.i = _r2.i + 1;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r5.i);
+ _r4.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i];
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 500)
+ _r5.i = 56320;
+ if (_r4.i < _r5.i) goto label291;
+ _r5.i = 57343;
+ if (_r4.i > _r5.i) goto label291;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 501)
+ _r1.i = _r1.i + -1;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 502)
+ _r2.i = _r2.i + 1;
+ label291:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 505)
+ _r1.i = _r1.i + -1;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r2.i = _r2.i + 1;
+ goto label238;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder_setCharAt___int_char(JAVA_OBJECT me, JAVA_INT n1, JAVA_CHAR n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_setCharAt___int_char]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "setCharAt", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.i = n2;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 524)
+ if (_r2.i < 0) goto label6;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r1.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r2.i < _r0.i) goto label12;
+ label6:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 525)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label12:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 527)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r1.o)->fields.java_lang_AbstractStringBuilder.shared_;
+ if (_r0.i == 0) goto label29;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 528)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r1.o)->fields.java_lang_AbstractStringBuilder.value_;
+ //char_1ARRAY_clone__[0]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((org_xmlvm_runtime_XMLVMArray*) _r0.o)->tib->vtable[0])(_r0.o);
+ _r0.o = _r0.o;
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_AbstractStringBuilder*) _r1.o)->fields.java_lang_AbstractStringBuilder.value_ = _r0.o;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 529)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_AbstractStringBuilder*) _r1.o)->fields.java_lang_AbstractStringBuilder.shared_ = _r0.i;
+ label29:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 531)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r1.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r3.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 532)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder_setLength___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_setLength___int]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "setLength", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.i = n1;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 546)
+ if (_r5.i >= 0) goto label9;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 547)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label9:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 549)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ if (_r5.i <= _r0.i) goto label20;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 550)
+ XMLVM_CHECK_NPE(4)
+ java_lang_AbstractStringBuilder_enlargeBuffer___int(_r4.o, _r5.i);
+ label17:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 563)
+ XMLVM_CHECK_NPE(4)
+ ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_ = _r5.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 564)
+ XMLVM_EXIT_METHOD()
+ return;
+ label20:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 552)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.shared_;
+ if (_r0.i == 0) goto label41;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 553)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 554)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r3.i, _r0.o, _r3.i, _r2.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 555)
+ XMLVM_CHECK_NPE(4)
+ ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.value_ = _r0.o;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 556)
+ XMLVM_CHECK_NPE(4)
+ ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.shared_ = _r3.i;
+ goto label17;
+ label41:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 558)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r0.i >= _r5.i) goto label17;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 559)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_;
+
+
+ // Red class access removed: java.util.Arrays::fill
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label17;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_AbstractStringBuilder_substring___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_substring___int]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "substring", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.i = n1;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 578)
+ if (_r4.i < 0) goto label24;
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r4.i > _r0.i) goto label24;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 579)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r4.i != _r0.i) goto label13;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 580)
+ // ""
+ _r0.o = xmlvm_create_java_string_from_pool(21);
+ label12:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 584)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label13:;
+ _r0.o = __NEW_java_lang_String();
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(3)
+ _r2.i = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r2.i = _r2.i - _r4.i;
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____char_1ARRAY_int_int(_r0.o, _r1.o, _r4.i, _r2.i);
+ goto label12;
+ label24:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 586)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_AbstractStringBuilder_substring___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_substring___int_int]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "substring", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r3.o = me;
+ _r4.i = n1;
+ _r5.i = n2;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 603)
+ if (_r4.i < 0) goto label23;
+ if (_r4.i > _r5.i) goto label23;
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r5.i > _r0.i) goto label23;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 604)
+ if (_r4.i != _r5.i) goto label13;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 605)
+ // ""
+ _r0.o = xmlvm_create_java_string_from_pool(21);
+ label12:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 609)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label13:;
+ _r0.o = __NEW_java_lang_String();
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r2.i = _r5.i - _r4.i;
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____char_1ARRAY_int_int(_r0.o, _r1.o, _r4.i, _r2.i);
+ goto label12;
+ label23:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 611)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_AbstractStringBuilder_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_toString__]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 621)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r0.i != 0) goto label8;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 622)
+ // ""
+ _r0.o = xmlvm_create_java_string_from_pool(21);
+ label7:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 631)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label8:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 625)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r0.i = _r0.i - _r1.i;
+ _r1.i = 256;
+ if (_r0.i >= _r1.i) goto label28;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 626)
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 627)
+ _r1.i = 16;
+ if (_r0.i < _r1.i) goto label38;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r1.i = _r1.i >> 1;
+ if (_r0.i < _r1.i) goto label38;
+ label28:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 628)
+ _r0.o = __NEW_java_lang_String();
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____char_1ARRAY_int_int(_r0.o, _r1.o, _r3.i, _r2.i);
+ goto label7;
+ label38:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 630)
+ _r0.i = 1;
+ XMLVM_CHECK_NPE(4)
+ ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.shared_ = _r0.i;
+ _r0.o = __NEW_java_lang_String();
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_;
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____int_int_char_1ARRAY(_r0.o, _r3.i, _r1.i, _r2.o);
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_AbstractStringBuilder_subSequence___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_subSequence___int_int]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "subSequence", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.i = n2;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 649)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_AbstractStringBuilder_substring___int_int(_r1.o, _r2.i, _r3.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_AbstractStringBuilder_indexOf___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_indexOf___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "indexOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 664)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_AbstractStringBuilder_indexOf___java_lang_String_int(_r1.o, _r2.o, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_AbstractStringBuilder_indexOf___java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_indexOf___java_lang_String_int]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "indexOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ _r9.o = me;
+ _r10.o = n1;
+ _r11.i = n2;
+ _r8.i = -1;
+ _r7.i = 0;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 681)
+ if (_r11.i >= 0) goto label81;
+ _r0 = _r7;
+ label5:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 682)
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 684)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(10)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r10.o)->tib->vtable[8])(_r10.o);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 685)
+ if (_r1.i <= 0) goto label72;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 686)
+ _r2.i = _r1.i + _r0.i;
+ XMLVM_CHECK_NPE(9)
+ _r3.i = ((java_lang_AbstractStringBuilder*) _r9.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r2.i <= _r3.i) goto label19;
+ _r0 = _r8;
+ label18:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 687)
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 713)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label19:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 690)
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(10)
+ _r2.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r10.o)->tib->vtable[6])(_r10.o, _r7.i);
+ label23:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 694)
+ XMLVM_CHECK_NPE(9)
+ _r3.i = ((java_lang_AbstractStringBuilder*) _r9.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r0.i < _r3.i) goto label38;
+ _r3 = _r7;
+ label28:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 700)
+ if (_r3.i == 0) goto label36;
+ _r3.i = _r1.i + _r0.i;
+ XMLVM_CHECK_NPE(9)
+ _r4.i = ((java_lang_AbstractStringBuilder*) _r9.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r3.i <= _r4.i) goto label49;
+ label36:;
+ _r0 = _r8;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 701)
+ goto label18;
+ label38:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 695)
+ XMLVM_CHECK_NPE(9)
+ _r3.o = ((java_lang_AbstractStringBuilder*) _r9.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ if (_r3.i != _r2.i) goto label46;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 696)
+ _r3.i = 1;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 697)
+ goto label28;
+ label46:;
+ _r0.i = _r0.i + 1;
+ goto label23;
+ label49:;
+ _r3 = _r7;
+ _r4 = _r0;
+ label51:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 703)
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 704)
+ _r3.i = _r3.i + 1;
+ if (_r3.i >= _r1.i) goto label67;
+ XMLVM_CHECK_NPE(9)
+ _r5.o = ((java_lang_AbstractStringBuilder*) _r9.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r4.i = _r4.i + 1;
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r4.i);
+ _r5.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(10)
+ _r6.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r10.o)->tib->vtable[6])(_r10.o, _r3.i);
+ if (_r5.i == _r6.i) goto label51;
+ label67:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 707)
+ if (_r3.i == _r1.i) goto label18;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 710)
+ _r0.i = _r0.i + 1;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 691)
+ goto label23;
+ label72:;
+ XMLVM_CHECK_NPE(9)
+ _r1.i = ((java_lang_AbstractStringBuilder*) _r9.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r0.i < _r1.i) goto label18;
+ if (_r0.i == 0) goto label18;
+ XMLVM_CHECK_NPE(9)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r9.o)->fields.java_lang_AbstractStringBuilder.count_;
+ goto label18;
+ label81:;
+ _r0 = _r11;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_AbstractStringBuilder_lastIndexOf___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_lastIndexOf___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "lastIndexOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 730)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r1.o)->fields.java_lang_AbstractStringBuilder.count_;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_AbstractStringBuilder_lastIndexOf___java_lang_String_int(_r1.o, _r2.o, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_AbstractStringBuilder_lastIndexOf___java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_lastIndexOf___java_lang_String_int]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "lastIndexOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ _r10.o = me;
+ _r11.o = n1;
+ _r12.i = n2;
+ _r9.i = 1;
+ _r8.i = -1;
+ _r7.i = 0;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 749)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(11)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r11.o)->tib->vtable[8])(_r11.o);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 750)
+ XMLVM_CHECK_NPE(10)
+ _r1.i = ((java_lang_AbstractStringBuilder*) _r10.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r0.i > _r1.i) goto label78;
+ if (_r12.i < 0) goto label78;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 751)
+ if (_r0.i <= 0) goto label69;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 752)
+ XMLVM_CHECK_NPE(10)
+ _r1.i = ((java_lang_AbstractStringBuilder*) _r10.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r1.i = _r1.i - _r0.i;
+ if (_r12.i <= _r1.i) goto label80;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 753)
+ XMLVM_CHECK_NPE(10)
+ _r1.i = ((java_lang_AbstractStringBuilder*) _r10.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r1.i = _r1.i - _r0.i;
+ label23:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 757)
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(11)
+ _r2.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r11.o)->tib->vtable[6])(_r11.o, _r7.i);
+ label27:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 761)
+ if (_r1.i >= 0) goto label34;
+ _r3 = _r7;
+ label30:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 767)
+ if (_r3.i != 0) goto label45;
+ _r0 = _r8;
+ label33:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 768)
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 783)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label34:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 762)
+ XMLVM_CHECK_NPE(10)
+ _r3.o = ((java_lang_AbstractStringBuilder*) _r10.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r1.i);
+ _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ if (_r3.i != _r2.i) goto label42;
+ _r3 = _r9;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 764)
+ goto label30;
+ label42:;
+ _r1.i = _r1.i + -1;
+ goto label27;
+ label45:;
+ _r3 = _r7;
+ _r4 = _r1;
+ label47:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 770)
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 771)
+ _r3.i = _r3.i + 1;
+ if (_r3.i >= _r0.i) goto label63;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 772)
+ XMLVM_CHECK_NPE(10)
+ _r5.o = ((java_lang_AbstractStringBuilder*) _r10.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r4.i = _r4.i + 1;
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r4.i);
+ _r5.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(11)
+ _r6.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r11.o)->tib->vtable[6])(_r11.o, _r3.i);
+ if (_r5.i == _r6.i) goto label47;
+ label63:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 775)
+ if (_r3.i != _r0.i) goto label67;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 776)
+ goto label33;
+ label67:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 778)
+ _r1.i = _r1.i - _r9.i;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 758)
+ goto label27;
+ label69:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 781)
+ XMLVM_CHECK_NPE(10)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r10.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r12.i >= _r0.i) goto label75;
+ _r0 = _r12;
+ goto label33;
+ label75:;
+ XMLVM_CHECK_NPE(10)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r10.o)->fields.java_lang_AbstractStringBuilder.count_;
+ goto label33;
+ label78:;
+ _r0 = _r8;
+ goto label33;
+ label80:;
+ _r1 = _r12;
+ goto label23;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_AbstractStringBuilder_trimToSize__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_trimToSize__]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "trimToSize", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 793)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_;
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ if (_r0.i >= _r1.i) goto label23;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 794)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_;
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 795)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.count_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r3.i, _r0.o, _r3.i, _r2.i);
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 796)
+ XMLVM_CHECK_NPE(4)
+ ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.value_ = _r0.o;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 797)
+ XMLVM_CHECK_NPE(4)
+ ((java_lang_AbstractStringBuilder*) _r4.o)->fields.java_lang_AbstractStringBuilder.shared_ = _r3.i;
+ label23:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 799)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_AbstractStringBuilder_codePointAt___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_codePointAt___int]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "codePointAt", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.i = n1;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 815)
+ if (_r3.i < 0) goto label6;
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r2.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r3.i < _r0.i) goto label12;
+ label6:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 816)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label12:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 818)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r2.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_lang_AbstractStringBuilder*) _r2.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r0.i = java_lang_Character_codePointAt___char_1ARRAY_int_int(_r0.o, _r3.i, _r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_AbstractStringBuilder_codePointBefore___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_codePointBefore___int]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "codePointBefore", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 835)
+ _r0.i = 1;
+ if (_r2.i < _r0.i) goto label7;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r1.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r2.i <= _r0.i) goto label13;
+ label7:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 836)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label13:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 838)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r1.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r0.i = java_lang_Character_codePointBefore___char_1ARRAY_int(_r0.o, _r2.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_AbstractStringBuilder_codePointCount___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_codePointCount___int_int]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "codePointCount", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.i = n1;
+ _r4.i = n2;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 859)
+ if (_r3.i < 0) goto label8;
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_AbstractStringBuilder*) _r2.o)->fields.java_lang_AbstractStringBuilder.count_;
+ if (_r4.i > _r0.i) goto label8;
+ if (_r3.i <= _r4.i) goto label14;
+ label8:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 860)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label14:;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 862)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r2.o)->fields.java_lang_AbstractStringBuilder.value_;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 863)
+ _r1.i = _r4.i - _r3.i;
+ _r0.i = java_lang_Character_codePointCount___char_1ARRAY_int_int(_r0.o, _r3.i, _r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_AbstractStringBuilder_offsetByCodePoints___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_AbstractStringBuilder_offsetByCodePoints___int_int]
+ XMLVM_ENTER_METHOD("java.lang.AbstractStringBuilder", "offsetByCodePoints", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r3.o = me;
+ _r4.i = n1;
+ _r5.i = n2;
+ XMLVM_SOURCE_POSITION("AbstractStringBuilder.java", 886)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.value_;
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(3)
+ _r2.i = ((java_lang_AbstractStringBuilder*) _r3.o)->fields.java_lang_AbstractStringBuilder.count_;
+ _r0.i = java_lang_Character_offsetByCodePoints___char_1ARRAY_int_int_int_int(_r0.o, _r1.i, _r2.i, _r4.i, _r5.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_AbstractStringBuilder.h b/tests/nbody-java/java_lang_AbstractStringBuilder.h
new file mode 100644
index 00000000..1f512ab7
--- /dev/null
+++ b/tests/nbody-java/java_lang_AbstractStringBuilder.h
@@ -0,0 +1,136 @@
+#ifndef __JAVA_LANG_ABSTRACTSTRINGBUILDER__
+#define __JAVA_LANG_ABSTRACTSTRINGBUILDER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_AbstractStringBuilder 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_io_InvalidObjectException
+#define XMLVM_FORWARD_DECL_java_io_InvalidObjectException
+XMLVM_FORWARD_DECL(java_io_InvalidObjectException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_CharSequence
+#define XMLVM_FORWARD_DECL_java_lang_CharSequence
+XMLVM_FORWARD_DECL(java_lang_CharSequence)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Character
+#define XMLVM_FORWARD_DECL_java_lang_Character
+XMLVM_FORWARD_DECL(java_lang_Character)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+#define XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+XMLVM_FORWARD_DECL(java_lang_IndexOutOfBoundsException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_internal_nls_Messages)
+#endif
+// Class declarations for java.lang.AbstractStringBuilder
+XMLVM_DEFINE_CLASS(java_lang_AbstractStringBuilder, 6, XMLVM_ITABLE_SIZE_java_lang_AbstractStringBuilder)
+
+extern JAVA_OBJECT __CLASS_java_lang_AbstractStringBuilder;
+extern JAVA_OBJECT __CLASS_java_lang_AbstractStringBuilder_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_AbstractStringBuilder_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_AbstractStringBuilder_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_AbstractStringBuilder
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_AbstractStringBuilder \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT value_; \
+ JAVA_INT count_; \
+ JAVA_BOOLEAN shared_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_AbstractStringBuilder \
+ } java_lang_AbstractStringBuilder
+
+struct java_lang_AbstractStringBuilder {
+ __TIB_DEFINITION_java_lang_AbstractStringBuilder* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_AbstractStringBuilder;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_AbstractStringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_AbstractStringBuilder
+typedef struct java_lang_AbstractStringBuilder java_lang_AbstractStringBuilder;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_AbstractStringBuilder 6
+#define XMLVM_VTABLE_IDX_java_lang_AbstractStringBuilder_toString__ 5
+
+void __INIT_java_lang_AbstractStringBuilder();
+void __INIT_IMPL_java_lang_AbstractStringBuilder();
+void __DELETE_java_lang_AbstractStringBuilder(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_AbstractStringBuilder(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_AbstractStringBuilder();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_AbstractStringBuilder();
+JAVA_INT java_lang_AbstractStringBuilder_GET_INITIAL_CAPACITY();
+void java_lang_AbstractStringBuilder_PUT_INITIAL_CAPACITY(JAVA_INT v);
+JAVA_OBJECT java_lang_AbstractStringBuilder_getValue__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_AbstractStringBuilder_shareValue__(JAVA_OBJECT me);
+void java_lang_AbstractStringBuilder_set___char_1ARRAY_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2);
+void java_lang_AbstractStringBuilder___INIT___(JAVA_OBJECT me);
+void java_lang_AbstractStringBuilder___INIT____int(JAVA_OBJECT me, JAVA_INT n1);
+void java_lang_AbstractStringBuilder___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_AbstractStringBuilder_enlargeBuffer___int(JAVA_OBJECT me, JAVA_INT n1);
+void java_lang_AbstractStringBuilder_appendNull__(JAVA_OBJECT me);
+void java_lang_AbstractStringBuilder_append0___char_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_AbstractStringBuilder_append0___char_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+void java_lang_AbstractStringBuilder_append0___char(JAVA_OBJECT me, JAVA_CHAR n1);
+void java_lang_AbstractStringBuilder_append0___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_AbstractStringBuilder_append0___java_lang_CharSequence_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+JAVA_INT java_lang_AbstractStringBuilder_capacity__(JAVA_OBJECT me);
+JAVA_CHAR java_lang_AbstractStringBuilder_charAt___int(JAVA_OBJECT me, JAVA_INT n1);
+void java_lang_AbstractStringBuilder_delete0___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2);
+void java_lang_AbstractStringBuilder_deleteCharAt0___int(JAVA_OBJECT me, JAVA_INT n1);
+void java_lang_AbstractStringBuilder_ensureCapacity___int(JAVA_OBJECT me, JAVA_INT n1);
+void java_lang_AbstractStringBuilder_getChars___int_int_char_1ARRAY_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4);
+void java_lang_AbstractStringBuilder_insert0___int_char_1ARRAY(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2);
+void java_lang_AbstractStringBuilder_insert0___int_char_1ARRAY_int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4);
+void java_lang_AbstractStringBuilder_insert0___int_char(JAVA_OBJECT me, JAVA_INT n1, JAVA_CHAR n2);
+void java_lang_AbstractStringBuilder_insert0___int_java_lang_String(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2);
+void java_lang_AbstractStringBuilder_insert0___int_java_lang_CharSequence_int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4);
+JAVA_INT java_lang_AbstractStringBuilder_length__(JAVA_OBJECT me);
+void java_lang_AbstractStringBuilder_move___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2);
+void java_lang_AbstractStringBuilder_replace0___int_int_java_lang_String(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2, JAVA_OBJECT n3);
+void java_lang_AbstractStringBuilder_reverse0__(JAVA_OBJECT me);
+void java_lang_AbstractStringBuilder_setCharAt___int_char(JAVA_OBJECT me, JAVA_INT n1, JAVA_CHAR n2);
+void java_lang_AbstractStringBuilder_setLength___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_OBJECT java_lang_AbstractStringBuilder_substring___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_OBJECT java_lang_AbstractStringBuilder_substring___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2);
+// Vtable index: 5
+JAVA_OBJECT java_lang_AbstractStringBuilder_toString__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_AbstractStringBuilder_subSequence___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2);
+JAVA_INT java_lang_AbstractStringBuilder_indexOf___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_INT java_lang_AbstractStringBuilder_indexOf___java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_INT java_lang_AbstractStringBuilder_lastIndexOf___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_INT java_lang_AbstractStringBuilder_lastIndexOf___java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2);
+void java_lang_AbstractStringBuilder_trimToSize__(JAVA_OBJECT me);
+JAVA_INT java_lang_AbstractStringBuilder_codePointAt___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_INT java_lang_AbstractStringBuilder_codePointBefore___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_INT java_lang_AbstractStringBuilder_codePointCount___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2);
+JAVA_INT java_lang_AbstractStringBuilder_offsetByCodePoints___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2);
+
+#endif
diff --git a/tests/nbody-java/java_lang_Appendable.c b/tests/nbody-java/java_lang_Appendable.c
new file mode 100644
index 00000000..07122cd3
--- /dev/null
+++ b/tests/nbody-java/java_lang_Appendable.c
@@ -0,0 +1,77 @@
+#include "xmlvm.h"
+#include "java_lang_CharSequence.h"
+
+#include "java_lang_Appendable.h"
+
+__TIB_DEFINITION_java_lang_Appendable __TIB_java_lang_Appendable = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Appendable, // classInitializer
+ "java.lang.Appendable", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_lang_Appendable;
+JAVA_OBJECT __CLASS_java_lang_Appendable_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Appendable_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Appendable_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_lang_Appendable()
+{
+ staticInitializerLock(&__TIB_java_lang_Appendable);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Appendable.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Appendable.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Appendable);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Appendable.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Appendable.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Appendable.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Appendable")
+ __INIT_IMPL_java_lang_Appendable();
+ }
+}
+
+void __INIT_IMPL_java_lang_Appendable()
+{
+ __TIB_java_lang_Appendable.numInterfaces = 0;
+ __TIB_java_lang_Appendable.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Appendable.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_lang_Appendable.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Appendable.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Appendable.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_lang_Appendable = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Appendable);
+ __TIB_java_lang_Appendable.clazz = __CLASS_java_lang_Appendable;
+ __TIB_java_lang_Appendable.baseType = JAVA_NULL;
+ __CLASS_java_lang_Appendable_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Appendable);
+ __CLASS_java_lang_Appendable_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Appendable_1ARRAY);
+ __CLASS_java_lang_Appendable_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Appendable_2ARRAY);
+
+ __TIB_java_lang_Appendable.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_lang_Appendable.h b/tests/nbody-java/java_lang_Appendable.h
new file mode 100644
index 00000000..4a6f9900
--- /dev/null
+++ b/tests/nbody-java/java_lang_Appendable.h
@@ -0,0 +1,34 @@
+#ifndef __JAVA_LANG_APPENDABLE__
+#define __JAVA_LANG_APPENDABLE__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_lang_Appendable_append___char 2
+#define XMLVM_ITABLE_IDX_java_lang_Appendable_append___java_lang_CharSequence 3
+#define XMLVM_ITABLE_IDX_java_lang_Appendable_append___java_lang_CharSequence_int_int 4
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_CharSequence
+#define XMLVM_FORWARD_DECL_java_lang_CharSequence
+XMLVM_FORWARD_DECL(java_lang_CharSequence)
+#endif
+
+XMLVM_DEFINE_CLASS(java_lang_Appendable, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_lang_Appendable;
+extern JAVA_OBJECT __CLASS_java_lang_Appendable_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Appendable_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Appendable_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_lang_Appendable
+#define XMLVM_FORWARD_DECL_java_lang_Appendable
+typedef struct java_lang_Appendable java_lang_Appendable;
+#endif
+
+void __INIT_java_lang_Appendable();
+void __INIT_IMPL_java_lang_Appendable();
+
+#endif
diff --git a/tests/nbody-java/java_lang_Boolean.c b/tests/nbody-java/java_lang_Boolean.c
new file mode 100644
index 00000000..c1e768f5
--- /dev/null
+++ b/tests/nbody-java/java_lang_Boolean.c
@@ -0,0 +1,540 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_String.h"
+#include "java_lang_System.h"
+
+#include "java_lang_Boolean.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Boolean
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Boolean
+
+__TIB_DEFINITION_java_lang_Boolean __TIB_java_lang_Boolean = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Boolean, // classInitializer
+ "java.lang.Boolean", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/Comparable<Ljava/lang/Boolean;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_Boolean), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_Boolean;
+JAVA_OBJECT __CLASS_java_lang_Boolean_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Boolean_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Boolean_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_lang_Boolean_serialVersionUID;
+static JAVA_OBJECT _STATIC_java_lang_Boolean_TYPE;
+static JAVA_OBJECT _STATIC_java_lang_Boolean_TRUE;
+static JAVA_OBJECT _STATIC_java_lang_Boolean_FALSE;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_Boolean()
+{
+ staticInitializerLock(&__TIB_java_lang_Boolean);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Boolean.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Boolean.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Boolean);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Boolean.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Boolean.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Boolean.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Boolean")
+ __INIT_IMPL_java_lang_Boolean();
+ }
+}
+
+void __INIT_IMPL_java_lang_Boolean()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_Boolean.newInstanceFunc = __NEW_INSTANCE_java_lang_Boolean;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_Boolean.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_Boolean.vtable[1] = (VTABLE_PTR) &java_lang_Boolean_equals___java_lang_Object;
+ __TIB_java_lang_Boolean.vtable[4] = (VTABLE_PTR) &java_lang_Boolean_hashCode__;
+ __TIB_java_lang_Boolean.vtable[5] = (VTABLE_PTR) &java_lang_Boolean_toString__;
+ __TIB_java_lang_Boolean.vtable[6] = (VTABLE_PTR) &java_lang_Boolean_compareTo___java_lang_Object;
+ // Initialize interface information
+ __TIB_java_lang_Boolean.numImplementedInterfaces = 2;
+ __TIB_java_lang_Boolean.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_lang_Boolean.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_lang_Comparable)
+
+ __TIB_java_lang_Boolean.implementedInterfaces[0][1] = &__TIB_java_lang_Comparable;
+ // Initialize itable for this class
+ __TIB_java_lang_Boolean.itableBegin = &__TIB_java_lang_Boolean.itable[0];
+ __TIB_java_lang_Boolean.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_lang_Boolean.vtable[6];
+
+ _STATIC_java_lang_Boolean_serialVersionUID = -3665804199014368530;
+ _STATIC_java_lang_Boolean_TYPE = (java_lang_Class*) JAVA_NULL;
+ _STATIC_java_lang_Boolean_TRUE = (java_lang_Boolean*) JAVA_NULL;
+ _STATIC_java_lang_Boolean_FALSE = (java_lang_Boolean*) JAVA_NULL;
+
+ __TIB_java_lang_Boolean.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Boolean.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_Boolean.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_Boolean.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_Boolean.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_Boolean.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Boolean.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Boolean.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_Boolean = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Boolean);
+ __TIB_java_lang_Boolean.clazz = __CLASS_java_lang_Boolean;
+ __TIB_java_lang_Boolean.baseType = JAVA_NULL;
+ __CLASS_java_lang_Boolean_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Boolean);
+ __CLASS_java_lang_Boolean_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Boolean_1ARRAY);
+ __CLASS_java_lang_Boolean_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Boolean_2ARRAY);
+ java_lang_Boolean___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_Boolean]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_Boolean.classInitialized = 1;
+}
+
+void __DELETE_java_lang_Boolean(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_Boolean]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_Boolean(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_Boolean*) me)->fields.java_lang_Boolean.value_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_Boolean]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_Boolean()
+{ XMLVM_CLASS_INIT(java_lang_Boolean)
+java_lang_Boolean* me = (java_lang_Boolean*) XMLVM_MALLOC(sizeof(java_lang_Boolean));
+ me->tib = &__TIB_java_lang_Boolean;
+ __INIT_INSTANCE_MEMBERS_java_lang_Boolean(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_Boolean]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Boolean()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_lang_Boolean_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_lang_Boolean)
+ return _STATIC_java_lang_Boolean_serialVersionUID;
+}
+
+void java_lang_Boolean_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_Boolean)
+_STATIC_java_lang_Boolean_serialVersionUID = v;
+}
+
+JAVA_OBJECT java_lang_Boolean_GET_TYPE()
+{
+ XMLVM_CLASS_INIT(java_lang_Boolean)
+ return _STATIC_java_lang_Boolean_TYPE;
+}
+
+void java_lang_Boolean_PUT_TYPE(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Boolean)
+_STATIC_java_lang_Boolean_TYPE = v;
+}
+
+JAVA_OBJECT java_lang_Boolean_GET_TRUE()
+{
+ XMLVM_CLASS_INIT(java_lang_Boolean)
+ return _STATIC_java_lang_Boolean_TRUE;
+}
+
+void java_lang_Boolean_PUT_TRUE(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Boolean)
+_STATIC_java_lang_Boolean_TRUE = v;
+}
+
+JAVA_OBJECT java_lang_Boolean_GET_FALSE()
+{
+ XMLVM_CLASS_INIT(java_lang_Boolean)
+ return _STATIC_java_lang_Boolean_FALSE;
+}
+
+void java_lang_Boolean_PUT_FALSE(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Boolean)
+_STATIC_java_lang_Boolean_FALSE = v;
+}
+
+void java_lang_Boolean___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Boolean___CLINIT___]
+ XMLVM_ENTER_METHOD("java.lang.Boolean", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("Boolean.java", 41)
+ XMLVM_CLASS_INIT(boolean)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_boolean, _r2.i);
+ XMLVM_SOURCE_POSITION("Boolean.java", 42)
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r0.o)->tib->vtable[3])(_r0.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_Class_getComponentType__(_r0.o);
+ java_lang_Boolean_PUT_TYPE( _r0.o);
+ XMLVM_SOURCE_POSITION("Boolean.java", 51)
+ _r0.o = __NEW_java_lang_Boolean();
+ _r1.i = 1;
+ XMLVM_CHECK_NPE(0)
+ java_lang_Boolean___INIT____boolean(_r0.o, _r1.i);
+ java_lang_Boolean_PUT_TRUE( _r0.o);
+ XMLVM_SOURCE_POSITION("Boolean.java", 57)
+ _r0.o = __NEW_java_lang_Boolean();
+ XMLVM_CHECK_NPE(0)
+ java_lang_Boolean___INIT____boolean(_r0.o, _r2.i);
+ java_lang_Boolean_PUT_FALSE( _r0.o);
+ XMLVM_SOURCE_POSITION("Boolean.java", 27)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Boolean___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Boolean___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Boolean", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Boolean.java", 70)
+ _r0.i = java_lang_Boolean_parseBoolean___java_lang_String(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ java_lang_Boolean___INIT____boolean(_r1.o, _r0.i);
+ XMLVM_SOURCE_POSITION("Boolean.java", 71)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Boolean___INIT____boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Boolean___INIT____boolean]
+ XMLVM_ENTER_METHOD("java.lang.Boolean", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Boolean.java", 80)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Boolean.java", 81)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_Boolean*) _r0.o)->fields.java_lang_Boolean.value_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Boolean.java", 82)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Boolean_booleanValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Boolean_booleanValue__]
+ XMLVM_ENTER_METHOD("java.lang.Boolean", "booleanValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Boolean.java", 91)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Boolean*) _r1.o)->fields.java_lang_Boolean.value_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Boolean_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Boolean_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.Boolean", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Boolean.java", 106)
+ if (_r3.o == _r2.o) goto label16;
+ XMLVM_SOURCE_POSITION("Boolean.java", 107)
+ XMLVM_CLASS_INIT(java_lang_Boolean)
+ _r0.i = XMLVM_ISA(_r3.o, __CLASS_java_lang_Boolean);
+ if (_r0.i == 0) goto label14;
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Boolean*) _r2.o)->fields.java_lang_Boolean.value_;
+ _r3.o = _r3.o;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_Boolean*) _r3.o)->fields.java_lang_Boolean.value_;
+ if (_r0.i == _r1.i) goto label16;
+ label14:;
+ _r0.i = 0;
+ label15:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label16:;
+ _r0.i = 1;
+ goto label15;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Boolean_compareTo___java_lang_Boolean(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Boolean_compareTo___java_lang_Boolean]
+ XMLVM_ENTER_METHOD("java.lang.Boolean", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Boolean.java", 125)
+ if (_r3.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Boolean.java", 126)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("Boolean.java", 129)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Boolean*) _r2.o)->fields.java_lang_Boolean.value_;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_Boolean*) _r3.o)->fields.java_lang_Boolean.value_;
+ if (_r0.i != _r1.i) goto label16;
+ XMLVM_SOURCE_POSITION("Boolean.java", 130)
+ _r0.i = 0;
+ label15:;
+ XMLVM_SOURCE_POSITION("Boolean.java", 133)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label16:;
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Boolean*) _r2.o)->fields.java_lang_Boolean.value_;
+ if (_r0.i == 0) goto label22;
+ _r0.i = 1;
+ goto label15;
+ label22:;
+ _r0.i = -1;
+ goto label15;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Boolean_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Boolean_hashCode__]
+ XMLVM_ENTER_METHOD("java.lang.Boolean", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Boolean.java", 144)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Boolean*) _r1.o)->fields.java_lang_Boolean.value_;
+ if (_r0.i == 0) goto label7;
+ _r0.i = 1231;
+ label6:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label7:;
+ _r0.i = 1237;
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Boolean_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Boolean_toString__]
+ XMLVM_ENTER_METHOD("java.lang.Boolean", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Boolean.java", 156)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Boolean*) _r1.o)->fields.java_lang_Boolean.value_;
+ _r0.o = java_lang_String_valueOf___boolean(_r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Boolean_getBoolean___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Boolean)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Boolean_getBoolean___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Boolean", "getBoolean", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Boolean.java", 171)
+ if (_r1.o == JAVA_NULL) goto label8;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
+ if (_r0.i != 0) goto label10;
+ label8:;
+ XMLVM_SOURCE_POSITION("Boolean.java", 172)
+ _r0.i = 0;
+ label9:;
+ XMLVM_SOURCE_POSITION("Boolean.java", 174)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label10:;
+ _r0.o = java_lang_System_getProperty___java_lang_String(_r1.o);
+ _r0.i = java_lang_Boolean_parseBoolean___java_lang_String(_r0.o);
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Boolean_parseBoolean___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Boolean)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Boolean_parseBoolean___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Boolean", "parseBoolean", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Boolean.java", 188)
+ // "true"
+ _r0.o = xmlvm_create_java_string_from_pool(4);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Boolean_toString___boolean(JAVA_BOOLEAN n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Boolean)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Boolean_toString___boolean]
+ XMLVM_ENTER_METHOD("java.lang.Boolean", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Boolean.java", 199)
+ _r0.o = java_lang_String_valueOf___boolean(_r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Boolean_valueOf___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Boolean)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Boolean_valueOf___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Boolean", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Boolean.java", 212)
+ _r0.i = java_lang_Boolean_parseBoolean___java_lang_String(_r1.o);
+ if (_r0.i == 0) goto label9;
+ _r0.o = java_lang_Boolean_GET_TRUE();
+ label8:;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label9:;
+ _r0.o = java_lang_Boolean_GET_FALSE();
+ goto label8;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Boolean_valueOf___boolean(JAVA_BOOLEAN n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Boolean)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Boolean_valueOf___boolean]
+ XMLVM_ENTER_METHOD("java.lang.Boolean", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Boolean.java", 228)
+ if (_r1.i == 0) goto label5;
+ _r0.o = java_lang_Boolean_GET_TRUE();
+ label4:;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label5:;
+ _r0.o = java_lang_Boolean_GET_FALSE();
+ goto label4;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Boolean_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Boolean_compareTo___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.Boolean", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Boolean.java", 1)
+ _r2.o = _r2.o;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_Boolean_compareTo___java_lang_Boolean(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_Boolean.h b/tests/nbody-java/java_lang_Boolean.h
new file mode 100644
index 00000000..0767fa98
--- /dev/null
+++ b/tests/nbody-java/java_lang_Boolean.h
@@ -0,0 +1,99 @@
+#ifndef __JAVA_LANG_BOOLEAN__
+#define __JAVA_LANG_BOOLEAN__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_Boolean 8
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+#include "java_lang_Comparable.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+// Class declarations for java.lang.Boolean
+XMLVM_DEFINE_CLASS(java_lang_Boolean, 7, XMLVM_ITABLE_SIZE_java_lang_Boolean)
+
+extern JAVA_OBJECT __CLASS_java_lang_Boolean;
+extern JAVA_OBJECT __CLASS_java_lang_Boolean_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Boolean_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Boolean_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_Boolean
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_Boolean \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_BOOLEAN value_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_Boolean \
+ } java_lang_Boolean
+
+struct java_lang_Boolean {
+ __TIB_DEFINITION_java_lang_Boolean* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_Boolean;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_Boolean
+#define XMLVM_FORWARD_DECL_java_lang_Boolean
+typedef struct java_lang_Boolean java_lang_Boolean;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_Boolean 7
+#define XMLVM_VTABLE_IDX_java_lang_Boolean_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_lang_Boolean_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_lang_Boolean_toString__ 5
+#define XMLVM_VTABLE_IDX_java_lang_Boolean_compareTo___java_lang_Object 6
+
+void __INIT_java_lang_Boolean();
+void __INIT_IMPL_java_lang_Boolean();
+void __DELETE_java_lang_Boolean(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_Boolean(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_Boolean();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Boolean();
+JAVA_LONG java_lang_Boolean_GET_serialVersionUID();
+void java_lang_Boolean_PUT_serialVersionUID(JAVA_LONG v);
+JAVA_OBJECT java_lang_Boolean_GET_TYPE();
+void java_lang_Boolean_PUT_TYPE(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Boolean_GET_TRUE();
+void java_lang_Boolean_PUT_TRUE(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Boolean_GET_FALSE();
+void java_lang_Boolean_PUT_FALSE(JAVA_OBJECT v);
+void java_lang_Boolean___CLINIT_();
+void java_lang_Boolean___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_Boolean___INIT____boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1);
+JAVA_BOOLEAN java_lang_Boolean_booleanValue__(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_lang_Boolean_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_INT java_lang_Boolean_compareTo___java_lang_Boolean(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 4
+JAVA_INT java_lang_Boolean_hashCode__(JAVA_OBJECT me);
+// Vtable index: 5
+JAVA_OBJECT java_lang_Boolean_toString__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_Boolean_getBoolean___java_lang_String(JAVA_OBJECT n1);
+JAVA_BOOLEAN java_lang_Boolean_parseBoolean___java_lang_String(JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Boolean_toString___boolean(JAVA_BOOLEAN n1);
+JAVA_OBJECT java_lang_Boolean_valueOf___java_lang_String(JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Boolean_valueOf___boolean(JAVA_BOOLEAN n1);
+// Vtable index: 6
+JAVA_INT java_lang_Boolean_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_lang_Byte.c b/tests/nbody-java/java_lang_Byte.c
new file mode 100644
index 00000000..ea3cba89
--- /dev/null
+++ b/tests/nbody-java/java_lang_Byte.c
@@ -0,0 +1,761 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_Integer.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+
+#include "java_lang_Byte.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Byte
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Byte
+
+__TIB_DEFINITION_java_lang_Byte __TIB_java_lang_Byte = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Byte, // classInitializer
+ "java.lang.Byte", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "Ljava/lang/Number;Ljava/lang/Comparable<Ljava/lang/Byte;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Number, // extends
+ sizeof(java_lang_Byte), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_Byte;
+JAVA_OBJECT __CLASS_java_lang_Byte_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Byte_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Byte_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_lang_Byte_serialVersionUID;
+static JAVA_BYTE _STATIC_java_lang_Byte_MAX_VALUE;
+static JAVA_BYTE _STATIC_java_lang_Byte_MIN_VALUE;
+static JAVA_INT _STATIC_java_lang_Byte_SIZE;
+static JAVA_OBJECT _STATIC_java_lang_Byte_TYPE;
+static JAVA_OBJECT _STATIC_java_lang_Byte_CACHE;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_Byte()
+{
+ staticInitializerLock(&__TIB_java_lang_Byte);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Byte.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Byte.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Byte);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Byte.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Byte.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Byte.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Byte")
+ __INIT_IMPL_java_lang_Byte();
+ }
+}
+
+void __INIT_IMPL_java_lang_Byte()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Number)
+ __TIB_java_lang_Byte.newInstanceFunc = __NEW_INSTANCE_java_lang_Byte;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_Byte.vtable, __TIB_java_lang_Number.vtable, sizeof(__TIB_java_lang_Number.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_Byte.vtable[6] = (VTABLE_PTR) &java_lang_Byte_byteValue__;
+ __TIB_java_lang_Byte.vtable[7] = (VTABLE_PTR) &java_lang_Byte_doubleValue__;
+ __TIB_java_lang_Byte.vtable[1] = (VTABLE_PTR) &java_lang_Byte_equals___java_lang_Object;
+ __TIB_java_lang_Byte.vtable[8] = (VTABLE_PTR) &java_lang_Byte_floatValue__;
+ __TIB_java_lang_Byte.vtable[4] = (VTABLE_PTR) &java_lang_Byte_hashCode__;
+ __TIB_java_lang_Byte.vtable[9] = (VTABLE_PTR) &java_lang_Byte_intValue__;
+ __TIB_java_lang_Byte.vtable[10] = (VTABLE_PTR) &java_lang_Byte_longValue__;
+ __TIB_java_lang_Byte.vtable[11] = (VTABLE_PTR) &java_lang_Byte_shortValue__;
+ __TIB_java_lang_Byte.vtable[5] = (VTABLE_PTR) &java_lang_Byte_toString__;
+ __TIB_java_lang_Byte.vtable[12] = (VTABLE_PTR) &java_lang_Byte_compareTo___java_lang_Object;
+ // Initialize interface information
+ __TIB_java_lang_Byte.numImplementedInterfaces = 2;
+ __TIB_java_lang_Byte.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_lang_Byte.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_lang_Comparable)
+
+ __TIB_java_lang_Byte.implementedInterfaces[0][1] = &__TIB_java_lang_Comparable;
+ // Initialize itable for this class
+ __TIB_java_lang_Byte.itableBegin = &__TIB_java_lang_Byte.itable[0];
+ __TIB_java_lang_Byte.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_lang_Byte.vtable[12];
+
+ _STATIC_java_lang_Byte_serialVersionUID = -7183698231559129828;
+ _STATIC_java_lang_Byte_MAX_VALUE = 127;
+ _STATIC_java_lang_Byte_MIN_VALUE = -128;
+ _STATIC_java_lang_Byte_SIZE = 8;
+ _STATIC_java_lang_Byte_TYPE = (java_lang_Class*) JAVA_NULL;
+ _STATIC_java_lang_Byte_CACHE = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+
+ __TIB_java_lang_Byte.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Byte.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_Byte.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_Byte.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_Byte.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_Byte.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Byte.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Byte.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_Byte = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Byte);
+ __TIB_java_lang_Byte.clazz = __CLASS_java_lang_Byte;
+ __TIB_java_lang_Byte.baseType = JAVA_NULL;
+ __CLASS_java_lang_Byte_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Byte);
+ __CLASS_java_lang_Byte_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Byte_1ARRAY);
+ __CLASS_java_lang_Byte_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Byte_2ARRAY);
+ java_lang_Byte___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_Byte]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_Byte.classInitialized = 1;
+}
+
+void __DELETE_java_lang_Byte(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_Byte]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_Byte(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Number(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_Byte*) me)->fields.java_lang_Byte.value_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_Byte]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_Byte()
+{ XMLVM_CLASS_INIT(java_lang_Byte)
+java_lang_Byte* me = (java_lang_Byte*) XMLVM_MALLOC(sizeof(java_lang_Byte));
+ me->tib = &__TIB_java_lang_Byte;
+ __INIT_INSTANCE_MEMBERS_java_lang_Byte(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_Byte]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Byte()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_lang_Byte_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_lang_Byte)
+ return _STATIC_java_lang_Byte_serialVersionUID;
+}
+
+void java_lang_Byte_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_Byte)
+_STATIC_java_lang_Byte_serialVersionUID = v;
+}
+
+JAVA_BYTE java_lang_Byte_GET_MAX_VALUE()
+{
+ XMLVM_CLASS_INIT(java_lang_Byte)
+ return _STATIC_java_lang_Byte_MAX_VALUE;
+}
+
+void java_lang_Byte_PUT_MAX_VALUE(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Byte)
+_STATIC_java_lang_Byte_MAX_VALUE = v;
+}
+
+JAVA_BYTE java_lang_Byte_GET_MIN_VALUE()
+{
+ XMLVM_CLASS_INIT(java_lang_Byte)
+ return _STATIC_java_lang_Byte_MIN_VALUE;
+}
+
+void java_lang_Byte_PUT_MIN_VALUE(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Byte)
+_STATIC_java_lang_Byte_MIN_VALUE = v;
+}
+
+JAVA_INT java_lang_Byte_GET_SIZE()
+{
+ XMLVM_CLASS_INIT(java_lang_Byte)
+ return _STATIC_java_lang_Byte_SIZE;
+}
+
+void java_lang_Byte_PUT_SIZE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Byte)
+_STATIC_java_lang_Byte_SIZE = v;
+}
+
+JAVA_OBJECT java_lang_Byte_GET_TYPE()
+{
+ XMLVM_CLASS_INIT(java_lang_Byte)
+ return _STATIC_java_lang_Byte_TYPE;
+}
+
+void java_lang_Byte_PUT_TYPE(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Byte)
+_STATIC_java_lang_Byte_TYPE = v;
+}
+
+JAVA_OBJECT java_lang_Byte_GET_CACHE()
+{
+ XMLVM_CLASS_INIT(java_lang_Byte)
+ return _STATIC_java_lang_Byte_CACHE;
+}
+
+void java_lang_Byte_PUT_CACHE(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Byte)
+_STATIC_java_lang_Byte_CACHE = v;
+}
+
+void java_lang_Byte___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Byte___CLINIT___]
+ XMLVM_ENTER_METHOD("java.lang.Byte", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("Byte.java", 56)
+ _r0.i = 0;
+ XMLVM_CLASS_INIT(byte)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r0.i);
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r0.o)->tib->vtable[3])(_r0.o);
+ XMLVM_SOURCE_POSITION("Byte.java", 57)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_Class_getComponentType__(_r0.o);
+ java_lang_Byte_PUT_TYPE( _r0.o);
+ XMLVM_SOURCE_POSITION("Byte.java", 65)
+ _r0.i = 256;
+ XMLVM_CLASS_INIT(java_lang_Byte)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Byte, _r0.i);
+ java_lang_Byte_PUT_CACHE( _r0.o);
+ XMLVM_SOURCE_POSITION("Byte.java", 25)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Byte___INIT____byte(JAVA_OBJECT me, JAVA_BYTE n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Byte___INIT____byte]
+ XMLVM_ENTER_METHOD("java.lang.Byte", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Byte.java", 73)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Number___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Byte.java", 74)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_Byte*) _r0.o)->fields.java_lang_Byte.value_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Byte.java", 75)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Byte___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Byte___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Byte", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Byte.java", 87)
+ _r0.i = java_lang_Byte_parseByte___java_lang_String(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ java_lang_Byte___INIT____byte(_r1.o, _r0.i);
+ XMLVM_SOURCE_POSITION("Byte.java", 88)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BYTE java_lang_Byte_byteValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Byte_byteValue__]
+ XMLVM_ENTER_METHOD("java.lang.Byte", "byteValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Byte.java", 97)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Byte*) _r1.o)->fields.java_lang_Byte.value_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Byte_compareTo___java_lang_Byte(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Byte_compareTo___java_lang_Byte]
+ XMLVM_ENTER_METHOD("java.lang.Byte", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Byte.java", 114)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Byte*) _r2.o)->fields.java_lang_Byte.value_;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_Byte*) _r3.o)->fields.java_lang_Byte.value_;
+ if (_r0.i <= _r1.i) goto label8;
+ _r0.i = 1;
+ label7:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label8:;
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Byte*) _r2.o)->fields.java_lang_Byte.value_;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_Byte*) _r3.o)->fields.java_lang_Byte.value_;
+ if (_r0.i >= _r1.i) goto label16;
+ _r0.i = -1;
+ goto label7;
+ label16:;
+ _r0.i = 0;
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Byte_decode___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Byte)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Byte_decode___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Byte", "decode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Byte.java", 130)
+ _r0.o = java_lang_Integer_decode___java_lang_String(_r2.o);
+ //java_lang_Integer_intValue__[9]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Integer*) _r0.o)->tib->vtable[9])(_r0.o);
+ XMLVM_SOURCE_POSITION("Byte.java", 131)
+ _r1.i = (_r0.i << 24) >> 24;
+ if (_r1.i != _r0.i) goto label16;
+ XMLVM_SOURCE_POSITION("Byte.java", 132)
+ XMLVM_SOURCE_POSITION("Byte.java", 133)
+ _r0.o = java_lang_Byte_valueOf___byte(_r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label16:;
+ XMLVM_SOURCE_POSITION("Byte.java", 135)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_DOUBLE java_lang_Byte_doubleValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Byte_doubleValue__]
+ XMLVM_ENTER_METHOD("java.lang.Byte", "doubleValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Byte.java", 140)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Byte*) _r2.o)->fields.java_lang_Byte.value_;
+ _r0.d = (JAVA_DOUBLE) _r0.i;
+ XMLVM_EXIT_METHOD()
+ return _r0.d;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Byte_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Byte_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.Byte", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Byte.java", 155)
+ if (_r3.o == _r2.o) goto label16;
+ XMLVM_CLASS_INIT(java_lang_Byte)
+ _r0.i = XMLVM_ISA(_r3.o, __CLASS_java_lang_Byte);
+ if (_r0.i == 0) goto label14;
+ XMLVM_SOURCE_POSITION("Byte.java", 156)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Byte*) _r2.o)->fields.java_lang_Byte.value_;
+ _r3.o = _r3.o;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_Byte*) _r3.o)->fields.java_lang_Byte.value_;
+ if (_r0.i == _r1.i) goto label16;
+ label14:;
+ _r0.i = 0;
+ label15:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label16:;
+ _r0.i = 1;
+ goto label15;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_FLOAT java_lang_Byte_floatValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Byte_floatValue__]
+ XMLVM_ENTER_METHOD("java.lang.Byte", "floatValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Byte.java", 161)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Byte*) _r1.o)->fields.java_lang_Byte.value_;
+ _r0.f = (JAVA_FLOAT) _r0.i;
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Byte_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Byte_hashCode__]
+ XMLVM_ENTER_METHOD("java.lang.Byte", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Byte.java", 166)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Byte*) _r1.o)->fields.java_lang_Byte.value_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Byte_intValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Byte_intValue__]
+ XMLVM_ENTER_METHOD("java.lang.Byte", "intValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Byte.java", 171)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Byte*) _r1.o)->fields.java_lang_Byte.value_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_lang_Byte_longValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Byte_longValue__]
+ XMLVM_ENTER_METHOD("java.lang.Byte", "longValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Byte.java", 176)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Byte*) _r2.o)->fields.java_lang_Byte.value_;
+ _r0.l = (JAVA_LONG) _r0.i;
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BYTE java_lang_Byte_parseByte___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Byte)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Byte_parseByte___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Byte", "parseByte", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Byte.java", 191)
+ _r0.i = java_lang_Integer_parseInt___java_lang_String(_r2.o);
+ XMLVM_SOURCE_POSITION("Byte.java", 192)
+ _r1.i = (_r0.i << 24) >> 24;
+ if (_r1.i != _r0.i) goto label8;
+ XMLVM_SOURCE_POSITION("Byte.java", 193)
+ XMLVM_SOURCE_POSITION("Byte.java", 194)
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ label8:;
+ XMLVM_SOURCE_POSITION("Byte.java", 196)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BYTE java_lang_Byte_parseByte___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Byte)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Byte_parseByte___java_lang_String_int]
+ XMLVM_ENTER_METHOD("java.lang.Byte", "parseByte", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = n1;
+ _r3.i = n2;
+ XMLVM_SOURCE_POSITION("Byte.java", 217)
+ _r0.i = java_lang_Integer_parseInt___java_lang_String_int(_r2.o, _r3.i);
+ XMLVM_SOURCE_POSITION("Byte.java", 218)
+ _r1.i = (_r0.i << 24) >> 24;
+ if (_r1.i != _r0.i) goto label8;
+ XMLVM_SOURCE_POSITION("Byte.java", 219)
+ XMLVM_SOURCE_POSITION("Byte.java", 220)
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ label8:;
+ XMLVM_SOURCE_POSITION("Byte.java", 222)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_SHORT java_lang_Byte_shortValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Byte_shortValue__]
+ XMLVM_ENTER_METHOD("java.lang.Byte", "shortValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Byte.java", 227)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Byte*) _r1.o)->fields.java_lang_Byte.value_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Byte_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Byte_toString__]
+ XMLVM_ENTER_METHOD("java.lang.Byte", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Byte.java", 232)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Byte*) _r1.o)->fields.java_lang_Byte.value_;
+ _r0.o = java_lang_Integer_toString___int(_r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Byte_toString___byte(JAVA_BYTE n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Byte)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Byte_toString___byte]
+ XMLVM_ENTER_METHOD("java.lang.Byte", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Byte.java", 244)
+ _r0.o = java_lang_Integer_toString___int(_r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Byte_valueOf___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Byte)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Byte_valueOf___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Byte", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Byte.java", 260)
+ _r0.i = java_lang_Byte_parseByte___java_lang_String(_r1.o);
+ _r0.o = java_lang_Byte_valueOf___byte(_r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Byte_valueOf___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Byte)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Byte_valueOf___java_lang_String_int]
+ XMLVM_ENTER_METHOD("java.lang.Byte", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = n1;
+ _r2.i = n2;
+ XMLVM_SOURCE_POSITION("Byte.java", 282)
+ _r0.i = java_lang_Byte_parseByte___java_lang_String_int(_r1.o, _r2.i);
+ _r0.o = java_lang_Byte_valueOf___byte(_r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Byte_valueOf___byte(JAVA_BYTE n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Byte)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Byte_valueOf___byte]
+ XMLVM_ENTER_METHOD("java.lang.Byte", "valueOf", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ _r4.i = n1;
+ XMLVM_SOURCE_POSITION("Byte.java", 298)
+ _r0.o = java_lang_Byte_GET_CACHE();
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_SOURCE_POSITION("Byte.java", 299)
+ _r1.i = -128;
+ _r1.i = _r4.i - _r1.i;
+ XMLVM_TRY_BEGIN(w5361aaac26b1b8)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Byte.java", 300)
+ _r2.o = java_lang_Byte_GET_CACHE();
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_SOURCE_POSITION("Byte.java", 301)
+ if (_r2.o != JAVA_NULL) { XMLVM_MEMCPY(curThread_w5361aaac26b1b8->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5361aaac26b1b8, sizeof(XMLVM_JMP_BUF)); goto label25; };
+ _r2.o = java_lang_Byte_GET_CACHE();
+ _r3.o = __NEW_java_lang_Byte();
+ XMLVM_CHECK_NPE(3)
+ java_lang_Byte___INIT____byte(_r3.o, _r4.i);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.o;
+ _r1 = _r3;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5361aaac26b1b8)
+ XMLVM_CATCH_SPECIFIC(w5361aaac26b1b8,java_lang_Object,27)
+ XMLVM_CATCH_END(w5361aaac26b1b8)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5361aaac26b1b8)
+ label23:;
+ XMLVM_TRY_BEGIN(w5361aaac26b1c10)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ XMLVM_MEMCPY(curThread_w5361aaac26b1c10->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5361aaac26b1c10, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5361aaac26b1c10)
+ XMLVM_CATCH_SPECIFIC(w5361aaac26b1c10,java_lang_Object,27)
+ XMLVM_CATCH_END(w5361aaac26b1c10)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5361aaac26b1c10)
+ label25:;
+ XMLVM_TRY_BEGIN(w5361aaac26b1c12)
+ // Begin try
+ _r1 = _r2;
+ { XMLVM_MEMCPY(curThread_w5361aaac26b1c12->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5361aaac26b1c12, sizeof(XMLVM_JMP_BUF)); goto label23; };
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5361aaac26b1c12)
+ XMLVM_CATCH_SPECIFIC(w5361aaac26b1c12,java_lang_Object,27)
+ XMLVM_CATCH_END(w5361aaac26b1c12)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5361aaac26b1c12)
+ label27:;
+ XMLVM_TRY_BEGIN(w5361aaac26b1c14)
+ // Begin try
+ java_lang_Thread* curThread_w5361aaac26b1c14aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w5361aaac26b1c14aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5361aaac26b1c14)
+ XMLVM_CATCH_SPECIFIC(w5361aaac26b1c14,java_lang_Object,27)
+ XMLVM_CATCH_END(w5361aaac26b1c14)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5361aaac26b1c14)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Byte_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Byte_compareTo___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.Byte", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Byte.java", 1)
+ _r2.o = _r2.o;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_Byte_compareTo___java_lang_Byte(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_Byte.h b/tests/nbody-java/java_lang_Byte.h
new file mode 100644
index 00000000..721b6f9d
--- /dev/null
+++ b/tests/nbody-java/java_lang_Byte.h
@@ -0,0 +1,121 @@
+#ifndef __JAVA_LANG_BYTE__
+#define __JAVA_LANG_BYTE__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_Byte 8
+// Implemented interfaces:
+#include "java_lang_Comparable.h"
+// Super Class:
+#include "java_lang_Number.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Integer
+#define XMLVM_FORWARD_DECL_java_lang_Integer
+XMLVM_FORWARD_DECL(java_lang_Integer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+// Class declarations for java.lang.Byte
+XMLVM_DEFINE_CLASS(java_lang_Byte, 13, XMLVM_ITABLE_SIZE_java_lang_Byte)
+
+extern JAVA_OBJECT __CLASS_java_lang_Byte;
+extern JAVA_OBJECT __CLASS_java_lang_Byte_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Byte_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Byte_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_Byte
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_Byte \
+ __INSTANCE_FIELDS_java_lang_Number; \
+ struct { \
+ JAVA_BYTE value_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_Byte \
+ } java_lang_Byte
+
+struct java_lang_Byte {
+ __TIB_DEFINITION_java_lang_Byte* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_Byte;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_Byte
+#define XMLVM_FORWARD_DECL_java_lang_Byte
+typedef struct java_lang_Byte java_lang_Byte;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_Byte 13
+#define XMLVM_VTABLE_IDX_java_lang_Byte_byteValue__ 6
+#define XMLVM_VTABLE_IDX_java_lang_Byte_doubleValue__ 7
+#define XMLVM_VTABLE_IDX_java_lang_Byte_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_lang_Byte_floatValue__ 8
+#define XMLVM_VTABLE_IDX_java_lang_Byte_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_lang_Byte_intValue__ 9
+#define XMLVM_VTABLE_IDX_java_lang_Byte_longValue__ 10
+#define XMLVM_VTABLE_IDX_java_lang_Byte_shortValue__ 11
+#define XMLVM_VTABLE_IDX_java_lang_Byte_toString__ 5
+#define XMLVM_VTABLE_IDX_java_lang_Byte_compareTo___java_lang_Object 12
+
+void __INIT_java_lang_Byte();
+void __INIT_IMPL_java_lang_Byte();
+void __DELETE_java_lang_Byte(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_Byte(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_Byte();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Byte();
+JAVA_LONG java_lang_Byte_GET_serialVersionUID();
+void java_lang_Byte_PUT_serialVersionUID(JAVA_LONG v);
+JAVA_BYTE java_lang_Byte_GET_MAX_VALUE();
+void java_lang_Byte_PUT_MAX_VALUE(JAVA_BYTE v);
+JAVA_BYTE java_lang_Byte_GET_MIN_VALUE();
+void java_lang_Byte_PUT_MIN_VALUE(JAVA_BYTE v);
+JAVA_INT java_lang_Byte_GET_SIZE();
+void java_lang_Byte_PUT_SIZE(JAVA_INT v);
+JAVA_OBJECT java_lang_Byte_GET_TYPE();
+void java_lang_Byte_PUT_TYPE(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Byte_GET_CACHE();
+void java_lang_Byte_PUT_CACHE(JAVA_OBJECT v);
+void java_lang_Byte___CLINIT_();
+void java_lang_Byte___INIT____byte(JAVA_OBJECT me, JAVA_BYTE n1);
+void java_lang_Byte___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 6
+JAVA_BYTE java_lang_Byte_byteValue__(JAVA_OBJECT me);
+JAVA_INT java_lang_Byte_compareTo___java_lang_Byte(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Byte_decode___java_lang_String(JAVA_OBJECT n1);
+// Vtable index: 7
+JAVA_DOUBLE java_lang_Byte_doubleValue__(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_lang_Byte_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 8
+JAVA_FLOAT java_lang_Byte_floatValue__(JAVA_OBJECT me);
+// Vtable index: 4
+JAVA_INT java_lang_Byte_hashCode__(JAVA_OBJECT me);
+// Vtable index: 9
+JAVA_INT java_lang_Byte_intValue__(JAVA_OBJECT me);
+// Vtable index: 10
+JAVA_LONG java_lang_Byte_longValue__(JAVA_OBJECT me);
+JAVA_BYTE java_lang_Byte_parseByte___java_lang_String(JAVA_OBJECT n1);
+JAVA_BYTE java_lang_Byte_parseByte___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2);
+// Vtable index: 11
+JAVA_SHORT java_lang_Byte_shortValue__(JAVA_OBJECT me);
+// Vtable index: 5
+JAVA_OBJECT java_lang_Byte_toString__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Byte_toString___byte(JAVA_BYTE n1);
+JAVA_OBJECT java_lang_Byte_valueOf___java_lang_String(JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Byte_valueOf___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_OBJECT java_lang_Byte_valueOf___byte(JAVA_BYTE n1);
+// Vtable index: 12
+JAVA_INT java_lang_Byte_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_lang_CharSequence.c b/tests/nbody-java/java_lang_CharSequence.c
new file mode 100644
index 00000000..4b75265d
--- /dev/null
+++ b/tests/nbody-java/java_lang_CharSequence.c
@@ -0,0 +1,77 @@
+#include "xmlvm.h"
+#include "java_lang_String.h"
+
+#include "java_lang_CharSequence.h"
+
+__TIB_DEFINITION_java_lang_CharSequence __TIB_java_lang_CharSequence = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_CharSequence, // classInitializer
+ "java.lang.CharSequence", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_lang_CharSequence;
+JAVA_OBJECT __CLASS_java_lang_CharSequence_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_CharSequence_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_CharSequence_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_lang_CharSequence()
+{
+ staticInitializerLock(&__TIB_java_lang_CharSequence);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_CharSequence.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_CharSequence.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_CharSequence);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_CharSequence.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_CharSequence.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_CharSequence.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.CharSequence")
+ __INIT_IMPL_java_lang_CharSequence();
+ }
+}
+
+void __INIT_IMPL_java_lang_CharSequence()
+{
+ __TIB_java_lang_CharSequence.numInterfaces = 0;
+ __TIB_java_lang_CharSequence.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_CharSequence.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_lang_CharSequence.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_CharSequence.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_CharSequence.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_lang_CharSequence = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_CharSequence);
+ __TIB_java_lang_CharSequence.clazz = __CLASS_java_lang_CharSequence;
+ __TIB_java_lang_CharSequence.baseType = JAVA_NULL;
+ __CLASS_java_lang_CharSequence_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_CharSequence);
+ __CLASS_java_lang_CharSequence_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_CharSequence_1ARRAY);
+ __CLASS_java_lang_CharSequence_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_CharSequence_2ARRAY);
+
+ __TIB_java_lang_CharSequence.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_lang_CharSequence.h b/tests/nbody-java/java_lang_CharSequence.h
new file mode 100644
index 00000000..a592a540
--- /dev/null
+++ b/tests/nbody-java/java_lang_CharSequence.h
@@ -0,0 +1,35 @@
+#ifndef __JAVA_LANG_CHARSEQUENCE__
+#define __JAVA_LANG_CHARSEQUENCE__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_lang_CharSequence_length__ 1
+#define XMLVM_ITABLE_IDX_java_lang_CharSequence_charAt___int 0
+#define XMLVM_ITABLE_IDX_java_lang_CharSequence_subSequence___int_int 5
+#define XMLVM_ITABLE_IDX_java_lang_CharSequence_toString__ 6
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+
+XMLVM_DEFINE_CLASS(java_lang_CharSequence, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_lang_CharSequence;
+extern JAVA_OBJECT __CLASS_java_lang_CharSequence_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_CharSequence_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_CharSequence_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_lang_CharSequence
+#define XMLVM_FORWARD_DECL_java_lang_CharSequence
+typedef struct java_lang_CharSequence java_lang_CharSequence;
+#endif
+
+void __INIT_java_lang_CharSequence();
+void __INIT_IMPL_java_lang_CharSequence();
+
+#endif
diff --git a/tests/nbody-java/java_lang_Character.c b/tests/nbody-java/java_lang_Character.c
new file mode 100644
index 00000000..4c2b20e7
--- /dev/null
+++ b/tests/nbody-java/java_lang_Character.c
@@ -0,0 +1,8874 @@
+#include "xmlvm.h"
+#include "java_lang_CharSequence.h"
+#include "java_lang_Class.h"
+#include "java_lang_IndexOutOfBoundsException.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_String.h"
+
+#include "java_lang_Character.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Character
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Character
+
+__TIB_DEFINITION_java_lang_Character __TIB_java_lang_Character = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Character, // classInitializer
+ "java.lang.Character", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/Comparable<Ljava/lang/Character;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_Character), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_Character;
+JAVA_OBJECT __CLASS_java_lang_Character_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Character_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Character_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_lang_Character_serialVersionUID;
+static JAVA_CHAR _STATIC_java_lang_Character_MIN_VALUE;
+static JAVA_CHAR _STATIC_java_lang_Character_MAX_VALUE;
+static JAVA_INT _STATIC_java_lang_Character_MIN_RADIX;
+static JAVA_INT _STATIC_java_lang_Character_MAX_RADIX;
+static JAVA_OBJECT _STATIC_java_lang_Character_TYPE;
+static JAVA_BYTE _STATIC_java_lang_Character_UNASSIGNED;
+static JAVA_BYTE _STATIC_java_lang_Character_UPPERCASE_LETTER;
+static JAVA_BYTE _STATIC_java_lang_Character_LOWERCASE_LETTER;
+static JAVA_BYTE _STATIC_java_lang_Character_TITLECASE_LETTER;
+static JAVA_BYTE _STATIC_java_lang_Character_MODIFIER_LETTER;
+static JAVA_BYTE _STATIC_java_lang_Character_OTHER_LETTER;
+static JAVA_BYTE _STATIC_java_lang_Character_NON_SPACING_MARK;
+static JAVA_BYTE _STATIC_java_lang_Character_ENCLOSING_MARK;
+static JAVA_BYTE _STATIC_java_lang_Character_COMBINING_SPACING_MARK;
+static JAVA_BYTE _STATIC_java_lang_Character_DECIMAL_DIGIT_NUMBER;
+static JAVA_BYTE _STATIC_java_lang_Character_LETTER_NUMBER;
+static JAVA_BYTE _STATIC_java_lang_Character_OTHER_NUMBER;
+static JAVA_BYTE _STATIC_java_lang_Character_SPACE_SEPARATOR;
+static JAVA_BYTE _STATIC_java_lang_Character_LINE_SEPARATOR;
+static JAVA_BYTE _STATIC_java_lang_Character_PARAGRAPH_SEPARATOR;
+static JAVA_BYTE _STATIC_java_lang_Character_CONTROL;
+static JAVA_BYTE _STATIC_java_lang_Character_FORMAT;
+static JAVA_BYTE _STATIC_java_lang_Character_PRIVATE_USE;
+static JAVA_BYTE _STATIC_java_lang_Character_SURROGATE;
+static JAVA_BYTE _STATIC_java_lang_Character_DASH_PUNCTUATION;
+static JAVA_BYTE _STATIC_java_lang_Character_START_PUNCTUATION;
+static JAVA_BYTE _STATIC_java_lang_Character_END_PUNCTUATION;
+static JAVA_BYTE _STATIC_java_lang_Character_CONNECTOR_PUNCTUATION;
+static JAVA_BYTE _STATIC_java_lang_Character_OTHER_PUNCTUATION;
+static JAVA_BYTE _STATIC_java_lang_Character_MATH_SYMBOL;
+static JAVA_BYTE _STATIC_java_lang_Character_CURRENCY_SYMBOL;
+static JAVA_BYTE _STATIC_java_lang_Character_MODIFIER_SYMBOL;
+static JAVA_BYTE _STATIC_java_lang_Character_OTHER_SYMBOL;
+static JAVA_BYTE _STATIC_java_lang_Character_INITIAL_QUOTE_PUNCTUATION;
+static JAVA_BYTE _STATIC_java_lang_Character_FINAL_QUOTE_PUNCTUATION;
+static JAVA_BYTE _STATIC_java_lang_Character_DIRECTIONALITY_UNDEFINED;
+static JAVA_BYTE _STATIC_java_lang_Character_DIRECTIONALITY_LEFT_TO_RIGHT;
+static JAVA_BYTE _STATIC_java_lang_Character_DIRECTIONALITY_RIGHT_TO_LEFT;
+static JAVA_BYTE _STATIC_java_lang_Character_DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC;
+static JAVA_BYTE _STATIC_java_lang_Character_DIRECTIONALITY_EUROPEAN_NUMBER;
+static JAVA_BYTE _STATIC_java_lang_Character_DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR;
+static JAVA_BYTE _STATIC_java_lang_Character_DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR;
+static JAVA_BYTE _STATIC_java_lang_Character_DIRECTIONALITY_ARABIC_NUMBER;
+static JAVA_BYTE _STATIC_java_lang_Character_DIRECTIONALITY_COMMON_NUMBER_SEPARATOR;
+static JAVA_BYTE _STATIC_java_lang_Character_DIRECTIONALITY_NONSPACING_MARK;
+static JAVA_BYTE _STATIC_java_lang_Character_DIRECTIONALITY_BOUNDARY_NEUTRAL;
+static JAVA_BYTE _STATIC_java_lang_Character_DIRECTIONALITY_PARAGRAPH_SEPARATOR;
+static JAVA_BYTE _STATIC_java_lang_Character_DIRECTIONALITY_SEGMENT_SEPARATOR;
+static JAVA_BYTE _STATIC_java_lang_Character_DIRECTIONALITY_WHITESPACE;
+static JAVA_BYTE _STATIC_java_lang_Character_DIRECTIONALITY_OTHER_NEUTRALS;
+static JAVA_BYTE _STATIC_java_lang_Character_DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING;
+static JAVA_BYTE _STATIC_java_lang_Character_DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE;
+static JAVA_BYTE _STATIC_java_lang_Character_DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING;
+static JAVA_BYTE _STATIC_java_lang_Character_DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE;
+static JAVA_BYTE _STATIC_java_lang_Character_DIRECTIONALITY_POP_DIRECTIONAL_FORMAT;
+static JAVA_CHAR _STATIC_java_lang_Character_MIN_HIGH_SURROGATE;
+static JAVA_CHAR _STATIC_java_lang_Character_MAX_HIGH_SURROGATE;
+static JAVA_CHAR _STATIC_java_lang_Character_MIN_LOW_SURROGATE;
+static JAVA_CHAR _STATIC_java_lang_Character_MAX_LOW_SURROGATE;
+static JAVA_CHAR _STATIC_java_lang_Character_MIN_SURROGATE;
+static JAVA_CHAR _STATIC_java_lang_Character_MAX_SURROGATE;
+static JAVA_INT _STATIC_java_lang_Character_MIN_SUPPLEMENTARY_CODE_POINT;
+static JAVA_INT _STATIC_java_lang_Character_MIN_CODE_POINT;
+static JAVA_INT _STATIC_java_lang_Character_MAX_CODE_POINT;
+static JAVA_INT _STATIC_java_lang_Character_SIZE;
+static JAVA_OBJECT _STATIC_java_lang_Character_bidiKeys;
+static JAVA_OBJECT _STATIC_java_lang_Character_bidiValues;
+static JAVA_OBJECT _STATIC_java_lang_Character_mirrored;
+static JAVA_OBJECT _STATIC_java_lang_Character_typeKeys;
+static JAVA_OBJECT _STATIC_java_lang_Character_typeValues;
+static JAVA_OBJECT _STATIC_java_lang_Character_typeValuesCache;
+static JAVA_OBJECT _STATIC_java_lang_Character_uppercaseKeys;
+static JAVA_OBJECT _STATIC_java_lang_Character_uppercaseValues;
+static JAVA_OBJECT _STATIC_java_lang_Character_uppercaseValuesCache;
+static JAVA_OBJECT _STATIC_java_lang_Character_lowercaseKeys;
+static JAVA_OBJECT _STATIC_java_lang_Character_lowercaseValues;
+static JAVA_OBJECT _STATIC_java_lang_Character_lowercaseValuesCache;
+static JAVA_OBJECT _STATIC_java_lang_Character_digitKeys;
+static JAVA_OBJECT _STATIC_java_lang_Character_digitValues;
+static JAVA_OBJECT _STATIC_java_lang_Character_typeTags;
+static JAVA_OBJECT _STATIC_java_lang_Character_DIRECTIONALITY;
+static JAVA_INT _STATIC_java_lang_Character_ISJAVASTART;
+static JAVA_INT _STATIC_java_lang_Character_ISJAVAPART;
+static JAVA_OBJECT _STATIC_java_lang_Character_titlecaseKeys;
+static JAVA_OBJECT _STATIC_java_lang_Character_titlecaseValues;
+static JAVA_OBJECT _STATIC_java_lang_Character_numericKeys;
+static JAVA_OBJECT _STATIC_java_lang_Character_numericValues;
+static JAVA_INT _STATIC_java_lang_Character_CACHE_LEN;
+static JAVA_BOOLEAN _STATIC_java_lang_Character__assertionsDisabled;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_Character()
+{
+ staticInitializerLock(&__TIB_java_lang_Character);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Character.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Character.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Character);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Character.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Character.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Character.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Character")
+ __INIT_IMPL_java_lang_Character();
+ }
+}
+
+void __INIT_IMPL_java_lang_Character()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_Character.newInstanceFunc = __NEW_INSTANCE_java_lang_Character;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_Character.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_Character.vtable[1] = (VTABLE_PTR) &java_lang_Character_equals___java_lang_Object;
+ __TIB_java_lang_Character.vtable[4] = (VTABLE_PTR) &java_lang_Character_hashCode__;
+ __TIB_java_lang_Character.vtable[5] = (VTABLE_PTR) &java_lang_Character_toString__;
+ __TIB_java_lang_Character.vtable[6] = (VTABLE_PTR) &java_lang_Character_compareTo___java_lang_Object;
+ // Initialize interface information
+ __TIB_java_lang_Character.numImplementedInterfaces = 2;
+ __TIB_java_lang_Character.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_lang_Character.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_lang_Comparable)
+
+ __TIB_java_lang_Character.implementedInterfaces[0][1] = &__TIB_java_lang_Comparable;
+ // Initialize itable for this class
+ __TIB_java_lang_Character.itableBegin = &__TIB_java_lang_Character.itable[0];
+ __TIB_java_lang_Character.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_lang_Character.vtable[6];
+
+ _STATIC_java_lang_Character_serialVersionUID = 3786198910865385080;
+ _STATIC_java_lang_Character_MIN_VALUE = 0;
+ _STATIC_java_lang_Character_MAX_VALUE = 65535;
+ _STATIC_java_lang_Character_MIN_RADIX = 2;
+ _STATIC_java_lang_Character_MAX_RADIX = 36;
+ _STATIC_java_lang_Character_TYPE = (java_lang_Class*) JAVA_NULL;
+ _STATIC_java_lang_Character_UNASSIGNED = 0;
+ _STATIC_java_lang_Character_UPPERCASE_LETTER = 1;
+ _STATIC_java_lang_Character_LOWERCASE_LETTER = 2;
+ _STATIC_java_lang_Character_TITLECASE_LETTER = 3;
+ _STATIC_java_lang_Character_MODIFIER_LETTER = 4;
+ _STATIC_java_lang_Character_OTHER_LETTER = 5;
+ _STATIC_java_lang_Character_NON_SPACING_MARK = 6;
+ _STATIC_java_lang_Character_ENCLOSING_MARK = 7;
+ _STATIC_java_lang_Character_COMBINING_SPACING_MARK = 8;
+ _STATIC_java_lang_Character_DECIMAL_DIGIT_NUMBER = 9;
+ _STATIC_java_lang_Character_LETTER_NUMBER = 10;
+ _STATIC_java_lang_Character_OTHER_NUMBER = 11;
+ _STATIC_java_lang_Character_SPACE_SEPARATOR = 12;
+ _STATIC_java_lang_Character_LINE_SEPARATOR = 13;
+ _STATIC_java_lang_Character_PARAGRAPH_SEPARATOR = 14;
+ _STATIC_java_lang_Character_CONTROL = 15;
+ _STATIC_java_lang_Character_FORMAT = 16;
+ _STATIC_java_lang_Character_PRIVATE_USE = 18;
+ _STATIC_java_lang_Character_SURROGATE = 19;
+ _STATIC_java_lang_Character_DASH_PUNCTUATION = 20;
+ _STATIC_java_lang_Character_START_PUNCTUATION = 21;
+ _STATIC_java_lang_Character_END_PUNCTUATION = 22;
+ _STATIC_java_lang_Character_CONNECTOR_PUNCTUATION = 23;
+ _STATIC_java_lang_Character_OTHER_PUNCTUATION = 24;
+ _STATIC_java_lang_Character_MATH_SYMBOL = 25;
+ _STATIC_java_lang_Character_CURRENCY_SYMBOL = 26;
+ _STATIC_java_lang_Character_MODIFIER_SYMBOL = 27;
+ _STATIC_java_lang_Character_OTHER_SYMBOL = 28;
+ _STATIC_java_lang_Character_INITIAL_QUOTE_PUNCTUATION = 29;
+ _STATIC_java_lang_Character_FINAL_QUOTE_PUNCTUATION = 30;
+ _STATIC_java_lang_Character_DIRECTIONALITY_UNDEFINED = -1;
+ _STATIC_java_lang_Character_DIRECTIONALITY_LEFT_TO_RIGHT = 0;
+ _STATIC_java_lang_Character_DIRECTIONALITY_RIGHT_TO_LEFT = 1;
+ _STATIC_java_lang_Character_DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC = 2;
+ _STATIC_java_lang_Character_DIRECTIONALITY_EUROPEAN_NUMBER = 3;
+ _STATIC_java_lang_Character_DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR = 4;
+ _STATIC_java_lang_Character_DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR = 5;
+ _STATIC_java_lang_Character_DIRECTIONALITY_ARABIC_NUMBER = 6;
+ _STATIC_java_lang_Character_DIRECTIONALITY_COMMON_NUMBER_SEPARATOR = 7;
+ _STATIC_java_lang_Character_DIRECTIONALITY_NONSPACING_MARK = 8;
+ _STATIC_java_lang_Character_DIRECTIONALITY_BOUNDARY_NEUTRAL = 9;
+ _STATIC_java_lang_Character_DIRECTIONALITY_PARAGRAPH_SEPARATOR = 10;
+ _STATIC_java_lang_Character_DIRECTIONALITY_SEGMENT_SEPARATOR = 11;
+ _STATIC_java_lang_Character_DIRECTIONALITY_WHITESPACE = 12;
+ _STATIC_java_lang_Character_DIRECTIONALITY_OTHER_NEUTRALS = 13;
+ _STATIC_java_lang_Character_DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING = 14;
+ _STATIC_java_lang_Character_DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE = 15;
+ _STATIC_java_lang_Character_DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = 16;
+ _STATIC_java_lang_Character_DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = 17;
+ _STATIC_java_lang_Character_DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = 18;
+ _STATIC_java_lang_Character_MIN_HIGH_SURROGATE = 55296;
+ _STATIC_java_lang_Character_MAX_HIGH_SURROGATE = 56319;
+ _STATIC_java_lang_Character_MIN_LOW_SURROGATE = 56320;
+ _STATIC_java_lang_Character_MAX_LOW_SURROGATE = 57343;
+ _STATIC_java_lang_Character_MIN_SURROGATE = 55296;
+ _STATIC_java_lang_Character_MAX_SURROGATE = 57343;
+ _STATIC_java_lang_Character_MIN_SUPPLEMENTARY_CODE_POINT = 65536;
+ _STATIC_java_lang_Character_MIN_CODE_POINT = 0;
+ _STATIC_java_lang_Character_MAX_CODE_POINT = 1114111;
+ _STATIC_java_lang_Character_SIZE = 16;
+ _STATIC_java_lang_Character_bidiKeys = (java_lang_String*) xmlvm_create_java_string_from_pool(145);
+ _STATIC_java_lang_Character_bidiValues = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ _STATIC_java_lang_Character_mirrored = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ _STATIC_java_lang_Character_typeKeys = (java_lang_String*) xmlvm_create_java_string_from_pool(146);
+ _STATIC_java_lang_Character_typeValues = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ _STATIC_java_lang_Character_typeValuesCache = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ _STATIC_java_lang_Character_uppercaseKeys = (java_lang_String*) xmlvm_create_java_string_from_pool(147);
+ _STATIC_java_lang_Character_uppercaseValues = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ _STATIC_java_lang_Character_uppercaseValuesCache = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ _STATIC_java_lang_Character_lowercaseKeys = (java_lang_String*) xmlvm_create_java_string_from_pool(148);
+ _STATIC_java_lang_Character_lowercaseValues = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ _STATIC_java_lang_Character_lowercaseValuesCache = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ _STATIC_java_lang_Character_digitKeys = (java_lang_String*) xmlvm_create_java_string_from_pool(149);
+ _STATIC_java_lang_Character_digitValues = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ _STATIC_java_lang_Character_typeTags = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ _STATIC_java_lang_Character_DIRECTIONALITY = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ _STATIC_java_lang_Character_ISJAVASTART = 1;
+ _STATIC_java_lang_Character_ISJAVAPART = 2;
+ _STATIC_java_lang_Character_titlecaseKeys = (java_lang_String*) xmlvm_create_java_string_from_pool(150);
+ _STATIC_java_lang_Character_titlecaseValues = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ _STATIC_java_lang_Character_numericKeys = (java_lang_String*) xmlvm_create_java_string_from_pool(151);
+ _STATIC_java_lang_Character_numericValues = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ _STATIC_java_lang_Character_CACHE_LEN = 512;
+ _STATIC_java_lang_Character__assertionsDisabled = 0;
+
+ __TIB_java_lang_Character.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Character.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_Character.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_Character.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_Character.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_Character.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Character.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Character.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_Character = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Character);
+ __TIB_java_lang_Character.clazz = __CLASS_java_lang_Character;
+ __TIB_java_lang_Character.baseType = JAVA_NULL;
+ __CLASS_java_lang_Character_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Character);
+ __CLASS_java_lang_Character_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Character_1ARRAY);
+ __CLASS_java_lang_Character_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Character_2ARRAY);
+ java_lang_Character___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_Character]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_Character.classInitialized = 1;
+}
+
+void __DELETE_java_lang_Character(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_Character]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_Character(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_Character*) me)->fields.java_lang_Character.value_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_Character]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_Character()
+{ XMLVM_CLASS_INIT(java_lang_Character)
+java_lang_Character* me = (java_lang_Character*) XMLVM_MALLOC(sizeof(java_lang_Character));
+ me->tib = &__TIB_java_lang_Character;
+ __INIT_INSTANCE_MEMBERS_java_lang_Character(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_Character]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Character()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_lang_Character_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_serialVersionUID;
+}
+
+void java_lang_Character_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_serialVersionUID = v;
+}
+
+JAVA_CHAR java_lang_Character_GET_MIN_VALUE()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_MIN_VALUE;
+}
+
+void java_lang_Character_PUT_MIN_VALUE(JAVA_CHAR v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_MIN_VALUE = v;
+}
+
+JAVA_CHAR java_lang_Character_GET_MAX_VALUE()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_MAX_VALUE;
+}
+
+void java_lang_Character_PUT_MAX_VALUE(JAVA_CHAR v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_MAX_VALUE = v;
+}
+
+JAVA_INT java_lang_Character_GET_MIN_RADIX()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_MIN_RADIX;
+}
+
+void java_lang_Character_PUT_MIN_RADIX(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_MIN_RADIX = v;
+}
+
+JAVA_INT java_lang_Character_GET_MAX_RADIX()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_MAX_RADIX;
+}
+
+void java_lang_Character_PUT_MAX_RADIX(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_MAX_RADIX = v;
+}
+
+JAVA_OBJECT java_lang_Character_GET_TYPE()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_TYPE;
+}
+
+void java_lang_Character_PUT_TYPE(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_TYPE = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_UNASSIGNED()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_UNASSIGNED;
+}
+
+void java_lang_Character_PUT_UNASSIGNED(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_UNASSIGNED = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_UPPERCASE_LETTER()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_UPPERCASE_LETTER;
+}
+
+void java_lang_Character_PUT_UPPERCASE_LETTER(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_UPPERCASE_LETTER = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_LOWERCASE_LETTER()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_LOWERCASE_LETTER;
+}
+
+void java_lang_Character_PUT_LOWERCASE_LETTER(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_LOWERCASE_LETTER = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_TITLECASE_LETTER()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_TITLECASE_LETTER;
+}
+
+void java_lang_Character_PUT_TITLECASE_LETTER(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_TITLECASE_LETTER = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_MODIFIER_LETTER()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_MODIFIER_LETTER;
+}
+
+void java_lang_Character_PUT_MODIFIER_LETTER(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_MODIFIER_LETTER = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_OTHER_LETTER()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_OTHER_LETTER;
+}
+
+void java_lang_Character_PUT_OTHER_LETTER(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_OTHER_LETTER = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_NON_SPACING_MARK()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_NON_SPACING_MARK;
+}
+
+void java_lang_Character_PUT_NON_SPACING_MARK(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_NON_SPACING_MARK = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_ENCLOSING_MARK()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_ENCLOSING_MARK;
+}
+
+void java_lang_Character_PUT_ENCLOSING_MARK(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_ENCLOSING_MARK = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_COMBINING_SPACING_MARK()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_COMBINING_SPACING_MARK;
+}
+
+void java_lang_Character_PUT_COMBINING_SPACING_MARK(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_COMBINING_SPACING_MARK = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_DECIMAL_DIGIT_NUMBER()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_DECIMAL_DIGIT_NUMBER;
+}
+
+void java_lang_Character_PUT_DECIMAL_DIGIT_NUMBER(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_DECIMAL_DIGIT_NUMBER = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_LETTER_NUMBER()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_LETTER_NUMBER;
+}
+
+void java_lang_Character_PUT_LETTER_NUMBER(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_LETTER_NUMBER = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_OTHER_NUMBER()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_OTHER_NUMBER;
+}
+
+void java_lang_Character_PUT_OTHER_NUMBER(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_OTHER_NUMBER = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_SPACE_SEPARATOR()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_SPACE_SEPARATOR;
+}
+
+void java_lang_Character_PUT_SPACE_SEPARATOR(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_SPACE_SEPARATOR = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_LINE_SEPARATOR()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_LINE_SEPARATOR;
+}
+
+void java_lang_Character_PUT_LINE_SEPARATOR(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_LINE_SEPARATOR = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_PARAGRAPH_SEPARATOR()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_PARAGRAPH_SEPARATOR;
+}
+
+void java_lang_Character_PUT_PARAGRAPH_SEPARATOR(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_PARAGRAPH_SEPARATOR = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_CONTROL()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_CONTROL;
+}
+
+void java_lang_Character_PUT_CONTROL(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_CONTROL = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_FORMAT()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_FORMAT;
+}
+
+void java_lang_Character_PUT_FORMAT(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_FORMAT = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_PRIVATE_USE()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_PRIVATE_USE;
+}
+
+void java_lang_Character_PUT_PRIVATE_USE(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_PRIVATE_USE = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_SURROGATE()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_SURROGATE;
+}
+
+void java_lang_Character_PUT_SURROGATE(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_SURROGATE = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_DASH_PUNCTUATION()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_DASH_PUNCTUATION;
+}
+
+void java_lang_Character_PUT_DASH_PUNCTUATION(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_DASH_PUNCTUATION = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_START_PUNCTUATION()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_START_PUNCTUATION;
+}
+
+void java_lang_Character_PUT_START_PUNCTUATION(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_START_PUNCTUATION = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_END_PUNCTUATION()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_END_PUNCTUATION;
+}
+
+void java_lang_Character_PUT_END_PUNCTUATION(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_END_PUNCTUATION = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_CONNECTOR_PUNCTUATION()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_CONNECTOR_PUNCTUATION;
+}
+
+void java_lang_Character_PUT_CONNECTOR_PUNCTUATION(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_CONNECTOR_PUNCTUATION = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_OTHER_PUNCTUATION()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_OTHER_PUNCTUATION;
+}
+
+void java_lang_Character_PUT_OTHER_PUNCTUATION(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_OTHER_PUNCTUATION = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_MATH_SYMBOL()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_MATH_SYMBOL;
+}
+
+void java_lang_Character_PUT_MATH_SYMBOL(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_MATH_SYMBOL = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_CURRENCY_SYMBOL()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_CURRENCY_SYMBOL;
+}
+
+void java_lang_Character_PUT_CURRENCY_SYMBOL(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_CURRENCY_SYMBOL = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_MODIFIER_SYMBOL()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_MODIFIER_SYMBOL;
+}
+
+void java_lang_Character_PUT_MODIFIER_SYMBOL(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_MODIFIER_SYMBOL = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_OTHER_SYMBOL()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_OTHER_SYMBOL;
+}
+
+void java_lang_Character_PUT_OTHER_SYMBOL(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_OTHER_SYMBOL = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_INITIAL_QUOTE_PUNCTUATION()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_INITIAL_QUOTE_PUNCTUATION;
+}
+
+void java_lang_Character_PUT_INITIAL_QUOTE_PUNCTUATION(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_INITIAL_QUOTE_PUNCTUATION = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_FINAL_QUOTE_PUNCTUATION()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_FINAL_QUOTE_PUNCTUATION;
+}
+
+void java_lang_Character_PUT_FINAL_QUOTE_PUNCTUATION(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_FINAL_QUOTE_PUNCTUATION = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_UNDEFINED()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_DIRECTIONALITY_UNDEFINED;
+}
+
+void java_lang_Character_PUT_DIRECTIONALITY_UNDEFINED(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_DIRECTIONALITY_UNDEFINED = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_LEFT_TO_RIGHT()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_DIRECTIONALITY_LEFT_TO_RIGHT;
+}
+
+void java_lang_Character_PUT_DIRECTIONALITY_LEFT_TO_RIGHT(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_DIRECTIONALITY_LEFT_TO_RIGHT = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_RIGHT_TO_LEFT()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_DIRECTIONALITY_RIGHT_TO_LEFT;
+}
+
+void java_lang_Character_PUT_DIRECTIONALITY_RIGHT_TO_LEFT(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_DIRECTIONALITY_RIGHT_TO_LEFT = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC;
+}
+
+void java_lang_Character_PUT_DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_EUROPEAN_NUMBER()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_DIRECTIONALITY_EUROPEAN_NUMBER;
+}
+
+void java_lang_Character_PUT_DIRECTIONALITY_EUROPEAN_NUMBER(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_DIRECTIONALITY_EUROPEAN_NUMBER = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR;
+}
+
+void java_lang_Character_PUT_DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR;
+}
+
+void java_lang_Character_PUT_DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_ARABIC_NUMBER()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_DIRECTIONALITY_ARABIC_NUMBER;
+}
+
+void java_lang_Character_PUT_DIRECTIONALITY_ARABIC_NUMBER(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_DIRECTIONALITY_ARABIC_NUMBER = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_COMMON_NUMBER_SEPARATOR()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_DIRECTIONALITY_COMMON_NUMBER_SEPARATOR;
+}
+
+void java_lang_Character_PUT_DIRECTIONALITY_COMMON_NUMBER_SEPARATOR(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_DIRECTIONALITY_COMMON_NUMBER_SEPARATOR = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_NONSPACING_MARK()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_DIRECTIONALITY_NONSPACING_MARK;
+}
+
+void java_lang_Character_PUT_DIRECTIONALITY_NONSPACING_MARK(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_DIRECTIONALITY_NONSPACING_MARK = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_BOUNDARY_NEUTRAL()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_DIRECTIONALITY_BOUNDARY_NEUTRAL;
+}
+
+void java_lang_Character_PUT_DIRECTIONALITY_BOUNDARY_NEUTRAL(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_DIRECTIONALITY_BOUNDARY_NEUTRAL = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_PARAGRAPH_SEPARATOR()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_DIRECTIONALITY_PARAGRAPH_SEPARATOR;
+}
+
+void java_lang_Character_PUT_DIRECTIONALITY_PARAGRAPH_SEPARATOR(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_DIRECTIONALITY_PARAGRAPH_SEPARATOR = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_SEGMENT_SEPARATOR()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_DIRECTIONALITY_SEGMENT_SEPARATOR;
+}
+
+void java_lang_Character_PUT_DIRECTIONALITY_SEGMENT_SEPARATOR(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_DIRECTIONALITY_SEGMENT_SEPARATOR = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_WHITESPACE()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_DIRECTIONALITY_WHITESPACE;
+}
+
+void java_lang_Character_PUT_DIRECTIONALITY_WHITESPACE(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_DIRECTIONALITY_WHITESPACE = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_OTHER_NEUTRALS()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_DIRECTIONALITY_OTHER_NEUTRALS;
+}
+
+void java_lang_Character_PUT_DIRECTIONALITY_OTHER_NEUTRALS(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_DIRECTIONALITY_OTHER_NEUTRALS = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING;
+}
+
+void java_lang_Character_PUT_DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE;
+}
+
+void java_lang_Character_PUT_DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING;
+}
+
+void java_lang_Character_PUT_DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE;
+}
+
+void java_lang_Character_PUT_DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = v;
+}
+
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_POP_DIRECTIONAL_FORMAT()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_DIRECTIONALITY_POP_DIRECTIONAL_FORMAT;
+}
+
+void java_lang_Character_PUT_DIRECTIONALITY_POP_DIRECTIONAL_FORMAT(JAVA_BYTE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = v;
+}
+
+JAVA_CHAR java_lang_Character_GET_MIN_HIGH_SURROGATE()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_MIN_HIGH_SURROGATE;
+}
+
+void java_lang_Character_PUT_MIN_HIGH_SURROGATE(JAVA_CHAR v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_MIN_HIGH_SURROGATE = v;
+}
+
+JAVA_CHAR java_lang_Character_GET_MAX_HIGH_SURROGATE()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_MAX_HIGH_SURROGATE;
+}
+
+void java_lang_Character_PUT_MAX_HIGH_SURROGATE(JAVA_CHAR v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_MAX_HIGH_SURROGATE = v;
+}
+
+JAVA_CHAR java_lang_Character_GET_MIN_LOW_SURROGATE()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_MIN_LOW_SURROGATE;
+}
+
+void java_lang_Character_PUT_MIN_LOW_SURROGATE(JAVA_CHAR v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_MIN_LOW_SURROGATE = v;
+}
+
+JAVA_CHAR java_lang_Character_GET_MAX_LOW_SURROGATE()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_MAX_LOW_SURROGATE;
+}
+
+void java_lang_Character_PUT_MAX_LOW_SURROGATE(JAVA_CHAR v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_MAX_LOW_SURROGATE = v;
+}
+
+JAVA_CHAR java_lang_Character_GET_MIN_SURROGATE()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_MIN_SURROGATE;
+}
+
+void java_lang_Character_PUT_MIN_SURROGATE(JAVA_CHAR v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_MIN_SURROGATE = v;
+}
+
+JAVA_CHAR java_lang_Character_GET_MAX_SURROGATE()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_MAX_SURROGATE;
+}
+
+void java_lang_Character_PUT_MAX_SURROGATE(JAVA_CHAR v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_MAX_SURROGATE = v;
+}
+
+JAVA_INT java_lang_Character_GET_MIN_SUPPLEMENTARY_CODE_POINT()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_MIN_SUPPLEMENTARY_CODE_POINT;
+}
+
+void java_lang_Character_PUT_MIN_SUPPLEMENTARY_CODE_POINT(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_MIN_SUPPLEMENTARY_CODE_POINT = v;
+}
+
+JAVA_INT java_lang_Character_GET_MIN_CODE_POINT()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_MIN_CODE_POINT;
+}
+
+void java_lang_Character_PUT_MIN_CODE_POINT(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_MIN_CODE_POINT = v;
+}
+
+JAVA_INT java_lang_Character_GET_MAX_CODE_POINT()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_MAX_CODE_POINT;
+}
+
+void java_lang_Character_PUT_MAX_CODE_POINT(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_MAX_CODE_POINT = v;
+}
+
+JAVA_INT java_lang_Character_GET_SIZE()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_SIZE;
+}
+
+void java_lang_Character_PUT_SIZE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_SIZE = v;
+}
+
+JAVA_OBJECT java_lang_Character_GET_bidiKeys()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_bidiKeys;
+}
+
+void java_lang_Character_PUT_bidiKeys(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_bidiKeys = v;
+}
+
+JAVA_OBJECT java_lang_Character_GET_bidiValues()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_bidiValues;
+}
+
+void java_lang_Character_PUT_bidiValues(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_bidiValues = v;
+}
+
+JAVA_OBJECT java_lang_Character_GET_mirrored()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_mirrored;
+}
+
+void java_lang_Character_PUT_mirrored(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_mirrored = v;
+}
+
+JAVA_OBJECT java_lang_Character_GET_typeKeys()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_typeKeys;
+}
+
+void java_lang_Character_PUT_typeKeys(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_typeKeys = v;
+}
+
+JAVA_OBJECT java_lang_Character_GET_typeValues()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_typeValues;
+}
+
+void java_lang_Character_PUT_typeValues(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_typeValues = v;
+}
+
+JAVA_OBJECT java_lang_Character_GET_typeValuesCache()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_typeValuesCache;
+}
+
+void java_lang_Character_PUT_typeValuesCache(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_typeValuesCache = v;
+}
+
+JAVA_OBJECT java_lang_Character_GET_uppercaseKeys()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_uppercaseKeys;
+}
+
+void java_lang_Character_PUT_uppercaseKeys(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_uppercaseKeys = v;
+}
+
+JAVA_OBJECT java_lang_Character_GET_uppercaseValues()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_uppercaseValues;
+}
+
+void java_lang_Character_PUT_uppercaseValues(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_uppercaseValues = v;
+}
+
+JAVA_OBJECT java_lang_Character_GET_uppercaseValuesCache()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_uppercaseValuesCache;
+}
+
+void java_lang_Character_PUT_uppercaseValuesCache(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_uppercaseValuesCache = v;
+}
+
+JAVA_OBJECT java_lang_Character_GET_lowercaseKeys()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_lowercaseKeys;
+}
+
+void java_lang_Character_PUT_lowercaseKeys(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_lowercaseKeys = v;
+}
+
+JAVA_OBJECT java_lang_Character_GET_lowercaseValues()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_lowercaseValues;
+}
+
+void java_lang_Character_PUT_lowercaseValues(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_lowercaseValues = v;
+}
+
+JAVA_OBJECT java_lang_Character_GET_lowercaseValuesCache()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_lowercaseValuesCache;
+}
+
+void java_lang_Character_PUT_lowercaseValuesCache(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_lowercaseValuesCache = v;
+}
+
+JAVA_OBJECT java_lang_Character_GET_digitKeys()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_digitKeys;
+}
+
+void java_lang_Character_PUT_digitKeys(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_digitKeys = v;
+}
+
+JAVA_OBJECT java_lang_Character_GET_digitValues()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_digitValues;
+}
+
+void java_lang_Character_PUT_digitValues(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_digitValues = v;
+}
+
+JAVA_OBJECT java_lang_Character_GET_typeTags()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_typeTags;
+}
+
+void java_lang_Character_PUT_typeTags(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_typeTags = v;
+}
+
+JAVA_OBJECT java_lang_Character_GET_DIRECTIONALITY()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_DIRECTIONALITY;
+}
+
+void java_lang_Character_PUT_DIRECTIONALITY(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_DIRECTIONALITY = v;
+}
+
+JAVA_INT java_lang_Character_GET_ISJAVASTART()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_ISJAVASTART;
+}
+
+void java_lang_Character_PUT_ISJAVASTART(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_ISJAVASTART = v;
+}
+
+JAVA_INT java_lang_Character_GET_ISJAVAPART()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_ISJAVAPART;
+}
+
+void java_lang_Character_PUT_ISJAVAPART(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_ISJAVAPART = v;
+}
+
+JAVA_OBJECT java_lang_Character_GET_titlecaseKeys()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_titlecaseKeys;
+}
+
+void java_lang_Character_PUT_titlecaseKeys(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_titlecaseKeys = v;
+}
+
+JAVA_OBJECT java_lang_Character_GET_titlecaseValues()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_titlecaseValues;
+}
+
+void java_lang_Character_PUT_titlecaseValues(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_titlecaseValues = v;
+}
+
+JAVA_OBJECT java_lang_Character_GET_numericKeys()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_numericKeys;
+}
+
+void java_lang_Character_PUT_numericKeys(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_numericKeys = v;
+}
+
+JAVA_OBJECT java_lang_Character_GET_numericValues()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_numericValues;
+}
+
+void java_lang_Character_PUT_numericValues(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_numericValues = v;
+}
+
+JAVA_INT java_lang_Character_GET_CACHE_LEN()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character_CACHE_LEN;
+}
+
+void java_lang_Character_PUT_CACHE_LEN(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character_CACHE_LEN = v;
+}
+
+JAVA_BOOLEAN java_lang_Character_GET__assertionsDisabled()
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ return _STATIC_java_lang_Character__assertionsDisabled;
+}
+
+void java_lang_Character_PUT__assertionsDisabled(JAVA_BOOLEAN v)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+_STATIC_java_lang_Character__assertionsDisabled = v;
+}
+
+void java_lang_Character___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character___CLINIT___]
+ XMLVM_ENTER_METHOD("java.lang.Character", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r7.i = 27;
+ _r6.i = 15;
+ _r5.i = 6;
+ _r4.i = 1;
+ _r3.i = 2;
+ XMLVM_SOURCE_POSITION("Character.java", 52)
+ XMLVM_CLASS_INIT(java_lang_Character)
+ _r0.o = __CLASS_java_lang_Character;
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_Class_desiredAssertionStatus__(_r0.o);
+ if (_r0.i != 0) goto label4189;
+ _r0 = _r4;
+ label16:;
+ java_lang_Character_PUT__assertionsDisabled( _r0.i);
+ XMLVM_SOURCE_POSITION("Character.java", 81)
+ _r0.i = 0;
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ XMLVM_SOURCE_POSITION("Character.java", 82)
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r0.o)->tib->vtable[3])(_r0.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_Class_getComponentType__(_r0.o);
+ java_lang_Character_PUT_TYPE( _r0.o);
+ XMLVM_SOURCE_POSITION("Character.java", 459)
+ // "\010\012\013\6013\015\5415\033\012\036\013 \6015\042\016%\006*\016.\30100\24049\004;\7010@\016Z\001`\016z\001\176\016\204\012\206\5412\237\012\241\7010\245\006\251\016\253\7001\257\016\261\006\263\004\266\416\270\016\272\2001\277\016\326\001\330\7001\366\001\370\7001\1037\001\1063\001\1255\001\1270\001\1272\016\1301\001\1317\016\1321\001\1337\016\1344\001\1355\016\1356\001\1516\011\1542\011\1565\016\1572\001\1576\016\1605\016\1610\7001\1612\001\1614\001\1641\001\1716\001\1727\001\1763\001\2202\001\2206\011\2211\011\2304\001\2310\001\2314\001\2365\001\2371\001\2526\001\2537\001\2607\001\2612\416\2641\011\2671\011\2675\011\2701\4402\2704\1011\2752\002\2764\002\3014\010\3033\1400\3037\1400\3072\003\3112\003\3125\011\3151\007\3153\3406\3155\1407\3161\1411\3325\003\3344\011\3346\003\3350\011\3352\7011\3355\011\3371\004\3376\003\3415\003\3420\5003\3422\4403\3454\003\3512\011\3645\003\3660\011\4402\011\4403\400\4471\001\4475\411\4500\001\4510\011\4514\001\4515\4400\4521\4401\4524\011\4541\001\4543\011\4560\001\4602\4401\4603\400\4614\001\4620\001\4650\001\4660\001\4662\001\4671\001\4674\011\4700\001\4704\011\4710\001\4714\001\4715\4400\4727\400\4735\001\4741\001\4743\011\4761\001\4763\006\4772\001\5002\011\5012\001\5020\001\5050\001\5060\001\5063\001\5066\001\5071\001\5074\011\5100\001\5102\011\5110\011\5115\011\5134\001\5136\001\5157\001\5161\011\5164\001\5202\011\5203\400\5213\001\5215\400\5221\001\5250\001\5260\001\5263\001\5271\001\5275\411\5300\001\5305\011\5310\011\5311\400\5314\001\5315\4400\5320\001\5340\001\5357\001\5402\4401\5403\400\5414\001\5420\001\5450\001\5460\001\5463\001\5471\001\5475\411\5501\4401\5503\011\5510\001\5514\001\5515\4400\5527\411\5535\001\5541\001\5560\001\5603\411\5612\001\5620\001\5625\001\5632\001\5634\001\5637\001\5644\001\5652\001\5665\001\5671\001\5677\001\5701\411\5702\001\5710\001\5714\001\5715\4400\5727\400\5762\001\6003\001\6014\001\6020\001\6050\001\6063\001\6071\001\6100\011\6104\001\6110\011\6115\011\6126\011\6141\001\6157\001\6203\001\6214\001\6220\001\6250\001\6263\001\6271\001\6300\4401\6304\001\6307\411\6310\001\6313\001\6315\011\6326\001\6336\001\6341\001\6357\001\6403\001\6414\001\6420\001\6450\001\6471\001\6500\001\6503\011\6510\001\6514\001\6515\4400\6527\400\6541\001\6557\001\6603\001\6626\001\6661\001\6673\001\6675\400\6706\001\6712\011\6721\001\6724\011\6726\011\6737\001\6764\001\7060\001\7062\4401\7064\411\7072\011\7100\3001\7106\001\7116\011\7133\001\7202\001\7204\001\7210\001\7212\001\7215\400\7227\001\7237\001\7243\001\7245\400\7247\400\7253\001\7260\001\7262\4401\7264\411\7271\011\7274\011\7275\400\7304\001\7306\001\7315\011\7331\001\7335\001\7427\001\7431\011\7464\001\7471\4401\7475\016\7507\001\7552\001\7576\011\7600\411\7604\011\7606\411\7610\4401\7613\001\7627\011\7674\011\7705\001\7707\411\7714\001\7717\400\10041\001\10047\001\10052\001\10055\4401\10060\011\10062\411\10067\011\10071\4401\10127\001\10131\011\10305\001\10366\001\10373\400\10531\001\10642\001\10771\001\11006\001\11106\001\11110\001\11115\001\11126\001\11130\001\11135\001\11206\001\11210\001\11215\001\11256\001\11260\001\11265\001\11276\001\11300\001\11305\001\11316\001\11326\001\11356\001\11416\001\11420\001\11425\001\11436\001\11506\001\11532\001\11574\001\11764\001\13166\001\13201\415\13232\001\13234\016\13360\001\13666\001\13675\011\13705\001\13707\411\13711\4401\13723\011\13732\001\13734\3001\13751\001\14012\016\14016\012\14031\001\14167\001\14250\001\14251\4400\17233\001\17371\001\17425\001\17435\001\17505\001\17515\001\17527\001\17531\400\17533\400\17535\400\17575\001\17664\001\17674\001\17677\7001\17701\016\17704\001\17714\001\17717\016\17723\001\17733\001\17737\016\17754\001\17757\016\17764\001\17774\001\17776\016\20012\015\20015\012\20017\1001\20047\016\20051\5415\20053\10417\20055\10023\20057\6422\20064\006\20106\016\20115\016\20157\012\20160\004\20171\004\20173\006\20176\016\20200\404\20211\004\20213\006\20216\016\20257\006\20343\011\20401\016\20403\7001\20406\016\20410\416\20412\7001\20423\001\20426\416\20430\016\20435\001\20443\016\20452\7001\20455\001\20457\406\20461\001\20463\416\20471\001\20472\016\20537\016\20603\001\20763\016\21021\016\21023\006\21361\016\21465\016\21572\001\21573\7000\21624\016\21626\416\21632\016\22046\016\22112\016\22233\004\22351\001\22352\004\22625\016\22767\016\23023\016\23161\016\23404\016\23411\016\23447\016\23513\016\23515\7000\23522\016\23526\016\23536\016\23547\016\23624\016\23657\016\23676\016\24377\016\27231\016\27363\016\27725\016\27773\016\30001\7015\30004\016\30007\001\30040\016\30051\001\30057\011\30061\416\30065\001\30067\016\30072\001\30077\016\30224\001\30232\011\30234\016\30236\001\30372\001\30374\7001\30376\001\30454\001\30616\001\30667\001\31034\001\31103\001\31173\001\31260\001\31313\001\31376\001\31566\001\31735\001\31776\001\46665\001\117645\001\122214\001\122241\016\122263\016\122300\016\122304\016\122306\016\153643\001\175055\001\175406\001\175427\001\175437\1011\175450\002\175452\3002\175466\002\175474\002\175476\002\175501\002\175504\002\175517\002\175661\003\176475\003\176477\016\176617\003\176707\003\176773\003\177043\011\177104\016\177117\016\177122\7010\177126\4016\177136\016\177140\3016\177142\7006\177144\3016\177146\016\177151\3016\177153\7006\177162\003\177164\003\177374\003\177377\5000\177402\016\177405\006\177412\016\177416\3010\177420\2404\177431\004\177433\7010\177440\016\177472\001\177500\016\177532\001\177536\016\177545\016\177676\001\177707\001\177717\001\177727\001\177734\001\177741\006\177744\016\177746\006\177756\016\177773\012\177775\016"
+ _r0.o = xmlvm_create_java_string_from_pool(152);
+ XMLVM_SOURCE_POSITION("Character.java", 460)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_String_getValue__(_r0.o);
+ java_lang_Character_PUT_bidiValues( _r0.o);
+ XMLVM_SOURCE_POSITION("Character.java", 462)
+ // "\000\000\1400\50000\000\24000\000\24000\000\000\4000\4000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\3000`\000\000\60000\60000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\37436\136142\174127\175017\17777\100074\147765\177777\117777\407\177714\140777\37000\177703\37777\003\7400\000\3003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177400\7763"
+ _r0.o = xmlvm_create_java_string_from_pool(153);
+ XMLVM_SOURCE_POSITION("Character.java", 463)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_String_getValue__(_r0.o);
+ java_lang_Character_PUT_mirrored( _r0.o);
+ XMLVM_SOURCE_POSITION("Character.java", 468)
+ // "\037\017!\14014#\030%\14032'\030)\13025,\14430.\120300\140119\011;\030>\031@\030Z\001\134\12430^\13033`\13433z\002\174\12431\176\13031\237\017\241\14014\245\032\247\034\251\16033\253\16402\255\12031\260\15434\262\14413\264\5433\266\1034\270\14033\272\5402\274\17013\276\013\300\14001\326\001\330\14401\336\001\366\002\370\14402\377\002\467\1001\510\402\570\1001\576\402\600\002\602\001\606\1001\611\402\613\001\615\002\621\001\623\402\626\1001\630\001\633\002\635\001\637\402\646\1001\652\402\656\1001\661\402\663\001\667\402\671\1001\673\2402\675\1001\677\002\703\005\705\1401\707\402\711\1003\713\1401\734\402\757\1001\761\402\763\1003\766\1001\770\001\1037\1001\1063\1001\1255\002\1270\004\1272\033\1301\004\1317\033\1321\004\1337\033\1344\004\1355\033\1356\004\1516\006\1542\006\1565\033\1572\004\1576\030\1605\033\1610\14001\1612\001\1614\001\1617\001\1621\402\1641\001\1653\001\1716\002\1721\002\1724\001\1727\002\1757\1001\1763\002\2057\001\2137\002\2201\1001\2203\3034\2206\006\2211\007\2300\1001\2304\402\2310\402\2314\402\2365\1001\2371\1001\2526\001\2532\2030\2537\030\2607\002\2612\14024\2641\006\2671\006\2675\006\2701\3030\2704\14006\2752\005\2762\005\2764\030\3014\030\3033\14000\3037\14000\3072\005\3101\2404\3112\005\3125\006\3151\011\3155\030\3161\2406\3323\005\3325\2430\3334\006\3336\007\3344\006\3346\004\3350\006\3352\16006\3355\006\3371\011\3374\005\3376\034\3415\030\3420\10005\3422\3005\3454\005\3512\006\3645\005\3660\006\4402\006\4403\4000\4471\005\4475\2406\4500\010\4510\006\4514\010\4515\3000\4521\3005\4524\006\4541\005\4543\006\4545\030\4557\011\4560\030\4602\3010\4603\4000\4614\005\4620\005\4650\005\4660\005\4662\005\4671\005\4674\006\4700\010\4704\006\4710\010\4714\010\4715\3000\4727\4000\4735\005\4741\005\4743\006\4757\011\4761\005\4763\032\4771\013\4772\034\5002\006\5012\005\5020\005\5050\005\5060\005\5063\005\5066\005\5071\005\5074\006\5100\010\5102\006\5110\006\5115\006\5134\005\5136\005\5157\011\5161\006\5164\005\5202\006\5203\4000\5213\005\5215\2400\5221\005\5250\005\5260\005\5263\005\5271\005\5275\2406\5300\010\5305\006\5310\006\5311\4000\5314\010\5315\3000\5320\005\5340\005\5357\011\5402\3010\5403\4000\5414\005\5420\005\5450\005\5460\005\5463\005\5471\005\5475\2406\5501\3010\5503\006\5510\010\5514\010\5515\3000\5527\4006\5535\005\5541\005\5557\011\5560\034\5603\4006\5612\005\5620\005\5625\005\5632\005\5634\005\5637\005\5644\005\5652\005\5665\005\5671\005\5677\010\5701\4006\5702\010\5710\010\5714\010\5715\3000\5727\4000\5757\011\5762\013\6003\010\6014\005\6020\005\6050\005\6063\005\6071\005\6100\006\6104\010\6110\006\6115\006\6126\006\6141\005\6157\011\6203\010\6214\005\6220\005\6250\005\6263\005\6271\005\6300\3010\6304\010\6307\4006\6310\010\6313\010\6315\006\6326\010\6336\005\6341\005\6357\011\6403\010\6414\005\6420\005\6450\005\6471\005\6500\010\6503\006\6510\010\6514\010\6515\3000\6527\4000\6541\005\6557\011\6603\010\6626\005\6661\005\6673\005\6675\2400\6706\005\6712\006\6721\010\6724\006\6726\006\6737\010\6763\010\6764\030\7060\005\7062\3005\7064\2406\7072\006\7100\15005\7105\005\7107\3004\7116\006\7120\14011\7131\011\7133\030\7202\005\7204\005\7210\005\7212\005\7215\2400\7227\005\7237\005\7243\005\7245\2400\7247\2400\7253\005\7260\005\7262\3005\7264\2406\7271\006\7274\006\7275\2400\7304\005\7306\004\7315\006\7331\011\7335\005\7401\16005\7403\034\7422\030\7427\034\7431\006\7437\034\7451\011\7463\013\7471\3034\7475\13025\7477\010\7507\005\7552\005\7576\006\7600\4006\7604\006\7606\14006\7610\3005\7613\005\7627\006\7674\006\7705\034\7707\16006\7714\034\7717\16000\10041\005\10047\005\10052\005\10055\3010\10060\006\10062\4006\10067\006\10071\3010\10111\011\10117\030\10125\005\10127\010\10131\006\10305\001\10366\005\10373\14000\10531\005\10642\005\10771\005\11006\005\11106\005\11110\005\11115\005\11126\005\11130\005\11135\005\11206\005\11210\005\11215\005\11256\005\11260\005\11265\005\11276\005\11300\005\11305\005\11316\005\11326\005\11356\005\11416\005\11420\005\11425\005\11436\005\11506\005\11532\005\11550\030\11561\011\11574\013\11764\005\13154\005\13156\030\13166\005\13201\2414\13232\005\13234\12426\13352\005\13355\030\13360\013\13663\005\13666\010\13675\006\13705\010\13707\4006\13711\3010\13723\006\13732\030\13734\15030\13751\011\14005\030\14007\14024\14012\030\14016\020\14031\011\14102\005\14104\2005\14167\005\14250\005\14251\3000\17225\1001\17233\002\17371\1001\17407\002\17417\001\17425\002\17435\001\17447\002\17457\001\17467\002\17477\001\17505\002\17515\001\17527\002\17531\400\17533\400\17535\400\17540\402\17547\002\17557\001\17575\002\17607\002\17617\003\17627\002\17637\003\17647\002\17657\003\17664\002\17667\002\17673\001\17675\15403\17677\15402\17701\033\17704\002\17707\002\17713\001\17715\15403\17717\033\17723\002\17727\002\17733\001\17737\033\17747\002\17754\001\17757\033\17764\002\17767\002\17773\001\17775\15403\17776\033\20013\014\20017\020\20025\024\20027\030\20031\17035\20033\16425\20035\17035\20037\16425\20047\030\20051\7015\20056\020\20060\6030\20070\030\20072\16436\20076\030\20100\027\20103\030\20105\12431\20106\026\20115\030\20157\020\20160\013\20171\013\20174\031\20176\12426\20200\1013\20211\013\20214\031\20216\12426\20257\032\20334\006\20340\007\20342\3007\20343\3400\20401\034\20403\16001\20406\034\20410\434\20412\16002\20415\001\20417\002\20422\001\20424\1034\20426\434\20430\034\20435\001\20443\034\20452\16001\20455\001\20457\1034\20461\001\20463\434\20465\2402\20470\005\20472\1034\20537\013\20603\012\20624\031\20631\034\20633\031\20637\034\20641\16031\20644\14434\20647\16031\20655\034\20657\16031\20715\034\20717\031\20721\034\20725\16031\20763\034\21361\031\21407\034\21413\031\21437\034\21441\031\21450\034\21452\12426\21573\034\21632\034\22046\034\22112\034\22233\013\22351\034\22352\013\22625\034\22666\034\22670\14434\22700\034\22702\14434\22767\034\23023\034\23156\034\23160\14434\23161\16000\23404\034\23411\034\23447\034\23513\034\23515\16000\23522\034\23526\034\23536\034\23547\034\23623\013\23624\034\23657\034\23676\034\24377\034\27231\034\27363\034\27725\034\27773\034\30001\14014\30003\030\30005\2034\30007\5005\30021\13025\30023\034\30033\13025\30035\12424\30037\026\30041\5034\30051\012\30057\006\30061\2024\30065\004\30067\034\30072\012\30077\034\30224\005\30232\006\30234\033\30236\004\30372\005\30374\13404\30376\004\30454\005\30616\005\30621\034\30625\013\30637\034\30667\005\31034\034\31051\013\31103\034\31173\034\31200\16013\31211\013\31260\034\31313\034\31376\034\31566\034\31735\034\31776\034\46665\005\117645\005\122214\005\122241\034\122263\034\122300\034\122304\034\122306\034\153643\005\157777\023\174377\022\175055\005\175406\002\175427\002\175437\2406\175450\005\175452\14405\175466\005\175474\005\175476\005\175501\005\175504\005\175661\005\176475\005\176477\13025\176617\005\176707\005\176773\005\177043\006\177061\12030\177063\13424\177065\12427\177104\12426\177114\030\177117\027\177122\030\177127\030\177131\12424\177136\12426\177141\030\177144\12031\177146\031\177152\15030\177153\14000\177162\005\177164\005\177374\005\177377\10000\177403\030\177405\14032\177407\030\177411\13025\177414\14430\177416\12030\177420\14011\177431\011\177433\030\177436\031\177440\030\177472\001\177474\12430\177476\13033\177500\13433\177532\002\177534\12431\177536\13031\177542\14025\177544\13030\177546\13405\177557\005\177561\2404\177635\005\177637\004\177676\005\177707\005\177717\005\177727\005\177734\005\177741\032\177743\15431\177745\15034\177746\032\177751\14434\177754\031\177756\034\177773\020\177775\034"
+ _r0.o = xmlvm_create_java_string_from_pool(154);
+ XMLVM_SOURCE_POSITION("Character.java", 469)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_String_getValue__(_r0.o);
+ java_lang_Character_PUT_typeValues( _r0.o);
+ XMLVM_SOURCE_POSITION("Character.java", 471)
+ _r0.i = 1000;
+ XMLVM_CLASS_INIT(int)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_int, _r0.i);
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("Character.java", 472)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r4.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r6.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r6.i;
+ _r1.i = 3;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 5;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r5.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i] = _r6.i;
+ _r1.i = 7;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 8;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 9;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 10;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 11;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 12;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 13;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 14;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r6.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r6.i;
+ _r1.i = 16;
+ XMLVM_SOURCE_POSITION("Character.java", 473)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 17;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 18;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 19;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 20;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 21;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 22;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 23;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 24;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 25;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 26;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r7.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r6.i;
+ _r1.i = 28;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 29;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 30;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 31;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 32;
+ _r2.i = 12;
+ XMLVM_SOURCE_POSITION("Character.java", 474)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 33;
+ _r2.i = 24;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 34;
+ _r2.i = 24;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 35;
+ _r2.i = 24;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 36;
+ _r2.i = 26;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 37;
+ _r2.i = 24;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 38;
+ _r2.i = 24;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 39;
+ _r2.i = 24;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 40;
+ _r2.i = 21;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 41;
+ _r2.i = 22;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 42;
+ _r2.i = 24;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 43;
+ _r2.i = 25;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 44;
+ _r2.i = 24;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 45;
+ _r2.i = 20;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 46;
+ _r2.i = 24;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 47;
+ _r2.i = 24;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 48;
+ _r2.i = 9;
+ XMLVM_SOURCE_POSITION("Character.java", 475)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 49;
+ _r2.i = 9;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 50;
+ _r2.i = 9;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 51;
+ _r2.i = 9;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 52;
+ _r2.i = 9;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 53;
+ _r2.i = 9;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 54;
+ _r2.i = 9;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 55;
+ _r2.i = 9;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 56;
+ _r2.i = 9;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 57;
+ _r2.i = 9;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 58;
+ _r2.i = 24;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 59;
+ _r2.i = 24;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 60;
+ _r2.i = 25;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 61;
+ _r2.i = 25;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 62;
+ _r2.i = 25;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 63;
+ _r2.i = 24;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 64;
+ _r2.i = 24;
+ XMLVM_SOURCE_POSITION("Character.java", 476)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 65;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 66;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 67;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 68;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 69;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 70;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 71;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 72;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 73;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 74;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 75;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 76;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 77;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 78;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 79;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 80;
+ XMLVM_SOURCE_POSITION("Character.java", 477)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 81;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 82;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 83;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 84;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 85;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 86;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 87;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 88;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 89;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 90;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 91;
+ _r2.i = 21;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 92;
+ _r2.i = 24;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 93;
+ _r2.i = 22;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 94;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 95;
+ _r2.i = 23;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 96;
+ XMLVM_SOURCE_POSITION("Character.java", 478)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 97;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 98;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 99;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 100;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 101;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 102;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 103;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 104;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 105;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 106;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 107;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 108;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 109;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 110;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 111;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 112;
+ XMLVM_SOURCE_POSITION("Character.java", 479)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 113;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 114;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 115;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 116;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 117;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 118;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 119;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 120;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 121;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 122;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 123;
+ _r2.i = 21;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 124;
+ _r2.i = 25;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 125;
+ _r2.i = 22;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 126;
+ _r2.i = 25;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 127;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 128;
+ XMLVM_SOURCE_POSITION("Character.java", 480)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 129;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 130;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 131;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 132;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 133;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 134;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 135;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 136;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 137;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 138;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 139;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 140;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 141;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 142;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 143;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 144;
+ XMLVM_SOURCE_POSITION("Character.java", 481)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 145;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 146;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 147;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 148;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 149;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 150;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 151;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 152;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 153;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 154;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 155;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 156;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 157;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 158;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 159;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 160;
+ _r2.i = 12;
+ XMLVM_SOURCE_POSITION("Character.java", 482)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 161;
+ _r2.i = 24;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 162;
+ _r2.i = 26;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 163;
+ _r2.i = 26;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 164;
+ _r2.i = 26;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 165;
+ _r2.i = 26;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 166;
+ _r2.i = 28;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 167;
+ _r2.i = 28;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 168;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 169;
+ _r2.i = 28;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 170;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 171;
+ _r2.i = 29;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 172;
+ _r2.i = 25;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 173;
+ _r2.i = 16;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 174;
+ _r2.i = 28;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 175;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 176;
+ _r2.i = 28;
+ XMLVM_SOURCE_POSITION("Character.java", 483)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 177;
+ _r2.i = 25;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 178;
+ _r2.i = 11;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 179;
+ _r2.i = 11;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 180;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 181;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 182;
+ _r2.i = 28;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 183;
+ _r2.i = 24;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 184;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 185;
+ _r2.i = 11;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 186;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 187;
+ _r2.i = 30;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 188;
+ _r2.i = 11;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 189;
+ _r2.i = 11;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 190;
+ _r2.i = 11;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 191;
+ _r2.i = 24;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 192;
+ XMLVM_SOURCE_POSITION("Character.java", 484)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 193;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 194;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 195;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 196;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 197;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 198;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 199;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 200;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 201;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 202;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 203;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 204;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 205;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 206;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 207;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 208;
+ XMLVM_SOURCE_POSITION("Character.java", 485)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 209;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 210;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 211;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 212;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 213;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 214;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 215;
+ _r2.i = 25;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 216;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 217;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 218;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 219;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 220;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 221;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 222;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 223;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 224;
+ XMLVM_SOURCE_POSITION("Character.java", 486)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 225;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 226;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 227;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 228;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 229;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 230;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 231;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 232;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 233;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 234;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 235;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 236;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 237;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 238;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 239;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 240;
+ XMLVM_SOURCE_POSITION("Character.java", 487)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 241;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 242;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 243;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 244;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 245;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 246;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 247;
+ _r2.i = 25;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 248;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 249;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 250;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 251;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 252;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 253;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 254;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 255;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 256;
+ XMLVM_SOURCE_POSITION("Character.java", 488)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 257;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 258;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 259;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 260;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 261;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 262;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 263;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 264;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 265;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 266;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 267;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 268;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 269;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 270;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 271;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 272;
+ XMLVM_SOURCE_POSITION("Character.java", 489)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 273;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 274;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 275;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 276;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 277;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 278;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 279;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 280;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 281;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 282;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 283;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 284;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 285;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 286;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 287;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 288;
+ XMLVM_SOURCE_POSITION("Character.java", 490)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 289;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 290;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 291;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 292;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 293;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 294;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 295;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 296;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 297;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 298;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 299;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 300;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 301;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 302;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 303;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 304;
+ XMLVM_SOURCE_POSITION("Character.java", 491)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 305;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 306;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 307;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 308;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 309;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 310;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 311;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 312;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 313;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 314;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 315;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 316;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 317;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 318;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 319;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 320;
+ XMLVM_SOURCE_POSITION("Character.java", 492)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 321;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 322;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 323;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 324;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 325;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 326;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 327;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 328;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 329;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 330;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 331;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 332;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 333;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 334;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 335;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 336;
+ XMLVM_SOURCE_POSITION("Character.java", 493)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 337;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 338;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 339;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 340;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 341;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 342;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 343;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 344;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 345;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 346;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 347;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 348;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 349;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 350;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 351;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 352;
+ XMLVM_SOURCE_POSITION("Character.java", 494)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 353;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 354;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 355;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 356;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 357;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 358;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 359;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 360;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 361;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 362;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 363;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 364;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 365;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 366;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 367;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 368;
+ XMLVM_SOURCE_POSITION("Character.java", 495)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 369;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 370;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 371;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 372;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 373;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 374;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 375;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 376;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 377;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 378;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 379;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 380;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 381;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 382;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 383;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 384;
+ XMLVM_SOURCE_POSITION("Character.java", 496)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 385;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 386;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 387;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 388;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 389;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 390;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 391;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 392;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 393;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 394;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 395;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 396;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 397;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 398;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 399;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 400;
+ XMLVM_SOURCE_POSITION("Character.java", 497)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 401;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 402;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 403;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 404;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 405;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 406;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 407;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 408;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 409;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 410;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 411;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 412;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 413;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 414;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 415;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 416;
+ XMLVM_SOURCE_POSITION("Character.java", 498)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 417;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 418;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 419;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 420;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 421;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 422;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 423;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 424;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 425;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 426;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 427;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 428;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 429;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 430;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 431;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 432;
+ XMLVM_SOURCE_POSITION("Character.java", 499)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 433;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 434;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 435;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 436;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 437;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 438;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 439;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 440;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 441;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 442;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 443;
+ _r2.i = 5;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 444;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 445;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 446;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 447;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 448;
+ _r2.i = 5;
+ XMLVM_SOURCE_POSITION("Character.java", 500)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 449;
+ _r2.i = 5;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 450;
+ _r2.i = 5;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 451;
+ _r2.i = 5;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 452;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 453;
+ _r2.i = 3;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 454;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 455;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 456;
+ _r2.i = 3;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 457;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 458;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 459;
+ _r2.i = 3;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 460;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 461;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 462;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 463;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 464;
+ XMLVM_SOURCE_POSITION("Character.java", 501)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 465;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 466;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 467;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 468;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 469;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 470;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 471;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 472;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 473;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 474;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 475;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 476;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 477;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 478;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 479;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 480;
+ XMLVM_SOURCE_POSITION("Character.java", 502)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 481;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 482;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 483;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 484;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 485;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 486;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 487;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 488;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 489;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 490;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 491;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 492;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 493;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 494;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 495;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 496;
+ XMLVM_SOURCE_POSITION("Character.java", 503)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 497;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 498;
+ _r2.i = 3;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 499;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 500;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 501;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 502;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 503;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 504;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 505;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 506;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 507;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 508;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 509;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 510;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 511;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 512;
+ XMLVM_SOURCE_POSITION("Character.java", 504)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 513;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 514;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 515;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 516;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 517;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 518;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 519;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 520;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 521;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 522;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 523;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 524;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 525;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 526;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 527;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 528;
+ XMLVM_SOURCE_POSITION("Character.java", 505)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 529;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 530;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 531;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 532;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 533;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 534;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 535;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 536;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 537;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 538;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 539;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 540;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 541;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 542;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 543;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 544;
+ XMLVM_SOURCE_POSITION("Character.java", 506)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 545;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 546;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 547;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 548;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 549;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 550;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 551;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 552;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 553;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 554;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 555;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 556;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 557;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 558;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 559;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 560;
+ XMLVM_SOURCE_POSITION("Character.java", 507)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 561;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 562;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 563;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 564;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 565;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 566;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 592;
+ XMLVM_SOURCE_POSITION("Character.java", 509)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 593;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 594;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 595;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 596;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 597;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 598;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 599;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 600;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 601;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 602;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 603;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 604;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 605;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 606;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 607;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 608;
+ XMLVM_SOURCE_POSITION("Character.java", 510)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 609;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 610;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 611;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 612;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 613;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 614;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 615;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 616;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 617;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 618;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 619;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 620;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 621;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 622;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 623;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 624;
+ XMLVM_SOURCE_POSITION("Character.java", 511)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 625;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 626;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 627;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 628;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 629;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 630;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 631;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 632;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 633;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 634;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 635;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 636;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 637;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 638;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 639;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 640;
+ XMLVM_SOURCE_POSITION("Character.java", 512)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 641;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 642;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 643;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 644;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 645;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 646;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 647;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 648;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 649;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 650;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 651;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 652;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 653;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 654;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 655;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 656;
+ XMLVM_SOURCE_POSITION("Character.java", 513)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 657;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 658;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 659;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 660;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 661;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 662;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 663;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 664;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 665;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 666;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 667;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 668;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 669;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 670;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 671;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 672;
+ XMLVM_SOURCE_POSITION("Character.java", 514)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 673;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 674;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 675;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 676;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 677;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 678;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 679;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 680;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 681;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 682;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 683;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 684;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 685;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 686;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 687;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 688;
+ _r2.i = 4;
+ XMLVM_SOURCE_POSITION("Character.java", 515)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 689;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 690;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 691;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 692;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 693;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 694;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 695;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 696;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 697;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 698;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 699;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 700;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 701;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 702;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 703;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 704;
+ _r2.i = 4;
+ XMLVM_SOURCE_POSITION("Character.java", 516)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 705;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 706;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 707;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 708;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 709;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 710;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 711;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 712;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 713;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 714;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 715;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 716;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 717;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 718;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 719;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 720;
+ _r2.i = 4;
+ XMLVM_SOURCE_POSITION("Character.java", 517)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 721;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 722;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 723;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 724;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 725;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 726;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 727;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 728;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 729;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 730;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 731;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 732;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 733;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 734;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 735;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 736;
+ _r2.i = 4;
+ XMLVM_SOURCE_POSITION("Character.java", 518)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 737;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 738;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 739;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 740;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 741;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 742;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 743;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 744;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 745;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 746;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 747;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 748;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 749;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 750;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 751;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 752;
+ XMLVM_SOURCE_POSITION("Character.java", 519)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 753;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 754;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 755;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 756;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 757;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 758;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 759;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 760;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 761;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 762;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 763;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 764;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 765;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 766;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 767;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 768;
+ XMLVM_SOURCE_POSITION("Character.java", 520)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 769;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 770;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 771;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 772;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 773;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 774;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 775;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 776;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 777;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 778;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 779;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 780;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 781;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 782;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 783;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 784;
+ XMLVM_SOURCE_POSITION("Character.java", 521)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 785;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 786;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 787;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 788;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 789;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 790;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 791;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 792;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 793;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 794;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 795;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 796;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 797;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 798;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 799;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 800;
+ XMLVM_SOURCE_POSITION("Character.java", 522)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 801;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 802;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 803;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 804;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 805;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 806;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 807;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 808;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 809;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 810;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 811;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 812;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 813;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 814;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 815;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 816;
+ XMLVM_SOURCE_POSITION("Character.java", 523)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 817;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 818;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 819;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 820;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 821;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 822;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 823;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 824;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 825;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 826;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 827;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 828;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 829;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 830;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 831;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 832;
+ XMLVM_SOURCE_POSITION("Character.java", 524)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 833;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 834;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 835;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 836;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 837;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 838;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 839;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 840;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 841;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 842;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 843;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 844;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 845;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 846;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 847;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 848;
+ XMLVM_SOURCE_POSITION("Character.java", 525)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 849;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 850;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 851;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 852;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 853;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 854;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 855;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 861;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 862;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 863;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 864;
+ XMLVM_SOURCE_POSITION("Character.java", 526)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 865;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 866;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 867;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 868;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 869;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 870;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 871;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 872;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 873;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 874;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 875;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 876;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 877;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 878;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 879;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ _r1.i = 884;
+ XMLVM_SOURCE_POSITION("Character.java", 527)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 885;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 890;
+ _r2.i = 4;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 894;
+ _r2.i = 24;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 900;
+ XMLVM_SOURCE_POSITION("Character.java", 528)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 901;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ _r1.i = 902;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 903;
+ _r2.i = 24;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 904;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 905;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 906;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 908;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 910;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 911;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 912;
+ XMLVM_SOURCE_POSITION("Character.java", 529)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 913;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 914;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 915;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 916;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 917;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 918;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 919;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 920;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 921;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 922;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 923;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 924;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 925;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 926;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 927;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 928;
+ XMLVM_SOURCE_POSITION("Character.java", 530)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 929;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 931;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 932;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 933;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 934;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 935;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 936;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 937;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 938;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 939;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 940;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 941;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 942;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 943;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 944;
+ XMLVM_SOURCE_POSITION("Character.java", 531)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 945;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 946;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 947;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 948;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 949;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 950;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 951;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 952;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 953;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 954;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 955;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 956;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 957;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 958;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 959;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 960;
+ XMLVM_SOURCE_POSITION("Character.java", 532)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 961;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 962;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 963;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 964;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 965;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 966;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 967;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 968;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 969;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 970;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 971;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 972;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 973;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 974;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 976;
+ XMLVM_SOURCE_POSITION("Character.java", 533)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 977;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 978;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 979;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 980;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 981;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 982;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 983;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 984;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 985;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 986;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 987;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 988;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 989;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 990;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 991;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 992;
+ XMLVM_SOURCE_POSITION("Character.java", 534)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 993;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 994;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 995;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 996;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 997;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 998;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ _r1.i = 999;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ java_lang_Character_PUT_typeValuesCache( _r0.o);
+ XMLVM_SOURCE_POSITION("Character.java", 540)
+ // "z\177740\265\1347\366\177740\376\177740\377y\100457\177777\461\177430\100467\177777\100510\177777\100567\177777\100576\177777\577\177324\100605\177777\610\177777\614\177777\622\177777\625a\631\177777\100645\177777\650\177777\655\177777\660\177777\100666\177777\671\177777\675\177777\6778\705\177777\706\177776\710\177777\711\177776\713\177777\714\177776\100734\177777\735\177661\100757\177777\762\177777\763\177776\765\177777\101037\177777\101063\177777\1123\177456\1124\177462\1127\177463\1131\177466\1133\177465\1140\177463\1143\177461\1150\177457\1151\177455\1157\177455\1162\177453\1165\177452\1200\177446\1203\177446\1210\177446\1213\177447\1222\177445\1505T\1654\177732\1657\177733\1701\177740\1702\177741\1713\177740\1714\177700\1716\177701\1720\177702\1721\177707\1725\177721\1726\177712\101757\177777\1760\177652\1761\177660\1762\177661\2117\177740\2137\177660\102201\177777\102277\177777\102304\177777\2310\177777\2314\177777\102365\177777\2371\177777\2606\177720\117225\177777\17233\177705\117371\177777\17407\010\17425\010\17447\010\17467\010\17505\010\117527\010\17547\010\17561J\17565V\17567d\17571\200\17573p\17575\176\17607\010\17627\010\17647\010\17661\010\17663\011\17676\161733\17703\011\17721\010\17741\010\17745\007\17763\011\20577\177760\22351\177746\177532\177740"
+ _r0.o = xmlvm_create_java_string_from_pool(155);
+ XMLVM_SOURCE_POSITION("Character.java", 541)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_String_getValue__(_r0.o);
+ java_lang_Character_PUT_uppercaseValues( _r0.o);
+ XMLVM_SOURCE_POSITION("Character.java", 543)
+ _r0.i = 819;
+ XMLVM_CLASS_INIT(int)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_int, _r0.i);
+ XMLVMArray_fillArray(((org_xmlvm_runtime_XMLVMArray*) _r0.o), (JAVA_ARRAY_INT[]){924, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 247, 216, 217, 218, 219, 220, 221, 222, 376, 256, 256, 258, 258, 260, 260, 262, 262, 264, 264, 266, 266, 268, 268, 270, 270, 272, 272, 274, 274, 276, 276, 278, 278, 280, 280, 282, 282, 284, 284, 286, 286, 288, 288, 290, 290, 292, 292, 294, 294, 296, 296, 298, 298, 300, 300, 302, 302, 304, 73, 306, 306, 308, 308, 310, 310, 312, 313, 313, 315, 315, 317, 317, 319, 319, 321, 321, 323, 323, 325, 325, 327, 327, 329, 330, 330, 332, 332, 334, 334, 336, 336, 338, 338, 340, 340, 342, 342, 344, 344, 346, 346, 348, 348, 350, 350, 352, 352, 354, 354, 356, 356, 358, 358, 360, 360, 362, 362, 364, 364, 366, 366, 368, 368, 370, 370, 372, 372, 374, 374, 376, 377, 377, 379, 379, 381, 381, 83, 384, 385, 386, 386, 388, 388, 390, 391, 391, 393, 394, 395, 395, 397, 398, 399, 400, 401, 401, 403, 404, 502, 406, 407, 408, 408, 410, 411, 412, 413, 544, 415, 416, 416, 418, 418, 420, 420, 422, 423, 423, 425, 426, 427, 428, 428, 430, 431, 431, 433, 434, 435, 435, 437, 437, 439, 440, 440, 442, 443, 444, 444, 446, 503, 448, 449, 450, 451, 452, 452, 452, 455, 455, 455, 458, 458, 458, 461, 461, 463, 463, 465, 465, 467, 467, 469, 469, 471, 471, 473, 473, 475, 475, 398, 478, 478, 480, 480, 482, 482, 484, 484, 486, 486, 488, 488, 490, 490, 492, 492, 494, 494, 496, 497, 497, 497, 500, 500, 502, 503, 504, 504, 506, 506, 508, 508, 510, 510, 512, 512, 514, 514, 516, 516, 518, 518, 520, 520, 522, 522, 524, 524, 526, 526, 528, 528, 530, 530, 532, 532, 534, 534, 536, 536, 538, 538, 540, 540, 542, 542, 544, 545, 546, 546, 548, 548, 550, 550, 552, 552, 554, 554, 556, 556, 558, 558, 560, 560, 562, 562, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 385, 390, 597, 393, 394, 600, 399, 602, 400, 604, 605, 606, 607, 403, 609, 610, 404, 612, 613, 614, 615, 407, 406, 618, 619, 620, 621, 622, 412, 624, 625, 413, 627, 628, 415, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 422, 641, 642, 425, 644, 645, 646, 647, 430, 649, 433, 434, 652, 653, 654, 655, 656, 657, 439, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 921, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 902, 904, 905, 906, 944, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 931, 931, 932, 933, 934, 935, 936, 937, 938, 939, 908, 910, 911, 975, 914, 920, 978, 979, 980, 934, 928, 983, 984, 984, 986, 986, 988, 988, 990, 990, 992, 992, 994, 994, 996, 996, 998, 998, });
+ java_lang_Character_PUT_uppercaseValuesCache( _r0.o);
+ XMLVM_SOURCE_POSITION("Character.java", 599)
+ // "Z \326 \336 \100456\001\460\177471\100466\001\100507\001\100566\001\570\177607\100575\001\601\322\100604\001\606\316\607\001\612\315\613\001\616O\617\312\620\313\621\001\623\315\624\317\626\323\627\321\630\001\634\323\635\325\637\326\100644\001\646\332\647\001\651\332\654\001\656\332\657\001\662\331\100665\001\667\333\670\001\674\001\704\002\705\001\707\002\710\001\712\002\100733\001\100756\001\761\002\100764\001\766\177637\767\177710\101036\001\101062\001\1606&\1612%\1614@\1617?\1641 \1653 \101756\001\2017P\2057 \102200\001\102276\001\102303\001\2307\001\2313\001\102364\001\2370\001\25260\117224\001\117370\001\17417\177770\17435\177770\17457\177770\17477\177770\17515\177770\117537\177770\17557\177770\17617\177770\17637\177770\17657\177770\17671\177770\17673\177666\17674\177767\17713\177652\17714\177767\17731\177770\17733\177634\17751\177770\17753\177620\17754\177771\17771\177600\17773\177602\17774\177767\20446\161243\20452\157501\20453\157672\20557\020\22317\032\177472 "
+ _r0.o = xmlvm_create_java_string_from_pool(156);
+ XMLVM_SOURCE_POSITION("Character.java", 600)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_String_getValue__(_r0.o);
+ java_lang_Character_PUT_lowercaseValues( _r0.o);
+ XMLVM_SOURCE_POSITION("Character.java", 602)
+ _r0.i = 808;
+ XMLVM_CLASS_INIT(int)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_int, _r0.i);
+ XMLVMArray_fillArray(((org_xmlvm_runtime_XMLVMArray*) _r0.o), (JAVA_ARRAY_INT[]){224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 215, 248, 249, 250, 251, 252, 253, 254, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 257, 257, 259, 259, 261, 261, 263, 263, 265, 265, 267, 267, 269, 269, 271, 271, 273, 273, 275, 275, 277, 277, 279, 279, 281, 281, 283, 283, 285, 285, 287, 287, 289, 289, 291, 291, 293, 293, 295, 295, 297, 297, 299, 299, 301, 301, 303, 303, 105, 305, 307, 307, 309, 309, 311, 311, 312, 314, 314, 316, 316, 318, 318, 320, 320, 322, 322, 324, 324, 326, 326, 328, 328, 329, 331, 331, 333, 333, 335, 335, 337, 337, 339, 339, 341, 341, 343, 343, 345, 345, 347, 347, 349, 349, 351, 351, 353, 353, 355, 355, 357, 357, 359, 359, 361, 361, 363, 363, 365, 365, 367, 367, 369, 369, 371, 371, 373, 373, 375, 375, 255, 378, 378, 380, 380, 382, 382, 383, 384, 595, 387, 387, 389, 389, 596, 392, 392, 598, 599, 396, 396, 397, 477, 601, 603, 402, 402, 608, 611, 405, 617, 616, 409, 409, 410, 411, 623, 626, 414, 629, 417, 417, 419, 419, 421, 421, 640, 424, 424, 643, 426, 427, 429, 429, 648, 432, 432, 650, 651, 436, 436, 438, 438, 658, 441, 441, 442, 443, 445, 445, 446, 447, 448, 449, 450, 451, 454, 454, 454, 457, 457, 457, 460, 460, 460, 462, 462, 464, 464, 466, 466, 468, 468, 470, 470, 472, 472, 474, 474, 476, 476, 477, 479, 479, 481, 481, 483, 483, 485, 485, 487, 487, 489, 489, 491, 491, 493, 493, 495, 495, 496, 499, 499, 499, 501, 501, 405, 447, 505, 505, 507, 507, 509, 509, 511, 511, 513, 513, 515, 515, 517, 517, 519, 519, 521, 521, 523, 523, 525, 525, 527, 527, 529, 529, 531, 531, 533, 533, 535, 535, 537, 537, 539, 539, 541, 541, 543, 543, 414, 545, 547, 547, 549, 549, 551, 551, 553, 553, 555, 555, 557, 557, 559, 559, 561, 561, 563, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 940, 903, 941, 942, 943, 907, 972, 909, 973, 974, 912, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 930, 963, 964, 965, 966, 967, 968, 969, 970, 971, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 985, 985, 987, 987, 989, 989, 991, 991, 993, 993, 995, 995, 997, 997, 999, 999, });
+ java_lang_Character_PUT_lowercaseValuesCache( _r0.o);
+ XMLVM_SOURCE_POSITION("Character.java", 657)
+ // "90Z7zW\3151\3140\3371\3360\4557\4546\4757\4746\5157\5146\5357\5346\5557\5546\5757\5746\6157\6146\6357\6346\6557\6546\7131\7120\7331\7320\7451\7440\10111\10100\11561\11550\13751\13740\14031\14020\177431\177420\177472\177427\177532\177467"
+ _r0.o = xmlvm_create_java_string_from_pool(157);
+ XMLVM_SOURCE_POSITION("Character.java", 658)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_String_getValue__(_r0.o);
+ java_lang_Character_PUT_digitValues( _r0.o);
+ XMLVM_SOURCE_POSITION("Character.java", 660)
+ // "\002\002\002\002\002\002\002\002\002\000\000\000\000\000\002\002\002\002\002\002\002\002\002\002\002\002\002\002\000\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000\000\000\000\000\002\002\002\002\002\002\002\002\002\002\000\000\000\000\000\000\000\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\000\000\000\000\003\000\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\000\000\000\000\002"
+ _r0.o = xmlvm_create_java_string_from_pool(158);
+ XMLVM_SOURCE_POSITION("Character.java", 661)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_String_getValue__(_r0.o);
+ java_lang_Character_PUT_typeTags( _r0.o);
+ XMLVM_SOURCE_POSITION("Character.java", 663)
+ _r0.i = 19;
+ XMLVM_CLASS_INIT(byte)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r0.i);
+ XMLVM_SOURCE_POSITION("Character.java", 664)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r4.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r4.i;
+ XMLVM_SOURCE_POSITION("Character.java", 665)
+ _r1.i = 3;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r1.i;
+ _r1.i = 3;
+ _r2.i = 4;
+ XMLVM_SOURCE_POSITION("Character.java", 666)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 4;
+ _r2.i = 5;
+ XMLVM_SOURCE_POSITION("Character.java", 667)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 5;
+ XMLVM_SOURCE_POSITION("Character.java", 668)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ XMLVM_SOURCE_POSITION("Character.java", 669)
+ _r1.i = 7;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r5.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i] = _r1.i;
+ _r1.i = 7;
+ _r2.i = 10;
+ XMLVM_SOURCE_POSITION("Character.java", 670)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 8;
+ _r2.i = 11;
+ XMLVM_SOURCE_POSITION("Character.java", 671)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 9;
+ _r2.i = 12;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 10;
+ _r2.i = 13;
+ XMLVM_SOURCE_POSITION("Character.java", 672)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 11;
+ _r2.i = 14;
+ XMLVM_SOURCE_POSITION("Character.java", 673)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 12;
+ XMLVM_SOURCE_POSITION("Character.java", 674)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ _r1.i = 13;
+ XMLVM_SOURCE_POSITION("Character.java", 675)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r1.i = 14;
+ _r2.i = 16;
+ XMLVM_SOURCE_POSITION("Character.java", 676)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ XMLVM_SOURCE_POSITION("Character.java", 677)
+ _r1.i = 17;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r6.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r1.i;
+ _r1.i = 16;
+ _r2.i = 18;
+ XMLVM_SOURCE_POSITION("Character.java", 678)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 17;
+ _r2.i = 8;
+ XMLVM_SOURCE_POSITION("Character.java", 679)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 18;
+ _r2.i = 9;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ java_lang_Character_PUT_DIRECTIONALITY( _r0.o);
+ XMLVM_SOURCE_POSITION("Character.java", 688)
+ // "\705\705\710\710\713\713\762\762"
+ _r0.o = xmlvm_create_java_string_from_pool(159);
+ XMLVM_SOURCE_POSITION("Character.java", 689)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_String_getValue__(_r0.o);
+ java_lang_Character_PUT_titlecaseValues( _r0.o);
+ XMLVM_SOURCE_POSITION("Character.java", 694)
+ // "90Z7zW\263\260\271\270\276\000\3151\3140\3371\3360\4557\4546\4757\4746\4767\4763\4771\4751\5157\5146\5357\5346\5557\5546\5760\5746\5761\5615\5762\4012\6157\6146\6357\6346\6557\6546\7131\7120\7331\7320\7451\7440\10111\10100\11562\11550\11563\11537\11564\11526\11565\11515\11566\11504\11567\11473\11570\11462\11571\11451\11572\11440\11573\11427\11574\166154\13360\13335\13751\13740\14031\14020\20160\20160\20171\20160\20211\20200\20536\000\20537\20536\20553\20537\20554\20472\20555\20411\20556\17572\20557\16607\20573\20557\20574\20512\20575\20431\20576\17612\20577\16627\20600\16630\20601\6771\20602\175162\22163\22137\22207\22163\22233\22207\22352\22352\23577\23565\23611\23577\23623\23611\30007\30007\30051\30040\30070\30056\30071\30045\30072\30034\31211\31177\177431\177420\177472\177427\177532\177467"
+ _r0.o = xmlvm_create_java_string_from_pool(160);
+ XMLVM_SOURCE_POSITION("Character.java", 695)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_String_getValue__(_r0.o);
+ java_lang_Character_PUT_numericValues( _r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ label4189:;
+ _r0.i = 0;
+ goto label16;
+ label4192:;
+ label5834:;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Character___INIT____char(JAVA_OBJECT me, JAVA_CHAR n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character___INIT____char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 1975)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Character.java", 1976)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_Character*) _r0.o)->fields.java_lang_Character.value_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Character.java", 1977)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_CHAR java_lang_Character_charValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_charValue__]
+ XMLVM_ENTER_METHOD("java.lang.Character", "charValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Character.java", 1985)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Character*) _r1.o)->fields.java_lang_Character.value_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_compareTo___java_lang_Character(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_compareTo___java_lang_Character]
+ XMLVM_ENTER_METHOD("java.lang.Character", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 2003)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Character*) _r2.o)->fields.java_lang_Character.value_;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_Character*) _r3.o)->fields.java_lang_Character.value_;
+ _r0.i = _r0.i - _r1.i;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Character_valueOf___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_valueOf___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 2018)
+ _r0.i = 512;
+ if (_r1.i < _r0.i) goto label10;
+ XMLVM_SOURCE_POSITION("Character.java", 2019)
+ _r0.o = __NEW_java_lang_Character();
+ XMLVM_CHECK_NPE(0)
+ java_lang_Character___INIT____char(_r0.o, _r1.i);
+ label9:;
+ XMLVM_SOURCE_POSITION("Character.java", 2021)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label10:;
+
+
+ // Red class access removed: java.lang.Character$valueOfCache::access$0
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isValidCodePoint___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isValidCodePoint___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isValidCodePoint", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 2050)
+ if (_r1.i < 0) goto label9;
+ _r0.i = 1114111;
+ if (_r0.i < _r1.i) goto label9;
+ _r0.i = 1;
+ label8:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label9:;
+ _r0.i = 0;
+ goto label8;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isSupplementaryCodePoint___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isSupplementaryCodePoint___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isSupplementaryCodePoint", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 2064)
+ _r0.i = 65536;
+ if (_r0.i > _r1.i) goto label11;
+ _r0.i = 1114111;
+ if (_r0.i < _r1.i) goto label11;
+ _r0.i = 1;
+ label10:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label11:;
+ _r0.i = 0;
+ goto label10;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isHighSurrogate___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isHighSurrogate___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isHighSurrogate", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 2080)
+ _r0.i = 55296;
+ if (_r0.i > _r1.i) goto label12;
+ _r0.i = 56319;
+ if (_r0.i < _r1.i) goto label12;
+ _r0.i = 1;
+ label11:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label12:;
+ _r0.i = 0;
+ goto label11;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isLowSurrogate___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isLowSurrogate___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isLowSurrogate", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 2096)
+ _r0.i = 56320;
+ if (_r0.i > _r1.i) goto label12;
+ _r0.i = 57343;
+ if (_r0.i < _r1.i) goto label12;
+ _r0.i = 1;
+ label11:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label12:;
+ _r0.i = 0;
+ goto label11;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isSurrogatePair___char_char(JAVA_CHAR n1, JAVA_CHAR n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isSurrogatePair___char_char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isSurrogatePair", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.i = n1;
+ _r2.i = n2;
+ XMLVM_SOURCE_POSITION("Character.java", 2114)
+ _r0.i = java_lang_Character_isHighSurrogate___char(_r1.i);
+ if (_r0.i == 0) goto label14;
+ _r0.i = java_lang_Character_isLowSurrogate___char(_r2.i);
+ if (_r0.i == 0) goto label14;
+ _r0.i = 1;
+ label13:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label14:;
+ _r0.i = 0;
+ goto label13;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_charCount___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_charCount___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "charCount", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 2133)
+ _r0.i = 65536;
+ if (_r1.i < _r0.i) goto label6;
+ _r0.i = 2;
+ label5:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ _r0.i = 1;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_toCodePoint___char_char(JAVA_CHAR n1, JAVA_CHAR n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_toCodePoint___char_char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "toCodePoint", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.i = n1;
+ _r3.i = n2;
+ XMLVM_SOURCE_POSITION("Character.java", 2154)
+ _r0.i = _r2.i & 1023;
+ _r0.i = _r0.i << 10;
+ _r1.i = _r3.i & 1023;
+ _r0.i = _r0.i | _r1.i;
+ _r1.i = 65536;
+ _r0.i = _r0.i + _r1.i;
+ XMLVM_SOURCE_POSITION("Character.java", 2156)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_codePointAt___java_lang_CharSequence_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_codePointAt___java_lang_CharSequence_int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "codePointAt", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = n1;
+ _r4.i = n2;
+ XMLVM_SOURCE_POSITION("Character.java", 2182)
+ if (_r3.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Character.java", 2183)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("Character.java", 2185)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__])(_r3.o);
+ XMLVM_SOURCE_POSITION("Character.java", 2186)
+ if (_r4.i < 0) goto label16;
+ if (_r4.i < _r0.i) goto label22;
+ label16:;
+ XMLVM_SOURCE_POSITION("Character.java", 2187)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label22:;
+ XMLVM_SOURCE_POSITION("Character.java", 2190)
+ _r1.i = _r4.i + 1;
+ XMLVM_CHECK_NPE(3)
+ _r2.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_charAt___int])(_r3.o, _r4.i);
+ XMLVM_SOURCE_POSITION("Character.java", 2191)
+ if (_r1.i < _r0.i) goto label32;
+ _r0 = _r2;
+ label31:;
+ XMLVM_SOURCE_POSITION("Character.java", 2192)
+ XMLVM_SOURCE_POSITION("Character.java", 2198)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label32:;
+ XMLVM_SOURCE_POSITION("Character.java", 2194)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_charAt___int])(_r3.o, _r1.i);
+ XMLVM_SOURCE_POSITION("Character.java", 2195)
+ _r1.i = java_lang_Character_isSurrogatePair___char_char(_r2.i, _r0.i);
+ if (_r1.i == 0) goto label47;
+ XMLVM_SOURCE_POSITION("Character.java", 2196)
+ _r0.i = java_lang_Character_toCodePoint___char_char(_r2.i, _r0.i);
+ goto label31;
+ label47:;
+ _r0 = _r2;
+ goto label31;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_codePointAt___char_1ARRAY_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_codePointAt___char_1ARRAY_int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "codePointAt", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = n1;
+ _r4.i = n2;
+ XMLVM_SOURCE_POSITION("Character.java", 2224)
+ if (_r3.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Character.java", 2225)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("Character.java", 2227)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ XMLVM_SOURCE_POSITION("Character.java", 2228)
+ if (_r4.i < 0) goto label13;
+ if (_r4.i < _r0.i) goto label19;
+ label13:;
+ XMLVM_SOURCE_POSITION("Character.java", 2229)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label19:;
+ XMLVM_SOURCE_POSITION("Character.java", 2232)
+ _r1.i = _r4.i + 1;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ _r2.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ XMLVM_SOURCE_POSITION("Character.java", 2233)
+ if (_r1.i < _r0.i) goto label27;
+ _r0 = _r2;
+ label26:;
+ XMLVM_SOURCE_POSITION("Character.java", 2234)
+ XMLVM_SOURCE_POSITION("Character.java", 2240)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label27:;
+ XMLVM_SOURCE_POSITION("Character.java", 2236)
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r1.i);
+ _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_SOURCE_POSITION("Character.java", 2237)
+ _r1.i = java_lang_Character_isSurrogatePair___char_char(_r2.i, _r0.i);
+ if (_r1.i == 0) goto label40;
+ XMLVM_SOURCE_POSITION("Character.java", 2238)
+ _r0.i = java_lang_Character_toCodePoint___char_char(_r2.i, _r0.i);
+ goto label26;
+ label40:;
+ _r0 = _r2;
+ goto label26;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_codePointAt___char_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_codePointAt___char_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "codePointAt", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r3.o = n1;
+ _r4.i = n2;
+ _r5.i = n3;
+ XMLVM_SOURCE_POSITION("Character.java", 2269)
+ if (_r4.i < 0) goto label9;
+ if (_r4.i >= _r5.i) goto label9;
+ if (_r5.i < 0) goto label9;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ if (_r5.i <= _r0.i) goto label15;
+ label9:;
+ XMLVM_SOURCE_POSITION("Character.java", 2270)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label15:;
+ XMLVM_SOURCE_POSITION("Character.java", 2273)
+ _r0.i = _r4.i + 1;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ _r1.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ XMLVM_SOURCE_POSITION("Character.java", 2274)
+ if (_r0.i < _r5.i) goto label23;
+ _r0 = _r1;
+ label22:;
+ XMLVM_SOURCE_POSITION("Character.java", 2275)
+ XMLVM_SOURCE_POSITION("Character.java", 2281)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label23:;
+ XMLVM_SOURCE_POSITION("Character.java", 2277)
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_SOURCE_POSITION("Character.java", 2278)
+ _r2.i = java_lang_Character_isSurrogatePair___char_char(_r1.i, _r0.i);
+ if (_r2.i == 0) goto label36;
+ XMLVM_SOURCE_POSITION("Character.java", 2279)
+ _r0.i = java_lang_Character_toCodePoint___char_char(_r1.i, _r0.i);
+ goto label22;
+ label36:;
+ _r0 = _r1;
+ goto label22;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_codePointBefore___java_lang_CharSequence_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_codePointBefore___java_lang_CharSequence_int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "codePointBefore", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = n1;
+ _r4.i = n2;
+ XMLVM_SOURCE_POSITION("Character.java", 2307)
+ if (_r3.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Character.java", 2308)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("Character.java", 2310)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__])(_r3.o);
+ XMLVM_SOURCE_POSITION("Character.java", 2311)
+ _r1.i = 1;
+ if (_r4.i < _r1.i) goto label17;
+ if (_r4.i <= _r0.i) goto label23;
+ label17:;
+ XMLVM_SOURCE_POSITION("Character.java", 2312)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label23:;
+ XMLVM_SOURCE_POSITION("Character.java", 2315)
+ _r0.i = _r4.i + -1;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_charAt___int])(_r3.o, _r0.i);
+ XMLVM_SOURCE_POSITION("Character.java", 2316)
+ _r0.i = _r0.i + -1;
+ if (_r0.i >= 0) goto label35;
+ _r0 = _r1;
+ label34:;
+ XMLVM_SOURCE_POSITION("Character.java", 2317)
+ XMLVM_SOURCE_POSITION("Character.java", 2323)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label35:;
+ XMLVM_SOURCE_POSITION("Character.java", 2319)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_charAt___int])(_r3.o, _r0.i);
+ XMLVM_SOURCE_POSITION("Character.java", 2320)
+ _r2.i = java_lang_Character_isSurrogatePair___char_char(_r0.i, _r1.i);
+ if (_r2.i == 0) goto label50;
+ XMLVM_SOURCE_POSITION("Character.java", 2321)
+ _r0.i = java_lang_Character_toCodePoint___char_char(_r0.i, _r1.i);
+ goto label34;
+ label50:;
+ _r0 = _r1;
+ goto label34;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_codePointBefore___char_1ARRAY_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_codePointBefore___char_1ARRAY_int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "codePointBefore", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = n1;
+ _r4.i = n2;
+ XMLVM_SOURCE_POSITION("Character.java", 2349)
+ if (_r3.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Character.java", 2350)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("Character.java", 2352)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ XMLVM_SOURCE_POSITION("Character.java", 2353)
+ _r1.i = 1;
+ if (_r4.i < _r1.i) goto label14;
+ if (_r4.i <= _r0.i) goto label20;
+ label14:;
+ XMLVM_SOURCE_POSITION("Character.java", 2354)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label20:;
+ XMLVM_SOURCE_POSITION("Character.java", 2357)
+ _r0.i = _r4.i + -1;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ _r1.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_SOURCE_POSITION("Character.java", 2358)
+ _r0.i = _r0.i + -1;
+ if (_r0.i >= 0) goto label30;
+ _r0 = _r1;
+ label29:;
+ XMLVM_SOURCE_POSITION("Character.java", 2359)
+ XMLVM_SOURCE_POSITION("Character.java", 2365)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label30:;
+ XMLVM_SOURCE_POSITION("Character.java", 2361)
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_SOURCE_POSITION("Character.java", 2362)
+ _r2.i = java_lang_Character_isSurrogatePair___char_char(_r0.i, _r1.i);
+ if (_r2.i == 0) goto label43;
+ XMLVM_SOURCE_POSITION("Character.java", 2363)
+ _r0.i = java_lang_Character_toCodePoint___char_char(_r0.i, _r1.i);
+ goto label29;
+ label43:;
+ _r0 = _r1;
+ goto label29;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_codePointBefore___char_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_codePointBefore___char_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "codePointBefore", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r3.o = n1;
+ _r4.i = n2;
+ _r5.i = n3;
+ XMLVM_SOURCE_POSITION("Character.java", 2396)
+ if (_r3.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Character.java", 2397)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("Character.java", 2399)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ XMLVM_SOURCE_POSITION("Character.java", 2400)
+ if (_r4.i <= _r5.i) goto label17;
+ if (_r4.i > _r0.i) goto label17;
+ if (_r5.i < 0) goto label17;
+ if (_r5.i < _r0.i) goto label23;
+ label17:;
+ XMLVM_SOURCE_POSITION("Character.java", 2401)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label23:;
+ XMLVM_SOURCE_POSITION("Character.java", 2404)
+ _r0.i = _r4.i + -1;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ _r1.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_SOURCE_POSITION("Character.java", 2405)
+ _r0.i = _r0.i + -1;
+ if (_r0.i >= _r5.i) goto label33;
+ _r0 = _r1;
+ label32:;
+ XMLVM_SOURCE_POSITION("Character.java", 2406)
+ XMLVM_SOURCE_POSITION("Character.java", 2412)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label33:;
+ XMLVM_SOURCE_POSITION("Character.java", 2408)
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_SOURCE_POSITION("Character.java", 2409)
+ _r2.i = java_lang_Character_isSurrogatePair___char_char(_r0.i, _r1.i);
+ if (_r2.i == 0) goto label46;
+ XMLVM_SOURCE_POSITION("Character.java", 2410)
+ _r0.i = java_lang_Character_toCodePoint___char_char(_r0.i, _r1.i);
+ goto label32;
+ label46:;
+ _r0 = _r1;
+ goto label32;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_toChars___int_char_1ARRAY_int(JAVA_INT n1, JAVA_OBJECT n2, JAVA_INT n3)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_toChars___int_char_1ARRAY_int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "toChars", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r3.i = n1;
+ _r4.o = n2;
+ _r5.i = n3;
+ _r1.i = 1;
+ XMLVM_SOURCE_POSITION("Character.java", 2439)
+ _r0.i = java_lang_Character_isValidCodePoint___int(_r3.i);
+ if (_r0.i != 0) goto label13;
+ XMLVM_SOURCE_POSITION("Character.java", 2440)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label13:;
+ XMLVM_SOURCE_POSITION("Character.java", 2442)
+ if (_r4.o != JAVA_NULL) goto label21;
+ XMLVM_SOURCE_POSITION("Character.java", 2443)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label21:;
+ XMLVM_SOURCE_POSITION("Character.java", 2445)
+ if (_r5.i < 0) goto label26;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
+ if (_r5.i < _r0.i) goto label32;
+ label26:;
+ XMLVM_SOURCE_POSITION("Character.java", 2446)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label32:;
+ XMLVM_SOURCE_POSITION("Character.java", 2449)
+ _r0.i = java_lang_Character_isSupplementaryCodePoint___int(_r3.i);
+ if (_r0.i == 0) goto label76;
+ XMLVM_SOURCE_POSITION("Character.java", 2450)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
+ _r0.i = _r0.i - _r1.i;
+ if (_r5.i != _r0.i) goto label48;
+ XMLVM_SOURCE_POSITION("Character.java", 2451)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label48:;
+ XMLVM_SOURCE_POSITION("Character.java", 2455)
+ _r0.i = 65536;
+ _r0.i = _r3.i - _r0.i;
+ _r1.i = 55296;
+ _r2.i = _r0.i >> 10;
+ _r2.i = _r2.i & 1023;
+ _r1.i = _r1.i | _r2.i;
+ _r2.i = 56320;
+ _r0.i = _r0.i & 1023;
+ _r0.i = _r0.i | _r2.i;
+ _r1.i = _r1.i & 0xffff;
+ XMLVM_SOURCE_POSITION("Character.java", 2458)
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r5.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i] = _r1.i;
+ XMLVM_SOURCE_POSITION("Character.java", 2459)
+ _r1.i = _r5.i + 1;
+ _r0.i = _r0.i & 0xffff;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r1.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r0.i;
+ XMLVM_SOURCE_POSITION("Character.java", 2460)
+ _r0.i = 2;
+ label75:;
+ XMLVM_SOURCE_POSITION("Character.java", 2464)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label76:;
+ XMLVM_SOURCE_POSITION("Character.java", 2463)
+ _r0.i = _r3.i & 0xffff;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r5.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i] = _r0.i;
+ _r0 = _r1;
+ goto label75;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Character_toChars___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_toChars___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "toChars", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.i = n1;
+ _r4.i = 1;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("Character.java", 2482)
+ _r0.i = java_lang_Character_isValidCodePoint___int(_r5.i);
+ if (_r0.i != 0) goto label14;
+ XMLVM_SOURCE_POSITION("Character.java", 2483)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label14:;
+ XMLVM_SOURCE_POSITION("Character.java", 2486)
+ _r0.i = java_lang_Character_isSupplementaryCodePoint___int(_r5.i);
+ if (_r0.i == 0) goto label49;
+ XMLVM_SOURCE_POSITION("Character.java", 2487)
+ _r0.i = 65536;
+ _r0.i = _r5.i - _r0.i;
+ _r1.i = 55296;
+ _r2.i = _r0.i >> 10;
+ _r2.i = _r2.i & 1023;
+ _r1.i = _r1.i | _r2.i;
+ _r2.i = 56320;
+ _r0.i = _r0.i & 1023;
+ _r0.i = _r0.i | _r2.i;
+ _r2.i = 2;
+ XMLVM_SOURCE_POSITION("Character.java", 2490)
+ XMLVM_CLASS_INIT(char)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_char, _r2.i);
+ _r1.i = _r1.i & 0xffff;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r1.i;
+ _r0.i = _r0.i & 0xffff;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r4.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r0.i;
+ _r0 = _r2;
+ label48:;
+ XMLVM_SOURCE_POSITION("Character.java", 2492)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label49:;
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r4.i);
+ _r1.i = _r5.i & 0xffff;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r1.i;
+ goto label48;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_codePointCount___java_lang_CharSequence_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_codePointCount___java_lang_CharSequence_int_int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "codePointCount", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r3.o = n1;
+ _r4.i = n2;
+ _r5.i = n3;
+ XMLVM_SOURCE_POSITION("Character.java", 2517)
+ if (_r3.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Character.java", 2518)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("Character.java", 2520)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__])(_r3.o);
+ XMLVM_SOURCE_POSITION("Character.java", 2521)
+ if (_r4.i < 0) goto label18;
+ if (_r5.i > _r0.i) goto label18;
+ if (_r4.i <= _r5.i) goto label24;
+ label18:;
+ XMLVM_SOURCE_POSITION("Character.java", 2522)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label24:;
+ XMLVM_SOURCE_POSITION("Character.java", 2525)
+ _r0.i = 0;
+ _r1 = _r0;
+ _r0 = _r4;
+ label27:;
+ XMLVM_SOURCE_POSITION("Character.java", 2526)
+ if (_r0.i < _r5.i) goto label30;
+ XMLVM_SOURCE_POSITION("Character.java", 2538)
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ label30:;
+ XMLVM_SOURCE_POSITION("Character.java", 2527)
+ XMLVM_CHECK_NPE(3)
+ _r2.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_charAt___int])(_r3.o, _r0.i);
+ XMLVM_SOURCE_POSITION("Character.java", 2528)
+ _r2.i = java_lang_Character_isHighSurrogate___char(_r2.i);
+ if (_r2.i == 0) goto label56;
+ XMLVM_SOURCE_POSITION("Character.java", 2529)
+ _r0.i = _r0.i + 1;
+ if (_r0.i >= _r5.i) goto label56;
+ XMLVM_SOURCE_POSITION("Character.java", 2530)
+ XMLVM_CHECK_NPE(3)
+ _r2.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_charAt___int])(_r3.o, _r0.i);
+ XMLVM_SOURCE_POSITION("Character.java", 2531)
+ _r2.i = java_lang_Character_isLowSurrogate___char(_r2.i);
+ if (_r2.i != 0) goto label56;
+ XMLVM_SOURCE_POSITION("Character.java", 2532)
+ _r1.i = _r1.i + 1;
+ label56:;
+ XMLVM_SOURCE_POSITION("Character.java", 2536)
+ _r1.i = _r1.i + 1;
+ _r0.i = _r0.i + 1;
+ goto label27;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_codePointCount___char_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_codePointCount___char_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "codePointCount", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r4.o = n1;
+ _r5.i = n2;
+ _r6.i = n3;
+ XMLVM_SOURCE_POSITION("Character.java", 2564)
+ if (_r4.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Character.java", 2565)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("Character.java", 2567)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
+ XMLVM_SOURCE_POSITION("Character.java", 2568)
+ _r1.i = _r5.i + _r6.i;
+ if (_r5.i < 0) goto label17;
+ XMLVM_SOURCE_POSITION("Character.java", 2569)
+ if (_r6.i < 0) goto label17;
+ if (_r1.i <= _r0.i) goto label23;
+ label17:;
+ XMLVM_SOURCE_POSITION("Character.java", 2570)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label23:;
+ XMLVM_SOURCE_POSITION("Character.java", 2573)
+ _r0.i = 0;
+ _r2 = _r0;
+ _r0 = _r5;
+ label26:;
+ XMLVM_SOURCE_POSITION("Character.java", 2574)
+ if (_r0.i < _r1.i) goto label29;
+ XMLVM_SOURCE_POSITION("Character.java", 2586)
+ XMLVM_EXIT_METHOD()
+ return _r2.i;
+ label29:;
+ XMLVM_SOURCE_POSITION("Character.java", 2575)
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r0.i);
+ _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_SOURCE_POSITION("Character.java", 2576)
+ _r3.i = java_lang_Character_isHighSurrogate___char(_r3.i);
+ if (_r3.i == 0) goto label51;
+ XMLVM_SOURCE_POSITION("Character.java", 2577)
+ _r0.i = _r0.i + 1;
+ if (_r0.i >= _r1.i) goto label51;
+ XMLVM_SOURCE_POSITION("Character.java", 2578)
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r0.i);
+ _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_SOURCE_POSITION("Character.java", 2579)
+ _r3.i = java_lang_Character_isLowSurrogate___char(_r3.i);
+ if (_r3.i != 0) goto label51;
+ XMLVM_SOURCE_POSITION("Character.java", 2580)
+ _r2.i = _r2.i + 1;
+ label51:;
+ XMLVM_SOURCE_POSITION("Character.java", 2584)
+ _r2.i = _r2.i + 1;
+ _r0.i = _r0.i + 1;
+ goto label26;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_offsetByCodePoints___java_lang_CharSequence_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_offsetByCodePoints___java_lang_CharSequence_int_int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "offsetByCodePoints", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r4.o = n1;
+ _r5.i = n2;
+ _r6.i = n3;
+ XMLVM_SOURCE_POSITION("Character.java", 2614)
+ if (_r4.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Character.java", 2615)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("Character.java", 2617)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__])(_r4.o);
+ XMLVM_SOURCE_POSITION("Character.java", 2618)
+ if (_r5.i < 0) goto label16;
+ if (_r5.i <= _r0.i) goto label22;
+ label16:;
+ XMLVM_SOURCE_POSITION("Character.java", 2619)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label22:;
+ XMLVM_SOURCE_POSITION("Character.java", 2622)
+ if (_r6.i != 0) goto label26;
+ _r0 = _r5;
+ label25:;
+ XMLVM_SOURCE_POSITION("Character.java", 2623)
+ XMLVM_SOURCE_POSITION("Character.java", 2661)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label26:;
+ XMLVM_SOURCE_POSITION("Character.java", 2626)
+ if (_r6.i <= 0) goto label73;
+ _r1 = _r5;
+ _r2 = _r6;
+ label30:;
+ XMLVM_SOURCE_POSITION("Character.java", 2629)
+ if (_r2.i > 0) goto label34;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("Character.java", 2642)
+ goto label25;
+ label34:;
+ XMLVM_SOURCE_POSITION("Character.java", 2630)
+ _r2.i = _r2.i + -1;
+ if (_r1.i < _r0.i) goto label44;
+ XMLVM_SOURCE_POSITION("Character.java", 2631)
+ XMLVM_SOURCE_POSITION("Character.java", 2632)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label44:;
+ XMLVM_SOURCE_POSITION("Character.java", 2634)
+ XMLVM_CHECK_NPE(4)
+ _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_charAt___int])(_r4.o, _r1.i);
+ _r3.i = java_lang_Character_isHighSurrogate___char(_r3.i);
+ if (_r3.i == 0) goto label70;
+ XMLVM_SOURCE_POSITION("Character.java", 2635)
+ _r3.i = _r1.i + 1;
+ if (_r3.i >= _r0.i) goto label70;
+ XMLVM_SOURCE_POSITION("Character.java", 2636)
+ XMLVM_CHECK_NPE(4)
+ _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_charAt___int])(_r4.o, _r3.i);
+ _r3.i = java_lang_Character_isLowSurrogate___char(_r3.i);
+ if (_r3.i == 0) goto label70;
+ XMLVM_SOURCE_POSITION("Character.java", 2637)
+ _r1.i = _r1.i + 1;
+ label70:;
+ XMLVM_SOURCE_POSITION("Character.java", 2640)
+ _r1.i = _r1.i + 1;
+ goto label30;
+ label73:;
+ XMLVM_SOURCE_POSITION("Character.java", 2645)
+ _r0.i = java_lang_Character_GET__assertionsDisabled();
+ if (_r0.i != 0) goto label85;
+ if (_r6.i < 0) goto label85;
+
+
+ // Red class access removed: java.lang.AssertionError::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.AssertionError::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label85:;
+ XMLVM_SOURCE_POSITION("Character.java", 2646)
+ _r0.i = -_r6.i;
+ _r1 = _r0;
+ _r0 = _r5;
+ label88:;
+ XMLVM_SOURCE_POSITION("Character.java", 2648)
+ if (_r1.i <= 0) goto label25;
+ XMLVM_SOURCE_POSITION("Character.java", 2649)
+ _r1.i = _r1.i + -1;
+ _r0.i = _r0.i + -1;
+ if (_r0.i >= 0) goto label102;
+ XMLVM_SOURCE_POSITION("Character.java", 2651)
+ XMLVM_SOURCE_POSITION("Character.java", 2652)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label102:;
+ XMLVM_SOURCE_POSITION("Character.java", 2654)
+ XMLVM_CHECK_NPE(4)
+ _r2.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_charAt___int])(_r4.o, _r0.i);
+ _r2.i = java_lang_Character_isLowSurrogate___char(_r2.i);
+ if (_r2.i == 0) goto label88;
+ XMLVM_SOURCE_POSITION("Character.java", 2655)
+ _r2.i = 1;
+ _r2.i = _r0.i - _r2.i;
+ if (_r2.i < 0) goto label88;
+ XMLVM_SOURCE_POSITION("Character.java", 2656)
+ XMLVM_CHECK_NPE(4)
+ _r2.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_charAt___int])(_r4.o, _r2.i);
+ _r2.i = java_lang_Character_isHighSurrogate___char(_r2.i);
+ if (_r2.i == 0) goto label88;
+ XMLVM_SOURCE_POSITION("Character.java", 2657)
+ _r0.i = _r0.i + -1;
+ goto label88;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_offsetByCodePoints___char_1ARRAY_int_int_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3, JAVA_INT n4, JAVA_INT n5)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_offsetByCodePoints___char_1ARRAY_int_int_int_int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "offsetByCodePoints", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r4.o = n1;
+ _r5.i = n2;
+ _r6.i = n3;
+ _r7.i = n4;
+ _r8.i = n5;
+ XMLVM_SOURCE_POSITION("Character.java", 2698)
+ if (_r4.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Character.java", 2699)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("Character.java", 2701)
+ _r0.i = _r5.i + _r6.i;
+ if (_r5.i < 0) goto label21;
+ XMLVM_SOURCE_POSITION("Character.java", 2702)
+ if (_r6.i < 0) goto label21;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
+ if (_r0.i > _r1.i) goto label21;
+ if (_r7.i < _r5.i) goto label21;
+ XMLVM_SOURCE_POSITION("Character.java", 2703)
+ if (_r7.i <= _r0.i) goto label27;
+ label21:;
+ XMLVM_SOURCE_POSITION("Character.java", 2704)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label27:;
+ XMLVM_SOURCE_POSITION("Character.java", 2707)
+ if (_r8.i != 0) goto label31;
+ _r0 = _r7;
+ label30:;
+ XMLVM_SOURCE_POSITION("Character.java", 2708)
+ XMLVM_SOURCE_POSITION("Character.java", 2746)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label31:;
+ XMLVM_SOURCE_POSITION("Character.java", 2711)
+ if (_r8.i <= 0) goto label74;
+ _r1 = _r7;
+ _r2 = _r8;
+ label35:;
+ XMLVM_SOURCE_POSITION("Character.java", 2714)
+ if (_r2.i > 0) goto label39;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("Character.java", 2727)
+ goto label30;
+ label39:;
+ XMLVM_SOURCE_POSITION("Character.java", 2715)
+ _r2.i = _r2.i + -1;
+ if (_r1.i < _r0.i) goto label49;
+ XMLVM_SOURCE_POSITION("Character.java", 2716)
+ XMLVM_SOURCE_POSITION("Character.java", 2717)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label49:;
+ XMLVM_SOURCE_POSITION("Character.java", 2719)
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r1.i);
+ _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ _r3.i = java_lang_Character_isHighSurrogate___char(_r3.i);
+ if (_r3.i == 0) goto label71;
+ XMLVM_SOURCE_POSITION("Character.java", 2720)
+ _r3.i = _r1.i + 1;
+ if (_r3.i >= _r0.i) goto label71;
+ XMLVM_SOURCE_POSITION("Character.java", 2721)
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r3.i);
+ _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ _r3.i = java_lang_Character_isLowSurrogate___char(_r3.i);
+ if (_r3.i == 0) goto label71;
+ XMLVM_SOURCE_POSITION("Character.java", 2722)
+ _r1.i = _r1.i + 1;
+ label71:;
+ XMLVM_SOURCE_POSITION("Character.java", 2725)
+ _r1.i = _r1.i + 1;
+ goto label35;
+ label74:;
+ XMLVM_SOURCE_POSITION("Character.java", 2730)
+ _r0.i = java_lang_Character_GET__assertionsDisabled();
+ if (_r0.i != 0) goto label86;
+ if (_r8.i < 0) goto label86;
+
+
+ // Red class access removed: java.lang.AssertionError::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.AssertionError::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label86:;
+ XMLVM_SOURCE_POSITION("Character.java", 2731)
+ _r0.i = -_r8.i;
+ _r1 = _r0;
+ _r0 = _r7;
+ label89:;
+ XMLVM_SOURCE_POSITION("Character.java", 2733)
+ if (_r1.i <= 0) goto label30;
+ XMLVM_SOURCE_POSITION("Character.java", 2734)
+ _r1.i = _r1.i + -1;
+ _r0.i = _r0.i + -1;
+ if (_r0.i >= _r5.i) goto label103;
+ XMLVM_SOURCE_POSITION("Character.java", 2736)
+ XMLVM_SOURCE_POSITION("Character.java", 2737)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label103:;
+ XMLVM_SOURCE_POSITION("Character.java", 2739)
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r0.i);
+ _r2.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ _r2.i = java_lang_Character_isLowSurrogate___char(_r2.i);
+ if (_r2.i == 0) goto label89;
+ XMLVM_SOURCE_POSITION("Character.java", 2740)
+ _r2.i = 1;
+ _r2.i = _r0.i - _r2.i;
+ if (_r2.i < _r5.i) goto label89;
+ XMLVM_SOURCE_POSITION("Character.java", 2741)
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r2.i);
+ _r2.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ _r2.i = java_lang_Character_isHighSurrogate___char(_r2.i);
+ if (_r2.i == 0) goto label89;
+ XMLVM_SOURCE_POSITION("Character.java", 2742)
+ _r0.i = _r0.i + -1;
+ goto label89;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_digit___char_int(JAVA_CHAR n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_digit___char_int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "digit", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.i = n1;
+ _r5.i = n2;
+ _r1.i = 48;
+ _r3.i = -1;
+ XMLVM_SOURCE_POSITION("Character.java", 2762)
+ _r0.i = 2;
+ if (_r5.i < _r0.i) goto label84;
+ _r0.i = 36;
+ if (_r5.i > _r0.i) goto label84;
+ XMLVM_SOURCE_POSITION("Character.java", 2763)
+ _r0.i = 128;
+ if (_r4.i >= _r0.i) goto label53;
+ XMLVM_SOURCE_POSITION("Character.java", 2766)
+ if (_r1.i > _r4.i) goto label25;
+ _r0.i = 57;
+ if (_r4.i > _r0.i) goto label25;
+ XMLVM_SOURCE_POSITION("Character.java", 2767)
+ _r0.i = _r4.i - _r1.i;
+ label22:;
+ XMLVM_SOURCE_POSITION("Character.java", 2773)
+ if (_r0.i >= _r5.i) goto label51;
+ label24:;
+ XMLVM_SOURCE_POSITION("Character.java", 2784)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label25:;
+ XMLVM_SOURCE_POSITION("Character.java", 2768)
+ _r0.i = 97;
+ if (_r0.i > _r4.i) goto label38;
+ _r0.i = 122;
+ if (_r4.i > _r0.i) goto label38;
+ XMLVM_SOURCE_POSITION("Character.java", 2769)
+ _r0.i = 87;
+ _r0.i = _r4.i - _r0.i;
+ goto label22;
+ label38:;
+ XMLVM_SOURCE_POSITION("Character.java", 2770)
+ _r0.i = 65;
+ if (_r0.i > _r4.i) goto label86;
+ _r0.i = 90;
+ if (_r4.i > _r0.i) goto label86;
+ XMLVM_SOURCE_POSITION("Character.java", 2771)
+ _r0.i = 55;
+ _r0.i = _r4.i - _r0.i;
+ goto label22;
+ label51:;
+ _r0 = _r3;
+ goto label24;
+ label53:;
+ XMLVM_SOURCE_POSITION("Character.java", 2775)
+ // "0Aa\3140\3360\4546\4746\5146\5346\5546\5747\6146\6346\6546\7120\7320\7440\10100\11551\13740\14020\177420\177441\177501"
+ _r0.o = xmlvm_create_java_string_from_pool(149);
+
+
+ // Red class access removed: org.apache.harmony.luni.util.BinarySearch::binarySearchRange
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Character.java", 2776)
+ if (_r0.i < 0) goto label84;
+ _r1.o = java_lang_Character_GET_digitValues();
+ _r2.i = _r0.i * 2;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r2.i);
+ _r1.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ if (_r4.i > _r1.i) goto label84;
+ XMLVM_SOURCE_POSITION("Character.java", 2777)
+ _r1.o = java_lang_Character_GET_digitValues();
+ _r0.i = _r0.i * 2;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ _r0.i = _r4.i - _r0.i;
+ _r0.i = _r0.i & 0xffff;
+ if (_r0.i < _r5.i) goto label24;
+ XMLVM_SOURCE_POSITION("Character.java", 2778)
+ _r0 = _r3;
+ XMLVM_SOURCE_POSITION("Character.java", 2779)
+ goto label24;
+ label84:;
+ _r0 = _r3;
+ goto label24;
+ label86:;
+ _r0 = _r3;
+ goto label22;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_digit___int_int(JAVA_INT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_digit___int_int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "digit", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.i = n1;
+ _r2.i = n2;
+ XMLVM_SOURCE_POSITION("Character.java", 2801)
+
+
+ // Red class access removed: com.ibm.icu.lang.UCharacter::digit
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.Character", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 2816)
+ XMLVM_CLASS_INIT(java_lang_Character)
+ _r0.i = XMLVM_ISA(_r3.o, __CLASS_java_lang_Character);
+ if (_r0.i == 0) goto label14;
+ XMLVM_SOURCE_POSITION("Character.java", 2817)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Character*) _r2.o)->fields.java_lang_Character.value_;
+ _r3.o = _r3.o;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_Character*) _r3.o)->fields.java_lang_Character.value_;
+ if (_r0.i != _r1.i) goto label14;
+ _r0.i = 1;
+ label13:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label14:;
+ _r0.i = 0;
+ goto label13;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_CHAR java_lang_Character_forDigit___int_int(JAVA_INT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_forDigit___int_int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "forDigit", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.i = n1;
+ _r3.i = n2;
+ _r1.i = 10;
+ XMLVM_SOURCE_POSITION("Character.java", 2835)
+ _r0.i = 2;
+ if (_r0.i > _r3.i) goto label23;
+ _r0.i = 36;
+ if (_r3.i > _r0.i) goto label23;
+ XMLVM_SOURCE_POSITION("Character.java", 2836)
+ if (_r2.i < 0) goto label23;
+ if (_r2.i >= _r3.i) goto label23;
+ XMLVM_SOURCE_POSITION("Character.java", 2837)
+ if (_r2.i >= _r1.i) goto label19;
+ _r0.i = _r2.i + 48;
+ label17:;
+ _r0.i = _r0.i & 0xffff;
+ label18:;
+ XMLVM_SOURCE_POSITION("Character.java", 2840)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label19:;
+ _r0.i = _r2.i + 97;
+ _r0.i = _r0.i - _r1.i;
+ goto label17;
+ label23:;
+ _r0.i = 0;
+ goto label18;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_getNumericValue___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_getNumericValue___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "getNumericValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.i = n1;
+ _r1.i = 48;
+ _r3.i = -1;
+ XMLVM_SOURCE_POSITION("Character.java", 2853)
+ _r0.i = 128;
+ if (_r4.i >= _r0.i) goto label44;
+ XMLVM_SOURCE_POSITION("Character.java", 2855)
+ if (_r4.i < _r1.i) goto label16;
+ _r0.i = 57;
+ if (_r4.i > _r0.i) goto label16;
+ XMLVM_SOURCE_POSITION("Character.java", 2856)
+ _r0.i = _r4.i - _r1.i;
+ label15:;
+ XMLVM_SOURCE_POSITION("Character.java", 2878)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label16:;
+ XMLVM_SOURCE_POSITION("Character.java", 2858)
+ _r0.i = 97;
+ if (_r4.i < _r0.i) goto label29;
+ _r0.i = 122;
+ if (_r4.i > _r0.i) goto label29;
+ XMLVM_SOURCE_POSITION("Character.java", 2859)
+ _r0.i = 87;
+ _r0.i = _r4.i - _r0.i;
+ goto label15;
+ label29:;
+ XMLVM_SOURCE_POSITION("Character.java", 2861)
+ _r0.i = 65;
+ if (_r4.i < _r0.i) goto label42;
+ _r0.i = 90;
+ if (_r4.i > _r0.i) goto label42;
+ XMLVM_SOURCE_POSITION("Character.java", 2862)
+ _r0.i = 55;
+ _r0.i = _r4.i - _r0.i;
+ goto label15;
+ label42:;
+ _r0 = _r3;
+ XMLVM_SOURCE_POSITION("Character.java", 2864)
+ goto label15;
+ label44:;
+ XMLVM_SOURCE_POSITION("Character.java", 2866)
+ // "0Aa\262\271\274\3140\3360\4546\4746\4764\4771\5146\5346\5546\5747\5761\5762\6146\6346\6546\7120\7320\7440\10100\11551\11563\11564\11565\11566\11567\11570\11571\11572\11573\11574\13356\13740\14020\20160\20164\20200\20523\20537\20540\20554\20555\20556\20557\20560\20574\20575\20576\20577\20600\20601\20602\22140\22164\22210\22352\23566\23600\23612\30007\30041\30070\30071\30072\31200\177420\177441\177501"
+ _r0.o = xmlvm_create_java_string_from_pool(151);
+
+
+ // Red class access removed: org.apache.harmony.luni.util.BinarySearch::binarySearchRange
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Character.java", 2867)
+ if (_r0.i < 0) goto label81;
+ _r1.o = java_lang_Character_GET_numericValues();
+ _r2.i = _r0.i * 2;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r2.i);
+ _r1.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ if (_r4.i > _r1.i) goto label81;
+ XMLVM_SOURCE_POSITION("Character.java", 2868)
+ _r1.o = java_lang_Character_GET_numericValues();
+ _r0.i = _r0.i * 2;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_SOURCE_POSITION("Character.java", 2869)
+ if (_r0.i != 0) goto label72;
+ XMLVM_SOURCE_POSITION("Character.java", 2870)
+ _r0.i = -2;
+ goto label15;
+ label72:;
+ XMLVM_SOURCE_POSITION("Character.java", 2873)
+ if (_r0.i <= _r4.i) goto label78;
+ XMLVM_SOURCE_POSITION("Character.java", 2874)
+ _r0.i = (_r0.i << 16) >> 16;
+ _r0.i = _r4.i - _r0.i;
+ goto label15;
+ label78:;
+ XMLVM_SOURCE_POSITION("Character.java", 2876)
+ _r0.i = _r4.i - _r0.i;
+ goto label15;
+ label81:;
+ _r0 = _r3;
+ goto label15;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_getNumericValue___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_getNumericValue___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "getNumericValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 2894)
+
+
+ // Red class access removed: com.ibm.icu.lang.UCharacter::getNumericValue
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_getType___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_getType___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "getType", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 2905)
+ _r0.i = 1000;
+ if (_r3.i >= _r0.i) goto label9;
+ XMLVM_SOURCE_POSITION("Character.java", 2906)
+ _r0.o = java_lang_Character_GET_typeValuesCache();
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
+ _r0.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ label8:;
+ XMLVM_SOURCE_POSITION("Character.java", 2917)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label9:;
+ XMLVM_SOURCE_POSITION("Character.java", 2908)
+ // "\000 \042$&(*-/1:<?A[]_a\173\175\177\240\242\246\250\252\254\256\261\263\265\267\271\273\275\277\301\327\331\337\367\371\400\470\511\571\577\601\603\607\612\614\616\622\624\627\631\634\636\640\647\653\657\662\664\670\672\674\676\700\704\706\710\712\714\735\760\762\764\767\771\1042\1120\1260\1271\1273\1302\1320\1322\1340\1345\1356\1400\1540\1564\1572\1576\1604\1606\1611\1614\1616\1620\1622\1643\1654\1720\1722\1725\1732\1760\2000\2060\2140\2202\2204\2210\2214\2301\2307\2313\2320\2370\2461\2531\2533\2541\2611\2621\2643\2673\2676\2702\2720\2760\2763\3014\3033\3037\3041\3100\3102\3113\3140\3152\3160\3162\3324\3326\3335\3337\3345\3347\3351\3353\3360\3372\3375\3400\3417\3421\3423\3460\3600\3646\4401\4403\4405\4474\4476\4501\4511\4515\4520\4522\4530\4542\4544\4546\4560\4601\4603\4605\4617\4623\4652\4662\4666\4674\4676\4701\4707\4713\4715\4727\4734\4737\4742\4746\4760\4762\4764\4772\5002\5005\5017\5023\5052\5062\5065\5070\5074\5076\5101\5107\5113\5131\5136\5146\5160\5162\5201\5203\5205\5215\5217\5223\5252\5262\5265\5274\5276\5301\5307\5311\5313\5315\5320\5340\5346\5401\5403\5405\5417\5423\5452\5462\5466\5474\5476\5502\5507\5513\5515\5526\5534\5537\5546\5560\5602\5605\5616\5622\5631\5634\5636\5643\5650\5656\5667\5676\5700\5702\5706\5712\5715\5727\5747\5760\6001\6005\6016\6022\6052\6065\6076\6101\6106\6112\6125\6140\6146\6202\6205\6216\6222\6252\6265\6276\6301\6306\6310\6312\6314\6325\6336\6340\6346\6402\6405\6416\6422\6452\6476\6501\6506\6512\6515\6527\6540\6546\6602\6605\6632\6663\6675\6700\6712\6717\6722\6726\6730\6762\6764\7001\7061\7063\7065\7077\7101\7106\7110\7117\7121\7132\7201\7204\7207\7212\7215\7224\7231\7241\7245\7247\7252\7255\7261\7263\7265\7273\7275\7300\7306\7310\7320\7334\7400\7402\7404\7423\7430\7432\7440\7452\7464\7472\7476\7500\7511\7561\7577\7601\7605\7607\7611\7620\7631\7676\7706\7710\7717\10000\10043\10051\10054\10056\10061\10066\10070\10100\10112\10120\10126\10130\10240\10320\10373\10400\10537\10650\11000\11010\11110\11112\11120\11130\11132\11140\11210\11212\11220\11260\11262\11270\11300\11302\11310\11320\11330\11360\11420\11422\11430\11440\11510\11541\11551\11562\11640\12001\13155\13157\13200\13202\13233\13240\13353\13356\13600\13664\13667\13676\13706\13710\13712\13724\13733\13740\14000\14006\14010\14013\14020\14040\14103\14105\14200\14251\17000\17226\17240\17400\17410\17420\17430\17440\17450\17460\17470\17500\17510\17520\17531\17533\17535\17537\17541\17550\17560\17600\17610\17620\17630\17640\17650\17660\17666\17670\17674\17676\17700\17702\17706\17710\17714\17716\17720\17726\17730\17735\17740\17750\17755\17762\17766\17770\17774\17776\20000\20014\20020\20026\20030\20032\20034\20036\20040\20050\20052\20057\20061\20071\20073\20077\20101\20104\20106\20110\20152\20160\20164\20172\20175\20177\20201\20212\20215\20240\20320\20335\20341\20343\20400\20402\20404\20407\20411\20413\20416\20420\20423\20425\20427\20431\20436\20444\20453\20456\20460\20462\20464\20466\20471\20523\20540\20620\20625\20632\20634\20640\20642\20645\20650\20656\20660\20716\20720\20722\20726\21000\21400\21410\21414\21440\21442\21451\21453\21575\22000\22100\22140\22234\22352\22400\22640\22667\22671\22701\22703\23000\23031\23157\23161\23401\23406\23414\23451\23515\23517\23526\23530\23541\23566\23624\23630\23661\24000\27200\27233\27400\27760\30000\30002\30004\30006\30010\30022\30024\30034\30036\30040\30042\30052\30060\30062\30066\30070\30076\30101\30231\30233\30235\30241\30373\30375\30405\30461\30620\30622\30626\30640\31000\31040\31052\31140\31177\31201\31212\31300\31320\31400\31573\31740\32000\47000\120000\122220\122244\122265\122302\122306\126000\154000\160000\174400\175400\175423\175435\175440\175451\175453\175470\175476\175500\175503\175506\175723\176476\176520\176622\176760\177040\177060\177062\177064\177066\177111\177115\177120\177124\177130\177132\177137\177142\177145\177150\177153\177160\177164\177166\177377\177401\177404\177406\177410\177412\177415\177417\177421\177432\177434\177437\177441\177473\177475\177477\177501\177533\177535\177541\177543\177545\177547\177560\177562\177636\177640\177702\177712\177722\177732\177740\177742\177744\177746\177750\177752\177755\177771\177774"
+ _r0.o = xmlvm_create_java_string_from_pool(146);
+
+
+ // Red class access removed: org.apache.harmony.luni.util.BinarySearch::binarySearchRange
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Character.java", 2909)
+ _r1.o = java_lang_Character_GET_typeValues();
+ _r2.i = _r0.i * 2;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r2.i);
+ _r1.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_SOURCE_POSITION("Character.java", 2910)
+ if (_r3.i > _r1.i) goto label46;
+ XMLVM_SOURCE_POSITION("Character.java", 2911)
+ _r1.o = java_lang_Character_GET_typeValues();
+ _r0.i = _r0.i * 2;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_SOURCE_POSITION("Character.java", 2912)
+ _r1.i = 256;
+ if (_r0.i < _r1.i) goto label8;
+ XMLVM_SOURCE_POSITION("Character.java", 2915)
+ _r1.i = _r3.i & 1;
+ _r2.i = 1;
+ if (_r1.i != _r2.i) goto label43;
+ _r0.i = _r0.i >> 8;
+ goto label8;
+ label43:;
+ _r0.i = _r0.i & 255;
+ goto label8;
+ label46:;
+ _r0.i = 0;
+ goto label8;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_getType___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_getType___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "getType", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 2928)
+ _r0.i = 1000;
+ if (_r2.i >= _r0.i) goto label11;
+ if (_r2.i <= 0) goto label11;
+ XMLVM_SOURCE_POSITION("Character.java", 2929)
+ _r0.o = java_lang_Character_GET_typeValuesCache();
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ _r0.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ label10:;
+ XMLVM_SOURCE_POSITION("Character.java", 2938)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label11:;
+ XMLVM_SOURCE_POSITION("Character.java", 2931)
+
+
+ // Red class access removed: com.ibm.icu.lang.UCharacter::getType
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Character.java", 2935)
+ _r1.i = 16;
+ if (_r0.i <= _r1.i) goto label10;
+ _r0.i = _r0.i + 1;
+ goto label10;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BYTE java_lang_Character_getDirectionality___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_getDirectionality___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "getDirectionality", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.i = n1;
+ _r3.i = 1;
+ XMLVM_SOURCE_POSITION("Character.java", 2949)
+ // "\000\011\014\016\034\037!#&+/1:<A[a\173\177\205\207\240\242\246\252\254\260\262\264\267\271\273\300\327\331\367\371\1042\1120\1260\1271\1273\1302\1320\1322\1340\1345\1356\1400\1540\1564\1572\1576\1604\1606\1611\1614\1616\1643\1720\1732\2000\2203\2210\2214\2307\2313\2320\2370\2461\2531\2541\2611\2621\2643\2673\2676\2702\2720\2760\3014\3033\3037\3041\3100\3113\3140\3152\3154\3160\3162\3326\3345\3347\3351\3353\3360\3372\3400\3417\3421\3423\3460\3600\3646\4401\4403\4405\4474\4476\4501\4511\4515\4520\4522\4530\4542\4544\4601\4603\4605\4617\4623\4652\4662\4666\4674\4676\4701\4707\4713\4715\4727\4734\4737\4742\4746\4762\4764\5002\5005\5017\5023\5052\5062\5065\5070\5074\5076\5101\5107\5113\5131\5136\5146\5160\5162\5201\5203\5205\5215\5217\5223\5252\5262\5265\5274\5276\5301\5307\5311\5313\5315\5320\5340\5346\5401\5403\5405\5417\5423\5452\5462\5466\5474\5476\5502\5507\5513\5515\5526\5534\5537\5546\5602\5605\5616\5622\5631\5634\5636\5643\5650\5656\5667\5676\5700\5702\5706\5712\5715\5727\5747\6001\6005\6016\6022\6052\6065\6076\6101\6106\6112\6125\6140\6146\6202\6205\6216\6222\6252\6265\6276\6301\6306\6310\6312\6314\6325\6336\6340\6346\6402\6405\6416\6422\6452\6476\6501\6506\6512\6515\6527\6540\6546\6602\6605\6632\6663\6675\6700\6712\6717\6722\6726\6730\6762\7001\7061\7063\7065\7077\7101\7107\7117\7201\7204\7207\7212\7215\7224\7231\7241\7245\7247\7252\7255\7261\7263\7265\7273\7275\7300\7306\7310\7320\7334\7400\7430\7432\7465\7472\7476\7511\7561\7577\7601\7605\7607\7611\7620\7631\7676\7706\7710\7717\10000\10043\10051\10054\10056\10061\10066\10070\10100\10130\10240\10320\10373\10400\10537\10650\11000\11010\11110\11112\11120\11130\11132\11140\11210\11212\11220\11260\11262\11270\11300\11302\11310\11320\11330\11360\11420\11422\11430\11440\11510\11541\11640\12001\13200\13202\13233\13240\13600\13667\13676\13706\13710\13712\13724\13733\13740\14000\14013\14020\14040\14200\14251\17000\17240\17400\17430\17440\17510\17520\17531\17533\17535\17537\17600\17666\17675\17700\17702\17706\17715\17720\17726\17735\17740\17755\17762\17766\17775\20000\20013\20016\20020\20050\20052\20054\20056\20060\20065\20110\20152\20160\20164\20172\20174\20177\20201\20212\20214\20240\20320\20400\20402\20404\20407\20411\20413\20424\20427\20431\20436\20444\20453\20456\20460\20462\20464\20472\20523\20540\20620\21000\21022\21024\21400\21466\21573\21575\21625\21627\22000\22100\22140\22234\22352\22400\22640\23000\23031\23401\23406\23414\23451\23515\23517\23526\23530\23541\23566\23630\23661\24000\27200\27233\27400\27760\30000\30002\30005\30010\30041\30052\30060\30062\30066\30070\30076\30101\30231\30233\30235\30241\30373\30375\30405\30461\30620\31000\31040\31140\31177\31300\31320\31400\31573\31740\32000\47000\120000\122220\122244\122265\122302\122306\126000\154000\175400\175423\175435\175440\175451\175453\175470\175476\175500\175503\175506\175520\175723\176476\176520\176622\176760\177040\177060\177111\177120\177124\177127\177137\177141\177143\177145\177150\177152\177160\177164\177166\177377\177401\177403\177406\177413\177417\177421\177432\177434\177441\177473\177501\177533\177541\177546\177702\177712\177722\177732\177740\177742\177745\177750\177771\177774"
+ _r0.o = xmlvm_create_java_string_from_pool(145);
+
+
+ // Red class access removed: org.apache.harmony.luni.util.BinarySearch::binarySearchRange
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Character.java", 2950)
+ _r1.o = java_lang_Character_GET_bidiValues();
+ _r2.i = _r0.i * 2;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r2.i);
+ _r1.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_SOURCE_POSITION("Character.java", 2951)
+ if (_r4.i > _r1.i) goto label42;
+ XMLVM_SOURCE_POSITION("Character.java", 2952)
+ _r1.o = java_lang_Character_GET_bidiValues();
+ _r0.i = _r0.i * 2;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_SOURCE_POSITION("Character.java", 2953)
+ _r1.i = 256;
+ if (_r0.i >= _r1.i) goto label30;
+ XMLVM_SOURCE_POSITION("Character.java", 2954)
+ _r0.i = _r0.i - _r3.i;
+ _r0.i = (_r0.i << 24) >> 24;
+ label29:;
+ XMLVM_SOURCE_POSITION("Character.java", 2958)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label30:;
+ XMLVM_SOURCE_POSITION("Character.java", 2956)
+ _r1.i = _r4.i & 1;
+ if (_r1.i != _r3.i) goto label39;
+ _r0.i = _r0.i >> 8;
+ label36:;
+ _r0.i = _r0.i - _r3.i;
+ _r0.i = (_r0.i << 24) >> 24;
+ goto label29;
+ label39:;
+ _r0.i = _r0.i & 255;
+ goto label36;
+ label42:;
+ _r0.i = -1;
+ goto label29;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BYTE java_lang_Character_getDirectionality___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_getDirectionality___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "getDirectionality", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.i = n1;
+ _r1.i = -1;
+ XMLVM_SOURCE_POSITION("Character.java", 2969)
+ _r0.i = java_lang_Character_getType___int(_r2.i);
+ if (_r0.i != 0) goto label9;
+ _r0 = _r1;
+ label8:;
+ XMLVM_SOURCE_POSITION("Character.java", 2970)
+ XMLVM_SOURCE_POSITION("Character.java", 2977)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label9:;
+ XMLVM_SOURCE_POSITION("Character.java", 2973)
+
+
+ // Red class access removed: com.ibm.icu.lang.UCharacter::getDirectionality
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Character.java", 2974)
+ if (_r0.i != _r1.i) goto label17;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("Character.java", 2975)
+ goto label8;
+ label17:;
+ _r1.o = java_lang_Character_GET_DIRECTIONALITY();
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r0.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ goto label8;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isMirrored___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isMirrored___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isMirrored", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.i = n1;
+ _r4.i = 1;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("Character.java", 2989)
+ _r0.i = _r5.i / 16;
+ XMLVM_SOURCE_POSITION("Character.java", 2990)
+ _r1.o = java_lang_Character_GET_mirrored();
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ if (_r0.i < _r1.i) goto label11;
+ _r0 = _r3;
+ label10:;
+ XMLVM_SOURCE_POSITION("Character.java", 2991)
+ XMLVM_SOURCE_POSITION("Character.java", 2994)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label11:;
+ XMLVM_SOURCE_POSITION("Character.java", 2993)
+ _r1.i = _r5.i % 16;
+ _r1.i = _r4.i << _r1.i;
+ _r2.o = java_lang_Character_GET_mirrored();
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
+ _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ _r0.i = _r0.i & _r1.i;
+ if (_r0.i == 0) goto label24;
+ _r0 = _r4;
+ goto label10;
+ label24:;
+ _r0 = _r3;
+ goto label10;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isMirrored___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isMirrored___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isMirrored", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3006)
+
+
+ // Red class access removed: com.ibm.icu.lang.UCharacter::isMirrored
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_hashCode__]
+ XMLVM_ENTER_METHOD("java.lang.Character", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Character.java", 3011)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Character*) _r1.o)->fields.java_lang_Character.value_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isDefined___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isDefined___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isDefined", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3024)
+ _r0.i = java_lang_Character_getType___char(_r1.i);
+ if (_r0.i == 0) goto label8;
+ _r0.i = 1;
+ label7:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label8:;
+ _r0.i = 0;
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isDefined___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isDefined___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isDefined", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3037)
+
+
+ // Red class access removed: com.ibm.icu.lang.UCharacter::isDefined
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isDigit___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isDigit___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isDigit", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.i = n1;
+ _r3.i = 1;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("Character.java", 3050)
+ _r0.i = 48;
+ if (_r0.i > _r4.i) goto label12;
+ _r0.i = 57;
+ if (_r4.i > _r0.i) goto label12;
+ _r0 = _r3;
+ label11:;
+ XMLVM_SOURCE_POSITION("Character.java", 3051)
+ XMLVM_SOURCE_POSITION("Character.java", 3056)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label12:;
+ XMLVM_SOURCE_POSITION("Character.java", 3053)
+ _r0.i = 1632;
+ if (_r4.i >= _r0.i) goto label18;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("Character.java", 3054)
+ goto label11;
+ label18:;
+ _r0.i = java_lang_Character_getType___char(_r4.i);
+ _r1.i = 9;
+ if (_r0.i != _r1.i) goto label28;
+ _r0 = _r3;
+ goto label11;
+ label28:;
+ _r0 = _r2;
+ goto label11;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isDigit___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isDigit___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isDigit", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3068)
+
+
+ // Red class access removed: com.ibm.icu.lang.UCharacter::isDigit
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isIdentifierIgnorable___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isIdentifierIgnorable___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isIdentifierIgnorable", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3080)
+ if (_r2.i < 0) goto label6;
+ _r0.i = 8;
+ if (_r2.i <= _r0.i) goto label32;
+ label6:;
+ _r0.i = 14;
+ if (_r2.i < _r0.i) goto label14;
+ _r0.i = 27;
+ if (_r2.i <= _r0.i) goto label32;
+ label14:;
+ XMLVM_SOURCE_POSITION("Character.java", 3081)
+ _r0.i = 127;
+ if (_r2.i < _r0.i) goto label22;
+ _r0.i = 159;
+ if (_r2.i <= _r0.i) goto label32;
+ label22:;
+ _r0.i = java_lang_Character_getType___char(_r2.i);
+ _r1.i = 16;
+ if (_r0.i == _r1.i) goto label32;
+ _r0.i = 0;
+ label31:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label32:;
+ _r0.i = 1;
+ goto label31;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isIdentifierIgnorable___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isIdentifierIgnorable___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isIdentifierIgnorable", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3094)
+
+
+ // Red class access removed: com.ibm.icu.lang.UCharacter::isIdentifierIgnorable
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isISOControl___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isISOControl___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isISOControl", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3106)
+ _r0.i = java_lang_Character_isISOControl___int(_r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isISOControl___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isISOControl___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isISOControl", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3118)
+ if (_r1.i < 0) goto label6;
+ _r0.i = 31;
+ if (_r1.i <= _r0.i) goto label16;
+ label6:;
+ _r0.i = 127;
+ if (_r1.i < _r0.i) goto label14;
+ _r0.i = 159;
+ if (_r1.i <= _r0.i) goto label16;
+ label14:;
+ _r0.i = 0;
+ label15:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label16:;
+ _r0.i = 1;
+ goto label15;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isJavaIdentifierPart___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isJavaIdentifierPart___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isJavaIdentifierPart", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.i = n1;
+ _r4.i = 128;
+ _r3.i = 0;
+ _r2.i = 1;
+ XMLVM_SOURCE_POSITION("Character.java", 3132)
+ if (_r5.i >= _r4.i) goto label18;
+ XMLVM_SOURCE_POSITION("Character.java", 3133)
+ _r0.o = java_lang_Character_GET_typeTags();
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r5.i);
+ _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i];
+ _r0.i = _r0.i & 2;
+ if (_r0.i == 0) goto label16;
+ _r0 = _r2;
+ label15:;
+ XMLVM_SOURCE_POSITION("Character.java", 3141)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label16:;
+ _r0 = _r3;
+ goto label15;
+ label18:;
+ XMLVM_SOURCE_POSITION("Character.java", 3136)
+ _r0.i = java_lang_Character_getType___char(_r5.i);
+ XMLVM_SOURCE_POSITION("Character.java", 3137)
+ if (_r0.i < _r2.i) goto label27;
+ _r1.i = 5;
+ if (_r0.i <= _r1.i) goto label62;
+ label27:;
+ XMLVM_SOURCE_POSITION("Character.java", 3138)
+ _r1.i = 26;
+ if (_r0.i == _r1.i) goto label62;
+ _r1.i = 23;
+ if (_r0.i == _r1.i) goto label62;
+ XMLVM_SOURCE_POSITION("Character.java", 3139)
+ _r1.i = 9;
+ if (_r0.i < _r1.i) goto label43;
+ _r1.i = 10;
+ if (_r0.i <= _r1.i) goto label62;
+ label43:;
+ XMLVM_SOURCE_POSITION("Character.java", 3140)
+ _r1.i = 6;
+ if (_r0.i == _r1.i) goto label62;
+ _r1.i = 8;
+ if (_r0.i == _r1.i) goto label62;
+ if (_r5.i < _r4.i) goto label56;
+ _r1.i = 159;
+ if (_r5.i <= _r1.i) goto label62;
+ label56:;
+ _r1.i = 16;
+ if (_r0.i == _r1.i) goto label62;
+ _r0 = _r3;
+ goto label15;
+ label62:;
+ _r0 = _r2;
+ goto label15;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isJavaIdentifierPart___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isJavaIdentifierPart___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isJavaIdentifierPart", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.i = n1;
+ _r2.i = 1;
+ XMLVM_SOURCE_POSITION("Character.java", 3154)
+ _r0.i = java_lang_Character_getType___int(_r3.i);
+ XMLVM_SOURCE_POSITION("Character.java", 3155)
+ if (_r0.i < _r2.i) goto label10;
+ _r1.i = 5;
+ if (_r0.i <= _r1.i) goto label41;
+ label10:;
+ XMLVM_SOURCE_POSITION("Character.java", 3156)
+ _r1.i = 26;
+ if (_r0.i == _r1.i) goto label41;
+ _r1.i = 23;
+ if (_r0.i == _r1.i) goto label41;
+ XMLVM_SOURCE_POSITION("Character.java", 3157)
+ _r1.i = 9;
+ if (_r0.i < _r1.i) goto label26;
+ _r1.i = 10;
+ if (_r0.i <= _r1.i) goto label41;
+ label26:;
+ XMLVM_SOURCE_POSITION("Character.java", 3158)
+ _r1.i = 8;
+ if (_r0.i == _r1.i) goto label41;
+ _r1.i = 6;
+ if (_r0.i == _r1.i) goto label41;
+ XMLVM_SOURCE_POSITION("Character.java", 3159)
+ _r0.i = java_lang_Character_isIdentifierIgnorable___int(_r3.i);
+ if (_r0.i != 0) goto label41;
+ _r0.i = 0;
+ label40:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label41:;
+ _r0 = _r2;
+ goto label40;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isJavaIdentifierStart___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isJavaIdentifierStart___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isJavaIdentifierStart", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.i = n1;
+ _r3.i = 0;
+ _r2.i = 1;
+ XMLVM_SOURCE_POSITION("Character.java", 3173)
+ _r0.i = 128;
+ if (_r4.i >= _r0.i) goto label18;
+ XMLVM_SOURCE_POSITION("Character.java", 3174)
+ _r0.o = java_lang_Character_GET_typeTags();
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r4.i);
+ _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ _r0.i = _r0.i & 1;
+ if (_r0.i == 0) goto label16;
+ _r0 = _r2;
+ label15:;
+ XMLVM_SOURCE_POSITION("Character.java", 3180)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label16:;
+ _r0 = _r3;
+ goto label15;
+ label18:;
+ XMLVM_SOURCE_POSITION("Character.java", 3177)
+ _r0.i = java_lang_Character_getType___char(_r4.i);
+ XMLVM_SOURCE_POSITION("Character.java", 3178)
+ if (_r0.i < _r2.i) goto label27;
+ _r1.i = 5;
+ if (_r0.i <= _r1.i) goto label41;
+ label27:;
+ XMLVM_SOURCE_POSITION("Character.java", 3179)
+ _r1.i = 26;
+ if (_r0.i == _r1.i) goto label41;
+ _r1.i = 23;
+ if (_r0.i == _r1.i) goto label41;
+ _r1.i = 10;
+ if (_r0.i == _r1.i) goto label41;
+ _r0 = _r3;
+ goto label15;
+ label41:;
+ _r0 = _r2;
+ goto label15;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isJavaIdentifierStart___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isJavaIdentifierStart___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isJavaIdentifierStart", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3193)
+ _r0.i = java_lang_Character_getType___int(_r2.i);
+ XMLVM_SOURCE_POSITION("Character.java", 3194)
+ _r1.i = java_lang_Character_isLetter___int(_r2.i);
+ if (_r1.i != 0) goto label24;
+ _r1.i = 26;
+ if (_r0.i == _r1.i) goto label24;
+ XMLVM_SOURCE_POSITION("Character.java", 3195)
+ _r1.i = 23;
+ if (_r0.i == _r1.i) goto label24;
+ _r1.i = 10;
+ if (_r0.i == _r1.i) goto label24;
+ _r0.i = 0;
+ label23:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label24:;
+ _r0.i = 1;
+ goto label23;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isJavaLetter___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isJavaLetter___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isJavaLetter", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3209)
+ _r0.i = java_lang_Character_isJavaIdentifierStart___char(_r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isJavaLetterOrDigit___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isJavaLetterOrDigit___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isJavaLetterOrDigit", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3224)
+ _r0.i = java_lang_Character_isJavaIdentifierPart___char(_r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isLetter___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isLetter___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isLetter", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.i = n1;
+ _r3.i = 0;
+ _r2.i = 1;
+ XMLVM_SOURCE_POSITION("Character.java", 3235)
+ _r0.i = 65;
+ if (_r0.i > _r4.i) goto label10;
+ _r0.i = 90;
+ if (_r4.i <= _r0.i) goto label18;
+ label10:;
+ _r0.i = 97;
+ if (_r0.i > _r4.i) goto label20;
+ _r0.i = 122;
+ if (_r4.i > _r0.i) goto label20;
+ label18:;
+ _r0 = _r2;
+ label19:;
+ XMLVM_SOURCE_POSITION("Character.java", 3236)
+ XMLVM_SOURCE_POSITION("Character.java", 3242)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label20:;
+ XMLVM_SOURCE_POSITION("Character.java", 3238)
+ _r0.i = 128;
+ if (_r4.i >= _r0.i) goto label26;
+ _r0 = _r3;
+ XMLVM_SOURCE_POSITION("Character.java", 3239)
+ goto label19;
+ label26:;
+ XMLVM_SOURCE_POSITION("Character.java", 3241)
+ _r0.i = java_lang_Character_getType___char(_r4.i);
+ if (_r0.i < _r2.i) goto label37;
+ _r1.i = 5;
+ if (_r0.i > _r1.i) goto label37;
+ _r0 = _r2;
+ goto label19;
+ label37:;
+ _r0 = _r3;
+ goto label19;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isLetter___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isLetter___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isLetter", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3254)
+
+
+ // Red class access removed: com.ibm.icu.lang.UCharacter::isLetter
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isLetterOrDigit___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isLetterOrDigit___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isLetterOrDigit", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.i = n1;
+ _r2.i = 1;
+ XMLVM_SOURCE_POSITION("Character.java", 3266)
+ _r0.i = java_lang_Character_getType___char(_r3.i);
+ XMLVM_SOURCE_POSITION("Character.java", 3267)
+ if (_r0.i < _r2.i) goto label10;
+ _r1.i = 5;
+ if (_r0.i <= _r1.i) goto label16;
+ label10:;
+ XMLVM_SOURCE_POSITION("Character.java", 3268)
+ _r1.i = 9;
+ if (_r0.i == _r1.i) goto label16;
+ _r0.i = 0;
+ label15:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label16:;
+ _r0 = _r2;
+ goto label15;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isLetterOrDigit___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isLetterOrDigit___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isLetterOrDigit", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3280)
+
+
+ // Red class access removed: com.ibm.icu.lang.UCharacter::isLetterOrDigit
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isLowerCase___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isLowerCase___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isLowerCase", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.i = n1;
+ _r3.i = 1;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("Character.java", 3293)
+ _r0.i = 97;
+ if (_r0.i > _r4.i) goto label12;
+ _r0.i = 122;
+ if (_r4.i > _r0.i) goto label12;
+ _r0 = _r3;
+ label11:;
+ XMLVM_SOURCE_POSITION("Character.java", 3294)
+ XMLVM_SOURCE_POSITION("Character.java", 3300)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label12:;
+ XMLVM_SOURCE_POSITION("Character.java", 3296)
+ _r0.i = 128;
+ if (_r4.i >= _r0.i) goto label18;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("Character.java", 3297)
+ goto label11;
+ label18:;
+ _r0.i = java_lang_Character_getType___char(_r4.i);
+ _r1.i = 2;
+ if (_r0.i != _r1.i) goto label27;
+ _r0 = _r3;
+ goto label11;
+ label27:;
+ _r0 = _r2;
+ goto label11;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isLowerCase___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isLowerCase___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isLowerCase", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3312)
+
+
+ // Red class access removed: com.ibm.icu.lang.UCharacter::isLowerCase
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isSpace___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isSpace___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isSpace", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3326)
+ _r0.i = 10;
+ if (_r1.i == _r0.i) goto label22;
+ _r0.i = 9;
+ if (_r1.i == _r0.i) goto label22;
+ _r0.i = 12;
+ if (_r1.i == _r0.i) goto label22;
+ _r0.i = 13;
+ if (_r1.i == _r0.i) goto label22;
+ _r0.i = 32;
+ if (_r1.i == _r0.i) goto label22;
+ _r0.i = 0;
+ label21:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label22:;
+ _r0.i = 1;
+ goto label21;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isSpaceChar___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isSpaceChar___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isSpaceChar", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.i = n1;
+ _r2.i = 1;
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("Character.java", 3340)
+ _r0.i = 32;
+ if (_r3.i == _r0.i) goto label14;
+ _r0.i = 160;
+ if (_r3.i == _r0.i) goto label14;
+ _r0.i = 5760;
+ if (_r3.i != _r0.i) goto label16;
+ label14:;
+ _r0 = _r2;
+ label15:;
+ XMLVM_SOURCE_POSITION("Character.java", 3341)
+ XMLVM_SOURCE_POSITION("Character.java", 3347)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label16:;
+ XMLVM_SOURCE_POSITION("Character.java", 3343)
+ _r0.i = 8192;
+ if (_r3.i >= _r0.i) goto label22;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("Character.java", 3344)
+ goto label15;
+ label22:;
+ XMLVM_SOURCE_POSITION("Character.java", 3346)
+ _r0.i = 8203;
+ if (_r3.i <= _r0.i) goto label44;
+ _r0.i = 8232;
+ if (_r3.i == _r0.i) goto label44;
+ _r0.i = 8233;
+ if (_r3.i == _r0.i) goto label44;
+ _r0.i = 8239;
+ if (_r3.i == _r0.i) goto label44;
+ _r0.i = 12288;
+ if (_r3.i == _r0.i) goto label44;
+ _r0 = _r1;
+ goto label15;
+ label44:;
+ _r0 = _r2;
+ goto label15;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isSpaceChar___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isSpaceChar___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isSpaceChar", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3361)
+
+
+ // Red class access removed: com.ibm.icu.lang.UCharacter::isSpaceChar
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isTitleCase___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isTitleCase___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isTitleCase", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.i = n1;
+ _r1.i = 8188;
+ _r3.i = 1;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("Character.java", 3373)
+ _r0.i = 453;
+ if (_r4.i == _r0.i) goto label20;
+ _r0.i = 456;
+ if (_r4.i == _r0.i) goto label20;
+ _r0.i = 459;
+ if (_r4.i == _r0.i) goto label20;
+ _r0.i = 498;
+ if (_r4.i != _r0.i) goto label22;
+ label20:;
+ _r0 = _r3;
+ label21:;
+ XMLVM_SOURCE_POSITION("Character.java", 3374)
+ XMLVM_SOURCE_POSITION("Character.java", 3384)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label22:;
+ XMLVM_SOURCE_POSITION("Character.java", 3376)
+ _r0.i = 8072;
+ if (_r4.i < _r0.i) goto label60;
+ if (_r4.i > _r1.i) goto label60;
+ XMLVM_SOURCE_POSITION("Character.java", 3378)
+ _r0.i = 8111;
+ if (_r4.i <= _r0.i) goto label46;
+ XMLVM_SOURCE_POSITION("Character.java", 3379)
+ _r0.i = 8124;
+ if (_r4.i == _r0.i) goto label44;
+ _r0.i = 8140;
+ if (_r4.i == _r0.i) goto label44;
+ if (_r4.i == _r1.i) goto label44;
+ _r0 = _r2;
+ goto label21;
+ label44:;
+ _r0 = _r3;
+ goto label21;
+ label46:;
+ XMLVM_SOURCE_POSITION("Character.java", 3381)
+ _r0.i = _r4.i & 15;
+ _r1.i = 8;
+ if (_r0.i < _r1.i) goto label58;
+ XMLVM_SOURCE_POSITION("Character.java", 3382)
+ _r1.i = 15;
+ if (_r0.i > _r1.i) goto label58;
+ _r0 = _r3;
+ goto label21;
+ label58:;
+ _r0 = _r2;
+ goto label21;
+ label60:;
+ _r0 = _r2;
+ goto label21;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isTitleCase___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isTitleCase___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isTitleCase", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3396)
+
+
+ // Red class access removed: com.ibm.icu.lang.UCharacter::isTitleCase
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isUnicodeIdentifierPart___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isUnicodeIdentifierPart___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isUnicodeIdentifierPart", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.i = n1;
+ _r2.i = 1;
+ XMLVM_SOURCE_POSITION("Character.java", 3409)
+ _r0.i = java_lang_Character_getType___char(_r3.i);
+ XMLVM_SOURCE_POSITION("Character.java", 3410)
+ if (_r0.i < _r2.i) goto label10;
+ _r1.i = 5;
+ if (_r0.i <= _r1.i) goto label37;
+ label10:;
+ XMLVM_SOURCE_POSITION("Character.java", 3411)
+ _r1.i = 23;
+ if (_r0.i == _r1.i) goto label37;
+ XMLVM_SOURCE_POSITION("Character.java", 3412)
+ _r1.i = 9;
+ if (_r0.i < _r1.i) goto label22;
+ _r1.i = 10;
+ if (_r0.i <= _r1.i) goto label37;
+ label22:;
+ XMLVM_SOURCE_POSITION("Character.java", 3413)
+ _r1.i = 6;
+ if (_r0.i == _r1.i) goto label37;
+ _r1.i = 8;
+ if (_r0.i == _r1.i) goto label37;
+ XMLVM_SOURCE_POSITION("Character.java", 3414)
+ _r0.i = java_lang_Character_isIdentifierIgnorable___char(_r3.i);
+ if (_r0.i != 0) goto label37;
+ _r0.i = 0;
+ label36:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label37:;
+ _r0 = _r2;
+ goto label36;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isUnicodeIdentifierPart___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isUnicodeIdentifierPart___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isUnicodeIdentifierPart", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3427)
+
+
+ // Red class access removed: com.ibm.icu.lang.UCharacter::isUnicodeIdentifierPart
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isUnicodeIdentifierStart___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isUnicodeIdentifierStart___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isUnicodeIdentifierStart", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.i = n1;
+ _r2.i = 1;
+ XMLVM_SOURCE_POSITION("Character.java", 3440)
+ _r0.i = java_lang_Character_getType___char(_r3.i);
+ XMLVM_SOURCE_POSITION("Character.java", 3441)
+ if (_r0.i < _r2.i) goto label10;
+ _r1.i = 5;
+ if (_r0.i <= _r1.i) goto label16;
+ label10:;
+ XMLVM_SOURCE_POSITION("Character.java", 3442)
+ _r1.i = 10;
+ if (_r0.i == _r1.i) goto label16;
+ _r0.i = 0;
+ label15:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label16:;
+ _r0 = _r2;
+ goto label15;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isUnicodeIdentifierStart___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isUnicodeIdentifierStart___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isUnicodeIdentifierStart", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3455)
+
+
+ // Red class access removed: com.ibm.icu.lang.UCharacter::isUnicodeIdentifierStart
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isUpperCase___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isUpperCase___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isUpperCase", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.i = n1;
+ _r2.i = 0;
+ _r1.i = 1;
+ XMLVM_SOURCE_POSITION("Character.java", 3468)
+ _r0.i = 65;
+ if (_r0.i > _r3.i) goto label12;
+ _r0.i = 90;
+ if (_r3.i > _r0.i) goto label12;
+ _r0 = _r1;
+ label11:;
+ XMLVM_SOURCE_POSITION("Character.java", 3469)
+ XMLVM_SOURCE_POSITION("Character.java", 3475)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label12:;
+ XMLVM_SOURCE_POSITION("Character.java", 3471)
+ _r0.i = 128;
+ if (_r3.i >= _r0.i) goto label18;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("Character.java", 3472)
+ goto label11;
+ label18:;
+ _r0.i = java_lang_Character_getType___char(_r3.i);
+ if (_r0.i != _r1.i) goto label26;
+ _r0 = _r1;
+ goto label11;
+ label26:;
+ _r0 = _r2;
+ goto label11;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isUpperCase___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isUpperCase___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isUpperCase", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3487)
+
+
+ // Red class access removed: com.ibm.icu.lang.UCharacter::isUpperCase
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isWhitespace___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isWhitespace___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isWhitespace", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.i = n1;
+ _r2.i = 0;
+ _r1.i = 1;
+ XMLVM_SOURCE_POSITION("Character.java", 3501)
+ _r0.i = 28;
+ if (_r3.i < _r0.i) goto label10;
+ _r0.i = 32;
+ if (_r3.i <= _r0.i) goto label18;
+ label10:;
+ _r0.i = 9;
+ if (_r3.i < _r0.i) goto label20;
+ _r0.i = 13;
+ if (_r3.i > _r0.i) goto label20;
+ label18:;
+ _r0 = _r1;
+ label19:;
+ XMLVM_SOURCE_POSITION("Character.java", 3502)
+ XMLVM_SOURCE_POSITION("Character.java", 3510)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label20:;
+ XMLVM_SOURCE_POSITION("Character.java", 3504)
+ _r0.i = 5760;
+ if (_r3.i != _r0.i) goto label26;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("Character.java", 3505)
+ goto label19;
+ label26:;
+ XMLVM_SOURCE_POSITION("Character.java", 3507)
+ _r0.i = 8192;
+ if (_r3.i < _r0.i) goto label34;
+ _r0.i = 8199;
+ if (_r3.i != _r0.i) goto label36;
+ label34:;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("Character.java", 3508)
+ goto label19;
+ label36:;
+ _r0.i = 8203;
+ if (_r3.i <= _r0.i) goto label54;
+ _r0.i = 8232;
+ if (_r3.i == _r0.i) goto label54;
+ _r0.i = 8233;
+ if (_r3.i == _r0.i) goto label54;
+ _r0.i = 12288;
+ if (_r3.i == _r0.i) goto label54;
+ _r0 = _r2;
+ goto label19;
+ label54:;
+ _r0 = _r1;
+ goto label19;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Character_isWhitespace___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_isWhitespace___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "isWhitespace", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3524)
+
+
+ // Red class access removed: com.ibm.icu.lang.UCharacter::isWhitespace
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_CHAR java_lang_Character_reverseBytes___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_reverseBytes___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "reverseBytes", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3537)
+ _r0.i = _r2.i << 8;
+ _r1.i = _r2.i >> 8;
+ _r0.i = _r0.i | _r1.i;
+ _r0.i = _r0.i & 0xffff;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_CHAR java_lang_Character_toLowerCase___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_toLowerCase___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "toLowerCase", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r8.i = n1;
+ _r1.i = 192;
+ _r6.i = 32768;
+ // "A\300\330\400\460\462\471\512\570\571\601\602\606\607\611\613\616\617\620\621\623\624\626\627\630\634\635\637\640\646\647\651\654\656\657\661\663\667\670\674\704\705\707\710\712\713\736\761\762\766\767\770\1042\1606\1610\1614\1616\1621\1643\1732\2000\2020\2140\2214\2301\2307\2313\2320\2370\2461\17000\17240\17410\17430\17450\17470\17510\17531\17550\17610\17630\17650\17670\17672\17674\17710\17714\17730\17732\17750\17752\17754\17770\17772\17774\20446\20452\20453\20540\22266\177441"
+ _r3.o = xmlvm_create_java_string_from_pool(148);
+ XMLVM_SOURCE_POSITION("Character.java", 3552)
+ _r0.i = 65;
+ if (_r0.i > _r8.i) goto label19;
+ _r0.i = 90;
+ if (_r8.i > _r0.i) goto label19;
+ XMLVM_SOURCE_POSITION("Character.java", 3553)
+ _r0.i = _r8.i + 32;
+ _r0.i = _r0.i & 0xffff;
+ label18:;
+ XMLVM_SOURCE_POSITION("Character.java", 3579)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label19:;
+ XMLVM_SOURCE_POSITION("Character.java", 3555)
+ if (_r8.i >= _r1.i) goto label23;
+ _r0 = _r8;
+ XMLVM_SOURCE_POSITION("Character.java", 3556)
+ goto label18;
+ label23:;
+ XMLVM_SOURCE_POSITION("Character.java", 3558)
+ _r0.i = 1000;
+ if (_r8.i >= _r0.i) goto label35;
+ XMLVM_SOURCE_POSITION("Character.java", 3559)
+ _r0.o = java_lang_Character_GET_lowercaseValuesCache();
+ _r1.i = _r8.i - _r1.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r0.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ _r0.i = _r0.i & 0xffff;
+ goto label18;
+ label35:;
+ XMLVM_SOURCE_POSITION("Character.java", 3562)
+ // "A\300\330\400\460\462\471\512\570\571\601\602\606\607\611\613\616\617\620\621\623\624\626\627\630\634\635\637\640\646\647\651\654\656\657\661\663\667\670\674\704\705\707\710\712\713\736\761\762\766\767\770\1042\1606\1610\1614\1616\1621\1643\1732\2000\2020\2140\2214\2301\2307\2313\2320\2370\2461\17000\17240\17410\17430\17450\17470\17510\17531\17550\17610\17630\17650\17670\17672\17674\17710\17714\17730\17732\17750\17752\17754\17770\17772\17774\20446\20452\20453\20540\22266\177441"
+ _r0.o = xmlvm_create_java_string_from_pool(148);
+
+
+ // Red class access removed: org.apache.harmony.luni.util.BinarySearch::binarySearchRange
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Character.java", 3563)
+ if (_r0.i < 0) goto label89;
+ XMLVM_SOURCE_POSITION("Character.java", 3564)
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("Character.java", 3565)
+ // "A\300\330\400\460\462\471\512\570\571\601\602\606\607\611\613\616\617\620\621\623\624\626\627\630\634\635\637\640\646\647\651\654\656\657\661\663\667\670\674\704\705\707\710\712\713\736\761\762\766\767\770\1042\1606\1610\1614\1616\1621\1643\1732\2000\2020\2140\2214\2301\2307\2313\2320\2370\2461\17000\17240\17410\17430\17450\17470\17510\17531\17550\17610\17630\17650\17670\17672\17674\17710\17714\17730\17732\17750\17752\17754\17770\17772\17774\20446\20452\20453\20540\22266\177441"
+ _r2.o = xmlvm_create_java_string_from_pool(148);
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(3)
+ _r2.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r3.o)->tib->vtable[6])(_r3.o, _r0.i);
+ XMLVM_SOURCE_POSITION("Character.java", 3566)
+ _r3.o = java_lang_Character_GET_lowercaseValues();
+ _r4.i = _r0.i * 2;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ XMLVM_SOURCE_POSITION("Character.java", 3567)
+ _r4.i = _r2.i & _r6.i;
+ _r5.i = _r3.i & _r6.i;
+ if (_r4.i == _r5.i) goto label91;
+ XMLVM_SOURCE_POSITION("Character.java", 3568)
+ _r1.i = _r3.i ^ _r6.i;
+ _r1.i = _r1.i & 0xffff;
+ _r3.i = 1;
+ label66:;
+ XMLVM_SOURCE_POSITION("Character.java", 3569)
+ XMLVM_SOURCE_POSITION("Character.java", 3571)
+ if (_r8.i > _r1.i) goto label89;
+ XMLVM_SOURCE_POSITION("Character.java", 3572)
+ if (_r3.i == 0) goto label78;
+ _r1.i = _r8.i & 1;
+ _r2.i = _r2.i & 1;
+ if (_r1.i == _r2.i) goto label78;
+ _r0 = _r8;
+ XMLVM_SOURCE_POSITION("Character.java", 3573)
+ goto label18;
+ label78:;
+ XMLVM_SOURCE_POSITION("Character.java", 3575)
+ _r1.o = java_lang_Character_GET_lowercaseValues();
+ _r0.i = _r0.i * 2;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_SOURCE_POSITION("Character.java", 3576)
+ _r0.i = _r0.i + _r8.i;
+ _r0.i = _r0.i & 0xffff;
+ goto label18;
+ label89:;
+ _r0 = _r8;
+ goto label18;
+ label91:;
+ _r7 = _r3;
+ _r3 = _r1;
+ _r1 = _r7;
+ goto label66;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_toLowerCase___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_toLowerCase___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "toLowerCase", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3593)
+
+
+ // Red class access removed: com.ibm.icu.lang.UCharacter::toLowerCase
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Character_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_toString__]
+ XMLVM_ENTER_METHOD("java.lang.Character", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Character.java", 3598)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Character*) _r1.o)->fields.java_lang_Character.value_;
+ _r0.o = java_lang_String_valueOf___char(_r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Character_toString___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_toString___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3609)
+ _r0.o = java_lang_String_valueOf___char(_r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_CHAR java_lang_Character_toTitleCase___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_toTitleCase___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "toTitleCase", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3622)
+ _r0.i = java_lang_Character_isTitleCase___char(_r2.i);
+ if (_r0.i == 0) goto label8;
+ _r0 = _r2;
+ label7:;
+ XMLVM_SOURCE_POSITION("Character.java", 3623)
+ XMLVM_SOURCE_POSITION("Character.java", 3629)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label8:;
+ XMLVM_SOURCE_POSITION("Character.java", 3625)
+ // "\704\706\707\711\712\714\761\763"
+ _r0.o = xmlvm_create_java_string_from_pool(150);
+
+
+ // Red class access removed: org.apache.harmony.luni.util.BinarySearch::binarySearch
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Character.java", 3626)
+ if (_r0.i < 0) goto label21;
+ XMLVM_SOURCE_POSITION("Character.java", 3627)
+ _r1.o = java_lang_Character_GET_titlecaseValues();
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ goto label7;
+ label21:;
+ _r0.i = java_lang_Character_toUpperCase___char(_r2.i);
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_toTitleCase___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_toTitleCase___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "toTitleCase", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3642)
+
+
+ // Red class access removed: com.ibm.icu.lang.UCharacter::toTitleCase
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_CHAR java_lang_Character_toUpperCase___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_toUpperCase___char]
+ XMLVM_ENTER_METHOD("java.lang.Character", "toUpperCase", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r8.i = n1;
+ _r1.i = 181;
+ _r6.i = 32768;
+ // "a\265\340\370\377\401\461\463\472\513\572\577\603\610\614\622\625\631\641\650\655\660\664\671\675\677\705\706\710\711\713\714\716\735\737\762\763\765\771\1043\1123\1124\1126\1131\1133\1140\1143\1150\1151\1157\1162\1165\1200\1203\1210\1212\1222\1505\1654\1655\1661\1702\1703\1714\1715\1720\1721\1725\1726\1733\1760\1761\1762\2060\2120\2141\2215\2302\2310\2314\2321\2371\2541\17001\17233\17241\17400\17420\17440\17460\17500\17521\17540\17560\17562\17566\17570\17572\17574\17600\17620\17640\17660\17663\17676\17703\17720\17740\17745\17763\20560\22320\177501"
+ _r3.o = xmlvm_create_java_string_from_pool(147);
+ XMLVM_SOURCE_POSITION("Character.java", 3657)
+ _r0.i = 97;
+ if (_r0.i > _r8.i) goto label21;
+ _r0.i = 122;
+ if (_r8.i > _r0.i) goto label21;
+ XMLVM_SOURCE_POSITION("Character.java", 3658)
+ _r0.i = 32;
+ _r0.i = _r8.i - _r0.i;
+ _r0.i = _r0.i & 0xffff;
+ label20:;
+ XMLVM_SOURCE_POSITION("Character.java", 3683)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label21:;
+ XMLVM_SOURCE_POSITION("Character.java", 3660)
+ if (_r8.i >= _r1.i) goto label25;
+ _r0 = _r8;
+ XMLVM_SOURCE_POSITION("Character.java", 3661)
+ goto label20;
+ label25:;
+ XMLVM_SOURCE_POSITION("Character.java", 3663)
+ _r0.i = 1000;
+ if (_r8.i >= _r0.i) goto label37;
+ XMLVM_SOURCE_POSITION("Character.java", 3664)
+ _r0.o = java_lang_Character_GET_uppercaseValuesCache();
+ _r1.i = _r8.i - _r1.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r0.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ _r0.i = _r0.i & 0xffff;
+ goto label20;
+ label37:;
+ XMLVM_SOURCE_POSITION("Character.java", 3666)
+ // "a\265\340\370\377\401\461\463\472\513\572\577\603\610\614\622\625\631\641\650\655\660\664\671\675\677\705\706\710\711\713\714\716\735\737\762\763\765\771\1043\1123\1124\1126\1131\1133\1140\1143\1150\1151\1157\1162\1165\1200\1203\1210\1212\1222\1505\1654\1655\1661\1702\1703\1714\1715\1720\1721\1725\1726\1733\1760\1761\1762\2060\2120\2141\2215\2302\2310\2314\2321\2371\2541\17001\17233\17241\17400\17420\17440\17460\17500\17521\17540\17560\17562\17566\17570\17572\17574\17600\17620\17640\17660\17663\17676\17703\17720\17740\17745\17763\20560\22320\177501"
+ _r0.o = xmlvm_create_java_string_from_pool(147);
+
+
+ // Red class access removed: org.apache.harmony.luni.util.BinarySearch::binarySearchRange
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Character.java", 3667)
+ if (_r0.i < 0) goto label91;
+ XMLVM_SOURCE_POSITION("Character.java", 3668)
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("Character.java", 3669)
+ // "a\265\340\370\377\401\461\463\472\513\572\577\603\610\614\622\625\631\641\650\655\660\664\671\675\677\705\706\710\711\713\714\716\735\737\762\763\765\771\1043\1123\1124\1126\1131\1133\1140\1143\1150\1151\1157\1162\1165\1200\1203\1210\1212\1222\1505\1654\1655\1661\1702\1703\1714\1715\1720\1721\1725\1726\1733\1760\1761\1762\2060\2120\2141\2215\2302\2310\2314\2321\2371\2541\17001\17233\17241\17400\17420\17440\17460\17500\17521\17540\17560\17562\17566\17570\17572\17574\17600\17620\17640\17660\17663\17676\17703\17720\17740\17745\17763\20560\22320\177501"
+ _r2.o = xmlvm_create_java_string_from_pool(147);
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(3)
+ _r2.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r3.o)->tib->vtable[6])(_r3.o, _r0.i);
+ XMLVM_SOURCE_POSITION("Character.java", 3670)
+ _r3.o = java_lang_Character_GET_uppercaseValues();
+ _r4.i = _r0.i * 2;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ XMLVM_SOURCE_POSITION("Character.java", 3671)
+ _r4.i = _r2.i & _r6.i;
+ _r5.i = _r3.i & _r6.i;
+ if (_r4.i == _r5.i) goto label93;
+ XMLVM_SOURCE_POSITION("Character.java", 3672)
+ _r1.i = _r3.i ^ _r6.i;
+ _r1.i = _r1.i & 0xffff;
+ _r3.i = 1;
+ label68:;
+ XMLVM_SOURCE_POSITION("Character.java", 3673)
+ XMLVM_SOURCE_POSITION("Character.java", 3675)
+ if (_r8.i > _r1.i) goto label91;
+ XMLVM_SOURCE_POSITION("Character.java", 3676)
+ if (_r3.i == 0) goto label80;
+ _r1.i = _r8.i & 1;
+ _r2.i = _r2.i & 1;
+ if (_r1.i == _r2.i) goto label80;
+ _r0 = _r8;
+ XMLVM_SOURCE_POSITION("Character.java", 3677)
+ goto label20;
+ label80:;
+ XMLVM_SOURCE_POSITION("Character.java", 3679)
+ _r1.o = java_lang_Character_GET_uppercaseValues();
+ _r0.i = _r0.i * 2;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_SOURCE_POSITION("Character.java", 3680)
+ _r0.i = _r0.i + _r8.i;
+ _r0.i = _r0.i & 0xffff;
+ goto label20;
+ label91:;
+ _r0 = _r8;
+ goto label20;
+ label93:;
+ _r7 = _r3;
+ _r3 = _r1;
+ _r1 = _r7;
+ goto label68;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_toUpperCase___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Character)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_toUpperCase___int]
+ XMLVM_ENTER_METHOD("java.lang.Character", "toUpperCase", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 3697)
+
+
+ // Red class access removed: com.ibm.icu.lang.UCharacter::toUpperCase
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Character_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Character_compareTo___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.Character", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Character.java", 1)
+ _r2.o = _r2.o;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_Character_compareTo___java_lang_Character(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_Character.h b/tests/nbody-java/java_lang_Character.h
new file mode 100644
index 00000000..fb3e0da5
--- /dev/null
+++ b/tests/nbody-java/java_lang_Character.h
@@ -0,0 +1,341 @@
+#ifndef __JAVA_LANG_CHARACTER__
+#define __JAVA_LANG_CHARACTER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_Character 8
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+#include "java_lang_Comparable.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_CharSequence
+#define XMLVM_FORWARD_DECL_java_lang_CharSequence
+XMLVM_FORWARD_DECL(java_lang_CharSequence)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+#define XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+XMLVM_FORWARD_DECL(java_lang_IndexOutOfBoundsException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+// Class declarations for java.lang.Character
+XMLVM_DEFINE_CLASS(java_lang_Character, 7, XMLVM_ITABLE_SIZE_java_lang_Character)
+
+extern JAVA_OBJECT __CLASS_java_lang_Character;
+extern JAVA_OBJECT __CLASS_java_lang_Character_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Character_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Character_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_Character
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_Character \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_CHAR value_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_Character \
+ } java_lang_Character
+
+struct java_lang_Character {
+ __TIB_DEFINITION_java_lang_Character* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_Character;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_Character
+#define XMLVM_FORWARD_DECL_java_lang_Character
+typedef struct java_lang_Character java_lang_Character;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_Character 7
+#define XMLVM_VTABLE_IDX_java_lang_Character_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_lang_Character_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_lang_Character_toString__ 5
+#define XMLVM_VTABLE_IDX_java_lang_Character_compareTo___java_lang_Object 6
+
+void __INIT_java_lang_Character();
+void __INIT_IMPL_java_lang_Character();
+void __DELETE_java_lang_Character(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_Character(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_Character();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Character();
+JAVA_LONG java_lang_Character_GET_serialVersionUID();
+void java_lang_Character_PUT_serialVersionUID(JAVA_LONG v);
+JAVA_CHAR java_lang_Character_GET_MIN_VALUE();
+void java_lang_Character_PUT_MIN_VALUE(JAVA_CHAR v);
+JAVA_CHAR java_lang_Character_GET_MAX_VALUE();
+void java_lang_Character_PUT_MAX_VALUE(JAVA_CHAR v);
+JAVA_INT java_lang_Character_GET_MIN_RADIX();
+void java_lang_Character_PUT_MIN_RADIX(JAVA_INT v);
+JAVA_INT java_lang_Character_GET_MAX_RADIX();
+void java_lang_Character_PUT_MAX_RADIX(JAVA_INT v);
+JAVA_OBJECT java_lang_Character_GET_TYPE();
+void java_lang_Character_PUT_TYPE(JAVA_OBJECT v);
+JAVA_BYTE java_lang_Character_GET_UNASSIGNED();
+void java_lang_Character_PUT_UNASSIGNED(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_UPPERCASE_LETTER();
+void java_lang_Character_PUT_UPPERCASE_LETTER(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_LOWERCASE_LETTER();
+void java_lang_Character_PUT_LOWERCASE_LETTER(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_TITLECASE_LETTER();
+void java_lang_Character_PUT_TITLECASE_LETTER(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_MODIFIER_LETTER();
+void java_lang_Character_PUT_MODIFIER_LETTER(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_OTHER_LETTER();
+void java_lang_Character_PUT_OTHER_LETTER(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_NON_SPACING_MARK();
+void java_lang_Character_PUT_NON_SPACING_MARK(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_ENCLOSING_MARK();
+void java_lang_Character_PUT_ENCLOSING_MARK(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_COMBINING_SPACING_MARK();
+void java_lang_Character_PUT_COMBINING_SPACING_MARK(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_DECIMAL_DIGIT_NUMBER();
+void java_lang_Character_PUT_DECIMAL_DIGIT_NUMBER(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_LETTER_NUMBER();
+void java_lang_Character_PUT_LETTER_NUMBER(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_OTHER_NUMBER();
+void java_lang_Character_PUT_OTHER_NUMBER(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_SPACE_SEPARATOR();
+void java_lang_Character_PUT_SPACE_SEPARATOR(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_LINE_SEPARATOR();
+void java_lang_Character_PUT_LINE_SEPARATOR(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_PARAGRAPH_SEPARATOR();
+void java_lang_Character_PUT_PARAGRAPH_SEPARATOR(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_CONTROL();
+void java_lang_Character_PUT_CONTROL(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_FORMAT();
+void java_lang_Character_PUT_FORMAT(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_PRIVATE_USE();
+void java_lang_Character_PUT_PRIVATE_USE(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_SURROGATE();
+void java_lang_Character_PUT_SURROGATE(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_DASH_PUNCTUATION();
+void java_lang_Character_PUT_DASH_PUNCTUATION(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_START_PUNCTUATION();
+void java_lang_Character_PUT_START_PUNCTUATION(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_END_PUNCTUATION();
+void java_lang_Character_PUT_END_PUNCTUATION(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_CONNECTOR_PUNCTUATION();
+void java_lang_Character_PUT_CONNECTOR_PUNCTUATION(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_OTHER_PUNCTUATION();
+void java_lang_Character_PUT_OTHER_PUNCTUATION(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_MATH_SYMBOL();
+void java_lang_Character_PUT_MATH_SYMBOL(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_CURRENCY_SYMBOL();
+void java_lang_Character_PUT_CURRENCY_SYMBOL(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_MODIFIER_SYMBOL();
+void java_lang_Character_PUT_MODIFIER_SYMBOL(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_OTHER_SYMBOL();
+void java_lang_Character_PUT_OTHER_SYMBOL(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_INITIAL_QUOTE_PUNCTUATION();
+void java_lang_Character_PUT_INITIAL_QUOTE_PUNCTUATION(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_FINAL_QUOTE_PUNCTUATION();
+void java_lang_Character_PUT_FINAL_QUOTE_PUNCTUATION(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_UNDEFINED();
+void java_lang_Character_PUT_DIRECTIONALITY_UNDEFINED(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_LEFT_TO_RIGHT();
+void java_lang_Character_PUT_DIRECTIONALITY_LEFT_TO_RIGHT(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_RIGHT_TO_LEFT();
+void java_lang_Character_PUT_DIRECTIONALITY_RIGHT_TO_LEFT(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC();
+void java_lang_Character_PUT_DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_EUROPEAN_NUMBER();
+void java_lang_Character_PUT_DIRECTIONALITY_EUROPEAN_NUMBER(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR();
+void java_lang_Character_PUT_DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR();
+void java_lang_Character_PUT_DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_ARABIC_NUMBER();
+void java_lang_Character_PUT_DIRECTIONALITY_ARABIC_NUMBER(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_COMMON_NUMBER_SEPARATOR();
+void java_lang_Character_PUT_DIRECTIONALITY_COMMON_NUMBER_SEPARATOR(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_NONSPACING_MARK();
+void java_lang_Character_PUT_DIRECTIONALITY_NONSPACING_MARK(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_BOUNDARY_NEUTRAL();
+void java_lang_Character_PUT_DIRECTIONALITY_BOUNDARY_NEUTRAL(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_PARAGRAPH_SEPARATOR();
+void java_lang_Character_PUT_DIRECTIONALITY_PARAGRAPH_SEPARATOR(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_SEGMENT_SEPARATOR();
+void java_lang_Character_PUT_DIRECTIONALITY_SEGMENT_SEPARATOR(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_WHITESPACE();
+void java_lang_Character_PUT_DIRECTIONALITY_WHITESPACE(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_OTHER_NEUTRALS();
+void java_lang_Character_PUT_DIRECTIONALITY_OTHER_NEUTRALS(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING();
+void java_lang_Character_PUT_DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE();
+void java_lang_Character_PUT_DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING();
+void java_lang_Character_PUT_DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE();
+void java_lang_Character_PUT_DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE(JAVA_BYTE v);
+JAVA_BYTE java_lang_Character_GET_DIRECTIONALITY_POP_DIRECTIONAL_FORMAT();
+void java_lang_Character_PUT_DIRECTIONALITY_POP_DIRECTIONAL_FORMAT(JAVA_BYTE v);
+JAVA_CHAR java_lang_Character_GET_MIN_HIGH_SURROGATE();
+void java_lang_Character_PUT_MIN_HIGH_SURROGATE(JAVA_CHAR v);
+JAVA_CHAR java_lang_Character_GET_MAX_HIGH_SURROGATE();
+void java_lang_Character_PUT_MAX_HIGH_SURROGATE(JAVA_CHAR v);
+JAVA_CHAR java_lang_Character_GET_MIN_LOW_SURROGATE();
+void java_lang_Character_PUT_MIN_LOW_SURROGATE(JAVA_CHAR v);
+JAVA_CHAR java_lang_Character_GET_MAX_LOW_SURROGATE();
+void java_lang_Character_PUT_MAX_LOW_SURROGATE(JAVA_CHAR v);
+JAVA_CHAR java_lang_Character_GET_MIN_SURROGATE();
+void java_lang_Character_PUT_MIN_SURROGATE(JAVA_CHAR v);
+JAVA_CHAR java_lang_Character_GET_MAX_SURROGATE();
+void java_lang_Character_PUT_MAX_SURROGATE(JAVA_CHAR v);
+JAVA_INT java_lang_Character_GET_MIN_SUPPLEMENTARY_CODE_POINT();
+void java_lang_Character_PUT_MIN_SUPPLEMENTARY_CODE_POINT(JAVA_INT v);
+JAVA_INT java_lang_Character_GET_MIN_CODE_POINT();
+void java_lang_Character_PUT_MIN_CODE_POINT(JAVA_INT v);
+JAVA_INT java_lang_Character_GET_MAX_CODE_POINT();
+void java_lang_Character_PUT_MAX_CODE_POINT(JAVA_INT v);
+JAVA_INT java_lang_Character_GET_SIZE();
+void java_lang_Character_PUT_SIZE(JAVA_INT v);
+JAVA_OBJECT java_lang_Character_GET_bidiKeys();
+void java_lang_Character_PUT_bidiKeys(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Character_GET_bidiValues();
+void java_lang_Character_PUT_bidiValues(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Character_GET_mirrored();
+void java_lang_Character_PUT_mirrored(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Character_GET_typeKeys();
+void java_lang_Character_PUT_typeKeys(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Character_GET_typeValues();
+void java_lang_Character_PUT_typeValues(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Character_GET_typeValuesCache();
+void java_lang_Character_PUT_typeValuesCache(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Character_GET_uppercaseKeys();
+void java_lang_Character_PUT_uppercaseKeys(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Character_GET_uppercaseValues();
+void java_lang_Character_PUT_uppercaseValues(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Character_GET_uppercaseValuesCache();
+void java_lang_Character_PUT_uppercaseValuesCache(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Character_GET_lowercaseKeys();
+void java_lang_Character_PUT_lowercaseKeys(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Character_GET_lowercaseValues();
+void java_lang_Character_PUT_lowercaseValues(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Character_GET_lowercaseValuesCache();
+void java_lang_Character_PUT_lowercaseValuesCache(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Character_GET_digitKeys();
+void java_lang_Character_PUT_digitKeys(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Character_GET_digitValues();
+void java_lang_Character_PUT_digitValues(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Character_GET_typeTags();
+void java_lang_Character_PUT_typeTags(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Character_GET_DIRECTIONALITY();
+void java_lang_Character_PUT_DIRECTIONALITY(JAVA_OBJECT v);
+JAVA_INT java_lang_Character_GET_ISJAVASTART();
+void java_lang_Character_PUT_ISJAVASTART(JAVA_INT v);
+JAVA_INT java_lang_Character_GET_ISJAVAPART();
+void java_lang_Character_PUT_ISJAVAPART(JAVA_INT v);
+JAVA_OBJECT java_lang_Character_GET_titlecaseKeys();
+void java_lang_Character_PUT_titlecaseKeys(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Character_GET_titlecaseValues();
+void java_lang_Character_PUT_titlecaseValues(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Character_GET_numericKeys();
+void java_lang_Character_PUT_numericKeys(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Character_GET_numericValues();
+void java_lang_Character_PUT_numericValues(JAVA_OBJECT v);
+JAVA_INT java_lang_Character_GET_CACHE_LEN();
+void java_lang_Character_PUT_CACHE_LEN(JAVA_INT v);
+JAVA_BOOLEAN java_lang_Character_GET__assertionsDisabled();
+void java_lang_Character_PUT__assertionsDisabled(JAVA_BOOLEAN v);
+void java_lang_Character___CLINIT_();
+void java_lang_Character___INIT____char(JAVA_OBJECT me, JAVA_CHAR n1);
+JAVA_CHAR java_lang_Character_charValue__(JAVA_OBJECT me);
+JAVA_INT java_lang_Character_compareTo___java_lang_Character(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Character_valueOf___char(JAVA_CHAR n1);
+JAVA_BOOLEAN java_lang_Character_isValidCodePoint___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_Character_isSupplementaryCodePoint___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_Character_isHighSurrogate___char(JAVA_CHAR n1);
+JAVA_BOOLEAN java_lang_Character_isLowSurrogate___char(JAVA_CHAR n1);
+JAVA_BOOLEAN java_lang_Character_isSurrogatePair___char_char(JAVA_CHAR n1, JAVA_CHAR n2);
+JAVA_INT java_lang_Character_charCount___int(JAVA_INT n1);
+JAVA_INT java_lang_Character_toCodePoint___char_char(JAVA_CHAR n1, JAVA_CHAR n2);
+JAVA_INT java_lang_Character_codePointAt___java_lang_CharSequence_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_INT java_lang_Character_codePointAt___char_1ARRAY_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_INT java_lang_Character_codePointAt___char_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+JAVA_INT java_lang_Character_codePointBefore___java_lang_CharSequence_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_INT java_lang_Character_codePointBefore___char_1ARRAY_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_INT java_lang_Character_codePointBefore___char_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+JAVA_INT java_lang_Character_toChars___int_char_1ARRAY_int(JAVA_INT n1, JAVA_OBJECT n2, JAVA_INT n3);
+JAVA_OBJECT java_lang_Character_toChars___int(JAVA_INT n1);
+JAVA_INT java_lang_Character_codePointCount___java_lang_CharSequence_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+JAVA_INT java_lang_Character_codePointCount___char_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+JAVA_INT java_lang_Character_offsetByCodePoints___java_lang_CharSequence_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+JAVA_INT java_lang_Character_offsetByCodePoints___char_1ARRAY_int_int_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3, JAVA_INT n4, JAVA_INT n5);
+JAVA_INT java_lang_Character_digit___char_int(JAVA_CHAR n1, JAVA_INT n2);
+JAVA_INT java_lang_Character_digit___int_int(JAVA_INT n1, JAVA_INT n2);
+// Vtable index: 1
+JAVA_BOOLEAN java_lang_Character_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_CHAR java_lang_Character_forDigit___int_int(JAVA_INT n1, JAVA_INT n2);
+JAVA_INT java_lang_Character_getNumericValue___char(JAVA_CHAR n1);
+JAVA_INT java_lang_Character_getNumericValue___int(JAVA_INT n1);
+JAVA_INT java_lang_Character_getType___char(JAVA_CHAR n1);
+JAVA_INT java_lang_Character_getType___int(JAVA_INT n1);
+JAVA_BYTE java_lang_Character_getDirectionality___char(JAVA_CHAR n1);
+JAVA_BYTE java_lang_Character_getDirectionality___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_Character_isMirrored___char(JAVA_CHAR n1);
+JAVA_BOOLEAN java_lang_Character_isMirrored___int(JAVA_INT n1);
+// Vtable index: 4
+JAVA_INT java_lang_Character_hashCode__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_Character_isDefined___char(JAVA_CHAR n1);
+JAVA_BOOLEAN java_lang_Character_isDefined___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_Character_isDigit___char(JAVA_CHAR n1);
+JAVA_BOOLEAN java_lang_Character_isDigit___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_Character_isIdentifierIgnorable___char(JAVA_CHAR n1);
+JAVA_BOOLEAN java_lang_Character_isIdentifierIgnorable___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_Character_isISOControl___char(JAVA_CHAR n1);
+JAVA_BOOLEAN java_lang_Character_isISOControl___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_Character_isJavaIdentifierPart___char(JAVA_CHAR n1);
+JAVA_BOOLEAN java_lang_Character_isJavaIdentifierPart___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_Character_isJavaIdentifierStart___char(JAVA_CHAR n1);
+JAVA_BOOLEAN java_lang_Character_isJavaIdentifierStart___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_Character_isJavaLetter___char(JAVA_CHAR n1);
+JAVA_BOOLEAN java_lang_Character_isJavaLetterOrDigit___char(JAVA_CHAR n1);
+JAVA_BOOLEAN java_lang_Character_isLetter___char(JAVA_CHAR n1);
+JAVA_BOOLEAN java_lang_Character_isLetter___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_Character_isLetterOrDigit___char(JAVA_CHAR n1);
+JAVA_BOOLEAN java_lang_Character_isLetterOrDigit___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_Character_isLowerCase___char(JAVA_CHAR n1);
+JAVA_BOOLEAN java_lang_Character_isLowerCase___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_Character_isSpace___char(JAVA_CHAR n1);
+JAVA_BOOLEAN java_lang_Character_isSpaceChar___char(JAVA_CHAR n1);
+JAVA_BOOLEAN java_lang_Character_isSpaceChar___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_Character_isTitleCase___char(JAVA_CHAR n1);
+JAVA_BOOLEAN java_lang_Character_isTitleCase___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_Character_isUnicodeIdentifierPart___char(JAVA_CHAR n1);
+JAVA_BOOLEAN java_lang_Character_isUnicodeIdentifierPart___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_Character_isUnicodeIdentifierStart___char(JAVA_CHAR n1);
+JAVA_BOOLEAN java_lang_Character_isUnicodeIdentifierStart___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_Character_isUpperCase___char(JAVA_CHAR n1);
+JAVA_BOOLEAN java_lang_Character_isUpperCase___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_Character_isWhitespace___char(JAVA_CHAR n1);
+JAVA_BOOLEAN java_lang_Character_isWhitespace___int(JAVA_INT n1);
+JAVA_CHAR java_lang_Character_reverseBytes___char(JAVA_CHAR n1);
+JAVA_CHAR java_lang_Character_toLowerCase___char(JAVA_CHAR n1);
+JAVA_INT java_lang_Character_toLowerCase___int(JAVA_INT n1);
+// Vtable index: 5
+JAVA_OBJECT java_lang_Character_toString__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Character_toString___char(JAVA_CHAR n1);
+JAVA_CHAR java_lang_Character_toTitleCase___char(JAVA_CHAR n1);
+JAVA_INT java_lang_Character_toTitleCase___int(JAVA_INT n1);
+JAVA_CHAR java_lang_Character_toUpperCase___char(JAVA_CHAR n1);
+JAVA_INT java_lang_Character_toUpperCase___int(JAVA_INT n1);
+// Vtable index: 6
+JAVA_INT java_lang_Character_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_lang_Class.c b/tests/nbody-java/java_lang_Class.c
new file mode 100644
index 00000000..471a8fa9
--- /dev/null
+++ b/tests/nbody-java/java_lang_Class.c
@@ -0,0 +1,1273 @@
+#include "xmlvm.h"
+#include "java_io_File.h"
+#include "java_io_IOException.h"
+#include "java_lang_ClassLoader.h"
+#include "java_lang_RuntimeException.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_lang_System.h"
+#include "java_lang_Throwable.h"
+#include "java_lang_reflect_Constructor.h"
+#include "java_lang_reflect_Field.h"
+#include "java_lang_reflect_Method.h"
+#include "org_xmlvm_runtime_XMLVMClassLoader.h"
+
+#include "java_lang_Class.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Class
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Class
+
+__TIB_DEFINITION_java_lang_Class __TIB_java_lang_Class = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Class, // classInitializer
+ "java.lang.Class", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/reflect/AnnotatedElement;Ljava/lang/reflect/GenericDeclaration;Ljava/lang/reflect/Type;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_Class), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_Class;
+JAVA_OBJECT __CLASS_java_lang_Class_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Class_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Class_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_lang_Class_serialVersionUID;
+static JAVA_OBJECT _STATIC_java_lang_Class_classLoader;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_Class()
+{
+ staticInitializerLock(&__TIB_java_lang_Class);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Class.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Class.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Class);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Class.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Class.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Class.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Class")
+ __INIT_IMPL_java_lang_Class();
+ }
+}
+
+void __INIT_IMPL_java_lang_Class()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_Class.newInstanceFunc = __NEW_INSTANCE_java_lang_Class;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_Class.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_Class.vtable[6] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_Class.vtable[7] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_Class.vtable[8] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_Class.vtable[9] = (VTABLE_PTR) &java_lang_Class_getMethod___java_lang_String_java_lang_Class_1ARRAY;
+ __TIB_java_lang_Class.vtable[10] = (VTABLE_PTR) &java_lang_Class_getTypeParameters__;
+ __TIB_java_lang_Class.vtable[11] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_Class.vtable[12] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_Class.vtable[5] = (VTABLE_PTR) &java_lang_Class_toString__;
+ xmlvm_init_native_java_lang_Class();
+ // Initialize interface information
+ __TIB_java_lang_Class.numImplementedInterfaces = 4;
+ __TIB_java_lang_Class.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 4);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_lang_Class.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_lang_reflect_AnnotatedElement)
+
+ __TIB_java_lang_Class.implementedInterfaces[0][1] = &__TIB_java_lang_reflect_AnnotatedElement;
+
+ XMLVM_CLASS_INIT(java_lang_reflect_GenericDeclaration)
+
+ __TIB_java_lang_Class.implementedInterfaces[0][2] = &__TIB_java_lang_reflect_GenericDeclaration;
+
+ XMLVM_CLASS_INIT(java_lang_reflect_Type)
+
+ __TIB_java_lang_Class.implementedInterfaces[0][3] = &__TIB_java_lang_reflect_Type;
+ // Initialize itable for this class
+ __TIB_java_lang_Class.itableBegin = &__TIB_java_lang_Class.itable[0];
+ __TIB_java_lang_Class.itable[XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_getAnnotation___java_lang_Class] = __TIB_java_lang_Class.vtable[6];
+ __TIB_java_lang_Class.itable[XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_getAnnotations__] = __TIB_java_lang_Class.vtable[7];
+ __TIB_java_lang_Class.itable[XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_getDeclaredAnnotations__] = __TIB_java_lang_Class.vtable[8];
+ __TIB_java_lang_Class.itable[XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_isAnnotationPresent___java_lang_Class] = __TIB_java_lang_Class.vtable[11];
+ __TIB_java_lang_Class.itable[XMLVM_ITABLE_IDX_java_lang_reflect_GenericDeclaration_getTypeParameters__] = __TIB_java_lang_Class.vtable[10];
+
+ _STATIC_java_lang_Class_serialVersionUID = 3206093459760846163;
+ _STATIC_java_lang_Class_classLoader = (java_lang_ClassLoader*) JAVA_NULL;
+
+ __TIB_java_lang_Class.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Class.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_Class.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_Class.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_Class.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_Class.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Class.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Class.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_Class = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Class);
+ __TIB_java_lang_Class.clazz = __CLASS_java_lang_Class;
+ __TIB_java_lang_Class.baseType = JAVA_NULL;
+ __CLASS_java_lang_Class_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Class);
+ __CLASS_java_lang_Class_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Class_1ARRAY);
+ __CLASS_java_lang_Class_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Class_2ARRAY);
+ java_lang_Class___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_Class]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_Class.classInitialized = 1;
+}
+
+void __DELETE_java_lang_Class(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_Class]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_Class(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_Class*) me)->fields.java_lang_Class.tib_ = (java_lang_Object*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_Class]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_Class()
+{ XMLVM_CLASS_INIT(java_lang_Class)
+java_lang_Class* me = (java_lang_Class*) XMLVM_MALLOC(sizeof(java_lang_Class));
+ me->tib = &__TIB_java_lang_Class;
+ __INIT_INSTANCE_MEMBERS_java_lang_Class(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_Class]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Class()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_lang_Class_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_lang_Class)
+ return _STATIC_java_lang_Class_serialVersionUID;
+}
+
+void java_lang_Class_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_Class)
+_STATIC_java_lang_Class_serialVersionUID = v;
+}
+
+JAVA_OBJECT java_lang_Class_GET_classLoader()
+{
+ XMLVM_CLASS_INIT(java_lang_Class)
+ return _STATIC_java_lang_Class_classLoader;
+}
+
+void java_lang_Class_PUT_classLoader(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Class)
+_STATIC_java_lang_Class_classLoader = v;
+}
+
+//XMLVM_NATIVE[void java_lang_Class_initNativeLayer__()]
+
+void java_lang_Class___INIT____java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Class___INIT____java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.Class", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Class.java", 127)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Class.java", 128)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_Class*) _r0.o)->fields.java_lang_Class.tib_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Class.java", 129)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getStackClasses___int_boolean(JAVA_INT n1, JAVA_BOOLEAN n2)]
+
+JAVA_OBJECT java_lang_Class_forName___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Class)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Class_forName___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Class", "forName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Class.java", 189)
+ _r0.i = 1;
+ _r1.o = JAVA_NULL;
+ _r0.o = java_lang_Class_forName___java_lang_String_boolean_java_lang_ClassLoader(_r2.o, _r0.i, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_forName___java_lang_String_boolean_java_lang_ClassLoader(JAVA_OBJECT n1, JAVA_BOOLEAN n2, JAVA_OBJECT n3)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getClasses__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[void java_lang_Class_verify__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getAnnotation___java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getAnnotations__(JAVA_OBJECT me)]
+
+JAVA_OBJECT java_lang_Class_getCanonicalName__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Class_getCanonicalName__]
+ XMLVM_ENTER_METHOD("java.lang.Class", "getCanonicalName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("Class.java", 277)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_lang_Class_isAnonymousClass__(_r3.o);
+ if (_r0.i != 0) goto label12;
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_lang_Class_isLocalClass__(_r3.o);
+ if (_r0.i == 0) goto label14;
+ label12:;
+ XMLVM_SOURCE_POSITION("Class.java", 279)
+ _r0.o = JAVA_NULL;
+ label13:;
+ XMLVM_SOURCE_POSITION("Class.java", 284)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label14:;
+ XMLVM_SOURCE_POSITION("Class.java", 281)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_lang_Class_isPrimitive__(_r3.o);
+ if (_r0.i == 0) goto label25;
+ XMLVM_SOURCE_POSITION("Class.java", 282)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_lang_Class_getSimpleName__(_r3.o);
+ goto label13;
+ label25:;
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_lang_Class_getPackage__(_r3.o);
+ if (_r0.o != JAVA_NULL) goto label42;
+ // ""
+ _r0.o = xmlvm_create_java_string_from_pool(21);
+ label33:;
+ _r1.i = 36;
+ _r2.i = 46;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_String_replace___char_char(_r0.o, _r1.i, _r2.i);
+ goto label13;
+ label42:;
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT___(_r0.o);
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_lang_Class_getPackage__(_r3.o);
+
+
+ // Red class access removed: java.lang.Package::getName
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ // "."
+ _r1.o = xmlvm_create_java_string_from_pool(52);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_lang_Class_getSimpleName__(_r3.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ goto label33;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Class_getClassLoader__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Class_getClassLoader__]
+ XMLVM_ENTER_METHOD("java.lang.Class", "getClassLoader", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Class.java", 301)
+ _r0.o = java_lang_Class_GET_classLoader();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Class_getClassLoaderImpl__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Class_getClassLoaderImpl__]
+ XMLVM_ENTER_METHOD("java.lang.Class", "getClassLoaderImpl", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Class.java", 317)
+ _r0.o = java_lang_Class_GET_classLoader();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getComponentType__(JAVA_OBJECT me)]
+
+JAVA_OBJECT java_lang_Class_getConstructor___java_lang_Class_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Class_getConstructor___java_lang_Class_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.Class", "getConstructor", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Class.java", 347)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_Class_getDeclaredConstructor___java_lang_Class_1ARRAY(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getConstructors__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getDeclaredAnnotations__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getDeclaredClasses__(JAVA_OBJECT me)]
+
+JAVA_OBJECT java_lang_Class_getDeclaredConstructor___java_lang_Class_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Class_getDeclaredConstructor___java_lang_Class_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.Class", "getDeclaredConstructor", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r5.o = me;
+ _r6.o = n1;
+ XMLVM_SOURCE_POSITION("Class.java", 409)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = java_lang_Class_getDeclaredConstructors__(_r5.o);
+ _r1.i = 0;
+ label5:;
+ XMLVM_SOURCE_POSITION("Class.java", 410)
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ if (_r1.i >= _r2.i) goto label26;
+ XMLVM_SOURCE_POSITION("Class.java", 411)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_CHECK_NPE(2)
+ _r2.o = java_lang_reflect_Constructor_getParameterTypes__(_r2.o);
+ _r2.i = java_lang_Class_arrayEqual___java_lang_Object_1ARRAY_java_lang_Object_1ARRAY(_r6.o, _r2.o);
+ if (_r2.i == 0) goto label23;
+ XMLVM_SOURCE_POSITION("Class.java", 412)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ label23:;
+ _r1.i = _r1.i + 1;
+ goto label5;
+ label26:;
+ XMLVM_SOURCE_POSITION("Class.java", 415)
+
+
+ // Red class access removed: java.lang.NoSuchMethodException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r3.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder___INIT___(_r3.o);
+ XMLVM_CHECK_NPE(5)
+ _r4.o = java_lang_Class_getName__(_r5.o);
+ XMLVM_CHECK_NPE(3)
+ _r3.o = java_lang_StringBuilder_append___java_lang_String(_r3.o, _r4.o);
+ // ".<init>"
+ _r4.o = xmlvm_create_java_string_from_pool(53);
+ XMLVM_CHECK_NPE(3)
+ _r3.o = java_lang_StringBuilder_append___java_lang_String(_r3.o, _r4.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(3)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r3.o)->tib->vtable[5])(_r3.o);
+
+
+ // Red class access removed: java.lang.NoSuchMethodException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r2.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Class_arrayEqual___java_lang_Object_1ARRAY_java_lang_Object_1ARRAY(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Class)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Class_arrayEqual___java_lang_Object_1ARRAY_java_lang_Object_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.Class", "arrayEqual", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r5.o = n1;
+ _r6.o = n2;
+ _r4.i = 1;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("Class.java", 419)
+ if (_r5.o != JAVA_NULL) goto label13;
+ XMLVM_SOURCE_POSITION("Class.java", 420)
+ if (_r6.o == JAVA_NULL) goto label9;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ if (_r1.i != 0) goto label11;
+ label9:;
+ _r1 = _r4;
+ label10:;
+ XMLVM_SOURCE_POSITION("Class.java", 437)
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ label11:;
+ _r1 = _r3;
+ goto label10;
+ label13:;
+ XMLVM_SOURCE_POSITION("Class.java", 423)
+ if (_r6.o != JAVA_NULL) goto label22;
+ XMLVM_SOURCE_POSITION("Class.java", 424)
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ if (_r1.i != 0) goto label20;
+ _r1 = _r4;
+ goto label10;
+ label20:;
+ _r1 = _r3;
+ goto label10;
+ label22:;
+ XMLVM_SOURCE_POSITION("Class.java", 427)
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ if (_r1.i == _r2.i) goto label28;
+ _r1 = _r3;
+ XMLVM_SOURCE_POSITION("Class.java", 428)
+ goto label10;
+ label28:;
+ XMLVM_SOURCE_POSITION("Class.java", 431)
+ _r0.i = 0;
+ label29:;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ if (_r0.i >= _r1.i) goto label43;
+ XMLVM_SOURCE_POSITION("Class.java", 432)
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r0.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r0.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ if (_r1.o == _r2.o) goto label40;
+ _r1 = _r3;
+ XMLVM_SOURCE_POSITION("Class.java", 433)
+ goto label10;
+ label40:;
+ _r0.i = _r0.i + 1;
+ goto label29;
+ label43:;
+ _r1 = _r4;
+ goto label10;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getDeclaredConstructors__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getDeclaredField___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getDeclaredFields__(JAVA_OBJECT me)]
+
+JAVA_OBJECT java_lang_Class_getDeclaredMethod___java_lang_String_java_lang_Class_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Class_getDeclaredMethod___java_lang_String_java_lang_Class_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.Class", "getDeclaredMethod", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r6.o = me;
+ _r7.o = n1;
+ _r8.o = n2;
+ XMLVM_SOURCE_POSITION("Class.java", 509)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = java_lang_Class_getDeclaredMethods__(_r6.o);
+ _r0.i = 0;
+ label5:;
+ XMLVM_SOURCE_POSITION("Class.java", 510)
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ if (_r0.i >= _r3.i) goto label34;
+ XMLVM_SOURCE_POSITION("Class.java", 511)
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_SOURCE_POSITION("Class.java", 512)
+ //java_lang_reflect_Method_getName__[13]
+ XMLVM_CHECK_NPE(1)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_reflect_Method*) _r1.o)->tib->vtable[13])(_r1.o);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(7)
+ _r3.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r7.o)->tib->vtable[1])(_r7.o, _r3.o);
+ if (_r3.i == 0) goto label31;
+ XMLVM_CHECK_NPE(1)
+ _r3.o = java_lang_reflect_Method_getParameterTypes__(_r1.o);
+ _r3.i = java_lang_Class_arrayEqual___java_lang_Object_1ARRAY_java_lang_Object_1ARRAY(_r8.o, _r3.o);
+ if (_r3.i == 0) goto label31;
+ XMLVM_SOURCE_POSITION("Class.java", 514)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label31:;
+ _r0.i = _r0.i + 1;
+ goto label5;
+ label34:;
+ XMLVM_SOURCE_POSITION("Class.java", 517)
+
+
+ // Red class access removed: java.lang.NoSuchMethodException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r4.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(4)
+ java_lang_StringBuilder___INIT___(_r4.o);
+ XMLVM_CHECK_NPE(6)
+ _r5.o = java_lang_Class_getName__(_r6.o);
+ XMLVM_CHECK_NPE(4)
+ _r4.o = java_lang_StringBuilder_append___java_lang_String(_r4.o, _r5.o);
+ // "."
+ _r5.o = xmlvm_create_java_string_from_pool(52);
+ XMLVM_CHECK_NPE(4)
+ _r4.o = java_lang_StringBuilder_append___java_lang_String(_r4.o, _r5.o);
+ XMLVM_CHECK_NPE(4)
+ _r4.o = java_lang_StringBuilder_append___java_lang_String(_r4.o, _r7.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(4)
+ _r4.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r4.o)->tib->vtable[5])(_r4.o);
+
+
+ // Red class access removed: java.lang.NoSuchMethodException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r3.o)
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getDeclaredMethods__(JAVA_OBJECT me)]
+
+JAVA_OBJECT java_lang_Class_getDeclaringClass__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Class_getDeclaringClass__]
+ XMLVM_ENTER_METHOD("java.lang.Class", "getDeclaringClass", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Class.java", 543)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_Class_isArray__(_r1.o);
+ if (_r0.i != 0) goto label12;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_Class_isPrimitive__(_r1.o);
+ if (_r0.i == 0) goto label14;
+ label12:;
+ XMLVM_SOURCE_POSITION("Class.java", 544)
+ _r0.o = JAVA_NULL;
+ label13:;
+ XMLVM_SOURCE_POSITION("Class.java", 546)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label14:;
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_Class_getEnclosingClass__(_r1.o);
+ goto label13;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getEnclosingClass__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getEnclosingConstructor__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getEnclosingMethod__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getEnumConstants__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getField___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getFields__(JAVA_OBJECT me)]
+
+JAVA_OBJECT java_lang_Class_getGenericInterfaces__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Class_getGenericInterfaces__]
+ XMLVM_ENTER_METHOD("java.lang.Class", "getGenericInterfaces", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Class.java", 632)
+
+
+ // Red class access removed: org.apache.harmony.luni.lang.reflect.GenericSignatureParser::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = JAVA_NULL;
+
+
+ // Red class access removed: org.apache.harmony.luni.lang.reflect.GenericSignatureParser::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Class.java", 633)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = java_lang_Class_getSignatureAttribute__(_r2.o);
+
+
+ // Red class access removed: org.apache.harmony.luni.lang.reflect.GenericSignatureParser::parseForClass
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Class.java", 634)
+
+
+ // Red class access removed: org.apache.harmony.luni.lang.reflect.GenericSignatureParser,org.apache.harmony.luni.lang.reflect.ListOfTypes::interfaceTypes
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: org.apache.harmony.luni.lang.reflect.Types::getClonedTypeArray
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Class_getGenericSuperclass__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Class_getGenericSuperclass__]
+ XMLVM_ENTER_METHOD("java.lang.Class", "getGenericSuperclass", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Class.java", 646)
+
+
+ // Red class access removed: org.apache.harmony.luni.lang.reflect.GenericSignatureParser::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = JAVA_NULL;
+
+
+ // Red class access removed: org.apache.harmony.luni.lang.reflect.GenericSignatureParser::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Class.java", 647)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = java_lang_Class_getSignatureAttribute__(_r2.o);
+
+
+ // Red class access removed: org.apache.harmony.luni.lang.reflect.GenericSignatureParser::parseForClass
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Class.java", 648)
+
+
+ // Red class access removed: org.apache.harmony.luni.lang.reflect.GenericSignatureParser,java.lang.reflect.Type::superclassType
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: org.apache.harmony.luni.lang.reflect.Types::getType
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getInterfaces__(JAVA_OBJECT me)]
+
+JAVA_OBJECT java_lang_Class_getMethod___java_lang_String_java_lang_Class_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Class_getMethod___java_lang_String_java_lang_Class_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.Class", "getMethod", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r6.o = me;
+ _r7.o = n1;
+ _r8.o = n2;
+ XMLVM_SOURCE_POSITION("Class.java", 684)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = java_lang_Class_getMethods__(_r6.o);
+ _r0.i = 0;
+ label5:;
+ XMLVM_SOURCE_POSITION("Class.java", 685)
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ if (_r0.i >= _r3.i) goto label34;
+ XMLVM_SOURCE_POSITION("Class.java", 686)
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_SOURCE_POSITION("Class.java", 687)
+ //java_lang_reflect_Method_getName__[13]
+ XMLVM_CHECK_NPE(1)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_reflect_Method*) _r1.o)->tib->vtable[13])(_r1.o);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(7)
+ _r3.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r7.o)->tib->vtable[1])(_r7.o, _r3.o);
+ if (_r3.i == 0) goto label31;
+ XMLVM_CHECK_NPE(1)
+ _r3.o = java_lang_reflect_Method_getParameterTypes__(_r1.o);
+ _r3.i = java_lang_Class_arrayEqual___java_lang_Object_1ARRAY_java_lang_Object_1ARRAY(_r8.o, _r3.o);
+ if (_r3.i == 0) goto label31;
+ XMLVM_SOURCE_POSITION("Class.java", 689)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label31:;
+ _r0.i = _r0.i + 1;
+ goto label5;
+ label34:;
+ XMLVM_SOURCE_POSITION("Class.java", 692)
+
+
+ // Red class access removed: java.lang.NoSuchMethodException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r4.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(4)
+ java_lang_StringBuilder___INIT___(_r4.o);
+ XMLVM_CHECK_NPE(6)
+ _r5.o = java_lang_Class_getName__(_r6.o);
+ XMLVM_CHECK_NPE(4)
+ _r4.o = java_lang_StringBuilder_append___java_lang_String(_r4.o, _r5.o);
+ // "."
+ _r5.o = xmlvm_create_java_string_from_pool(52);
+ XMLVM_CHECK_NPE(4)
+ _r4.o = java_lang_StringBuilder_append___java_lang_String(_r4.o, _r5.o);
+ XMLVM_CHECK_NPE(4)
+ _r4.o = java_lang_StringBuilder_append___java_lang_String(_r4.o, _r7.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(4)
+ _r4.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r4.o)->tib->vtable[5])(_r4.o);
+
+
+ // Red class access removed: java.lang.NoSuchMethodException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r3.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Class_getMethods__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Class_getMethods__]
+ XMLVM_ENTER_METHOD("java.lang.Class", "getMethods", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r7.o = me;
+ _r6.i = 0;
+ XMLVM_SOURCE_POSITION("Class.java", 713)
+ XMLVM_CHECK_NPE(7)
+ _r3.o = java_lang_Class_getDeclaredMethods__(_r7.o);
+ XMLVM_SOURCE_POSITION("Class.java", 714)
+ XMLVM_CHECK_NPE(7)
+ _r1.o = java_lang_Class_getSuperclass__(_r7.o);
+ if (_r1.o != JAVA_NULL) goto label13;
+ XMLVM_SOURCE_POSITION("Class.java", 715)
+ _r4 = _r3;
+ label12:;
+ XMLVM_SOURCE_POSITION("Class.java", 716)
+ XMLVM_SOURCE_POSITION("Class.java", 722)
+ XMLVM_EXIT_METHOD()
+ return _r4.o;
+ label13:;
+ XMLVM_SOURCE_POSITION("Class.java", 718)
+ XMLVM_CHECK_NPE(1)
+ _r2.o = java_lang_Class_getMethods__(_r1.o);
+ XMLVM_SOURCE_POSITION("Class.java", 719)
+ _r4.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ _r5.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ _r4.i = _r4.i + _r5.i;
+ XMLVM_CLASS_INIT(java_lang_reflect_Method)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_reflect_Method, _r4.i);
+ XMLVM_SOURCE_POSITION("Class.java", 720)
+ _r4.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r3.o, _r6.i, _r0.o, _r6.i, _r4.i);
+ XMLVM_SOURCE_POSITION("Class.java", 721)
+ _r4.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ _r5.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r2.o, _r6.i, _r0.o, _r4.i, _r5.i);
+ _r4 = _r0;
+ goto label12;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_INT java_lang_Class_getModifiers__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getName__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getSimpleName__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getProtectionDomain__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getPDImpl__(JAVA_OBJECT me)]
+
+JAVA_OBJECT java_lang_Class_getResource___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Class_getResource___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Class", "getResource", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ volatile XMLVMElem _r9;
+ _r8.o = me;
+ _r9.o = n1;
+ _r6.i = 46;
+ // "/"
+ _r7.o = xmlvm_create_java_string_from_pool(54);
+ XMLVM_SOURCE_POSITION("Class.java", 796)
+ _r2.o = __NEW_java_io_File();
+ XMLVM_CHECK_NPE(2)
+ java_io_File___INIT____java_lang_String(_r2.o, _r9.o);
+ XMLVM_SOURCE_POSITION("Class.java", 798)
+ XMLVM_CHECK_NPE(2)
+ _r4.i = java_io_File_exists__(_r2.o);
+ if (_r4.i != 0) goto label33;
+ XMLVM_SOURCE_POSITION("Class.java", 800)
+ // "/"
+ _r4.o = xmlvm_create_java_string_from_pool(54);
+ XMLVM_CHECK_NPE(9)
+ _r4.i = java_lang_String_startsWith___java_lang_String(_r9.o, _r7.o);
+ if (_r4.i == 0) goto label68;
+ XMLVM_SOURCE_POSITION("Class.java", 801)
+ _r4.i = 1;
+ XMLVM_CHECK_NPE(9)
+ _r9.o = java_lang_String_substring___int(_r9.o, _r4.i);
+ label28:;
+ XMLVM_SOURCE_POSITION("Class.java", 813)
+ _r2.o = __NEW_java_io_File();
+ XMLVM_CHECK_NPE(2)
+ java_io_File___INIT____java_lang_String(_r2.o, _r9.o);
+ label33:;
+ XMLVM_SOURCE_POSITION("Class.java", 816)
+ XMLVM_CHECK_NPE(2)
+ _r4.i = java_io_File_exists__(_r2.o);
+ if (_r4.i == 0) goto label125;
+ XMLVM_TRY_BEGIN(w556aaac44b1c26)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Class.java", 818)
+
+
+ // Red class access removed: java.net.URL::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r5.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(5)
+ java_lang_StringBuilder___INIT___(_r5.o);
+ // "file://"
+ _r6.o = xmlvm_create_java_string_from_pool(55);
+ XMLVM_CHECK_NPE(5)
+ _r5.o = java_lang_StringBuilder_append___java_lang_String(_r5.o, _r6.o);
+ XMLVM_CHECK_NPE(2)
+ _r6.o = java_io_File_getAbsolutePath__(_r2.o);
+ XMLVM_CHECK_NPE(5)
+ _r5.o = java_lang_StringBuilder_append___java_lang_String(_r5.o, _r6.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(5)
+ _r5.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r5.o)->tib->vtable[5])(_r5.o);
+
+
+ // Red class access removed: java.net.URL::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w556aaac44b1c26)
+ XMLVM_CATCH_END(w556aaac44b1c26)
+ XMLVM_RESTORE_EXCEPTION_ENV(w556aaac44b1c26)
+ label67:;
+ XMLVM_SOURCE_POSITION("Class.java", 823)
+ XMLVM_EXIT_METHOD()
+ return _r4.o;
+ label68:;
+ XMLVM_SOURCE_POSITION("Class.java", 803)
+ XMLVM_CHECK_NPE(8)
+ _r3.o = java_lang_Class_getName__(_r8.o);
+ XMLVM_SOURCE_POSITION("Class.java", 804)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_lang_String_lastIndexOf___int(_r3.o, _r6.i);
+ _r4.i = -1;
+ if (_r0.i == _r4.i) goto label114;
+ XMLVM_SOURCE_POSITION("Class.java", 805)
+ XMLVM_SOURCE_POSITION("Class.java", 806)
+ _r4.i = 0;
+ XMLVM_CHECK_NPE(3)
+ _r4.o = java_lang_String_substring___int_int(_r3.o, _r4.i, _r0.i);
+ _r5.i = 47;
+ XMLVM_CHECK_NPE(4)
+ _r3.o = java_lang_String_replace___char_char(_r4.o, _r6.i, _r5.i);
+ label90:;
+ XMLVM_SOURCE_POSITION("Class.java", 811)
+ _r4.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(4)
+ java_lang_StringBuilder___INIT___(_r4.o);
+ XMLVM_CHECK_NPE(4)
+ _r4.o = java_lang_StringBuilder_append___java_lang_String(_r4.o, _r3.o);
+ // "/"
+ _r5.o = xmlvm_create_java_string_from_pool(54);
+ XMLVM_CHECK_NPE(4)
+ _r4.o = java_lang_StringBuilder_append___java_lang_String(_r4.o, _r7.o);
+ XMLVM_CHECK_NPE(4)
+ _r4.o = java_lang_StringBuilder_append___java_lang_String(_r4.o, _r9.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(4)
+ _r9.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r4.o)->tib->vtable[5])(_r4.o);
+ goto label28;
+ label114:;
+ XMLVM_SOURCE_POSITION("Class.java", 808)
+ // ""
+ _r3.o = xmlvm_create_java_string_from_pool(21);
+ goto label90;
+ label117:;
+ XMLVM_SOURCE_POSITION("Class.java", 819)
+ java_lang_Thread* curThread_w556aaac44b1c59 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r4.o = curThread_w556aaac44b1c59->fields.java_lang_Thread.xmlvmException_;
+ _r1 = _r4;
+ XMLVM_SOURCE_POSITION("Class.java", 820)
+ _r4.o = __NEW_java_lang_RuntimeException();
+ XMLVM_CHECK_NPE(4)
+ java_lang_RuntimeException___INIT____java_lang_Throwable(_r4.o, _r1.o);
+ XMLVM_THROW_CUSTOM(_r4.o)
+ label125:;
+ _r4.o = JAVA_NULL;
+ goto label67;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Class_getResourceAsStream___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Class_getResourceAsStream___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Class", "getResourceAsStream", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ _r2.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("Class.java", 842)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_lang_Class_getResource___java_lang_String(_r3.o, _r4.o);
+ if (_r1.o != JAVA_NULL) goto label8;
+ label7:;
+ XMLVM_SOURCE_POSITION("Class.java", 843)
+ XMLVM_SOURCE_POSITION("Class.java", 849)
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ label8:;
+ XMLVM_TRY_BEGIN(w556aaac45b1c12)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Class.java", 847)
+
+
+ // Red class access removed: java.net.URL::openStream
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w556aaac45b1c12)
+ XMLVM_CATCH_SPECIFIC(w556aaac45b1c12,java_io_IOException,13)
+ XMLVM_CATCH_END(w556aaac45b1c12)
+ XMLVM_RESTORE_EXCEPTION_ENV(w556aaac45b1c12)
+ goto label7;
+ label13:;
+ XMLVM_SOURCE_POSITION("Class.java", 848)
+ java_lang_Thread* curThread_w556aaac45b1c16 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w556aaac45b1c16->fields.java_lang_Thread.xmlvmException_;
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getSigners__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getSuperclass__(JAVA_OBJECT me)]
+
+JAVA_OBJECT java_lang_Class_getTypeParameters__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Class_getTypeParameters__]
+ XMLVM_ENTER_METHOD("java.lang.Class", "getTypeParameters", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Class.java", 885)
+ java_lang_Object_acquireLockRecursive__(_r2.o);
+ XMLVM_TRY_BEGIN(w556aaac48b1b4)
+ // Begin try
+
+
+ // Red class access removed: org.apache.harmony.luni.lang.reflect.GenericSignatureParser::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = JAVA_NULL;
+
+
+ // Red class access removed: org.apache.harmony.luni.lang.reflect.GenericSignatureParser::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Class.java", 886)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = java_lang_Class_getSignatureAttribute__(_r2.o);
+
+
+ // Red class access removed: org.apache.harmony.luni.lang.reflect.GenericSignatureParser::parseForClass
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Class.java", 887)
+
+
+ // Red class access removed: org.apache.harmony.luni.lang.reflect.GenericSignatureParser,java.lang.reflect.TypeVariable[]::formalTypeParameters
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.reflect.TypeVariable[]::clone
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.reflect.TypeVariable[]::check-cast
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w556aaac48b1b4)
+ XMLVM_CATCH_SPECIFIC(w556aaac48b1b4,java_lang_Object,24)
+ XMLVM_CATCH_END(w556aaac48b1b4)
+ XMLVM_RESTORE_EXCEPTION_ENV(w556aaac48b1b4)
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label24:;
+ java_lang_Thread* curThread_w556aaac48b1b8 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w556aaac48b1b8->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_Class_isAnnotation__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_Class_isAnnotationPresent___java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_Class_isAnonymousClass__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_Class_isArray__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_Class_isAssignableFrom___java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_Class_isEnum__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_Class_isInstance___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_Class_isInterface__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_Class_isLocalClass__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_Class_isMemberClass__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_Class_isPrimitive__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_Class_isSynthetic__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_newInstance__(JAVA_OBJECT me)]
+
+JAVA_OBJECT java_lang_Class_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Class_toString__]
+ XMLVM_ENTER_METHOD("java.lang.Class", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Class.java", 1031)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Class.java", 1032)
+ XMLVM_CHECK_NPE(2)
+ _r1.i = java_lang_Class_isPrimitive__(_r2.o);
+ if (_r1.i != 0) goto label27;
+ XMLVM_SOURCE_POSITION("Class.java", 1033)
+ XMLVM_CHECK_NPE(2)
+ _r1.i = java_lang_Class_isInterface__(_r2.o);
+ if (_r1.i == 0) goto label39;
+ XMLVM_SOURCE_POSITION("Class.java", 1034)
+ // "interface"
+ _r1.o = xmlvm_create_java_string_from_pool(56);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ label22:;
+ XMLVM_SOURCE_POSITION("Class.java", 1038)
+ // " "
+ _r1.o = xmlvm_create_java_string_from_pool(57);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ label27:;
+ XMLVM_SOURCE_POSITION("Class.java", 1040)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = java_lang_Class_getName__(_r2.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("Class.java", 1041)
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label39:;
+ XMLVM_SOURCE_POSITION("Class.java", 1036)
+ // "class"
+ _r1.o = xmlvm_create_java_string_from_pool(58);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ goto label22;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Class_getPackage__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Class_getPackage__]
+ XMLVM_ENTER_METHOD("java.lang.Class", "getPackage", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Class.java", 1053)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_Class_getPackageString__(_r1.o);
+
+
+ // Red class access removed: java.lang.Package::getPackage
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getPackageString__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_Class_desiredAssertionStatus__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_asSubclass___java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+JAVA_OBJECT java_lang_Class_cast___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Class_cast___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.Class", "cast", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Class.java", 1092)
+ if (_r2.o == JAVA_NULL) goto label12;
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r2.o)->tib->vtable[3])(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_Class_isAssignableFrom___java_lang_Class(_r1.o, _r0.o);
+ if (_r0.i == 0) goto label13;
+ label12:;
+ XMLVM_SOURCE_POSITION("Class.java", 1093)
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ label13:;
+ XMLVM_SOURCE_POSITION("Class.java", 1095)
+
+
+ // Red class access removed: java.lang.ClassCastException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.ClassCastException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Class_getSignatureAttribute__(JAVA_OBJECT me)]
+
+void java_lang_Class___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Class___CLINIT___]
+ XMLVM_ENTER_METHOD("java.lang.Class", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("Class.java", 118)
+ _r0.o = __NEW_org_xmlvm_runtime_XMLVMClassLoader();
+ XMLVM_CHECK_NPE(0)
+ org_xmlvm_runtime_XMLVMClassLoader___INIT___(_r0.o);
+ java_lang_Class_PUT_classLoader( _r0.o);
+ XMLVM_SOURCE_POSITION("Class.java", 124)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_Class.h b/tests/nbody-java/java_lang_Class.h
new file mode 100644
index 00000000..f6b5ca30
--- /dev/null
+++ b/tests/nbody-java/java_lang_Class.h
@@ -0,0 +1,191 @@
+#ifndef __JAVA_LANG_CLASS__
+#define __JAVA_LANG_CLASS__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_Class 5
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+#include "java_lang_reflect_AnnotatedElement.h"
+#include "java_lang_reflect_GenericDeclaration.h"
+#include "java_lang_reflect_Type.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_io_File
+#define XMLVM_FORWARD_DECL_java_io_File
+XMLVM_FORWARD_DECL(java_io_File)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_io_IOException
+#define XMLVM_FORWARD_DECL_java_io_IOException
+XMLVM_FORWARD_DECL(java_io_IOException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_ClassLoader
+#define XMLVM_FORWARD_DECL_java_lang_ClassLoader
+XMLVM_FORWARD_DECL(java_lang_ClassLoader)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_RuntimeException
+#define XMLVM_FORWARD_DECL_java_lang_RuntimeException
+XMLVM_FORWARD_DECL(java_lang_RuntimeException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Throwable
+#define XMLVM_FORWARD_DECL_java_lang_Throwable
+XMLVM_FORWARD_DECL(java_lang_Throwable)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_Constructor
+#define XMLVM_FORWARD_DECL_java_lang_reflect_Constructor
+XMLVM_FORWARD_DECL(java_lang_reflect_Constructor)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_Field
+#define XMLVM_FORWARD_DECL_java_lang_reflect_Field
+XMLVM_FORWARD_DECL(java_lang_reflect_Field)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_Method
+#define XMLVM_FORWARD_DECL_java_lang_reflect_Method
+XMLVM_FORWARD_DECL(java_lang_reflect_Method)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_XMLVMClassLoader
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_XMLVMClassLoader
+XMLVM_FORWARD_DECL(org_xmlvm_runtime_XMLVMClassLoader)
+#endif
+// Class declarations for java.lang.Class
+XMLVM_DEFINE_CLASS(java_lang_Class, 13, XMLVM_ITABLE_SIZE_java_lang_Class)
+
+extern JAVA_OBJECT __CLASS_java_lang_Class;
+extern JAVA_OBJECT __CLASS_java_lang_Class_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Class_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Class_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_Class
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_Class \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT tib_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_Class \
+ } java_lang_Class
+
+struct java_lang_Class {
+ __TIB_DEFINITION_java_lang_Class* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_Class;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+typedef struct java_lang_Class java_lang_Class;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_Class 13
+#define XMLVM_VTABLE_IDX_java_lang_Class_getAnnotation___java_lang_Class 6
+#define XMLVM_VTABLE_IDX_java_lang_Class_getAnnotations__ 7
+#define XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredAnnotations__ 8
+#define XMLVM_VTABLE_IDX_java_lang_Class_getMethod___java_lang_String_java_lang_Class_1ARRAY 9
+#define XMLVM_VTABLE_IDX_java_lang_Class_getTypeParameters__ 10
+#define XMLVM_VTABLE_IDX_java_lang_Class_isAnnotationPresent___java_lang_Class 11
+#define XMLVM_VTABLE_IDX_java_lang_Class_newInstance__ 12
+#define XMLVM_VTABLE_IDX_java_lang_Class_toString__ 5
+
+void __INIT_java_lang_Class();
+void __INIT_IMPL_java_lang_Class();
+void __DELETE_java_lang_Class(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_Class(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_Class();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Class();
+void xmlvm_init_native_java_lang_Class();
+JAVA_LONG java_lang_Class_GET_serialVersionUID();
+void java_lang_Class_PUT_serialVersionUID(JAVA_LONG v);
+JAVA_OBJECT java_lang_Class_GET_classLoader();
+void java_lang_Class_PUT_classLoader(JAVA_OBJECT v);
+void java_lang_Class_initNativeLayer__();
+void java_lang_Class___INIT____java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Class_getStackClasses___int_boolean(JAVA_INT n1, JAVA_BOOLEAN n2);
+JAVA_OBJECT java_lang_Class_forName___java_lang_String(JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Class_forName___java_lang_String_boolean_java_lang_ClassLoader(JAVA_OBJECT n1, JAVA_BOOLEAN n2, JAVA_OBJECT n3);
+JAVA_OBJECT java_lang_Class_getClasses__(JAVA_OBJECT me);
+void java_lang_Class_verify__(JAVA_OBJECT me);
+// Vtable index: 6
+JAVA_OBJECT java_lang_Class_getAnnotation___java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 7
+JAVA_OBJECT java_lang_Class_getAnnotations__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getCanonicalName__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getClassLoader__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getClassLoaderImpl__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getComponentType__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getConstructor___java_lang_Class_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Class_getConstructors__(JAVA_OBJECT me);
+// Vtable index: 8
+JAVA_OBJECT java_lang_Class_getDeclaredAnnotations__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getDeclaredClasses__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getDeclaredConstructor___java_lang_Class_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_lang_Class_arrayEqual___java_lang_Object_1ARRAY_java_lang_Object_1ARRAY(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_lang_Class_getDeclaredConstructors__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getDeclaredField___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Class_getDeclaredFields__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getDeclaredMethod___java_lang_String_java_lang_Class_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_lang_Class_getDeclaredMethods__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getDeclaringClass__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getEnclosingClass__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getEnclosingConstructor__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getEnclosingMethod__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getEnumConstants__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getField___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Class_getFields__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getGenericInterfaces__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getGenericSuperclass__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getInterfaces__(JAVA_OBJECT me);
+// Vtable index: 9
+JAVA_OBJECT java_lang_Class_getMethod___java_lang_String_java_lang_Class_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_lang_Class_getMethods__(JAVA_OBJECT me);
+JAVA_INT java_lang_Class_getModifiers__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getName__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getSimpleName__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getProtectionDomain__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getPDImpl__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getResource___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Class_getResourceAsStream___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Class_getSigners__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getSuperclass__(JAVA_OBJECT me);
+// Vtable index: 10
+JAVA_OBJECT java_lang_Class_getTypeParameters__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_Class_isAnnotation__(JAVA_OBJECT me);
+// Vtable index: 11
+JAVA_BOOLEAN java_lang_Class_isAnnotationPresent___java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_lang_Class_isAnonymousClass__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_Class_isArray__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_Class_isAssignableFrom___java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_lang_Class_isEnum__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_Class_isInstance___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_lang_Class_isInterface__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_Class_isLocalClass__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_Class_isMemberClass__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_Class_isPrimitive__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_Class_isSynthetic__(JAVA_OBJECT me);
+// Vtable index: 12
+JAVA_OBJECT java_lang_Class_newInstance__(JAVA_OBJECT me);
+// Vtable index: 5
+JAVA_OBJECT java_lang_Class_toString__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getPackage__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_getPackageString__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_Class_desiredAssertionStatus__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Class_asSubclass___java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Class_cast___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Class_getSignatureAttribute__(JAVA_OBJECT me);
+void java_lang_Class___CLINIT_();
+
+#endif
diff --git a/tests/nbody-java/java_lang_ClassLoader.c b/tests/nbody-java/java_lang_ClassLoader.c
new file mode 100644
index 00000000..58e6d39b
--- /dev/null
+++ b/tests/nbody-java/java_lang_ClassLoader.c
@@ -0,0 +1,894 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_String.h"
+#include "java_nio_ByteBuffer.h"
+#include "java_util_Enumeration.h"
+#include "org_xmlvm_runtime_XMLVMClassLoader.h"
+
+#include "java_lang_ClassLoader.h"
+
+#define XMLVM_CURRENT_CLASS_NAME ClassLoader
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_ClassLoader
+
+__TIB_DEFINITION_java_lang_ClassLoader __TIB_java_lang_ClassLoader = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_ClassLoader, // classInitializer
+ "java.lang.ClassLoader", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_ClassLoader), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_ClassLoader;
+JAVA_OBJECT __CLASS_java_lang_ClassLoader_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_ClassLoader_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_ClassLoader_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_OBJECT _STATIC_java_lang_ClassLoader_systemClassLoader;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_ClassLoader()
+{
+ staticInitializerLock(&__TIB_java_lang_ClassLoader);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_ClassLoader.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_ClassLoader.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_ClassLoader);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_ClassLoader.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_ClassLoader.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_ClassLoader.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.ClassLoader")
+ __INIT_IMPL_java_lang_ClassLoader();
+ }
+}
+
+void __INIT_IMPL_java_lang_ClassLoader()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_ClassLoader.newInstanceFunc = __NEW_INSTANCE_java_lang_ClassLoader;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_ClassLoader.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_ClassLoader.vtable[6] = (VTABLE_PTR) &java_lang_ClassLoader_findClass___java_lang_String;
+ __TIB_java_lang_ClassLoader.vtable[7] = (VTABLE_PTR) &java_lang_ClassLoader_findResource___java_lang_String;
+ // Initialize interface information
+ __TIB_java_lang_ClassLoader.numImplementedInterfaces = 0;
+ __TIB_java_lang_ClassLoader.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_java_lang_ClassLoader_systemClassLoader = (java_lang_ClassLoader*) JAVA_NULL;
+
+ __TIB_java_lang_ClassLoader.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_ClassLoader.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_ClassLoader.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_ClassLoader.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_ClassLoader.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_ClassLoader.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_ClassLoader.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_ClassLoader.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_ClassLoader = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_ClassLoader);
+ __TIB_java_lang_ClassLoader.clazz = __CLASS_java_lang_ClassLoader;
+ __TIB_java_lang_ClassLoader.baseType = JAVA_NULL;
+ __CLASS_java_lang_ClassLoader_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ClassLoader);
+ __CLASS_java_lang_ClassLoader_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ClassLoader_1ARRAY);
+ __CLASS_java_lang_ClassLoader_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ClassLoader_2ARRAY);
+ java_lang_ClassLoader___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_ClassLoader]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_ClassLoader.classInitialized = 1;
+}
+
+void __DELETE_java_lang_ClassLoader(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_ClassLoader]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_ClassLoader(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_ClassLoader]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_ClassLoader()
+{ XMLVM_CLASS_INIT(java_lang_ClassLoader)
+java_lang_ClassLoader* me = (java_lang_ClassLoader*) XMLVM_MALLOC(sizeof(java_lang_ClassLoader));
+ me->tib = &__TIB_java_lang_ClassLoader;
+ __INIT_INSTANCE_MEMBERS_java_lang_ClassLoader(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_ClassLoader]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_ClassLoader()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_lang_ClassLoader();
+ java_lang_ClassLoader___INIT___(me);
+ return me;
+}
+
+JAVA_OBJECT java_lang_ClassLoader_GET_systemClassLoader()
+{
+ XMLVM_CLASS_INIT(java_lang_ClassLoader)
+ return _STATIC_java_lang_ClassLoader_systemClassLoader;
+}
+
+void java_lang_ClassLoader_PUT_systemClassLoader(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_ClassLoader)
+_STATIC_java_lang_ClassLoader_systemClassLoader = v;
+}
+
+void java_lang_ClassLoader_initializeClassLoaders__()
+{
+ XMLVM_CLASS_INIT(java_lang_ClassLoader)
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_initializeClassLoaders__]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "initializeClassLoaders", "?")
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 65)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_getSystemClassLoader__()
+{
+ XMLVM_CLASS_INIT(java_lang_ClassLoader)
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_getSystemClassLoader__]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "getSystemClassLoader", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 84)
+ _r0.o = java_lang_ClassLoader_GET_systemClassLoader();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_getSystemResource___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_ClassLoader)
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_getSystemResource___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "getSystemResource", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 98)
+ XMLVM_CLASS_INIT(java_lang_Class)
+ _r0.o = __CLASS_java_lang_Class;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_Class_getResource___java_lang_String(_r0.o, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_getSystemResources___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_ClassLoader)
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_getSystemResources___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "getSystemResources", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 115)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_getSystemResourceAsStream___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_ClassLoader)
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_getSystemResourceAsStream___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "getSystemResourceAsStream", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 130)
+ XMLVM_CLASS_INIT(java_lang_Class)
+ _r0.o = __CLASS_java_lang_Class;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_Class_getResourceAsStream___java_lang_String(_r0.o, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ClassLoader___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 142)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 143)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ClassLoader___INIT____java_lang_ClassLoader(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader___INIT____java_lang_ClassLoader]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 157)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 158)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_defineClass___byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_defineClass___byte_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "defineClass", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.i = n2;
+ _r4.i = n3;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 183)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_defineClass___java_lang_String_byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_defineClass___java_lang_String_byte_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "defineClass", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ _r4.i = n3;
+ _r5.i = n4;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 210)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_defineClass___java_lang_String_byte_1ARRAY_int_int_java_security_ProtectionDomain(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4, JAVA_OBJECT n5)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_defineClass___java_lang_String_byte_1ARRAY_int_int_java_security_ProtectionDomain]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "defineClass", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ _r4.i = n3;
+ _r5.i = n4;
+ _r6.o = n5;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 246)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_defineClass___java_lang_String_java_nio_ByteBuffer_java_security_ProtectionDomain(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_defineClass___java_lang_String_java_nio_ByteBuffer_java_security_ProtectionDomain]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "defineClass", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r6.o = me;
+ _r7.o = n1;
+ _r8.o = n2;
+ _r9.o = n3;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 273)
+ XMLVM_CHECK_NPE(8)
+ _r0.i = java_nio_Buffer_remaining__(_r8.o);
+ XMLVM_CLASS_INIT(byte)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r0.i);
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 274)
+ XMLVM_CHECK_NPE(8)
+ java_nio_ByteBuffer_get___byte_1ARRAY(_r8.o, _r2.o);
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 275)
+ _r3.i = 0;
+ _r4.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ _r0 = _r6;
+ _r1 = _r7;
+ _r5 = _r9;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_ClassLoader_defineClass___java_lang_String_byte_1ARRAY_int_int_java_security_ProtectionDomain(_r0.o, _r1.o, _r2.o, _r3.i, _r4.i, _r5.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_findClass___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_findClass___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "findClass", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 291)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_findLoadedClass___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_findLoadedClass___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "findLoadedClass", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 304)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_findSystemClass___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_findSystemClass___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "findSystemClass", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 319)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_getParent__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_getParent__]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "getParent", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 331)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_getResource___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_getResource___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "getResource", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 347)
+ XMLVM_CLASS_INIT(java_lang_Class)
+ _r0.o = __CLASS_java_lang_Class;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_Class_getResource___java_lang_String(_r0.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_getResources___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_getResources___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "getResources", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 362)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_getResourceAsStream___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_getResourceAsStream___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "getResourceAsStream", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 378)
+ XMLVM_CLASS_INIT(java_lang_Class)
+ _r0.o = __CLASS_java_lang_Class;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_Class_getResourceAsStream___java_lang_String(_r0.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_loadClass___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_loadClass___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "loadClass", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 392)
+ _r0.o = java_lang_Class_forName___java_lang_String(_r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_loadClass___java_lang_String_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_loadClass___java_lang_String_boolean]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "loadClass", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.i = n2;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 419)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_ClassLoader_loadClass___java_lang_String(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ClassLoader_resolveClass___java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_resolveClass___java_lang_Class]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "resolveClass", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 430)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_ClassLoader_isSystemClassLoader__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_isSystemClassLoader__]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "isSystemClassLoader", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 451)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_ClassLoader_isAncestorOf___java_lang_ClassLoader(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_isAncestorOf___java_lang_ClassLoader]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "isAncestorOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 469)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_findResource___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_findResource___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "findResource", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 482)
+ XMLVM_CLASS_INIT(java_lang_Class)
+ _r0.o = __CLASS_java_lang_Class;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_Class_getResource___java_lang_String(_r0.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_findResources___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_findResources___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "findResources", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 497)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_findLibrary___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_findLibrary___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "findLibrary", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 511)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_getPackage___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_getPackage___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "getPackage", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 524)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_getPackages__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_getPackages__]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "getPackages", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 533)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_definePackage___java_lang_String_java_lang_String_java_lang_String_java_lang_String_java_lang_String_java_lang_String_java_lang_String_java_net_URL(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_OBJECT n4, JAVA_OBJECT n5, JAVA_OBJECT n6, JAVA_OBJECT n7, JAVA_OBJECT n8)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_definePackage___java_lang_String_java_lang_String_java_lang_String_java_lang_String_java_lang_String_java_lang_String_java_lang_String_java_net_URL]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "definePackage", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ _r4.o = n3;
+ _r5.o = n4;
+ _r6.o = n5;
+ _r7.o = n6;
+ _r8.o = n7;
+ _r9.o = n8;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 566)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_getSigners___java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_getSigners___java_lang_Class]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "getSigners", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 577)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ClassLoader_setSigners___java_lang_Class_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_setSigners___java_lang_Class_java_lang_Object_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "setSigners", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 589)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_getStackClassLoader___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_ClassLoader)
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_getStackClassLoader___int]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "getStackClassLoader", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 623)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassLoader_callerClassLoader__()
+{
+ XMLVM_CLASS_INIT(java_lang_ClassLoader)
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_callerClassLoader__]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "callerClassLoader", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 637)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ClassLoader_loadLibraryWithClassLoader___java_lang_String_java_lang_ClassLoader(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_ClassLoader)
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_loadLibraryWithClassLoader___java_lang_String_java_lang_ClassLoader]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "loadLibraryWithClassLoader", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = n1;
+ _r1.o = n2;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 657)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ClassLoader_loadLibraryWithPath___java_lang_String_java_lang_ClassLoader_java_lang_String(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
+{
+ XMLVM_CLASS_INIT(java_lang_ClassLoader)
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_loadLibraryWithPath___java_lang_String_java_lang_ClassLoader_java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "loadLibraryWithPath", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = n1;
+ _r1.o = n2;
+ _r2.o = n3;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 678)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ClassLoader_setClassAssertionStatus___java_lang_String_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_setClassAssertionStatus___java_lang_String_boolean]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "setClassAssertionStatus", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.i = n2;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 690)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ClassLoader_setPackageAssertionStatus___java_lang_String_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_setPackageAssertionStatus___java_lang_String_boolean]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "setPackageAssertionStatus", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.i = n2;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 702)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ClassLoader_setDefaultAssertionStatus___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_setDefaultAssertionStatus___boolean]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "setDefaultAssertionStatus", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 712)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ClassLoader_clearAssertionStatus__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_clearAssertionStatus__]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "clearAssertionStatus", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 720)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_ClassLoader_getClassAssertionStatus___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_getClassAssertionStatus___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "getClassAssertionStatus", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 735)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_ClassLoader_getPackageAssertionStatus___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_getPackageAssertionStatus___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "getPackageAssertionStatus", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 749)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_ClassLoader_getDefaultAssertionStatus__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader_getDefaultAssertionStatus__]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "getDefaultAssertionStatus", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 758)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ClassLoader___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassLoader___CLINIT___]
+ XMLVM_ENTER_METHOD("java.lang.ClassLoader", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("ClassLoader.java", 57)
+ _r0.o = __NEW_org_xmlvm_runtime_XMLVMClassLoader();
+ XMLVM_CHECK_NPE(0)
+ org_xmlvm_runtime_XMLVMClassLoader___INIT___(_r0.o);
+ java_lang_ClassLoader_PUT_systemClassLoader( _r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_ClassLoader.h b/tests/nbody-java/java_lang_ClassLoader.h
new file mode 100644
index 00000000..f3c960f2
--- /dev/null
+++ b/tests/nbody-java/java_lang_ClassLoader.h
@@ -0,0 +1,119 @@
+#ifndef __JAVA_LANG_CLASSLOADER__
+#define __JAVA_LANG_CLASSLOADER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_ClassLoader 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_ByteBuffer
+#define XMLVM_FORWARD_DECL_java_nio_ByteBuffer
+XMLVM_FORWARD_DECL(java_nio_ByteBuffer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Enumeration
+#define XMLVM_FORWARD_DECL_java_util_Enumeration
+XMLVM_FORWARD_DECL(java_util_Enumeration)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_XMLVMClassLoader
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_XMLVMClassLoader
+XMLVM_FORWARD_DECL(org_xmlvm_runtime_XMLVMClassLoader)
+#endif
+// Class declarations for java.lang.ClassLoader
+XMLVM_DEFINE_CLASS(java_lang_ClassLoader, 8, XMLVM_ITABLE_SIZE_java_lang_ClassLoader)
+
+extern JAVA_OBJECT __CLASS_java_lang_ClassLoader;
+extern JAVA_OBJECT __CLASS_java_lang_ClassLoader_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_ClassLoader_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_ClassLoader_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_ClassLoader
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_ClassLoader \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_ClassLoader \
+ } java_lang_ClassLoader
+
+struct java_lang_ClassLoader {
+ __TIB_DEFINITION_java_lang_ClassLoader* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_ClassLoader;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_ClassLoader
+#define XMLVM_FORWARD_DECL_java_lang_ClassLoader
+typedef struct java_lang_ClassLoader java_lang_ClassLoader;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_ClassLoader 8
+#define XMLVM_VTABLE_IDX_java_lang_ClassLoader_findClass___java_lang_String 6
+#define XMLVM_VTABLE_IDX_java_lang_ClassLoader_findResource___java_lang_String 7
+
+void __INIT_java_lang_ClassLoader();
+void __INIT_IMPL_java_lang_ClassLoader();
+void __DELETE_java_lang_ClassLoader(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_ClassLoader(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_ClassLoader();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_ClassLoader();
+JAVA_OBJECT java_lang_ClassLoader_GET_systemClassLoader();
+void java_lang_ClassLoader_PUT_systemClassLoader(JAVA_OBJECT v);
+void java_lang_ClassLoader_initializeClassLoaders__();
+JAVA_OBJECT java_lang_ClassLoader_getSystemClassLoader__();
+JAVA_OBJECT java_lang_ClassLoader_getSystemResource___java_lang_String(JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_ClassLoader_getSystemResources___java_lang_String(JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_ClassLoader_getSystemResourceAsStream___java_lang_String(JAVA_OBJECT n1);
+void java_lang_ClassLoader___INIT___(JAVA_OBJECT me);
+void java_lang_ClassLoader___INIT____java_lang_ClassLoader(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_ClassLoader_defineClass___byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+JAVA_OBJECT java_lang_ClassLoader_defineClass___java_lang_String_byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4);
+JAVA_OBJECT java_lang_ClassLoader_defineClass___java_lang_String_byte_1ARRAY_int_int_java_security_ProtectionDomain(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4, JAVA_OBJECT n5);
+JAVA_OBJECT java_lang_ClassLoader_defineClass___java_lang_String_java_nio_ByteBuffer_java_security_ProtectionDomain(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3);
+// Vtable index: 6
+JAVA_OBJECT java_lang_ClassLoader_findClass___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_ClassLoader_findLoadedClass___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_ClassLoader_findSystemClass___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_ClassLoader_getParent__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_ClassLoader_getResource___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_ClassLoader_getResources___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_ClassLoader_getResourceAsStream___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_ClassLoader_loadClass___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_ClassLoader_loadClass___java_lang_String_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2);
+void java_lang_ClassLoader_resolveClass___java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_lang_ClassLoader_isSystemClassLoader__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_ClassLoader_isAncestorOf___java_lang_ClassLoader(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 7
+JAVA_OBJECT java_lang_ClassLoader_findResource___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_ClassLoader_findResources___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_ClassLoader_findLibrary___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_ClassLoader_getPackage___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_ClassLoader_getPackages__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_ClassLoader_definePackage___java_lang_String_java_lang_String_java_lang_String_java_lang_String_java_lang_String_java_lang_String_java_lang_String_java_net_URL(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_OBJECT n4, JAVA_OBJECT n5, JAVA_OBJECT n6, JAVA_OBJECT n7, JAVA_OBJECT n8);
+JAVA_OBJECT java_lang_ClassLoader_getSigners___java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_ClassLoader_setSigners___java_lang_Class_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_lang_ClassLoader_getStackClassLoader___int(JAVA_INT n1);
+JAVA_OBJECT java_lang_ClassLoader_callerClassLoader__();
+void java_lang_ClassLoader_loadLibraryWithClassLoader___java_lang_String_java_lang_ClassLoader(JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_lang_ClassLoader_loadLibraryWithPath___java_lang_String_java_lang_ClassLoader_java_lang_String(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3);
+void java_lang_ClassLoader_setClassAssertionStatus___java_lang_String_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2);
+void java_lang_ClassLoader_setPackageAssertionStatus___java_lang_String_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2);
+void java_lang_ClassLoader_setDefaultAssertionStatus___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1);
+void java_lang_ClassLoader_clearAssertionStatus__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_ClassLoader_getClassAssertionStatus___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_lang_ClassLoader_getPackageAssertionStatus___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_lang_ClassLoader_getDefaultAssertionStatus__(JAVA_OBJECT me);
+void java_lang_ClassLoader___CLINIT_();
+
+#endif
diff --git a/tests/nbody-java/java_lang_ClassNotFoundException.c b/tests/nbody-java/java_lang_ClassNotFoundException.c
new file mode 100644
index 00000000..550a0ee0
--- /dev/null
+++ b/tests/nbody-java/java_lang_ClassNotFoundException.c
@@ -0,0 +1,257 @@
+#include "xmlvm.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+#include "java_lang_Throwable.h"
+
+#include "java_lang_ClassNotFoundException.h"
+
+#define XMLVM_CURRENT_CLASS_NAME ClassNotFoundException
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_ClassNotFoundException
+
+__TIB_DEFINITION_java_lang_ClassNotFoundException __TIB_java_lang_ClassNotFoundException = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_ClassNotFoundException, // classInitializer
+ "java.lang.ClassNotFoundException", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Exception, // extends
+ sizeof(java_lang_ClassNotFoundException), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_ClassNotFoundException;
+JAVA_OBJECT __CLASS_java_lang_ClassNotFoundException_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_ClassNotFoundException_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_ClassNotFoundException_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_lang_ClassNotFoundException_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_ClassNotFoundException()
+{
+ staticInitializerLock(&__TIB_java_lang_ClassNotFoundException);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_ClassNotFoundException.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_ClassNotFoundException.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_ClassNotFoundException);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_ClassNotFoundException.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_ClassNotFoundException.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_ClassNotFoundException.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.ClassNotFoundException")
+ __INIT_IMPL_java_lang_ClassNotFoundException();
+ }
+}
+
+void __INIT_IMPL_java_lang_ClassNotFoundException()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Exception)
+ __TIB_java_lang_ClassNotFoundException.newInstanceFunc = __NEW_INSTANCE_java_lang_ClassNotFoundException;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_ClassNotFoundException.vtable, __TIB_java_lang_Exception.vtable, sizeof(__TIB_java_lang_Exception.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_ClassNotFoundException.vtable[6] = (VTABLE_PTR) &java_lang_ClassNotFoundException_getCause__;
+ // Initialize interface information
+ __TIB_java_lang_ClassNotFoundException.numImplementedInterfaces = 1;
+ __TIB_java_lang_ClassNotFoundException.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_lang_ClassNotFoundException.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+ // Initialize itable for this class
+ __TIB_java_lang_ClassNotFoundException.itableBegin = &__TIB_java_lang_ClassNotFoundException.itable[0];
+
+ _STATIC_java_lang_ClassNotFoundException_serialVersionUID = 9176873029745254542;
+
+ __TIB_java_lang_ClassNotFoundException.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_ClassNotFoundException.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_ClassNotFoundException.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_ClassNotFoundException.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_ClassNotFoundException.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_ClassNotFoundException.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_ClassNotFoundException.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_ClassNotFoundException.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_ClassNotFoundException = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_ClassNotFoundException);
+ __TIB_java_lang_ClassNotFoundException.clazz = __CLASS_java_lang_ClassNotFoundException;
+ __TIB_java_lang_ClassNotFoundException.baseType = JAVA_NULL;
+ __CLASS_java_lang_ClassNotFoundException_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ClassNotFoundException);
+ __CLASS_java_lang_ClassNotFoundException_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ClassNotFoundException_1ARRAY);
+ __CLASS_java_lang_ClassNotFoundException_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ClassNotFoundException_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_ClassNotFoundException]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_ClassNotFoundException.classInitialized = 1;
+}
+
+void __DELETE_java_lang_ClassNotFoundException(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_ClassNotFoundException]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_ClassNotFoundException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Exception(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_ClassNotFoundException*) me)->fields.java_lang_ClassNotFoundException.ex_ = (java_lang_Throwable*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_ClassNotFoundException]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_ClassNotFoundException()
+{ XMLVM_CLASS_INIT(java_lang_ClassNotFoundException)
+java_lang_ClassNotFoundException* me = (java_lang_ClassNotFoundException*) XMLVM_MALLOC(sizeof(java_lang_ClassNotFoundException));
+ me->tib = &__TIB_java_lang_ClassNotFoundException;
+ __INIT_INSTANCE_MEMBERS_java_lang_ClassNotFoundException(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_ClassNotFoundException]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_ClassNotFoundException()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_lang_ClassNotFoundException();
+ java_lang_ClassNotFoundException___INIT___(me);
+ return me;
+}
+
+JAVA_LONG java_lang_ClassNotFoundException_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_lang_ClassNotFoundException)
+ return _STATIC_java_lang_ClassNotFoundException_serialVersionUID;
+}
+
+void java_lang_ClassNotFoundException_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_ClassNotFoundException)
+_STATIC_java_lang_ClassNotFoundException_serialVersionUID = v;
+}
+
+void java_lang_ClassNotFoundException___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassNotFoundException___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.ClassNotFoundException", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ClassNotFoundException.java", 34)
+ _r0.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(1)
+ java_lang_Exception___INIT____java_lang_Throwable(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("ClassNotFoundException.java", 35)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ClassNotFoundException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassNotFoundException___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.ClassNotFoundException", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ClassNotFoundException.java", 45)
+ _r0.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(1)
+ java_lang_Exception___INIT____java_lang_String_java_lang_Throwable(_r1.o, _r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("ClassNotFoundException.java", 46)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ClassNotFoundException___INIT____java_lang_String_java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassNotFoundException___INIT____java_lang_String_java_lang_Throwable]
+ XMLVM_ENTER_METHOD("java.lang.ClassNotFoundException", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("ClassNotFoundException.java", 59)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Exception___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("ClassNotFoundException.java", 60)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_ClassNotFoundException*) _r0.o)->fields.java_lang_ClassNotFoundException.ex_ = _r2.o;
+ XMLVM_SOURCE_POSITION("ClassNotFoundException.java", 61)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassNotFoundException_getException__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassNotFoundException_getException__]
+ XMLVM_ENTER_METHOD("java.lang.ClassNotFoundException", "getException", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ClassNotFoundException.java", 69)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_ClassNotFoundException*) _r1.o)->fields.java_lang_ClassNotFoundException.ex_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ClassNotFoundException_getCause__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ClassNotFoundException_getCause__]
+ XMLVM_ENTER_METHOD("java.lang.ClassNotFoundException", "getCause", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ClassNotFoundException.java", 80)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_ClassNotFoundException*) _r1.o)->fields.java_lang_ClassNotFoundException.ex_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_ClassNotFoundException.h b/tests/nbody-java/java_lang_ClassNotFoundException.h
new file mode 100644
index 00000000..6a4de01d
--- /dev/null
+++ b/tests/nbody-java/java_lang_ClassNotFoundException.h
@@ -0,0 +1,72 @@
+#ifndef __JAVA_LANG_CLASSNOTFOUNDEXCEPTION__
+#define __JAVA_LANG_CLASSNOTFOUNDEXCEPTION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_ClassNotFoundException 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Exception.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Throwable
+#define XMLVM_FORWARD_DECL_java_lang_Throwable
+XMLVM_FORWARD_DECL(java_lang_Throwable)
+#endif
+// Class declarations for java.lang.ClassNotFoundException
+XMLVM_DEFINE_CLASS(java_lang_ClassNotFoundException, 8, XMLVM_ITABLE_SIZE_java_lang_ClassNotFoundException)
+
+extern JAVA_OBJECT __CLASS_java_lang_ClassNotFoundException;
+extern JAVA_OBJECT __CLASS_java_lang_ClassNotFoundException_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_ClassNotFoundException_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_ClassNotFoundException_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_ClassNotFoundException
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_ClassNotFoundException \
+ __INSTANCE_FIELDS_java_lang_Exception; \
+ struct { \
+ JAVA_OBJECT ex_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_ClassNotFoundException \
+ } java_lang_ClassNotFoundException
+
+struct java_lang_ClassNotFoundException {
+ __TIB_DEFINITION_java_lang_ClassNotFoundException* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_ClassNotFoundException;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_ClassNotFoundException
+#define XMLVM_FORWARD_DECL_java_lang_ClassNotFoundException
+typedef struct java_lang_ClassNotFoundException java_lang_ClassNotFoundException;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_ClassNotFoundException 8
+#define XMLVM_VTABLE_IDX_java_lang_ClassNotFoundException_getCause__ 6
+
+void __INIT_java_lang_ClassNotFoundException();
+void __INIT_IMPL_java_lang_ClassNotFoundException();
+void __DELETE_java_lang_ClassNotFoundException(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_ClassNotFoundException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_ClassNotFoundException();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_ClassNotFoundException();
+JAVA_LONG java_lang_ClassNotFoundException_GET_serialVersionUID();
+void java_lang_ClassNotFoundException_PUT_serialVersionUID(JAVA_LONG v);
+void java_lang_ClassNotFoundException___INIT___(JAVA_OBJECT me);
+void java_lang_ClassNotFoundException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_ClassNotFoundException___INIT____java_lang_String_java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_lang_ClassNotFoundException_getException__(JAVA_OBJECT me);
+// Vtable index: 6
+JAVA_OBJECT java_lang_ClassNotFoundException_getCause__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_lang_Cloneable.c b/tests/nbody-java/java_lang_Cloneable.c
new file mode 100644
index 00000000..825bdeef
--- /dev/null
+++ b/tests/nbody-java/java_lang_Cloneable.c
@@ -0,0 +1,76 @@
+#include "xmlvm.h"
+
+#include "java_lang_Cloneable.h"
+
+__TIB_DEFINITION_java_lang_Cloneable __TIB_java_lang_Cloneable = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Cloneable, // classInitializer
+ "java.lang.Cloneable", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_lang_Cloneable;
+JAVA_OBJECT __CLASS_java_lang_Cloneable_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Cloneable_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Cloneable_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_lang_Cloneable()
+{
+ staticInitializerLock(&__TIB_java_lang_Cloneable);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Cloneable.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Cloneable.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Cloneable);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Cloneable.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Cloneable.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Cloneable.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Cloneable")
+ __INIT_IMPL_java_lang_Cloneable();
+ }
+}
+
+void __INIT_IMPL_java_lang_Cloneable()
+{
+ __TIB_java_lang_Cloneable.numInterfaces = 0;
+ __TIB_java_lang_Cloneable.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Cloneable.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_lang_Cloneable.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Cloneable.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Cloneable.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_lang_Cloneable = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Cloneable);
+ __TIB_java_lang_Cloneable.clazz = __CLASS_java_lang_Cloneable;
+ __TIB_java_lang_Cloneable.baseType = JAVA_NULL;
+ __CLASS_java_lang_Cloneable_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Cloneable);
+ __CLASS_java_lang_Cloneable_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Cloneable_1ARRAY);
+ __CLASS_java_lang_Cloneable_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Cloneable_2ARRAY);
+
+ __TIB_java_lang_Cloneable.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_lang_Cloneable.h b/tests/nbody-java/java_lang_Cloneable.h
new file mode 100644
index 00000000..aaa83613
--- /dev/null
+++ b/tests/nbody-java/java_lang_Cloneable.h
@@ -0,0 +1,27 @@
+#ifndef __JAVA_LANG_CLONEABLE__
+#define __JAVA_LANG_CLONEABLE__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+
+XMLVM_DEFINE_CLASS(java_lang_Cloneable, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_lang_Cloneable;
+extern JAVA_OBJECT __CLASS_java_lang_Cloneable_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Cloneable_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Cloneable_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_lang_Cloneable
+#define XMLVM_FORWARD_DECL_java_lang_Cloneable
+typedef struct java_lang_Cloneable java_lang_Cloneable;
+#endif
+
+void __INIT_java_lang_Cloneable();
+void __INIT_IMPL_java_lang_Cloneable();
+
+#endif
diff --git a/tests/nbody-java/java_lang_Comparable.c b/tests/nbody-java/java_lang_Comparable.c
new file mode 100644
index 00000000..a10ee30f
--- /dev/null
+++ b/tests/nbody-java/java_lang_Comparable.c
@@ -0,0 +1,76 @@
+#include "xmlvm.h"
+
+#include "java_lang_Comparable.h"
+
+__TIB_DEFINITION_java_lang_Comparable __TIB_java_lang_Comparable = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Comparable, // classInitializer
+ "java.lang.Comparable", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<T:Ljava/lang/Object;>Ljava/lang/Object;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_lang_Comparable;
+JAVA_OBJECT __CLASS_java_lang_Comparable_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Comparable_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Comparable_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_lang_Comparable()
+{
+ staticInitializerLock(&__TIB_java_lang_Comparable);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Comparable.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Comparable.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Comparable);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Comparable.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Comparable.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Comparable.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Comparable")
+ __INIT_IMPL_java_lang_Comparable();
+ }
+}
+
+void __INIT_IMPL_java_lang_Comparable()
+{
+ __TIB_java_lang_Comparable.numInterfaces = 0;
+ __TIB_java_lang_Comparable.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Comparable.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_lang_Comparable.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Comparable.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Comparable.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_lang_Comparable = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Comparable);
+ __TIB_java_lang_Comparable.clazz = __CLASS_java_lang_Comparable;
+ __TIB_java_lang_Comparable.baseType = JAVA_NULL;
+ __CLASS_java_lang_Comparable_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Comparable);
+ __CLASS_java_lang_Comparable_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Comparable_1ARRAY);
+ __CLASS_java_lang_Comparable_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Comparable_2ARRAY);
+
+ __TIB_java_lang_Comparable.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_lang_Comparable.h b/tests/nbody-java/java_lang_Comparable.h
new file mode 100644
index 00000000..7b4a94db
--- /dev/null
+++ b/tests/nbody-java/java_lang_Comparable.h
@@ -0,0 +1,28 @@
+#ifndef __JAVA_LANG_COMPARABLE__
+#define __JAVA_LANG_COMPARABLE__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object 7
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+
+XMLVM_DEFINE_CLASS(java_lang_Comparable, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_lang_Comparable;
+extern JAVA_OBJECT __CLASS_java_lang_Comparable_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Comparable_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Comparable_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_lang_Comparable
+#define XMLVM_FORWARD_DECL_java_lang_Comparable
+typedef struct java_lang_Comparable java_lang_Comparable;
+#endif
+
+void __INIT_java_lang_Comparable();
+void __INIT_IMPL_java_lang_Comparable();
+
+#endif
diff --git a/tests/nbody-java/java_lang_Double.c b/tests/nbody-java/java_lang_Double.c
new file mode 100644
index 00000000..56072d9c
--- /dev/null
+++ b/tests/nbody-java/java_lang_Double.c
@@ -0,0 +1,1106 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_Long.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "org_apache_harmony_luni_util_FloatingPointParser.h"
+#include "org_apache_harmony_luni_util_NumberConverter.h"
+
+#include "java_lang_Double.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Double
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Double
+
+__TIB_DEFINITION_java_lang_Double __TIB_java_lang_Double = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Double, // classInitializer
+ "java.lang.Double", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "Ljava/lang/Number;Ljava/lang/Comparable<Ljava/lang/Double;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Number, // extends
+ sizeof(java_lang_Double), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_Double;
+JAVA_OBJECT __CLASS_java_lang_Double_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Double_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Double_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_lang_Double_serialVersionUID;
+static JAVA_DOUBLE _STATIC_java_lang_Double_MAX_VALUE;
+static JAVA_DOUBLE _STATIC_java_lang_Double_MIN_VALUE;
+static JAVA_DOUBLE _STATIC_java_lang_Double_MIN_NORMAL;
+static JAVA_DOUBLE _STATIC_java_lang_Double_NaN;
+static JAVA_DOUBLE _STATIC_java_lang_Double_POSITIVE_INFINITY;
+static JAVA_INT _STATIC_java_lang_Double_MAX_EXPONENT;
+static JAVA_INT _STATIC_java_lang_Double_MIN_EXPONENT;
+static JAVA_DOUBLE _STATIC_java_lang_Double_NEGATIVE_INFINITY;
+static JAVA_OBJECT _STATIC_java_lang_Double_TYPE;
+static JAVA_INT _STATIC_java_lang_Double_SIZE;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_Double()
+{
+ staticInitializerLock(&__TIB_java_lang_Double);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Double.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Double.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Double);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Double.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Double.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Double.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Double")
+ __INIT_IMPL_java_lang_Double();
+ }
+}
+
+void __INIT_IMPL_java_lang_Double()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Number)
+ __TIB_java_lang_Double.newInstanceFunc = __NEW_INSTANCE_java_lang_Double;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_Double.vtable, __TIB_java_lang_Number.vtable, sizeof(__TIB_java_lang_Number.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_Double.vtable[6] = (VTABLE_PTR) &java_lang_Double_byteValue__;
+ __TIB_java_lang_Double.vtable[7] = (VTABLE_PTR) &java_lang_Double_doubleValue__;
+ __TIB_java_lang_Double.vtable[1] = (VTABLE_PTR) &java_lang_Double_equals___java_lang_Object;
+ __TIB_java_lang_Double.vtable[8] = (VTABLE_PTR) &java_lang_Double_floatValue__;
+ __TIB_java_lang_Double.vtable[4] = (VTABLE_PTR) &java_lang_Double_hashCode__;
+ __TIB_java_lang_Double.vtable[9] = (VTABLE_PTR) &java_lang_Double_intValue__;
+ __TIB_java_lang_Double.vtable[10] = (VTABLE_PTR) &java_lang_Double_longValue__;
+ __TIB_java_lang_Double.vtable[11] = (VTABLE_PTR) &java_lang_Double_shortValue__;
+ __TIB_java_lang_Double.vtable[5] = (VTABLE_PTR) &java_lang_Double_toString__;
+ __TIB_java_lang_Double.vtable[12] = (VTABLE_PTR) &java_lang_Double_compareTo___java_lang_Object;
+ // Initialize interface information
+ __TIB_java_lang_Double.numImplementedInterfaces = 2;
+ __TIB_java_lang_Double.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_lang_Double.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_lang_Comparable)
+
+ __TIB_java_lang_Double.implementedInterfaces[0][1] = &__TIB_java_lang_Comparable;
+ // Initialize itable for this class
+ __TIB_java_lang_Double.itableBegin = &__TIB_java_lang_Double.itable[0];
+ __TIB_java_lang_Double.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_lang_Double.vtable[12];
+
+ _STATIC_java_lang_Double_serialVersionUID = -9172774392245257468;
+ _STATIC_java_lang_Double_MAX_VALUE = 1.7976931348623157E308;
+ _STATIC_java_lang_Double_MIN_VALUE = 4.9E-324;
+ _STATIC_java_lang_Double_MIN_NORMAL = 2.2250738585072014E-308;
+ _STATIC_java_lang_Double_NaN = NaN;
+ _STATIC_java_lang_Double_POSITIVE_INFINITY = Infinity;
+ _STATIC_java_lang_Double_MAX_EXPONENT = 1023;
+ _STATIC_java_lang_Double_MIN_EXPONENT = -1022;
+ _STATIC_java_lang_Double_NEGATIVE_INFINITY = -Infinity;
+ _STATIC_java_lang_Double_TYPE = (java_lang_Class*) JAVA_NULL;
+ _STATIC_java_lang_Double_SIZE = 64;
+
+ __TIB_java_lang_Double.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Double.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_Double.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_Double.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_Double.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_Double.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Double.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Double.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_Double = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Double);
+ __TIB_java_lang_Double.clazz = __CLASS_java_lang_Double;
+ __TIB_java_lang_Double.baseType = JAVA_NULL;
+ __CLASS_java_lang_Double_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Double);
+ __CLASS_java_lang_Double_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Double_1ARRAY);
+ __CLASS_java_lang_Double_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Double_2ARRAY);
+ java_lang_Double___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_Double]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_Double.classInitialized = 1;
+}
+
+void __DELETE_java_lang_Double(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_Double]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_Double(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Number(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_Double*) me)->fields.java_lang_Double.value_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_Double]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_Double()
+{ XMLVM_CLASS_INIT(java_lang_Double)
+java_lang_Double* me = (java_lang_Double*) XMLVM_MALLOC(sizeof(java_lang_Double));
+ me->tib = &__TIB_java_lang_Double;
+ __INIT_INSTANCE_MEMBERS_java_lang_Double(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_Double]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Double()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_lang_Double_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+ return _STATIC_java_lang_Double_serialVersionUID;
+}
+
+void java_lang_Double_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+_STATIC_java_lang_Double_serialVersionUID = v;
+}
+
+JAVA_DOUBLE java_lang_Double_GET_MAX_VALUE()
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+ return _STATIC_java_lang_Double_MAX_VALUE;
+}
+
+void java_lang_Double_PUT_MAX_VALUE(JAVA_DOUBLE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+_STATIC_java_lang_Double_MAX_VALUE = v;
+}
+
+JAVA_DOUBLE java_lang_Double_GET_MIN_VALUE()
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+ return _STATIC_java_lang_Double_MIN_VALUE;
+}
+
+void java_lang_Double_PUT_MIN_VALUE(JAVA_DOUBLE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+_STATIC_java_lang_Double_MIN_VALUE = v;
+}
+
+JAVA_DOUBLE java_lang_Double_GET_MIN_NORMAL()
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+ return _STATIC_java_lang_Double_MIN_NORMAL;
+}
+
+void java_lang_Double_PUT_MIN_NORMAL(JAVA_DOUBLE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+_STATIC_java_lang_Double_MIN_NORMAL = v;
+}
+
+JAVA_DOUBLE java_lang_Double_GET_NaN()
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+ return _STATIC_java_lang_Double_NaN;
+}
+
+void java_lang_Double_PUT_NaN(JAVA_DOUBLE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+_STATIC_java_lang_Double_NaN = v;
+}
+
+JAVA_DOUBLE java_lang_Double_GET_POSITIVE_INFINITY()
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+ return _STATIC_java_lang_Double_POSITIVE_INFINITY;
+}
+
+void java_lang_Double_PUT_POSITIVE_INFINITY(JAVA_DOUBLE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+_STATIC_java_lang_Double_POSITIVE_INFINITY = v;
+}
+
+JAVA_INT java_lang_Double_GET_MAX_EXPONENT()
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+ return _STATIC_java_lang_Double_MAX_EXPONENT;
+}
+
+void java_lang_Double_PUT_MAX_EXPONENT(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+_STATIC_java_lang_Double_MAX_EXPONENT = v;
+}
+
+JAVA_INT java_lang_Double_GET_MIN_EXPONENT()
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+ return _STATIC_java_lang_Double_MIN_EXPONENT;
+}
+
+void java_lang_Double_PUT_MIN_EXPONENT(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+_STATIC_java_lang_Double_MIN_EXPONENT = v;
+}
+
+JAVA_DOUBLE java_lang_Double_GET_NEGATIVE_INFINITY()
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+ return _STATIC_java_lang_Double_NEGATIVE_INFINITY;
+}
+
+void java_lang_Double_PUT_NEGATIVE_INFINITY(JAVA_DOUBLE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+_STATIC_java_lang_Double_NEGATIVE_INFINITY = v;
+}
+
+JAVA_OBJECT java_lang_Double_GET_TYPE()
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+ return _STATIC_java_lang_Double_TYPE;
+}
+
+void java_lang_Double_PUT_TYPE(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+_STATIC_java_lang_Double_TYPE = v;
+}
+
+JAVA_INT java_lang_Double_GET_SIZE()
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+ return _STATIC_java_lang_Double_SIZE;
+}
+
+void java_lang_Double_PUT_SIZE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+_STATIC_java_lang_Double_SIZE = v;
+}
+
+void java_lang_Double___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Double___CLINIT___]
+ XMLVM_ENTER_METHOD("java.lang.Double", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("Double.java", 95)
+ _r0.i = 0;
+ XMLVM_CLASS_INIT(double)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_double, _r0.i);
+ XMLVM_SOURCE_POSITION("Double.java", 96)
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r0.o)->tib->vtable[3])(_r0.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_Class_getComponentType__(_r0.o);
+ java_lang_Double_PUT_TYPE( _r0.o);
+ XMLVM_SOURCE_POSITION("Double.java", 26)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Double___INIT____double(JAVA_OBJECT me, JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Double___INIT____double]
+ XMLVM_ENTER_METHOD("java.lang.Double", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.d = n1;
+ XMLVM_SOURCE_POSITION("Double.java", 116)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Number___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Double.java", 117)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_Double*) _r0.o)->fields.java_lang_Double.value_ = _r1.d;
+ XMLVM_SOURCE_POSITION("Double.java", 118)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Double___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Double___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Double", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Double.java", 130)
+ _r0.d = java_lang_Double_parseDouble___java_lang_String(_r3.o);
+ XMLVM_CHECK_NPE(2)
+ java_lang_Double___INIT____double(_r2.o, _r0.d);
+ XMLVM_SOURCE_POSITION("Double.java", 131)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Double_compareTo___java_lang_Double(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Double_compareTo___java_lang_Double]
+ XMLVM_ENTER_METHOD("java.lang.Double", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.o = n1;
+ XMLVM_SOURCE_POSITION("Double.java", 154)
+ XMLVM_CHECK_NPE(4)
+ _r0.d = ((java_lang_Double*) _r4.o)->fields.java_lang_Double.value_;
+ XMLVM_CHECK_NPE(5)
+ _r2.d = ((java_lang_Double*) _r5.o)->fields.java_lang_Double.value_;
+ _r0.i = java_lang_Double_compare___double_double(_r0.d, _r2.d);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BYTE java_lang_Double_byteValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Double_byteValue__]
+ XMLVM_ENTER_METHOD("java.lang.Double", "byteValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Double.java", 159)
+ XMLVM_CHECK_NPE(2)
+ _r0.d = ((java_lang_Double*) _r2.o)->fields.java_lang_Double.value_;
+ _r0.i = (JAVA_INT) _r0.d;
+ _r0.i = (_r0.i << 24) >> 24;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG java_lang_Double_doubleToLongBits___double(JAVA_DOUBLE n1)]
+
+//XMLVM_NATIVE[JAVA_LONG java_lang_Double_doubleToRawLongBits___double(JAVA_DOUBLE n1)]
+
+JAVA_DOUBLE java_lang_Double_doubleValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Double_doubleValue__]
+ XMLVM_ENTER_METHOD("java.lang.Double", "doubleValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Double.java", 198)
+ XMLVM_CHECK_NPE(2)
+ _r0.d = ((java_lang_Double*) _r2.o)->fields.java_lang_Double.value_;
+ XMLVM_EXIT_METHOD()
+ return _r0.d;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Double_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Double_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.Double", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.o = n1;
+ XMLVM_SOURCE_POSITION("Double.java", 214)
+ if (_r5.o == _r4.o) goto label26;
+ XMLVM_SOURCE_POSITION("Double.java", 215)
+ XMLVM_CLASS_INIT(java_lang_Double)
+ _r0.i = XMLVM_ISA(_r5.o, __CLASS_java_lang_Double);
+ if (_r0.i == 0) goto label24;
+ XMLVM_SOURCE_POSITION("Double.java", 216)
+ XMLVM_CHECK_NPE(4)
+ _r0.d = ((java_lang_Double*) _r4.o)->fields.java_lang_Double.value_;
+ _r0.l = java_lang_Double_doubleToLongBits___double(_r0.d);
+ _r5.o = _r5.o;
+ XMLVM_CHECK_NPE(5)
+ _r2.d = ((java_lang_Double*) _r5.o)->fields.java_lang_Double.value_;
+ _r2.l = java_lang_Double_doubleToLongBits___double(_r2.d);
+ _r0.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r0.i == 0) goto label26;
+ label24:;
+ _r0.i = 0;
+ label25:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label26:;
+ _r0.i = 1;
+ goto label25;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_FLOAT java_lang_Double_floatValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Double_floatValue__]
+ XMLVM_ENTER_METHOD("java.lang.Double", "floatValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Double.java", 221)
+ XMLVM_CHECK_NPE(2)
+ _r0.d = ((java_lang_Double*) _r2.o)->fields.java_lang_Double.value_;
+ _r0.f = (JAVA_FLOAT) _r0.d;
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Double_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Double_hashCode__]
+ XMLVM_ENTER_METHOD("java.lang.Double", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ XMLVM_SOURCE_POSITION("Double.java", 226)
+ XMLVM_CHECK_NPE(4)
+ _r0.d = ((java_lang_Double*) _r4.o)->fields.java_lang_Double.value_;
+ _r0.l = java_lang_Double_doubleToLongBits___double(_r0.d);
+ XMLVM_SOURCE_POSITION("Double.java", 227)
+ _r2.i = 32;
+ _r2.l = ((JAVA_ULONG) _r0.l) >> (0x3f & ((JAVA_ULONG) _r2.l));
+ _r0.l = _r0.l ^ _r2.l;
+ _r0.i = (JAVA_INT) _r0.l;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Double_intValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Double_intValue__]
+ XMLVM_ENTER_METHOD("java.lang.Double", "intValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Double.java", 232)
+ XMLVM_CHECK_NPE(2)
+ _r0.d = ((java_lang_Double*) _r2.o)->fields.java_lang_Double.value_;
+ _r0.i = (JAVA_INT) _r0.d;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Double_isInfinite__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Double_isInfinite__]
+ XMLVM_ENTER_METHOD("java.lang.Double", "isInfinite", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Double.java", 242)
+ XMLVM_CHECK_NPE(2)
+ _r0.d = ((java_lang_Double*) _r2.o)->fields.java_lang_Double.value_;
+ _r0.i = java_lang_Double_isInfinite___double(_r0.d);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Double_isInfinite___double(JAVA_DOUBLE n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Double_isInfinite___double]
+ XMLVM_ENTER_METHOD("java.lang.Double", "isInfinite", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.d = n1;
+ XMLVM_SOURCE_POSITION("Double.java", 254)
+ _r0.d = Infinity;
+ _r0.i = _r2.d > _r0.d ? 1 : (_r2.d == _r0.d ? 0 : -1);
+ if (_r0.i == 0) goto label14;
+ _r0.d = -Infinity;
+ _r0.i = _r2.d > _r0.d ? 1 : (_r2.d == _r0.d ? 0 : -1);
+ if (_r0.i == 0) goto label14;
+ _r0.i = 0;
+ label13:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label14:;
+ _r0.i = 1;
+ goto label13;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Double_isNaN__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Double_isNaN__]
+ XMLVM_ENTER_METHOD("java.lang.Double", "isNaN", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Double.java", 264)
+ XMLVM_CHECK_NPE(2)
+ _r0.d = ((java_lang_Double*) _r2.o)->fields.java_lang_Double.value_;
+ _r0.i = java_lang_Double_isNaN___double(_r0.d);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Double_isNaN___double(JAVA_DOUBLE n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Double_isNaN___double]
+ XMLVM_ENTER_METHOD("java.lang.Double", "isNaN", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.d = n1;
+ XMLVM_SOURCE_POSITION("Double.java", 277)
+ _r0.i = _r1.d > _r1.d ? 1 : (_r1.d == _r1.d ? 0 : -1);
+ if (_r0.i == 0) goto label6;
+ _r0.i = 1;
+ label5:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ _r0.i = 0;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Double_longBitsToDouble___long(JAVA_LONG n1)]
+
+JAVA_LONG java_lang_Double_longValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Double_longValue__]
+ XMLVM_ENTER_METHOD("java.lang.Double", "longValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Double.java", 295)
+ XMLVM_CHECK_NPE(2)
+ _r0.d = ((java_lang_Double*) _r2.o)->fields.java_lang_Double.value_;
+ _r0.l = (JAVA_LONG) _r0.d;
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_DOUBLE java_lang_Double_parseDouble___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Double_parseDouble___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Double", "parseDouble", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Double.java", 311)
+ _r0.d = org_apache_harmony_luni_util_FloatingPointParser_parseDouble___java_lang_String(_r2.o);
+ XMLVM_SOURCE_POSITION("Double.java", 310)
+ XMLVM_EXIT_METHOD()
+ return _r0.d;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_SHORT java_lang_Double_shortValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Double_shortValue__]
+ XMLVM_ENTER_METHOD("java.lang.Double", "shortValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Double.java", 316)
+ XMLVM_CHECK_NPE(2)
+ _r0.d = ((java_lang_Double*) _r2.o)->fields.java_lang_Double.value_;
+ _r0.i = (JAVA_INT) _r0.d;
+ _r0.i = (_r0.i << 16) >> 16;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Double_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Double_toString__]
+ XMLVM_ENTER_METHOD("java.lang.Double", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Double.java", 321)
+ XMLVM_CHECK_NPE(2)
+ _r0.d = ((java_lang_Double*) _r2.o)->fields.java_lang_Double.value_;
+ _r0.o = java_lang_Double_toString___double(_r0.d);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Double_toString___double(JAVA_DOUBLE n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Double_toString___double]
+ XMLVM_ENTER_METHOD("java.lang.Double", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.d = n1;
+ XMLVM_SOURCE_POSITION("Double.java", 333)
+ _r0.o = org_apache_harmony_luni_util_NumberConverter_convert___double(_r1.d);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Double_valueOf___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Double_valueOf___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Double", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Double.java", 349)
+ _r0.o = __NEW_java_lang_Double();
+ _r1.d = java_lang_Double_parseDouble___java_lang_String(_r3.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_Double___INIT____double(_r0.o, _r1.d);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Double_compare___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Double_compare___double_double]
+ XMLVM_ENTER_METHOD("java.lang.Double", "compare", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r6.d = n1;
+ _r8.d = n2;
+ _r5.i = 63;
+ _r4.i = 1;
+ _r3.i = 0;
+ _r2.i = -1;
+ XMLVM_SOURCE_POSITION("Double.java", 370)
+ _r0.i = _r6.d > _r8.d ? 1 : (_r6.d == _r8.d ? 0 : -1);
+ if (_r0.i <= 0) goto label11;
+ _r0 = _r4;
+ label10:;
+ XMLVM_SOURCE_POSITION("Double.java", 371)
+ XMLVM_SOURCE_POSITION("Double.java", 395)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label11:;
+ XMLVM_SOURCE_POSITION("Double.java", 373)
+ _r0.i = _r8.d > _r6.d ? 1 : (_r8.d == _r6.d ? 0 : -1);
+ if (_r0.i <= 0) goto label17;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("Double.java", 374)
+ goto label10;
+ label17:;
+ XMLVM_SOURCE_POSITION("Double.java", 376)
+ _r0.i = _r6.d > _r8.d ? 1 : (_r6.d == _r8.d ? 0 : -1);
+ if (_r0.i != 0) goto label29;
+ _r0.d = 0.0;
+ _r0.i = _r0.d > _r6.d ? 1 : (_r0.d == _r6.d ? 0 : -1);
+ if (_r0.i == 0) goto label29;
+ _r0 = _r3;
+ XMLVM_SOURCE_POSITION("Double.java", 377)
+ goto label10;
+ label29:;
+ XMLVM_SOURCE_POSITION("Double.java", 381)
+ _r0.i = java_lang_Double_isNaN___double(_r6.d);
+ if (_r0.i == 0) goto label45;
+ XMLVM_SOURCE_POSITION("Double.java", 382)
+ _r0.i = java_lang_Double_isNaN___double(_r8.d);
+ if (_r0.i == 0) goto label43;
+ _r0 = _r3;
+ XMLVM_SOURCE_POSITION("Double.java", 383)
+ goto label10;
+ label43:;
+ _r0 = _r4;
+ XMLVM_SOURCE_POSITION("Double.java", 385)
+ goto label10;
+ label45:;
+ XMLVM_SOURCE_POSITION("Double.java", 386)
+ _r0.i = java_lang_Double_isNaN___double(_r8.d);
+ if (_r0.i == 0) goto label53;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("Double.java", 387)
+ goto label10;
+ label53:;
+ XMLVM_SOURCE_POSITION("Double.java", 391)
+ _r0.l = java_lang_Double_doubleToRawLongBits___double(_r6.d);
+ XMLVM_SOURCE_POSITION("Double.java", 392)
+ _r2.l = java_lang_Double_doubleToRawLongBits___double(_r8.d);
+ _r0.l = _r0.l >> (0x3f & _r5.l);
+ _r2.l = _r2.l >> (0x3f & _r5.l);
+ _r0.l = _r0.l - _r2.l;
+ _r0.i = (JAVA_INT) _r0.l;
+ goto label10;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Double_valueOf___double(JAVA_DOUBLE n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Double_valueOf___double]
+ XMLVM_ENTER_METHOD("java.lang.Double", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.d = n1;
+ XMLVM_SOURCE_POSITION("Double.java", 407)
+ _r0.o = __NEW_java_lang_Double();
+ XMLVM_CHECK_NPE(0)
+ java_lang_Double___INIT____double(_r0.o, _r1.d);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Double_toHexString___double(JAVA_DOUBLE n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Double)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Double_toHexString___double]
+ XMLVM_ENTER_METHOD("java.lang.Double", "toHexString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ _r11.d = n1;
+ XMLVM_SOURCE_POSITION("Double.java", 422)
+ _r0.i = _r11.d > _r11.d ? 1 : (_r11.d == _r11.d ? 0 : -1);
+ if (_r0.i == 0) goto label7;
+ XMLVM_SOURCE_POSITION("Double.java", 423)
+ // "NaN"
+ _r11.o = xmlvm_create_java_string_from_pool(8);
+ label6:;
+ XMLVM_SOURCE_POSITION("Double.java", 499)
+ XMLVM_EXIT_METHOD()
+ return _r11.o;
+ label7:;
+ XMLVM_SOURCE_POSITION("Double.java", 425)
+ _r0.d = Infinity;
+ _r0.i = _r11.d > _r0.d ? 1 : (_r11.d == _r0.d ? 0 : -1);
+ if (_r0.i != 0) goto label16;
+ XMLVM_SOURCE_POSITION("Double.java", 426)
+ // "Infinity"
+ _r11.o = xmlvm_create_java_string_from_pool(9);
+ goto label6;
+ label16:;
+ XMLVM_SOURCE_POSITION("Double.java", 428)
+ _r0.d = -Infinity;
+ _r0.i = _r11.d > _r0.d ? 1 : (_r11.d == _r0.d ? 0 : -1);
+ if (_r0.i != 0) goto label25;
+ XMLVM_SOURCE_POSITION("Double.java", 429)
+ // "-Infinity"
+ _r11.o = xmlvm_create_java_string_from_pool(10);
+ goto label6;
+ label25:;
+ XMLVM_SOURCE_POSITION("Double.java", 432)
+ _r11.l = java_lang_Double_doubleToLongBits___double(_r11.d);
+ XMLVM_SOURCE_POSITION("Double.java", 434)
+ _r0.l = -9223372036854775808;
+ _r0.l = _r0.l & _r11.l;
+ _r2.l = 0;
+ _r0.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r0.i == 0) goto label68;
+ _r0.i = 1;
+ label39:;
+ XMLVM_SOURCE_POSITION("Double.java", 436)
+ _r1.l = 9218868437227405312;
+ _r1.l = _r1.l & _r11.l;
+ _r3.i = 52;
+ _r1.l = ((JAVA_ULONG) _r1.l) >> (0x3f & ((JAVA_ULONG) _r3.l));
+ _r3.l = 4503599627370495;
+ _r11.l = _r11.l & _r3.l;
+ _r3.l = 0;
+ _r3.i = _r1.l > _r3.l ? 1 : (_r1.l == _r3.l ? 0 : -1);
+ if (_r3.i != 0) goto label73;
+ XMLVM_SOURCE_POSITION("Double.java", 440)
+ _r3.l = 0;
+ _r3.i = _r11.l > _r3.l ? 1 : (_r11.l == _r3.l ? 0 : -1);
+ if (_r3.i != 0) goto label73;
+ XMLVM_SOURCE_POSITION("Double.java", 441)
+ if (_r0.i == 0) goto label70;
+ // "-0x0.0p0"
+ _r11.o = xmlvm_create_java_string_from_pool(11);
+ goto label6;
+ label68:;
+ _r0.i = 0;
+ goto label39;
+ label70:;
+ // "0x0.0p0"
+ _r11.o = xmlvm_create_java_string_from_pool(12);
+ goto label6;
+ label73:;
+ XMLVM_SOURCE_POSITION("Double.java", 444)
+ _r3.o = __NEW_java_lang_StringBuilder();
+ _r4.i = 10;
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder___INIT____int(_r3.o, _r4.i);
+ XMLVM_SOURCE_POSITION("Double.java", 445)
+ if (_r0.i == 0) goto label157;
+ XMLVM_SOURCE_POSITION("Double.java", 446)
+ // "-0x"
+ _r0.o = xmlvm_create_java_string_from_pool(13);
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder_append___java_lang_String(_r3.o, _r0.o);
+ label87:;
+ XMLVM_SOURCE_POSITION("Double.java", 451)
+ _r4.l = 0;
+ _r0.i = _r1.l > _r4.l ? 1 : (_r1.l == _r4.l ? 0 : -1);
+ if (_r0.i != 0) goto label175;
+ XMLVM_SOURCE_POSITION("Double.java", 452)
+ // "0."
+ _r0.o = xmlvm_create_java_string_from_pool(14);
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder_append___java_lang_String(_r3.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Double.java", 454)
+ _r0.i = 13;
+ _r10 = _r0;
+ _r0 = _r11;
+ _r11 = _r10;
+ label103:;
+ XMLVM_SOURCE_POSITION("Double.java", 457)
+ _r4.l = 0;
+ _r12.i = _r0.l > _r4.l ? 1 : (_r0.l == _r4.l ? 0 : -1);
+ if (_r12.i == 0) goto label118;
+ _r4.l = 15;
+ _r4.l = _r4.l & _r0.l;
+ _r6.l = 0;
+ _r12.i = _r4.l > _r6.l ? 1 : (_r4.l == _r6.l ? 0 : -1);
+ if (_r12.i == 0) goto label163;
+ label118:;
+ XMLVM_SOURCE_POSITION("Double.java", 462)
+ _r12.o = java_lang_Long_toHexString___long(_r0.l);
+ XMLVM_SOURCE_POSITION("Double.java", 465)
+ _r4.l = 0;
+ _r0.i = _r0.l > _r4.l ? 1 : (_r0.l == _r4.l ? 0 : -1);
+ if (_r0.i == 0) goto label143;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(12)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r12.o)->tib->vtable[8])(_r12.o);
+ if (_r11.i <= _r0.i) goto label143;
+ XMLVM_SOURCE_POSITION("Double.java", 466)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(12)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r12.o)->tib->vtable[8])(_r12.o);
+ _r11.i = _r11.i - _r0.i;
+ label139:;
+ XMLVM_SOURCE_POSITION("Double.java", 467)
+ _r0.i = _r11.i + -1;
+ if (_r11.i != 0) goto label168;
+ label143:;
+ XMLVM_SOURCE_POSITION("Double.java", 471)
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder_append___java_lang_String(_r3.o, _r12.o);
+ XMLVM_SOURCE_POSITION("Double.java", 472)
+ // "p-1022"
+ _r11.o = xmlvm_create_java_string_from_pool(708);
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder_append___java_lang_String(_r3.o, _r11.o);
+ label151:;
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(3)
+ _r11.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r3.o)->tib->vtable[5])(_r3.o);
+ goto label6;
+ label157:;
+ XMLVM_SOURCE_POSITION("Double.java", 448)
+ // "0x"
+ _r0.o = xmlvm_create_java_string_from_pool(16);
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder_append___java_lang_String(_r3.o, _r0.o);
+ goto label87;
+ label163:;
+ XMLVM_SOURCE_POSITION("Double.java", 458)
+ _r12.i = 4;
+ _r0.l = ((JAVA_ULONG) _r0.l) >> (0x3f & ((JAVA_ULONG) _r12.l));
+ _r11.i = _r11.i + -1;
+ XMLVM_SOURCE_POSITION("Double.java", 459)
+ goto label103;
+ label168:;
+ XMLVM_SOURCE_POSITION("Double.java", 468)
+ _r11.i = 48;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(3)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r3.o)->tib->vtable[6])(_r3.o, _r11.i);
+ _r11 = _r0;
+ goto label139;
+ label175:;
+ XMLVM_SOURCE_POSITION("Double.java", 474)
+ // "1."
+ _r0.o = xmlvm_create_java_string_from_pool(17);
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder_append___java_lang_String(_r3.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Double.java", 476)
+ _r0.i = 13;
+ _r4 = _r11;
+ _r11 = _r0;
+ label184:;
+ XMLVM_SOURCE_POSITION("Double.java", 479)
+ _r6.l = 0;
+ _r12.i = _r4.l > _r6.l ? 1 : (_r4.l == _r6.l ? 0 : -1);
+ if (_r12.i == 0) goto label199;
+ _r6.l = 15;
+ _r6.l = _r6.l & _r4.l;
+ _r8.l = 0;
+ _r12.i = _r6.l > _r8.l ? 1 : (_r6.l == _r8.l ? 0 : -1);
+ if (_r12.i == 0) goto label244;
+ label199:;
+ XMLVM_SOURCE_POSITION("Double.java", 484)
+ _r12.o = java_lang_Long_toHexString___long(_r4.l);
+ XMLVM_SOURCE_POSITION("Double.java", 487)
+ _r6.l = 0;
+ _r0.i = _r4.l > _r6.l ? 1 : (_r4.l == _r6.l ? 0 : -1);
+ if (_r0.i == 0) goto label224;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(12)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r12.o)->tib->vtable[8])(_r12.o);
+ if (_r11.i <= _r0.i) goto label224;
+ XMLVM_SOURCE_POSITION("Double.java", 488)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(12)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r12.o)->tib->vtable[8])(_r12.o);
+ _r11.i = _r11.i - _r0.i;
+ label220:;
+ XMLVM_SOURCE_POSITION("Double.java", 489)
+ _r0.i = _r11.i + -1;
+ if (_r11.i != 0) goto label249;
+ label224:;
+ XMLVM_SOURCE_POSITION("Double.java", 494)
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder_append___java_lang_String(_r3.o, _r12.o);
+ XMLVM_SOURCE_POSITION("Double.java", 495)
+ _r11.i = 112;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(3)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r3.o)->tib->vtable[6])(_r3.o, _r11.i);
+ XMLVM_SOURCE_POSITION("Double.java", 497)
+ _r11.l = 1023;
+ _r11.l = _r1.l - _r11.l;
+ _r11.o = java_lang_Long_toString___long(_r11.l);
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder_append___java_lang_String(_r3.o, _r11.o);
+ goto label151;
+ label244:;
+ XMLVM_SOURCE_POSITION("Double.java", 480)
+ _r12.i = 4;
+ _r4.l = ((JAVA_ULONG) _r4.l) >> (0x3f & ((JAVA_ULONG) _r12.l));
+ _r11.i = _r11.i + -1;
+ XMLVM_SOURCE_POSITION("Double.java", 481)
+ goto label184;
+ label249:;
+ XMLVM_SOURCE_POSITION("Double.java", 490)
+ _r11.i = 48;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(3)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r3.o)->tib->vtable[6])(_r3.o, _r11.i);
+ _r11 = _r0;
+ goto label220;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Double_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Double_compareTo___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.Double", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Double.java", 1)
+ _r2.o = _r2.o;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_Double_compareTo___java_lang_Double(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_Double.h b/tests/nbody-java/java_lang_Double.h
new file mode 100644
index 00000000..79090b72
--- /dev/null
+++ b/tests/nbody-java/java_lang_Double.h
@@ -0,0 +1,149 @@
+#ifndef __JAVA_LANG_DOUBLE__
+#define __JAVA_LANG_DOUBLE__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_Double 8
+// Implemented interfaces:
+#include "java_lang_Comparable.h"
+// Super Class:
+#include "java_lang_Number.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Long
+#define XMLVM_FORWARD_DECL_java_lang_Long
+XMLVM_FORWARD_DECL(java_lang_Long)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_FloatingPointParser
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_FloatingPointParser
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_util_FloatingPointParser)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_NumberConverter
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_NumberConverter
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_util_NumberConverter)
+#endif
+// Class declarations for java.lang.Double
+XMLVM_DEFINE_CLASS(java_lang_Double, 13, XMLVM_ITABLE_SIZE_java_lang_Double)
+
+extern JAVA_OBJECT __CLASS_java_lang_Double;
+extern JAVA_OBJECT __CLASS_java_lang_Double_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Double_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Double_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_Double
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_Double \
+ __INSTANCE_FIELDS_java_lang_Number; \
+ struct { \
+ JAVA_DOUBLE value_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_Double \
+ } java_lang_Double
+
+struct java_lang_Double {
+ __TIB_DEFINITION_java_lang_Double* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_Double;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_Double
+#define XMLVM_FORWARD_DECL_java_lang_Double
+typedef struct java_lang_Double java_lang_Double;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_Double 13
+#define XMLVM_VTABLE_IDX_java_lang_Double_byteValue__ 6
+#define XMLVM_VTABLE_IDX_java_lang_Double_doubleValue__ 7
+#define XMLVM_VTABLE_IDX_java_lang_Double_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_lang_Double_floatValue__ 8
+#define XMLVM_VTABLE_IDX_java_lang_Double_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_lang_Double_intValue__ 9
+#define XMLVM_VTABLE_IDX_java_lang_Double_longValue__ 10
+#define XMLVM_VTABLE_IDX_java_lang_Double_shortValue__ 11
+#define XMLVM_VTABLE_IDX_java_lang_Double_toString__ 5
+#define XMLVM_VTABLE_IDX_java_lang_Double_compareTo___java_lang_Object 12
+
+void __INIT_java_lang_Double();
+void __INIT_IMPL_java_lang_Double();
+void __DELETE_java_lang_Double(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_Double(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_Double();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Double();
+JAVA_LONG java_lang_Double_GET_serialVersionUID();
+void java_lang_Double_PUT_serialVersionUID(JAVA_LONG v);
+JAVA_DOUBLE java_lang_Double_GET_MAX_VALUE();
+void java_lang_Double_PUT_MAX_VALUE(JAVA_DOUBLE v);
+JAVA_DOUBLE java_lang_Double_GET_MIN_VALUE();
+void java_lang_Double_PUT_MIN_VALUE(JAVA_DOUBLE v);
+JAVA_DOUBLE java_lang_Double_GET_MIN_NORMAL();
+void java_lang_Double_PUT_MIN_NORMAL(JAVA_DOUBLE v);
+JAVA_DOUBLE java_lang_Double_GET_NaN();
+void java_lang_Double_PUT_NaN(JAVA_DOUBLE v);
+JAVA_DOUBLE java_lang_Double_GET_POSITIVE_INFINITY();
+void java_lang_Double_PUT_POSITIVE_INFINITY(JAVA_DOUBLE v);
+JAVA_INT java_lang_Double_GET_MAX_EXPONENT();
+void java_lang_Double_PUT_MAX_EXPONENT(JAVA_INT v);
+JAVA_INT java_lang_Double_GET_MIN_EXPONENT();
+void java_lang_Double_PUT_MIN_EXPONENT(JAVA_INT v);
+JAVA_DOUBLE java_lang_Double_GET_NEGATIVE_INFINITY();
+void java_lang_Double_PUT_NEGATIVE_INFINITY(JAVA_DOUBLE v);
+JAVA_OBJECT java_lang_Double_GET_TYPE();
+void java_lang_Double_PUT_TYPE(JAVA_OBJECT v);
+JAVA_INT java_lang_Double_GET_SIZE();
+void java_lang_Double_PUT_SIZE(JAVA_INT v);
+void java_lang_Double___CLINIT_();
+void java_lang_Double___INIT____double(JAVA_OBJECT me, JAVA_DOUBLE n1);
+void java_lang_Double___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_INT java_lang_Double_compareTo___java_lang_Double(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 6
+JAVA_BYTE java_lang_Double_byteValue__(JAVA_OBJECT me);
+JAVA_LONG java_lang_Double_doubleToLongBits___double(JAVA_DOUBLE n1);
+JAVA_LONG java_lang_Double_doubleToRawLongBits___double(JAVA_DOUBLE n1);
+// Vtable index: 7
+JAVA_DOUBLE java_lang_Double_doubleValue__(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_lang_Double_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 8
+JAVA_FLOAT java_lang_Double_floatValue__(JAVA_OBJECT me);
+// Vtable index: 4
+JAVA_INT java_lang_Double_hashCode__(JAVA_OBJECT me);
+// Vtable index: 9
+JAVA_INT java_lang_Double_intValue__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_Double_isInfinite__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_Double_isInfinite___double(JAVA_DOUBLE n1);
+JAVA_BOOLEAN java_lang_Double_isNaN__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_Double_isNaN___double(JAVA_DOUBLE n1);
+JAVA_DOUBLE java_lang_Double_longBitsToDouble___long(JAVA_LONG n1);
+// Vtable index: 10
+JAVA_LONG java_lang_Double_longValue__(JAVA_OBJECT me);
+JAVA_DOUBLE java_lang_Double_parseDouble___java_lang_String(JAVA_OBJECT n1);
+// Vtable index: 11
+JAVA_SHORT java_lang_Double_shortValue__(JAVA_OBJECT me);
+// Vtable index: 5
+JAVA_OBJECT java_lang_Double_toString__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Double_toString___double(JAVA_DOUBLE n1);
+JAVA_OBJECT java_lang_Double_valueOf___java_lang_String(JAVA_OBJECT n1);
+JAVA_INT java_lang_Double_compare___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2);
+JAVA_OBJECT java_lang_Double_valueOf___double(JAVA_DOUBLE n1);
+JAVA_OBJECT java_lang_Double_toHexString___double(JAVA_DOUBLE n1);
+// Vtable index: 12
+JAVA_INT java_lang_Double_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_lang_Enum.c b/tests/nbody-java/java_lang_Enum.c
new file mode 100644
index 00000000..ba5eaf78
--- /dev/null
+++ b/tests/nbody-java/java_lang_Enum.c
@@ -0,0 +1,546 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_Exception.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_String.h"
+#include "java_lang_reflect_Method.h"
+#include "java_security_AccessController.h"
+#include "org_apache_harmony_luni_internal_nls_Messages.h"
+
+#include "java_lang_Enum.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Enum
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Enum
+
+__TIB_DEFINITION_java_lang_Enum __TIB_java_lang_Enum = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Enum, // classInitializer
+ "java.lang.Enum", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<E:Ljava/lang/Enum<TE;>;>Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/Comparable<TE;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_Enum), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_Enum;
+JAVA_OBJECT __CLASS_java_lang_Enum_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Enum_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Enum_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_lang_Enum_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_Enum()
+{
+ staticInitializerLock(&__TIB_java_lang_Enum);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Enum.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Enum.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Enum);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Enum.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Enum.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Enum.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Enum")
+ __INIT_IMPL_java_lang_Enum();
+ }
+}
+
+void __INIT_IMPL_java_lang_Enum()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_Enum.newInstanceFunc = __NEW_INSTANCE_java_lang_Enum;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_Enum.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_Enum.vtable[5] = (VTABLE_PTR) &java_lang_Enum_toString__;
+ __TIB_java_lang_Enum.vtable[1] = (VTABLE_PTR) &java_lang_Enum_equals___java_lang_Object;
+ __TIB_java_lang_Enum.vtable[4] = (VTABLE_PTR) &java_lang_Enum_hashCode__;
+ __TIB_java_lang_Enum.vtable[0] = (VTABLE_PTR) &java_lang_Enum_clone__;
+ __TIB_java_lang_Enum.vtable[2] = (VTABLE_PTR) &java_lang_Enum_finalize_java_lang_Enum__;
+ __TIB_java_lang_Enum.vtable[6] = (VTABLE_PTR) &java_lang_Enum_compareTo___java_lang_Object;
+ // Initialize interface information
+ __TIB_java_lang_Enum.numImplementedInterfaces = 2;
+ __TIB_java_lang_Enum.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_lang_Enum.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_lang_Comparable)
+
+ __TIB_java_lang_Enum.implementedInterfaces[0][1] = &__TIB_java_lang_Comparable;
+ // Initialize itable for this class
+ __TIB_java_lang_Enum.itableBegin = &__TIB_java_lang_Enum.itable[0];
+ __TIB_java_lang_Enum.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_lang_Enum.vtable[6];
+
+ _STATIC_java_lang_Enum_serialVersionUID = -4300926546619394005;
+
+ __TIB_java_lang_Enum.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Enum.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_Enum.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_Enum.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_Enum.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_Enum.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Enum.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Enum.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_Enum = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Enum);
+ __TIB_java_lang_Enum.clazz = __CLASS_java_lang_Enum;
+ __TIB_java_lang_Enum.baseType = JAVA_NULL;
+ __CLASS_java_lang_Enum_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Enum);
+ __CLASS_java_lang_Enum_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Enum_1ARRAY);
+ __CLASS_java_lang_Enum_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Enum_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_Enum]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_Enum.classInitialized = 1;
+}
+
+void __DELETE_java_lang_Enum(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_Enum]
+ //XMLVM_END_WRAPPER
+ // Call the finalizer
+ (*(void (*)(JAVA_OBJECT)) ((java_lang_Object*) me)->tib->vtable[XMLVM_VTABLE_IDX_java_lang_Object_finalize_java_lang_Object__])(me);
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_Enum(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 1 || derivedClassWillRegisterFinalizer);
+ ((java_lang_Enum*) me)->fields.java_lang_Enum.name_ = (java_lang_String*) JAVA_NULL;
+ ((java_lang_Enum*) me)->fields.java_lang_Enum.ordinal_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_Enum]
+ //XMLVM_END_WRAPPER
+ if (!derivedClassWillRegisterFinalizer) {
+ // Tell the GC to finalize us
+ XMLVM_FINALIZE(me, __DELETE_java_lang_Enum);
+ }
+}
+
+JAVA_OBJECT __NEW_java_lang_Enum()
+{ XMLVM_CLASS_INIT(java_lang_Enum)
+java_lang_Enum* me = (java_lang_Enum*) XMLVM_MALLOC(sizeof(java_lang_Enum));
+ me->tib = &__TIB_java_lang_Enum;
+ __INIT_INSTANCE_MEMBERS_java_lang_Enum(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_Enum]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Enum()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_lang_Enum_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_lang_Enum)
+ return _STATIC_java_lang_Enum_serialVersionUID;
+}
+
+void java_lang_Enum_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_Enum)
+_STATIC_java_lang_Enum_serialVersionUID = v;
+}
+
+void java_lang_Enum___INIT____java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Enum___INIT____java_lang_String_int]
+ XMLVM_ENTER_METHOD("java.lang.Enum", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.i = n2;
+ XMLVM_SOURCE_POSITION("Enum.java", 49)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Enum.java", 50)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_Enum*) _r0.o)->fields.java_lang_Enum.name_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Enum.java", 51)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_Enum*) _r0.o)->fields.java_lang_Enum.ordinal_ = _r2.i;
+ XMLVM_SOURCE_POSITION("Enum.java", 52)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Enum_name__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Enum_name__]
+ XMLVM_ENTER_METHOD("java.lang.Enum", "name", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Enum.java", 62)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_Enum*) _r1.o)->fields.java_lang_Enum.name_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Enum_ordinal__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Enum_ordinal__]
+ XMLVM_ENTER_METHOD("java.lang.Enum", "ordinal", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Enum.java", 72)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Enum*) _r1.o)->fields.java_lang_Enum.ordinal_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Enum_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Enum_toString__]
+ XMLVM_ENTER_METHOD("java.lang.Enum", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Enum.java", 83)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_Enum*) _r1.o)->fields.java_lang_Enum.name_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Enum_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Enum_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.Enum", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Enum.java", 98)
+ if (_r1.o != _r2.o) goto label4;
+ _r0.i = 1;
+ label3:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label4:;
+ _r0.i = 0;
+ goto label3;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Enum_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Enum_hashCode__]
+ XMLVM_ENTER_METHOD("java.lang.Enum", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Enum.java", 103)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Enum*) _r2.o)->fields.java_lang_Enum.ordinal_;
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_lang_Enum*) _r2.o)->fields.java_lang_Enum.name_;
+ if (_r1.o != JAVA_NULL) goto label9;
+ _r1.i = 0;
+ label7:;
+ _r0.i = _r0.i + _r1.i;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label9:;
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_lang_Enum*) _r2.o)->fields.java_lang_Enum.name_;
+ //java_lang_String_hashCode__[4]
+ XMLVM_CHECK_NPE(1)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[4])(_r1.o);
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Enum_clone__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Enum_clone__]
+ XMLVM_ENTER_METHOD("java.lang.Enum", "clone", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Enum.java", 117)
+
+
+ // Red class access removed: java.lang.CloneNotSupportedException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.4C"
+ _r1.o = xmlvm_create_java_string_from_pool(832);
+ _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String(_r1.o);
+
+
+ // Red class access removed: java.lang.CloneNotSupportedException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Enum_compareTo___java_lang_Enum(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Enum_compareTo___java_lang_Enum]
+ XMLVM_ENTER_METHOD("java.lang.Enum", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Enum.java", 135)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Enum*) _r2.o)->fields.java_lang_Enum.ordinal_;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_Enum*) _r3.o)->fields.java_lang_Enum.ordinal_;
+ _r0.i = _r0.i - _r1.i;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Enum_getDeclaringClass__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Enum_getDeclaringClass__]
+ XMLVM_ENTER_METHOD("java.lang.Enum", "getDeclaringClass", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("Enum.java", 145)
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(3)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r3.o)->tib->vtable[3])(_r3.o);
+ XMLVM_SOURCE_POSITION("Enum.java", 146)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = java_lang_Class_getSuperclass__(_r0.o);
+ XMLVM_SOURCE_POSITION("Enum.java", 147)
+ XMLVM_CLASS_INIT(java_lang_Enum)
+ _r2.o = __CLASS_java_lang_Enum;
+ if (_r2.o != _r1.o) goto label13;
+ label12:;
+ XMLVM_SOURCE_POSITION("Enum.java", 150)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label13:;
+ _r0 = _r1;
+ goto label12;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Enum_valueOf___java_lang_Class_java_lang_String(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Enum)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Enum_valueOf___java_lang_Class_java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Enum", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r5.o = n1;
+ _r6.o = n2;
+ XMLVM_SOURCE_POSITION("Enum.java", 169)
+ if (_r5.o == JAVA_NULL) goto label4;
+ if (_r6.o != JAVA_NULL) goto label16;
+ label4:;
+ XMLVM_SOURCE_POSITION("Enum.java", 171)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ // "luni.4D"
+ _r1.o = xmlvm_create_java_string_from_pool(833);
+ _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String(_r1.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label16:;
+ XMLVM_SOURCE_POSITION("Enum.java", 173)
+ _r0.o = java_lang_Enum_getValues___java_lang_Class(_r5.o);
+ XMLVM_SOURCE_POSITION("Enum.java", 174)
+ if (_r0.o != JAVA_NULL) goto label34;
+ XMLVM_SOURCE_POSITION("Enum.java", 176)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.4E"
+ _r1.o = xmlvm_create_java_string_from_pool(834);
+ _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object(_r1.o, _r5.o);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label34:;
+ XMLVM_SOURCE_POSITION("Enum.java", 178)
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ _r2.i = 0;
+ label36:;
+ if (_r2.i < _r1.i) goto label50;
+ XMLVM_SOURCE_POSITION("Enum.java", 184)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.4F"
+ _r1.o = xmlvm_create_java_string_from_pool(835);
+ XMLVM_SOURCE_POSITION("Enum.java", 185)
+ _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_java_lang_Object(_r1.o, _r6.o, _r5.o);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label50:;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ _r3.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_SOURCE_POSITION("Enum.java", 179)
+ XMLVM_CHECK_NPE(3)
+ _r4.o = ((java_lang_Enum*) _r3.o)->fields.java_lang_Enum.name_;
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(4)
+ _r4.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r4.o)->tib->vtable[1])(_r4.o, _r6.o);
+ if (_r4.i == 0) goto label61;
+ XMLVM_SOURCE_POSITION("Enum.java", 180)
+ XMLVM_EXIT_METHOD()
+ return _r3.o;
+ label61:;
+ _r2.i = _r2.i + 1;
+ goto label36;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Enum_getValues___java_lang_Class(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Enum)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Enum_getValues___java_lang_Class]
+ XMLVM_ENTER_METHOD("java.lang.Enum", "getValues", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ _r3.o = n1;
+ _r2.o = JAVA_NULL;
+ XMLVM_TRY_BEGIN(w6397aaac13b1b3)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Enum.java", 196)
+
+
+ // Red class access removed: java.lang.Enum$1::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.Enum$1::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r0.o = java_security_AccessController_doPrivileged___java_security_PrivilegedExceptionAction(_r0.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("Enum.java", 204)
+ _r1.o = JAVA_NULL;
+ //java_lang_reflect_Method_invoke___java_lang_Object_java_lang_Object_1ARRAY[15]
+ XMLVM_CHECK_NPE(0)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_reflect_Method*) _r0.o)->tib->vtable[15])(_r0.o, _r3.o, _r1.o);
+ _r3.o = _r3.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w6397aaac13b1b3)
+ XMLVM_CATCH_SPECIFIC(w6397aaac13b1b3,java_lang_Exception,21)
+ XMLVM_CATCH_END(w6397aaac13b1b3)
+ XMLVM_RESTORE_EXCEPTION_ENV(w6397aaac13b1b3)
+ _r0 = _r3;
+ label20:;
+ XMLVM_SOURCE_POSITION("Enum.java", 206)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label21:;
+ java_lang_Thread* curThread_w6397aaac13b1b9 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w6397aaac13b1b9->fields.java_lang_Thread.xmlvmException_;
+ _r0 = _r2;
+ goto label20;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Enum_finalize_java_lang_Enum__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Enum_finalize_java_lang_Enum__]
+ XMLVM_ENTER_METHOD("java.lang.Enum", "finalize", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Enum.java", 219)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Enum_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Enum_compareTo___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.Enum", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Enum.java", 1)
+ _r2.o = _r2.o;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_Enum_compareTo___java_lang_Enum(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_Enum.h b/tests/nbody-java/java_lang_Enum.h
new file mode 100644
index 00000000..6c6f235a
--- /dev/null
+++ b/tests/nbody-java/java_lang_Enum.h
@@ -0,0 +1,109 @@
+#ifndef __JAVA_LANG_ENUM__
+#define __JAVA_LANG_ENUM__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_Enum 8
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+#include "java_lang_Comparable.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Exception
+#define XMLVM_FORWARD_DECL_java_lang_Exception
+XMLVM_FORWARD_DECL(java_lang_Exception)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_Method
+#define XMLVM_FORWARD_DECL_java_lang_reflect_Method
+XMLVM_FORWARD_DECL(java_lang_reflect_Method)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_security_AccessController
+#define XMLVM_FORWARD_DECL_java_security_AccessController
+XMLVM_FORWARD_DECL(java_security_AccessController)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_internal_nls_Messages)
+#endif
+// Class declarations for java.lang.Enum
+XMLVM_DEFINE_CLASS(java_lang_Enum, 7, XMLVM_ITABLE_SIZE_java_lang_Enum)
+
+extern JAVA_OBJECT __CLASS_java_lang_Enum;
+extern JAVA_OBJECT __CLASS_java_lang_Enum_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Enum_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Enum_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_Enum
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_Enum \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT name_; \
+ JAVA_INT ordinal_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_Enum \
+ } java_lang_Enum
+
+struct java_lang_Enum {
+ __TIB_DEFINITION_java_lang_Enum* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_Enum;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_Enum
+#define XMLVM_FORWARD_DECL_java_lang_Enum
+typedef struct java_lang_Enum java_lang_Enum;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_Enum 7
+#define XMLVM_VTABLE_IDX_java_lang_Enum_toString__ 5
+#define XMLVM_VTABLE_IDX_java_lang_Enum_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_lang_Enum_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_lang_Enum_clone__ 0
+#define XMLVM_VTABLE_IDX_java_lang_Enum_finalize_java_lang_Enum__ 2
+#define XMLVM_VTABLE_IDX_java_lang_Enum_compareTo___java_lang_Object 6
+
+void __INIT_java_lang_Enum();
+void __INIT_IMPL_java_lang_Enum();
+void __DELETE_java_lang_Enum(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_Enum(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_Enum();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Enum();
+JAVA_LONG java_lang_Enum_GET_serialVersionUID();
+void java_lang_Enum_PUT_serialVersionUID(JAVA_LONG v);
+void java_lang_Enum___INIT____java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_OBJECT java_lang_Enum_name__(JAVA_OBJECT me);
+JAVA_INT java_lang_Enum_ordinal__(JAVA_OBJECT me);
+// Vtable index: 5
+JAVA_OBJECT java_lang_Enum_toString__(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_lang_Enum_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 4
+JAVA_INT java_lang_Enum_hashCode__(JAVA_OBJECT me);
+// Vtable index: 0
+JAVA_OBJECT java_lang_Enum_clone__(JAVA_OBJECT me);
+JAVA_INT java_lang_Enum_compareTo___java_lang_Enum(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Enum_getDeclaringClass__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Enum_valueOf___java_lang_Class_java_lang_String(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_lang_Enum_getValues___java_lang_Class(JAVA_OBJECT n1);
+// Vtable index: 2
+void java_lang_Enum_finalize_java_lang_Enum__(JAVA_OBJECT me);
+// Vtable index: 6
+JAVA_INT java_lang_Enum_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_lang_Exception.c b/tests/nbody-java/java_lang_Exception.c
new file mode 100644
index 00000000..fb902112
--- /dev/null
+++ b/tests/nbody-java/java_lang_Exception.c
@@ -0,0 +1,233 @@
+#include "xmlvm.h"
+#include "java_lang_String.h"
+
+#include "java_lang_Exception.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Exception
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Exception
+
+__TIB_DEFINITION_java_lang_Exception __TIB_java_lang_Exception = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Exception, // classInitializer
+ "java.lang.Exception", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Throwable, // extends
+ sizeof(java_lang_Exception), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_Exception;
+JAVA_OBJECT __CLASS_java_lang_Exception_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Exception_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Exception_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_lang_Exception_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_Exception()
+{
+ staticInitializerLock(&__TIB_java_lang_Exception);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Exception.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Exception.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Exception);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Exception.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Exception.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Exception.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Exception")
+ __INIT_IMPL_java_lang_Exception();
+ }
+}
+
+void __INIT_IMPL_java_lang_Exception()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Throwable)
+ __TIB_java_lang_Exception.newInstanceFunc = __NEW_INSTANCE_java_lang_Exception;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_Exception.vtable, __TIB_java_lang_Throwable.vtable, sizeof(__TIB_java_lang_Throwable.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_lang_Exception.numImplementedInterfaces = 1;
+ __TIB_java_lang_Exception.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_lang_Exception.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+ // Initialize itable for this class
+ __TIB_java_lang_Exception.itableBegin = &__TIB_java_lang_Exception.itable[0];
+
+ _STATIC_java_lang_Exception_serialVersionUID = -3387516993124229948;
+
+ __TIB_java_lang_Exception.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Exception.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_Exception.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_Exception.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_Exception.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_Exception.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Exception.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Exception.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_Exception = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Exception);
+ __TIB_java_lang_Exception.clazz = __CLASS_java_lang_Exception;
+ __TIB_java_lang_Exception.baseType = JAVA_NULL;
+ __CLASS_java_lang_Exception_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Exception);
+ __CLASS_java_lang_Exception_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Exception_1ARRAY);
+ __CLASS_java_lang_Exception_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Exception_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_Exception]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_Exception.classInitialized = 1;
+}
+
+void __DELETE_java_lang_Exception(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_Exception]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_Exception(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Throwable(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_Exception]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_Exception()
+{ XMLVM_CLASS_INIT(java_lang_Exception)
+java_lang_Exception* me = (java_lang_Exception*) XMLVM_MALLOC(sizeof(java_lang_Exception));
+ me->tib = &__TIB_java_lang_Exception;
+ __INIT_INSTANCE_MEMBERS_java_lang_Exception(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_Exception]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Exception()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_lang_Exception();
+ java_lang_Exception___INIT___(me);
+ return me;
+}
+
+JAVA_LONG java_lang_Exception_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_lang_Exception)
+ return _STATIC_java_lang_Exception_serialVersionUID;
+}
+
+void java_lang_Exception_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_Exception)
+_STATIC_java_lang_Exception_serialVersionUID = v;
+}
+
+void java_lang_Exception___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Exception___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.Exception", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Exception.java", 37)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Throwable___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Exception.java", 38)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Exception___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Exception___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Exception", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Exception.java", 48)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Throwable___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("Exception.java", 49)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Exception___INIT____java_lang_String_java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Exception___INIT____java_lang_String_java_lang_Throwable]
+ XMLVM_ENTER_METHOD("java.lang.Exception", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("Exception.java", 61)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Throwable___INIT____java_lang_String_java_lang_Throwable(_r0.o, _r1.o, _r2.o);
+ XMLVM_SOURCE_POSITION("Exception.java", 62)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Exception___INIT____java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Exception___INIT____java_lang_Throwable]
+ XMLVM_ENTER_METHOD("java.lang.Exception", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Exception.java", 72)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Throwable___INIT____java_lang_Throwable(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("Exception.java", 73)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_Exception.h b/tests/nbody-java/java_lang_Exception.h
new file mode 100644
index 00000000..a7b470ab
--- /dev/null
+++ b/tests/nbody-java/java_lang_Exception.h
@@ -0,0 +1,60 @@
+#ifndef __JAVA_LANG_EXCEPTION__
+#define __JAVA_LANG_EXCEPTION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_Exception 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Throwable.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+// Class declarations for java.lang.Exception
+XMLVM_DEFINE_CLASS(java_lang_Exception, 8, XMLVM_ITABLE_SIZE_java_lang_Exception)
+
+extern JAVA_OBJECT __CLASS_java_lang_Exception;
+extern JAVA_OBJECT __CLASS_java_lang_Exception_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Exception_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Exception_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_Exception
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_Exception \
+ __INSTANCE_FIELDS_java_lang_Throwable; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_Exception \
+ } java_lang_Exception
+
+struct java_lang_Exception {
+ __TIB_DEFINITION_java_lang_Exception* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_Exception;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_Exception
+#define XMLVM_FORWARD_DECL_java_lang_Exception
+typedef struct java_lang_Exception java_lang_Exception;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_Exception 8
+
+void __INIT_java_lang_Exception();
+void __INIT_IMPL_java_lang_Exception();
+void __DELETE_java_lang_Exception(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_Exception(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_Exception();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Exception();
+JAVA_LONG java_lang_Exception_GET_serialVersionUID();
+void java_lang_Exception_PUT_serialVersionUID(JAVA_LONG v);
+void java_lang_Exception___INIT___(JAVA_OBJECT me);
+void java_lang_Exception___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_Exception___INIT____java_lang_String_java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_lang_Exception___INIT____java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_lang_Float.c b/tests/nbody-java/java_lang_Float.c
new file mode 100644
index 00000000..800ac427
--- /dev/null
+++ b/tests/nbody-java/java_lang_Float.c
@@ -0,0 +1,1057 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_Integer.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "org_apache_harmony_luni_util_FloatingPointParser.h"
+#include "org_apache_harmony_luni_util_NumberConverter.h"
+
+#include "java_lang_Float.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Float
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Float
+
+__TIB_DEFINITION_java_lang_Float __TIB_java_lang_Float = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Float, // classInitializer
+ "java.lang.Float", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "Ljava/lang/Number;Ljava/lang/Comparable<Ljava/lang/Float;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Number, // extends
+ sizeof(java_lang_Float), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_Float;
+JAVA_OBJECT __CLASS_java_lang_Float_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Float_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Float_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_lang_Float_serialVersionUID;
+static JAVA_FLOAT _STATIC_java_lang_Float_MAX_VALUE;
+static JAVA_FLOAT _STATIC_java_lang_Float_MIN_VALUE;
+static JAVA_FLOAT _STATIC_java_lang_Float_MIN_NORMAL;
+static JAVA_FLOAT _STATIC_java_lang_Float_NaN;
+static JAVA_FLOAT _STATIC_java_lang_Float_POSITIVE_INFINITY;
+static JAVA_FLOAT _STATIC_java_lang_Float_NEGATIVE_INFINITY;
+static JAVA_OBJECT _STATIC_java_lang_Float_TYPE;
+static JAVA_INT _STATIC_java_lang_Float_MAX_EXPONENT;
+static JAVA_INT _STATIC_java_lang_Float_MIN_EXPONENT;
+static JAVA_INT _STATIC_java_lang_Float_SIZE;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_Float()
+{
+ staticInitializerLock(&__TIB_java_lang_Float);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Float.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Float.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Float);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Float.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Float.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Float.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Float")
+ __INIT_IMPL_java_lang_Float();
+ }
+}
+
+void __INIT_IMPL_java_lang_Float()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Number)
+ __TIB_java_lang_Float.newInstanceFunc = __NEW_INSTANCE_java_lang_Float;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_Float.vtable, __TIB_java_lang_Number.vtable, sizeof(__TIB_java_lang_Number.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_Float.vtable[6] = (VTABLE_PTR) &java_lang_Float_byteValue__;
+ __TIB_java_lang_Float.vtable[7] = (VTABLE_PTR) &java_lang_Float_doubleValue__;
+ __TIB_java_lang_Float.vtable[1] = (VTABLE_PTR) &java_lang_Float_equals___java_lang_Object;
+ __TIB_java_lang_Float.vtable[8] = (VTABLE_PTR) &java_lang_Float_floatValue__;
+ __TIB_java_lang_Float.vtable[4] = (VTABLE_PTR) &java_lang_Float_hashCode__;
+ __TIB_java_lang_Float.vtable[9] = (VTABLE_PTR) &java_lang_Float_intValue__;
+ __TIB_java_lang_Float.vtable[10] = (VTABLE_PTR) &java_lang_Float_longValue__;
+ __TIB_java_lang_Float.vtable[11] = (VTABLE_PTR) &java_lang_Float_shortValue__;
+ __TIB_java_lang_Float.vtable[5] = (VTABLE_PTR) &java_lang_Float_toString__;
+ __TIB_java_lang_Float.vtable[12] = (VTABLE_PTR) &java_lang_Float_compareTo___java_lang_Object;
+ // Initialize interface information
+ __TIB_java_lang_Float.numImplementedInterfaces = 2;
+ __TIB_java_lang_Float.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_lang_Float.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_lang_Comparable)
+
+ __TIB_java_lang_Float.implementedInterfaces[0][1] = &__TIB_java_lang_Comparable;
+ // Initialize itable for this class
+ __TIB_java_lang_Float.itableBegin = &__TIB_java_lang_Float.itable[0];
+ __TIB_java_lang_Float.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_lang_Float.vtable[12];
+
+ _STATIC_java_lang_Float_serialVersionUID = -2671257302660747028;
+ _STATIC_java_lang_Float_MAX_VALUE = 3.4028235E38;
+ _STATIC_java_lang_Float_MIN_VALUE = 1.4E-45;
+ _STATIC_java_lang_Float_MIN_NORMAL = 1.17549435E-38;
+ _STATIC_java_lang_Float_NaN = NaN;
+ _STATIC_java_lang_Float_POSITIVE_INFINITY = Infinity;
+ _STATIC_java_lang_Float_NEGATIVE_INFINITY = -Infinity;
+ _STATIC_java_lang_Float_TYPE = (java_lang_Class*) JAVA_NULL;
+ _STATIC_java_lang_Float_MAX_EXPONENT = 127;
+ _STATIC_java_lang_Float_MIN_EXPONENT = -126;
+ _STATIC_java_lang_Float_SIZE = 32;
+
+ __TIB_java_lang_Float.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Float.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_Float.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_Float.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_Float.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_Float.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Float.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Float.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_Float = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Float);
+ __TIB_java_lang_Float.clazz = __CLASS_java_lang_Float;
+ __TIB_java_lang_Float.baseType = JAVA_NULL;
+ __CLASS_java_lang_Float_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Float);
+ __CLASS_java_lang_Float_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Float_1ARRAY);
+ __CLASS_java_lang_Float_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Float_2ARRAY);
+ java_lang_Float___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_Float]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_Float.classInitialized = 1;
+}
+
+void __DELETE_java_lang_Float(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_Float]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_Float(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Number(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_Float*) me)->fields.java_lang_Float.value_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_Float]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_Float()
+{ XMLVM_CLASS_INIT(java_lang_Float)
+java_lang_Float* me = (java_lang_Float*) XMLVM_MALLOC(sizeof(java_lang_Float));
+ me->tib = &__TIB_java_lang_Float;
+ __INIT_INSTANCE_MEMBERS_java_lang_Float(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_Float]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Float()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_lang_Float_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+ return _STATIC_java_lang_Float_serialVersionUID;
+}
+
+void java_lang_Float_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+_STATIC_java_lang_Float_serialVersionUID = v;
+}
+
+JAVA_FLOAT java_lang_Float_GET_MAX_VALUE()
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+ return _STATIC_java_lang_Float_MAX_VALUE;
+}
+
+void java_lang_Float_PUT_MAX_VALUE(JAVA_FLOAT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+_STATIC_java_lang_Float_MAX_VALUE = v;
+}
+
+JAVA_FLOAT java_lang_Float_GET_MIN_VALUE()
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+ return _STATIC_java_lang_Float_MIN_VALUE;
+}
+
+void java_lang_Float_PUT_MIN_VALUE(JAVA_FLOAT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+_STATIC_java_lang_Float_MIN_VALUE = v;
+}
+
+JAVA_FLOAT java_lang_Float_GET_MIN_NORMAL()
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+ return _STATIC_java_lang_Float_MIN_NORMAL;
+}
+
+void java_lang_Float_PUT_MIN_NORMAL(JAVA_FLOAT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+_STATIC_java_lang_Float_MIN_NORMAL = v;
+}
+
+JAVA_FLOAT java_lang_Float_GET_NaN()
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+ return _STATIC_java_lang_Float_NaN;
+}
+
+void java_lang_Float_PUT_NaN(JAVA_FLOAT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+_STATIC_java_lang_Float_NaN = v;
+}
+
+JAVA_FLOAT java_lang_Float_GET_POSITIVE_INFINITY()
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+ return _STATIC_java_lang_Float_POSITIVE_INFINITY;
+}
+
+void java_lang_Float_PUT_POSITIVE_INFINITY(JAVA_FLOAT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+_STATIC_java_lang_Float_POSITIVE_INFINITY = v;
+}
+
+JAVA_FLOAT java_lang_Float_GET_NEGATIVE_INFINITY()
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+ return _STATIC_java_lang_Float_NEGATIVE_INFINITY;
+}
+
+void java_lang_Float_PUT_NEGATIVE_INFINITY(JAVA_FLOAT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+_STATIC_java_lang_Float_NEGATIVE_INFINITY = v;
+}
+
+JAVA_OBJECT java_lang_Float_GET_TYPE()
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+ return _STATIC_java_lang_Float_TYPE;
+}
+
+void java_lang_Float_PUT_TYPE(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+_STATIC_java_lang_Float_TYPE = v;
+}
+
+JAVA_INT java_lang_Float_GET_MAX_EXPONENT()
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+ return _STATIC_java_lang_Float_MAX_EXPONENT;
+}
+
+void java_lang_Float_PUT_MAX_EXPONENT(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+_STATIC_java_lang_Float_MAX_EXPONENT = v;
+}
+
+JAVA_INT java_lang_Float_GET_MIN_EXPONENT()
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+ return _STATIC_java_lang_Float_MIN_EXPONENT;
+}
+
+void java_lang_Float_PUT_MIN_EXPONENT(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+_STATIC_java_lang_Float_MIN_EXPONENT = v;
+}
+
+JAVA_INT java_lang_Float_GET_SIZE()
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+ return _STATIC_java_lang_Float_SIZE;
+}
+
+void java_lang_Float_PUT_SIZE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+_STATIC_java_lang_Float_SIZE = v;
+}
+
+void java_lang_Float___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float___CLINIT___]
+ XMLVM_ENTER_METHOD("java.lang.Float", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("Float.java", 75)
+ _r0.i = 0;
+ XMLVM_CLASS_INIT(float)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_float, _r0.i);
+ XMLVM_SOURCE_POSITION("Float.java", 76)
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r0.o)->tib->vtable[3])(_r0.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_Class_getComponentType__(_r0.o);
+ java_lang_Float_PUT_TYPE( _r0.o);
+ XMLVM_SOURCE_POSITION("Float.java", 26)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Float___INIT____float(JAVA_OBJECT me, JAVA_FLOAT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float___INIT____float]
+ XMLVM_ENTER_METHOD("java.lang.Float", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.f = n1;
+ XMLVM_SOURCE_POSITION("Float.java", 111)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Number___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Float.java", 112)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_Float*) _r0.o)->fields.java_lang_Float.value_ = _r1.f;
+ XMLVM_SOURCE_POSITION("Float.java", 113)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Float___INIT____double(JAVA_OBJECT me, JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float___INIT____double]
+ XMLVM_ENTER_METHOD("java.lang.Float", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.d = n1;
+ XMLVM_SOURCE_POSITION("Float.java", 121)
+ XMLVM_CHECK_NPE(1)
+ java_lang_Number___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("Float.java", 122)
+ _r0.f = (JAVA_FLOAT) _r2.d;
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_Float*) _r1.o)->fields.java_lang_Float.value_ = _r0.f;
+ XMLVM_SOURCE_POSITION("Float.java", 123)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Float___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Float", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Float.java", 135)
+ _r0.f = java_lang_Float_parseFloat___java_lang_String(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ java_lang_Float___INIT____float(_r1.o, _r0.f);
+ XMLVM_SOURCE_POSITION("Float.java", 136)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Float_compareTo___java_lang_Float(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float_compareTo___java_lang_Float]
+ XMLVM_ENTER_METHOD("java.lang.Float", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Float.java", 157)
+ XMLVM_CHECK_NPE(2)
+ _r0.f = ((java_lang_Float*) _r2.o)->fields.java_lang_Float.value_;
+ XMLVM_CHECK_NPE(3)
+ _r1.f = ((java_lang_Float*) _r3.o)->fields.java_lang_Float.value_;
+ _r0.i = java_lang_Float_compare___float_float(_r0.f, _r1.f);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BYTE java_lang_Float_byteValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float_byteValue__]
+ XMLVM_ENTER_METHOD("java.lang.Float", "byteValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Float.java", 162)
+ XMLVM_CHECK_NPE(1)
+ _r0.f = ((java_lang_Float*) _r1.o)->fields.java_lang_Float.value_;
+ _r0.i = (JAVA_INT) _r0.f;
+ _r0.i = (_r0.i << 24) >> 24;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_DOUBLE java_lang_Float_doubleValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float_doubleValue__]
+ XMLVM_ENTER_METHOD("java.lang.Float", "doubleValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Float.java", 167)
+ XMLVM_CHECK_NPE(2)
+ _r0.f = ((java_lang_Float*) _r2.o)->fields.java_lang_Float.value_;
+ _r0.d = (JAVA_DOUBLE) _r0.f;
+ XMLVM_EXIT_METHOD()
+ return _r0.d;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Float_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.Float", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Float.java", 182)
+ if (_r3.o == _r2.o) goto label24;
+ XMLVM_SOURCE_POSITION("Float.java", 183)
+ XMLVM_CLASS_INIT(java_lang_Float)
+ _r0.i = XMLVM_ISA(_r3.o, __CLASS_java_lang_Float);
+ if (_r0.i == 0) goto label22;
+ XMLVM_SOURCE_POSITION("Float.java", 184)
+ XMLVM_CHECK_NPE(2)
+ _r0.f = ((java_lang_Float*) _r2.o)->fields.java_lang_Float.value_;
+ _r0.i = java_lang_Float_floatToIntBits___float(_r0.f);
+ _r3.o = _r3.o;
+ XMLVM_CHECK_NPE(3)
+ _r1.f = ((java_lang_Float*) _r3.o)->fields.java_lang_Float.value_;
+ _r1.i = java_lang_Float_floatToIntBits___float(_r1.f);
+ if (_r0.i == _r1.i) goto label24;
+ label22:;
+ _r0.i = 0;
+ label23:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label24:;
+ _r0.i = 1;
+ goto label23;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_INT java_lang_Float_floatToIntBits___float(JAVA_FLOAT n1)]
+
+//XMLVM_NATIVE[JAVA_INT java_lang_Float_floatToRawIntBits___float(JAVA_FLOAT n1)]
+
+JAVA_FLOAT java_lang_Float_floatValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float_floatValue__]
+ XMLVM_ENTER_METHOD("java.lang.Float", "floatValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Float.java", 223)
+ XMLVM_CHECK_NPE(1)
+ _r0.f = ((java_lang_Float*) _r1.o)->fields.java_lang_Float.value_;
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Float_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float_hashCode__]
+ XMLVM_ENTER_METHOD("java.lang.Float", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Float.java", 228)
+ XMLVM_CHECK_NPE(1)
+ _r0.f = ((java_lang_Float*) _r1.o)->fields.java_lang_Float.value_;
+ _r0.i = java_lang_Float_floatToIntBits___float(_r0.f);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_FLOAT java_lang_Float_intBitsToFloat___int(JAVA_INT n1)]
+
+JAVA_INT java_lang_Float_intValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float_intValue__]
+ XMLVM_ENTER_METHOD("java.lang.Float", "intValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Float.java", 246)
+ XMLVM_CHECK_NPE(1)
+ _r0.f = ((java_lang_Float*) _r1.o)->fields.java_lang_Float.value_;
+ _r0.i = (JAVA_INT) _r0.f;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Float_isInfinite__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float_isInfinite__]
+ XMLVM_ENTER_METHOD("java.lang.Float", "isInfinite", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Float.java", 256)
+ XMLVM_CHECK_NPE(1)
+ _r0.f = ((java_lang_Float*) _r1.o)->fields.java_lang_Float.value_;
+ _r0.i = java_lang_Float_isInfinite___float(_r0.f);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Float_isInfinite___float(JAVA_FLOAT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float_isInfinite___float]
+ XMLVM_ENTER_METHOD("java.lang.Float", "isInfinite", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.f = n1;
+ XMLVM_SOURCE_POSITION("Float.java", 268)
+ _r0.f = Infinity;
+ _r0.i = _r1.f > _r0.f ? 1 : (_r1.f == _r0.f ? 0 : -1);
+ if (_r0.i == 0) goto label14;
+ _r0.f = -Infinity;
+ _r0.i = _r1.f > _r0.f ? 1 : (_r1.f == _r0.f ? 0 : -1);
+ if (_r0.i == 0) goto label14;
+ _r0.i = 0;
+ label13:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label14:;
+ _r0.i = 1;
+ goto label13;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Float_isNaN__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float_isNaN__]
+ XMLVM_ENTER_METHOD("java.lang.Float", "isNaN", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Float.java", 278)
+ XMLVM_CHECK_NPE(1)
+ _r0.f = ((java_lang_Float*) _r1.o)->fields.java_lang_Float.value_;
+ _r0.i = java_lang_Float_isNaN___float(_r0.f);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Float_isNaN___float(JAVA_FLOAT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float_isNaN___float]
+ XMLVM_ENTER_METHOD("java.lang.Float", "isNaN", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.f = n1;
+ XMLVM_SOURCE_POSITION("Float.java", 291)
+ _r0.i = _r1.f > _r1.f ? 1 : (_r1.f == _r1.f ? 0 : -1);
+ if (_r0.i == 0) goto label6;
+ _r0.i = 1;
+ label5:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ _r0.i = 0;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_lang_Float_longValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float_longValue__]
+ XMLVM_ENTER_METHOD("java.lang.Float", "longValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Float.java", 296)
+ XMLVM_CHECK_NPE(2)
+ _r0.f = ((java_lang_Float*) _r2.o)->fields.java_lang_Float.value_;
+ _r0.l = (JAVA_LONG) _r0.f;
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_FLOAT java_lang_Float_parseFloat___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float_parseFloat___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Float", "parseFloat", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Float.java", 313)
+ _r0.f = org_apache_harmony_luni_util_FloatingPointParser_parseFloat___java_lang_String(_r1.o);
+ XMLVM_SOURCE_POSITION("Float.java", 312)
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_SHORT java_lang_Float_shortValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float_shortValue__]
+ XMLVM_ENTER_METHOD("java.lang.Float", "shortValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Float.java", 318)
+ XMLVM_CHECK_NPE(1)
+ _r0.f = ((java_lang_Float*) _r1.o)->fields.java_lang_Float.value_;
+ _r0.i = (JAVA_INT) _r0.f;
+ _r0.i = (_r0.i << 16) >> 16;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Float_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float_toString__]
+ XMLVM_ENTER_METHOD("java.lang.Float", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Float.java", 323)
+ XMLVM_CHECK_NPE(1)
+ _r0.f = ((java_lang_Float*) _r1.o)->fields.java_lang_Float.value_;
+ _r0.o = java_lang_Float_toString___float(_r0.f);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Float_toString___float(JAVA_FLOAT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float_toString___float]
+ XMLVM_ENTER_METHOD("java.lang.Float", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.f = n1;
+ XMLVM_SOURCE_POSITION("Float.java", 335)
+ _r0.o = org_apache_harmony_luni_util_NumberConverter_convert___float(_r1.f);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Float_valueOf___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float_valueOf___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Float", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Float.java", 351)
+ _r0.f = java_lang_Float_parseFloat___java_lang_String(_r1.o);
+ _r0.o = java_lang_Float_valueOf___float(_r0.f);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Float_compare___float_float(JAVA_FLOAT n1, JAVA_FLOAT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float_compare___float_float]
+ XMLVM_ENTER_METHOD("java.lang.Float", "compare", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.f = n1;
+ _r5.f = n2;
+ _r3.i = 1;
+ _r2.i = 0;
+ _r1.i = -1;
+ XMLVM_SOURCE_POSITION("Float.java", 373)
+ _r0.i = _r4.f > _r5.f ? 1 : (_r4.f == _r5.f ? 0 : -1);
+ if (_r0.i <= 0) goto label9;
+ _r0 = _r3;
+ label8:;
+ XMLVM_SOURCE_POSITION("Float.java", 374)
+ XMLVM_SOURCE_POSITION("Float.java", 399)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label9:;
+ XMLVM_SOURCE_POSITION("Float.java", 376)
+ _r0.i = _r5.f > _r4.f ? 1 : (_r5.f == _r4.f ? 0 : -1);
+ if (_r0.i <= 0) goto label15;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("Float.java", 377)
+ goto label8;
+ label15:;
+ XMLVM_SOURCE_POSITION("Float.java", 379)
+ _r0.i = _r4.f > _r5.f ? 1 : (_r4.f == _r5.f ? 0 : -1);
+ if (_r0.i != 0) goto label26;
+ _r0.f = 0.0;
+ _r0.i = _r0.f > _r4.f ? 1 : (_r0.f == _r4.f ? 0 : -1);
+ if (_r0.i == 0) goto label26;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("Float.java", 380)
+ goto label8;
+ label26:;
+ XMLVM_SOURCE_POSITION("Float.java", 384)
+ _r0.i = java_lang_Float_isNaN___float(_r4.f);
+ if (_r0.i == 0) goto label42;
+ XMLVM_SOURCE_POSITION("Float.java", 385)
+ _r0.i = java_lang_Float_isNaN___float(_r5.f);
+ if (_r0.i == 0) goto label40;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("Float.java", 386)
+ goto label8;
+ label40:;
+ _r0 = _r3;
+ XMLVM_SOURCE_POSITION("Float.java", 388)
+ goto label8;
+ label42:;
+ XMLVM_SOURCE_POSITION("Float.java", 389)
+ _r0.i = java_lang_Float_isNaN___float(_r5.f);
+ if (_r0.i == 0) goto label50;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("Float.java", 390)
+ goto label8;
+ label50:;
+ XMLVM_SOURCE_POSITION("Float.java", 394)
+ _r0.i = java_lang_Float_floatToRawIntBits___float(_r4.f);
+ XMLVM_SOURCE_POSITION("Float.java", 395)
+ _r1.i = java_lang_Float_floatToRawIntBits___float(_r5.f);
+ _r0.i = _r0.i >> 31;
+ _r1.i = _r1.i >> 31;
+ _r0.i = _r0.i - _r1.i;
+ goto label8;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Float_valueOf___float(JAVA_FLOAT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float_valueOf___float]
+ XMLVM_ENTER_METHOD("java.lang.Float", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.f = n1;
+ XMLVM_SOURCE_POSITION("Float.java", 411)
+ _r0.o = __NEW_java_lang_Float();
+ XMLVM_CHECK_NPE(0)
+ java_lang_Float___INIT____float(_r0.o, _r1.f);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Float_toHexString___float(JAVA_FLOAT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Float)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float_toHexString___float]
+ XMLVM_ENTER_METHOD("java.lang.Float", "toHexString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r7.f = n1;
+ _r6.i = 48;
+ _r5.i = 6;
+ XMLVM_SOURCE_POSITION("Float.java", 426)
+ _r0.i = _r7.f > _r7.f ? 1 : (_r7.f == _r7.f ? 0 : -1);
+ if (_r0.i == 0) goto label10;
+ XMLVM_SOURCE_POSITION("Float.java", 427)
+ // "NaN"
+ _r0.o = xmlvm_create_java_string_from_pool(8);
+ label9:;
+ XMLVM_SOURCE_POSITION("Float.java", 503)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label10:;
+ XMLVM_SOURCE_POSITION("Float.java", 429)
+ _r0.f = Infinity;
+ _r0.i = _r7.f > _r0.f ? 1 : (_r7.f == _r0.f ? 0 : -1);
+ if (_r0.i != 0) goto label19;
+ XMLVM_SOURCE_POSITION("Float.java", 430)
+ // "Infinity"
+ _r0.o = xmlvm_create_java_string_from_pool(9);
+ goto label9;
+ label19:;
+ XMLVM_SOURCE_POSITION("Float.java", 432)
+ _r0.f = -Infinity;
+ _r0.i = _r7.f > _r0.f ? 1 : (_r7.f == _r0.f ? 0 : -1);
+ if (_r0.i != 0) goto label28;
+ XMLVM_SOURCE_POSITION("Float.java", 433)
+ // "-Infinity"
+ _r0.o = xmlvm_create_java_string_from_pool(10);
+ goto label9;
+ label28:;
+ XMLVM_SOURCE_POSITION("Float.java", 436)
+ _r0.i = java_lang_Float_floatToIntBits___float(_r7.f);
+ XMLVM_SOURCE_POSITION("Float.java", 438)
+ _r1.i = -2147483648;
+ _r1.i = _r1.i & _r0.i;
+ if (_r1.i == 0) goto label58;
+ _r1.i = 1;
+ label38:;
+ XMLVM_SOURCE_POSITION("Float.java", 440)
+ _r2.i = 2139095040;
+ _r2.i = _r2.i & _r0.i;
+ _r2.i = ((JAVA_UINT) _r2.i) >> (0x1f & ((JAVA_UINT) 23));
+ _r3.i = 8388607;
+ _r0.i = _r0.i & _r3.i;
+ _r0.i = _r0.i << 1;
+ if (_r2.i != 0) goto label63;
+ XMLVM_SOURCE_POSITION("Float.java", 445)
+ if (_r0.i != 0) goto label63;
+ XMLVM_SOURCE_POSITION("Float.java", 446)
+ if (_r1.i == 0) goto label60;
+ // "-0x0.0p0"
+ _r0.o = xmlvm_create_java_string_from_pool(11);
+ goto label9;
+ label58:;
+ _r1.i = 0;
+ goto label38;
+ label60:;
+ // "0x0.0p0"
+ _r0.o = xmlvm_create_java_string_from_pool(12);
+ goto label9;
+ label63:;
+ XMLVM_SOURCE_POSITION("Float.java", 449)
+ _r3.o = __NEW_java_lang_StringBuilder();
+ _r4.i = 10;
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder___INIT____int(_r3.o, _r4.i);
+ XMLVM_SOURCE_POSITION("Float.java", 450)
+ if (_r1.i == 0) goto label126;
+ XMLVM_SOURCE_POSITION("Float.java", 451)
+ // "-0x"
+ _r1.o = xmlvm_create_java_string_from_pool(13);
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder_append___java_lang_String(_r3.o, _r1.o);
+ label77:;
+ XMLVM_SOURCE_POSITION("Float.java", 456)
+ if (_r2.i != 0) goto label142;
+ XMLVM_SOURCE_POSITION("Float.java", 457)
+ // "0."
+ _r1.o = xmlvm_create_java_string_from_pool(14);
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder_append___java_lang_String(_r3.o, _r1.o);
+ _r1 = _r0;
+ _r0 = _r5;
+ label86:;
+ XMLVM_SOURCE_POSITION("Float.java", 462)
+ if (_r1.i == 0) goto label92;
+ _r2.i = _r1.i & 15;
+ if (_r2.i == 0) goto label132;
+ label92:;
+ XMLVM_SOURCE_POSITION("Float.java", 467)
+ _r2.o = java_lang_Integer_toHexString___int(_r1.i);
+ XMLVM_SOURCE_POSITION("Float.java", 470)
+ if (_r1.i == 0) goto label113;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(2)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r2.o)->tib->vtable[8])(_r2.o);
+ if (_r0.i <= _r1.i) goto label113;
+ XMLVM_SOURCE_POSITION("Float.java", 471)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(2)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r2.o)->tib->vtable[8])(_r2.o);
+ _r0.i = _r0.i - _r1.i;
+ label109:;
+ XMLVM_SOURCE_POSITION("Float.java", 472)
+ _r1.i = _r0.i + -1;
+ if (_r0.i != 0) goto label137;
+ label113:;
+ XMLVM_SOURCE_POSITION("Float.java", 476)
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder_append___java_lang_String(_r3.o, _r2.o);
+ XMLVM_SOURCE_POSITION("Float.java", 477)
+ // "p-126"
+ _r0.o = xmlvm_create_java_string_from_pool(15);
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder_append___java_lang_String(_r3.o, _r0.o);
+ label121:;
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(3)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r3.o)->tib->vtable[5])(_r3.o);
+ goto label9;
+ label126:;
+ XMLVM_SOURCE_POSITION("Float.java", 453)
+ // "0x"
+ _r1.o = xmlvm_create_java_string_from_pool(16);
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder_append___java_lang_String(_r3.o, _r1.o);
+ goto label77;
+ label132:;
+ XMLVM_SOURCE_POSITION("Float.java", 463)
+ _r1.i = ((JAVA_UINT) _r1.i) >> (0x1f & ((JAVA_UINT) 4));
+ _r0.i = _r0.i + -1;
+ XMLVM_SOURCE_POSITION("Float.java", 464)
+ goto label86;
+ label137:;
+ XMLVM_SOURCE_POSITION("Float.java", 473)
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(3)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r3.o)->tib->vtable[6])(_r3.o, _r6.i);
+ _r0 = _r1;
+ goto label109;
+ label142:;
+ XMLVM_SOURCE_POSITION("Float.java", 479)
+ // "1."
+ _r1.o = xmlvm_create_java_string_from_pool(17);
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder_append___java_lang_String(_r3.o, _r1.o);
+ _r1 = _r0;
+ _r0 = _r5;
+ label149:;
+ XMLVM_SOURCE_POSITION("Float.java", 484)
+ if (_r1.i == 0) goto label155;
+ _r4.i = _r1.i & 15;
+ if (_r4.i == 0) goto label196;
+ label155:;
+ XMLVM_SOURCE_POSITION("Float.java", 489)
+ _r4.o = java_lang_Integer_toHexString___int(_r1.i);
+ XMLVM_SOURCE_POSITION("Float.java", 492)
+ if (_r1.i == 0) goto label176;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(4)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r4.o)->tib->vtable[8])(_r4.o);
+ if (_r0.i <= _r1.i) goto label176;
+ XMLVM_SOURCE_POSITION("Float.java", 493)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(4)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r4.o)->tib->vtable[8])(_r4.o);
+ _r0.i = _r0.i - _r1.i;
+ label172:;
+ XMLVM_SOURCE_POSITION("Float.java", 494)
+ _r1.i = _r0.i + -1;
+ if (_r0.i != 0) goto label201;
+ label176:;
+ XMLVM_SOURCE_POSITION("Float.java", 498)
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder_append___java_lang_String(_r3.o, _r4.o);
+ XMLVM_SOURCE_POSITION("Float.java", 499)
+ _r0.i = 112;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(3)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r3.o)->tib->vtable[6])(_r3.o, _r0.i);
+ XMLVM_SOURCE_POSITION("Float.java", 501)
+ _r0.i = 127;
+ _r0.i = _r2.i - _r0.i;
+ _r0.o = java_lang_Integer_toString___int(_r0.i);
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder_append___java_lang_String(_r3.o, _r0.o);
+ goto label121;
+ label196:;
+ XMLVM_SOURCE_POSITION("Float.java", 485)
+ _r1.i = ((JAVA_UINT) _r1.i) >> (0x1f & ((JAVA_UINT) 4));
+ _r0.i = _r0.i + -1;
+ XMLVM_SOURCE_POSITION("Float.java", 486)
+ goto label149;
+ label201:;
+ XMLVM_SOURCE_POSITION("Float.java", 495)
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(3)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r3.o)->tib->vtable[6])(_r3.o, _r6.i);
+ _r0 = _r1;
+ goto label172;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Float_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Float_compareTo___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.Float", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Float.java", 1)
+ _r2.o = _r2.o;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_Float_compareTo___java_lang_Float(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_Float.h b/tests/nbody-java/java_lang_Float.h
new file mode 100644
index 00000000..5ac0bfd0
--- /dev/null
+++ b/tests/nbody-java/java_lang_Float.h
@@ -0,0 +1,150 @@
+#ifndef __JAVA_LANG_FLOAT__
+#define __JAVA_LANG_FLOAT__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_Float 8
+// Implemented interfaces:
+#include "java_lang_Comparable.h"
+// Super Class:
+#include "java_lang_Number.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Integer
+#define XMLVM_FORWARD_DECL_java_lang_Integer
+XMLVM_FORWARD_DECL(java_lang_Integer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_FloatingPointParser
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_FloatingPointParser
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_util_FloatingPointParser)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_NumberConverter
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_NumberConverter
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_util_NumberConverter)
+#endif
+// Class declarations for java.lang.Float
+XMLVM_DEFINE_CLASS(java_lang_Float, 13, XMLVM_ITABLE_SIZE_java_lang_Float)
+
+extern JAVA_OBJECT __CLASS_java_lang_Float;
+extern JAVA_OBJECT __CLASS_java_lang_Float_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Float_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Float_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_Float
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_Float \
+ __INSTANCE_FIELDS_java_lang_Number; \
+ struct { \
+ JAVA_FLOAT value_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_Float \
+ } java_lang_Float
+
+struct java_lang_Float {
+ __TIB_DEFINITION_java_lang_Float* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_Float;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_Float
+#define XMLVM_FORWARD_DECL_java_lang_Float
+typedef struct java_lang_Float java_lang_Float;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_Float 13
+#define XMLVM_VTABLE_IDX_java_lang_Float_byteValue__ 6
+#define XMLVM_VTABLE_IDX_java_lang_Float_doubleValue__ 7
+#define XMLVM_VTABLE_IDX_java_lang_Float_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_lang_Float_floatValue__ 8
+#define XMLVM_VTABLE_IDX_java_lang_Float_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_lang_Float_intValue__ 9
+#define XMLVM_VTABLE_IDX_java_lang_Float_longValue__ 10
+#define XMLVM_VTABLE_IDX_java_lang_Float_shortValue__ 11
+#define XMLVM_VTABLE_IDX_java_lang_Float_toString__ 5
+#define XMLVM_VTABLE_IDX_java_lang_Float_compareTo___java_lang_Object 12
+
+void __INIT_java_lang_Float();
+void __INIT_IMPL_java_lang_Float();
+void __DELETE_java_lang_Float(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_Float(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_Float();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Float();
+JAVA_LONG java_lang_Float_GET_serialVersionUID();
+void java_lang_Float_PUT_serialVersionUID(JAVA_LONG v);
+JAVA_FLOAT java_lang_Float_GET_MAX_VALUE();
+void java_lang_Float_PUT_MAX_VALUE(JAVA_FLOAT v);
+JAVA_FLOAT java_lang_Float_GET_MIN_VALUE();
+void java_lang_Float_PUT_MIN_VALUE(JAVA_FLOAT v);
+JAVA_FLOAT java_lang_Float_GET_MIN_NORMAL();
+void java_lang_Float_PUT_MIN_NORMAL(JAVA_FLOAT v);
+JAVA_FLOAT java_lang_Float_GET_NaN();
+void java_lang_Float_PUT_NaN(JAVA_FLOAT v);
+JAVA_FLOAT java_lang_Float_GET_POSITIVE_INFINITY();
+void java_lang_Float_PUT_POSITIVE_INFINITY(JAVA_FLOAT v);
+JAVA_FLOAT java_lang_Float_GET_NEGATIVE_INFINITY();
+void java_lang_Float_PUT_NEGATIVE_INFINITY(JAVA_FLOAT v);
+JAVA_OBJECT java_lang_Float_GET_TYPE();
+void java_lang_Float_PUT_TYPE(JAVA_OBJECT v);
+JAVA_INT java_lang_Float_GET_MAX_EXPONENT();
+void java_lang_Float_PUT_MAX_EXPONENT(JAVA_INT v);
+JAVA_INT java_lang_Float_GET_MIN_EXPONENT();
+void java_lang_Float_PUT_MIN_EXPONENT(JAVA_INT v);
+JAVA_INT java_lang_Float_GET_SIZE();
+void java_lang_Float_PUT_SIZE(JAVA_INT v);
+void java_lang_Float___CLINIT_();
+void java_lang_Float___INIT____float(JAVA_OBJECT me, JAVA_FLOAT n1);
+void java_lang_Float___INIT____double(JAVA_OBJECT me, JAVA_DOUBLE n1);
+void java_lang_Float___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_INT java_lang_Float_compareTo___java_lang_Float(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 6
+JAVA_BYTE java_lang_Float_byteValue__(JAVA_OBJECT me);
+// Vtable index: 7
+JAVA_DOUBLE java_lang_Float_doubleValue__(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_lang_Float_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_INT java_lang_Float_floatToIntBits___float(JAVA_FLOAT n1);
+JAVA_INT java_lang_Float_floatToRawIntBits___float(JAVA_FLOAT n1);
+// Vtable index: 8
+JAVA_FLOAT java_lang_Float_floatValue__(JAVA_OBJECT me);
+// Vtable index: 4
+JAVA_INT java_lang_Float_hashCode__(JAVA_OBJECT me);
+JAVA_FLOAT java_lang_Float_intBitsToFloat___int(JAVA_INT n1);
+// Vtable index: 9
+JAVA_INT java_lang_Float_intValue__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_Float_isInfinite__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_Float_isInfinite___float(JAVA_FLOAT n1);
+JAVA_BOOLEAN java_lang_Float_isNaN__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_Float_isNaN___float(JAVA_FLOAT n1);
+// Vtable index: 10
+JAVA_LONG java_lang_Float_longValue__(JAVA_OBJECT me);
+JAVA_FLOAT java_lang_Float_parseFloat___java_lang_String(JAVA_OBJECT n1);
+// Vtable index: 11
+JAVA_SHORT java_lang_Float_shortValue__(JAVA_OBJECT me);
+// Vtable index: 5
+JAVA_OBJECT java_lang_Float_toString__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Float_toString___float(JAVA_FLOAT n1);
+JAVA_OBJECT java_lang_Float_valueOf___java_lang_String(JAVA_OBJECT n1);
+JAVA_INT java_lang_Float_compare___float_float(JAVA_FLOAT n1, JAVA_FLOAT n2);
+JAVA_OBJECT java_lang_Float_valueOf___float(JAVA_FLOAT n1);
+JAVA_OBJECT java_lang_Float_toHexString___float(JAVA_FLOAT n1);
+// Vtable index: 12
+JAVA_INT java_lang_Float_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_lang_IndexOutOfBoundsException.c b/tests/nbody-java/java_lang_IndexOutOfBoundsException.c
new file mode 100644
index 00000000..48a87b77
--- /dev/null
+++ b/tests/nbody-java/java_lang_IndexOutOfBoundsException.c
@@ -0,0 +1,197 @@
+#include "xmlvm.h"
+#include "java_lang_String.h"
+
+#include "java_lang_IndexOutOfBoundsException.h"
+
+#define XMLVM_CURRENT_CLASS_NAME IndexOutOfBoundsException
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_IndexOutOfBoundsException
+
+__TIB_DEFINITION_java_lang_IndexOutOfBoundsException __TIB_java_lang_IndexOutOfBoundsException = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_IndexOutOfBoundsException, // classInitializer
+ "java.lang.IndexOutOfBoundsException", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_RuntimeException, // extends
+ sizeof(java_lang_IndexOutOfBoundsException), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_IndexOutOfBoundsException;
+JAVA_OBJECT __CLASS_java_lang_IndexOutOfBoundsException_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_IndexOutOfBoundsException_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_IndexOutOfBoundsException_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_lang_IndexOutOfBoundsException_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_IndexOutOfBoundsException()
+{
+ staticInitializerLock(&__TIB_java_lang_IndexOutOfBoundsException);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_IndexOutOfBoundsException.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_IndexOutOfBoundsException.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_IndexOutOfBoundsException);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_IndexOutOfBoundsException.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_IndexOutOfBoundsException.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_IndexOutOfBoundsException.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.IndexOutOfBoundsException")
+ __INIT_IMPL_java_lang_IndexOutOfBoundsException();
+ }
+}
+
+void __INIT_IMPL_java_lang_IndexOutOfBoundsException()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_RuntimeException)
+ __TIB_java_lang_IndexOutOfBoundsException.newInstanceFunc = __NEW_INSTANCE_java_lang_IndexOutOfBoundsException;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_IndexOutOfBoundsException.vtable, __TIB_java_lang_RuntimeException.vtable, sizeof(__TIB_java_lang_RuntimeException.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_lang_IndexOutOfBoundsException.numImplementedInterfaces = 1;
+ __TIB_java_lang_IndexOutOfBoundsException.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_lang_IndexOutOfBoundsException.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+ // Initialize itable for this class
+ __TIB_java_lang_IndexOutOfBoundsException.itableBegin = &__TIB_java_lang_IndexOutOfBoundsException.itable[0];
+
+ _STATIC_java_lang_IndexOutOfBoundsException_serialVersionUID = 234122996006267687;
+
+ __TIB_java_lang_IndexOutOfBoundsException.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_IndexOutOfBoundsException.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_IndexOutOfBoundsException.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_IndexOutOfBoundsException.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_IndexOutOfBoundsException.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_IndexOutOfBoundsException.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_IndexOutOfBoundsException.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_IndexOutOfBoundsException.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_IndexOutOfBoundsException = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_IndexOutOfBoundsException);
+ __TIB_java_lang_IndexOutOfBoundsException.clazz = __CLASS_java_lang_IndexOutOfBoundsException;
+ __TIB_java_lang_IndexOutOfBoundsException.baseType = JAVA_NULL;
+ __CLASS_java_lang_IndexOutOfBoundsException_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_IndexOutOfBoundsException);
+ __CLASS_java_lang_IndexOutOfBoundsException_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_IndexOutOfBoundsException_1ARRAY);
+ __CLASS_java_lang_IndexOutOfBoundsException_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_IndexOutOfBoundsException_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_IndexOutOfBoundsException]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_IndexOutOfBoundsException.classInitialized = 1;
+}
+
+void __DELETE_java_lang_IndexOutOfBoundsException(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_IndexOutOfBoundsException]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_IndexOutOfBoundsException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_RuntimeException(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_IndexOutOfBoundsException]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_IndexOutOfBoundsException()
+{ XMLVM_CLASS_INIT(java_lang_IndexOutOfBoundsException)
+java_lang_IndexOutOfBoundsException* me = (java_lang_IndexOutOfBoundsException*) XMLVM_MALLOC(sizeof(java_lang_IndexOutOfBoundsException));
+ me->tib = &__TIB_java_lang_IndexOutOfBoundsException;
+ __INIT_INSTANCE_MEMBERS_java_lang_IndexOutOfBoundsException(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_IndexOutOfBoundsException]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_IndexOutOfBoundsException()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_lang_IndexOutOfBoundsException();
+ java_lang_IndexOutOfBoundsException___INIT___(me);
+ return me;
+}
+
+JAVA_LONG java_lang_IndexOutOfBoundsException_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_lang_IndexOutOfBoundsException)
+ return _STATIC_java_lang_IndexOutOfBoundsException_serialVersionUID;
+}
+
+void java_lang_IndexOutOfBoundsException_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_IndexOutOfBoundsException)
+_STATIC_java_lang_IndexOutOfBoundsException_serialVersionUID = v;
+}
+
+void java_lang_IndexOutOfBoundsException___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_IndexOutOfBoundsException___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.IndexOutOfBoundsException", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("IndexOutOfBoundsException.java", 33)
+ XMLVM_CHECK_NPE(0)
+ java_lang_RuntimeException___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("IndexOutOfBoundsException.java", 34)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_IndexOutOfBoundsException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_IndexOutOfBoundsException___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.IndexOutOfBoundsException", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("IndexOutOfBoundsException.java", 44)
+ XMLVM_CHECK_NPE(0)
+ java_lang_RuntimeException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("IndexOutOfBoundsException.java", 45)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_IndexOutOfBoundsException.h b/tests/nbody-java/java_lang_IndexOutOfBoundsException.h
new file mode 100644
index 00000000..9a0cb954
--- /dev/null
+++ b/tests/nbody-java/java_lang_IndexOutOfBoundsException.h
@@ -0,0 +1,58 @@
+#ifndef __JAVA_LANG_INDEXOUTOFBOUNDSEXCEPTION__
+#define __JAVA_LANG_INDEXOUTOFBOUNDSEXCEPTION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_IndexOutOfBoundsException 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_RuntimeException.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+// Class declarations for java.lang.IndexOutOfBoundsException
+XMLVM_DEFINE_CLASS(java_lang_IndexOutOfBoundsException, 8, XMLVM_ITABLE_SIZE_java_lang_IndexOutOfBoundsException)
+
+extern JAVA_OBJECT __CLASS_java_lang_IndexOutOfBoundsException;
+extern JAVA_OBJECT __CLASS_java_lang_IndexOutOfBoundsException_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_IndexOutOfBoundsException_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_IndexOutOfBoundsException_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_IndexOutOfBoundsException
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_IndexOutOfBoundsException \
+ __INSTANCE_FIELDS_java_lang_RuntimeException; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_IndexOutOfBoundsException \
+ } java_lang_IndexOutOfBoundsException
+
+struct java_lang_IndexOutOfBoundsException {
+ __TIB_DEFINITION_java_lang_IndexOutOfBoundsException* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_IndexOutOfBoundsException;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+#define XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+typedef struct java_lang_IndexOutOfBoundsException java_lang_IndexOutOfBoundsException;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_IndexOutOfBoundsException 8
+
+void __INIT_java_lang_IndexOutOfBoundsException();
+void __INIT_IMPL_java_lang_IndexOutOfBoundsException();
+void __DELETE_java_lang_IndexOutOfBoundsException(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_IndexOutOfBoundsException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_IndexOutOfBoundsException();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_IndexOutOfBoundsException();
+JAVA_LONG java_lang_IndexOutOfBoundsException_GET_serialVersionUID();
+void java_lang_IndexOutOfBoundsException_PUT_serialVersionUID(JAVA_LONG v);
+void java_lang_IndexOutOfBoundsException___INIT___(JAVA_OBJECT me);
+void java_lang_IndexOutOfBoundsException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_lang_Integer.c b/tests/nbody-java/java_lang_Integer.c
new file mode 100644
index 00000000..2f60511a
--- /dev/null
+++ b/tests/nbody-java/java_lang_Integer.c
@@ -0,0 +1,1982 @@
+#include "xmlvm.h"
+#include "java_lang_Character.h"
+#include "java_lang_Class.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+#include "java_lang_System.h"
+
+#include "java_lang_Integer.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Integer
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Integer
+
+__TIB_DEFINITION_java_lang_Integer __TIB_java_lang_Integer = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Integer, // classInitializer
+ "java.lang.Integer", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "Ljava/lang/Number;Ljava/lang/Comparable<Ljava/lang/Integer;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Number, // extends
+ sizeof(java_lang_Integer), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_Integer;
+JAVA_OBJECT __CLASS_java_lang_Integer_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Integer_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Integer_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_lang_Integer_serialVersionUID;
+static JAVA_INT _STATIC_java_lang_Integer_MAX_VALUE;
+static JAVA_INT _STATIC_java_lang_Integer_MIN_VALUE;
+static JAVA_INT _STATIC_java_lang_Integer_SIZE;
+static JAVA_OBJECT _STATIC_java_lang_Integer_decimalScale;
+static JAVA_OBJECT _STATIC_java_lang_Integer_TYPE;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_Integer()
+{
+ staticInitializerLock(&__TIB_java_lang_Integer);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Integer.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Integer.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Integer);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Integer.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Integer.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Integer.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Integer")
+ __INIT_IMPL_java_lang_Integer();
+ }
+}
+
+void __INIT_IMPL_java_lang_Integer()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Number)
+ __TIB_java_lang_Integer.newInstanceFunc = __NEW_INSTANCE_java_lang_Integer;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_Integer.vtable, __TIB_java_lang_Number.vtable, sizeof(__TIB_java_lang_Number.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_Integer.vtable[6] = (VTABLE_PTR) &java_lang_Integer_byteValue__;
+ __TIB_java_lang_Integer.vtable[7] = (VTABLE_PTR) &java_lang_Integer_doubleValue__;
+ __TIB_java_lang_Integer.vtable[1] = (VTABLE_PTR) &java_lang_Integer_equals___java_lang_Object;
+ __TIB_java_lang_Integer.vtable[8] = (VTABLE_PTR) &java_lang_Integer_floatValue__;
+ __TIB_java_lang_Integer.vtable[4] = (VTABLE_PTR) &java_lang_Integer_hashCode__;
+ __TIB_java_lang_Integer.vtable[9] = (VTABLE_PTR) &java_lang_Integer_intValue__;
+ __TIB_java_lang_Integer.vtable[10] = (VTABLE_PTR) &java_lang_Integer_longValue__;
+ __TIB_java_lang_Integer.vtable[11] = (VTABLE_PTR) &java_lang_Integer_shortValue__;
+ __TIB_java_lang_Integer.vtable[5] = (VTABLE_PTR) &java_lang_Integer_toString__;
+ __TIB_java_lang_Integer.vtable[12] = (VTABLE_PTR) &java_lang_Integer_compareTo___java_lang_Object;
+ // Initialize interface information
+ __TIB_java_lang_Integer.numImplementedInterfaces = 2;
+ __TIB_java_lang_Integer.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_lang_Integer.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_lang_Comparable)
+
+ __TIB_java_lang_Integer.implementedInterfaces[0][1] = &__TIB_java_lang_Comparable;
+ // Initialize itable for this class
+ __TIB_java_lang_Integer.itableBegin = &__TIB_java_lang_Integer.itable[0];
+ __TIB_java_lang_Integer.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_lang_Integer.vtable[12];
+
+ _STATIC_java_lang_Integer_serialVersionUID = 1360826667806852920;
+ _STATIC_java_lang_Integer_MAX_VALUE = 2147483647;
+ _STATIC_java_lang_Integer_MIN_VALUE = -2147483648;
+ _STATIC_java_lang_Integer_SIZE = 32;
+ _STATIC_java_lang_Integer_decimalScale = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ _STATIC_java_lang_Integer_TYPE = (java_lang_Class*) JAVA_NULL;
+
+ __TIB_java_lang_Integer.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Integer.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_Integer.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_Integer.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_Integer.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_Integer.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Integer.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Integer.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_Integer = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Integer);
+ __TIB_java_lang_Integer.clazz = __CLASS_java_lang_Integer;
+ __TIB_java_lang_Integer.baseType = JAVA_NULL;
+ __CLASS_java_lang_Integer_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Integer);
+ __CLASS_java_lang_Integer_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Integer_1ARRAY);
+ __CLASS_java_lang_Integer_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Integer_2ARRAY);
+ java_lang_Integer___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_Integer]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_Integer.classInitialized = 1;
+}
+
+void __DELETE_java_lang_Integer(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_Integer]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_Integer(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Number(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_Integer*) me)->fields.java_lang_Integer.value_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_Integer]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_Integer()
+{ XMLVM_CLASS_INIT(java_lang_Integer)
+java_lang_Integer* me = (java_lang_Integer*) XMLVM_MALLOC(sizeof(java_lang_Integer));
+ me->tib = &__TIB_java_lang_Integer;
+ __INIT_INSTANCE_MEMBERS_java_lang_Integer(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_Integer]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Integer()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_lang_Integer_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ return _STATIC_java_lang_Integer_serialVersionUID;
+}
+
+void java_lang_Integer_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+_STATIC_java_lang_Integer_serialVersionUID = v;
+}
+
+JAVA_INT java_lang_Integer_GET_MAX_VALUE()
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ return _STATIC_java_lang_Integer_MAX_VALUE;
+}
+
+void java_lang_Integer_PUT_MAX_VALUE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+_STATIC_java_lang_Integer_MAX_VALUE = v;
+}
+
+JAVA_INT java_lang_Integer_GET_MIN_VALUE()
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ return _STATIC_java_lang_Integer_MIN_VALUE;
+}
+
+void java_lang_Integer_PUT_MIN_VALUE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+_STATIC_java_lang_Integer_MIN_VALUE = v;
+}
+
+JAVA_INT java_lang_Integer_GET_SIZE()
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ return _STATIC_java_lang_Integer_SIZE;
+}
+
+void java_lang_Integer_PUT_SIZE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+_STATIC_java_lang_Integer_SIZE = v;
+}
+
+JAVA_OBJECT java_lang_Integer_GET_decimalScale()
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ return _STATIC_java_lang_Integer_decimalScale;
+}
+
+void java_lang_Integer_PUT_decimalScale(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+_STATIC_java_lang_Integer_decimalScale = v;
+}
+
+JAVA_OBJECT java_lang_Integer_GET_TYPE()
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ return _STATIC_java_lang_Integer_TYPE;
+}
+
+void java_lang_Integer_PUT_TYPE(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+_STATIC_java_lang_Integer_TYPE = v;
+}
+
+void java_lang_Integer___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer___CLINIT___]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("Integer.java", 63)
+ _r0.i = 10;
+ XMLVM_CLASS_INIT(int)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_int, _r0.i);
+ XMLVMArray_fillArray(((org_xmlvm_runtime_XMLVMArray*) _r0.o), (JAVA_ARRAY_INT[]){1000000000, 100000000, 10000000, 1000000, 100000, 10000, 1000, 100, 10, 1, });
+ java_lang_Integer_PUT_decimalScale( _r0.o);
+ XMLVM_SOURCE_POSITION("Integer.java", 70)
+ _r0.i = 0;
+ XMLVM_CLASS_INIT(int)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_int, _r0.i);
+ XMLVM_SOURCE_POSITION("Integer.java", 71)
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r0.o)->tib->vtable[3])(_r0.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_Class_getComponentType__(_r0.o);
+ java_lang_Integer_PUT_TYPE( _r0.o);
+ XMLVM_SOURCE_POSITION("Integer.java", 31)
+ XMLVM_EXIT_METHOD()
+ return;
+ label24:;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Integer___INIT____int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer___INIT____int]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Integer.java", 83)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Number___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Integer.java", 84)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_Integer*) _r0.o)->fields.java_lang_Integer.value_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Integer.java", 85)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Integer___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Integer.java", 97)
+ _r0.i = java_lang_Integer_parseInt___java_lang_String(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ java_lang_Integer___INIT____int(_r1.o, _r0.i);
+ XMLVM_SOURCE_POSITION("Integer.java", 98)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BYTE java_lang_Integer_byteValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_byteValue__]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "byteValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Integer.java", 102)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Integer*) _r1.o)->fields.java_lang_Integer.value_;
+ _r0.i = (_r0.i << 24) >> 24;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Integer_compareTo___java_lang_Integer(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_compareTo___java_lang_Integer]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Integer.java", 119)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Integer*) _r2.o)->fields.java_lang_Integer.value_;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_Integer*) _r3.o)->fields.java_lang_Integer.value_;
+ if (_r0.i <= _r1.i) goto label8;
+ _r0.i = 1;
+ label7:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label8:;
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Integer*) _r2.o)->fields.java_lang_Integer.value_;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_Integer*) _r3.o)->fields.java_lang_Integer.value_;
+ if (_r0.i >= _r1.i) goto label16;
+ _r0.i = -1;
+ goto label7;
+ label16:;
+ _r0.i = 0;
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Integer_decode___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_decode___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "decode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r9.o = n1;
+ _r7.i = 16;
+ _r3.i = 1;
+ _r6.i = 0;
+ XMLVM_SOURCE_POSITION("Integer.java", 136)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(9)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r9.o)->tib->vtable[8])(_r9.o);
+ XMLVM_SOURCE_POSITION("Integer.java", 137)
+ if (_r0.i != 0) goto label16;
+ XMLVM_SOURCE_POSITION("Integer.java", 138)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label16:;
+ XMLVM_SOURCE_POSITION("Integer.java", 140)
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(9)
+ _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r9.o)->tib->vtable[6])(_r9.o, _r6.i);
+ XMLVM_SOURCE_POSITION("Integer.java", 141)
+ _r2.i = 45;
+ if (_r1.i != _r2.i) goto label35;
+ _r2 = _r3;
+ label25:;
+ XMLVM_SOURCE_POSITION("Integer.java", 142)
+ if (_r2.i == 0) goto label115;
+ XMLVM_SOURCE_POSITION("Integer.java", 143)
+ if (_r0.i != _r3.i) goto label37;
+ XMLVM_SOURCE_POSITION("Integer.java", 144)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label35:;
+ _r2 = _r6;
+ goto label25;
+ label37:;
+ XMLVM_SOURCE_POSITION("Integer.java", 146)
+ _r1.i = _r6.i + 1;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(9)
+ _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r9.o)->tib->vtable[6])(_r9.o, _r1.i);
+ _r8 = _r3;
+ _r3 = _r1;
+ _r1 = _r8;
+ label46:;
+ XMLVM_SOURCE_POSITION("Integer.java", 149)
+ _r4.i = 10;
+ _r5.i = 48;
+ if (_r1.i != _r5.i) goto label96;
+ XMLVM_SOURCE_POSITION("Integer.java", 150)
+ XMLVM_SOURCE_POSITION("Integer.java", 151)
+ _r1.i = _r3.i + 1;
+ if (_r1.i != _r0.i) goto label61;
+ XMLVM_SOURCE_POSITION("Integer.java", 152)
+ _r0.o = java_lang_Integer_valueOf___int(_r6.i);
+ label60:;
+ XMLVM_SOURCE_POSITION("Integer.java", 170)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label61:;
+ XMLVM_SOURCE_POSITION("Integer.java", 154)
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(9)
+ _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r9.o)->tib->vtable[6])(_r9.o, _r1.i);
+ _r4.i = 120;
+ if (_r3.i == _r4.i) goto label73;
+ _r4.i = 88;
+ if (_r3.i != _r4.i) goto label93;
+ label73:;
+ XMLVM_SOURCE_POSITION("Integer.java", 155)
+ _r1.i = _r1.i + 1;
+ if (_r1.i != _r0.i) goto label83;
+ XMLVM_SOURCE_POSITION("Integer.java", 156)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label83:;
+ _r0 = _r7;
+ label84:;
+ XMLVM_SOURCE_POSITION("Integer.java", 158)
+ XMLVM_SOURCE_POSITION("Integer.java", 169)
+ _r0.i = java_lang_Integer_parse___java_lang_String_int_int_boolean(_r9.o, _r1.i, _r0.i, _r2.i);
+ _r0.o = java_lang_Integer_valueOf___int(_r0.i);
+ goto label60;
+ label93:;
+ XMLVM_SOURCE_POSITION("Integer.java", 160)
+ _r0.i = 8;
+ goto label84;
+ label96:;
+ XMLVM_SOURCE_POSITION("Integer.java", 162)
+ _r5.i = 35;
+ if (_r1.i != _r5.i) goto label112;
+ XMLVM_SOURCE_POSITION("Integer.java", 163)
+ _r1.i = _r3.i + 1;
+ if (_r1.i != _r0.i) goto label110;
+ XMLVM_SOURCE_POSITION("Integer.java", 164)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label110:;
+ _r0 = _r7;
+ XMLVM_SOURCE_POSITION("Integer.java", 166)
+ goto label84;
+ label112:;
+ _r0 = _r4;
+ _r1 = _r3;
+ goto label84;
+ label115:;
+ _r3 = _r6;
+ goto label46;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_DOUBLE java_lang_Integer_doubleValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_doubleValue__]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "doubleValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Integer.java", 175)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Integer*) _r2.o)->fields.java_lang_Integer.value_;
+ _r0.d = (JAVA_DOUBLE) _r0.i;
+ XMLVM_EXIT_METHOD()
+ return _r0.d;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Integer_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Integer.java", 190)
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ _r0.i = XMLVM_ISA(_r3.o, __CLASS_java_lang_Integer);
+ if (_r0.i == 0) goto label14;
+ XMLVM_SOURCE_POSITION("Integer.java", 191)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Integer*) _r2.o)->fields.java_lang_Integer.value_;
+ _r3.o = _r3.o;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_Integer*) _r3.o)->fields.java_lang_Integer.value_;
+ if (_r0.i != _r1.i) goto label14;
+ _r0.i = 1;
+ label13:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label14:;
+ _r0.i = 0;
+ goto label13;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_FLOAT java_lang_Integer_floatValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_floatValue__]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "floatValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Integer.java", 196)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Integer*) _r1.o)->fields.java_lang_Integer.value_;
+ _r0.f = (JAVA_FLOAT) _r0.i;
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Integer_getInteger___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_getInteger___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "getInteger", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r2.o = n1;
+ _r1.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("Integer.java", 211)
+ if (_r2.o == JAVA_NULL) goto label9;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(2)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r2.o)->tib->vtable[8])(_r2.o);
+ if (_r0.i != 0) goto label11;
+ label9:;
+ _r0 = _r1;
+ label10:;
+ XMLVM_SOURCE_POSITION("Integer.java", 212)
+ XMLVM_SOURCE_POSITION("Integer.java", 221)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label11:;
+ XMLVM_SOURCE_POSITION("Integer.java", 214)
+ _r0.o = java_lang_System_getProperty___java_lang_String(_r2.o);
+ XMLVM_SOURCE_POSITION("Integer.java", 215)
+ if (_r0.o != JAVA_NULL) goto label19;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("Integer.java", 216)
+ goto label10;
+ label19:;
+ XMLVM_TRY_BEGIN(w4709aaac16b1c22)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Integer.java", 219)
+ _r0.o = java_lang_Integer_decode___java_lang_String(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4709aaac16b1c22)
+ XMLVM_CATCH_END(w4709aaac16b1c22)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4709aaac16b1c22)
+ goto label10;
+ label24:;
+ java_lang_Thread* curThread_w4709aaac16b1c25 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4709aaac16b1c25->fields.java_lang_Thread.xmlvmException_;
+ _r0 = _r1;
+ goto label10;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Integer_getInteger___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_getInteger___java_lang_String_int]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "getInteger", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r1.o = n1;
+ _r2.i = n2;
+ XMLVM_SOURCE_POSITION("Integer.java", 240)
+ if (_r1.o == JAVA_NULL) goto label8;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
+ if (_r0.i != 0) goto label13;
+ label8:;
+ XMLVM_SOURCE_POSITION("Integer.java", 241)
+ _r0.o = java_lang_Integer_valueOf___int(_r2.i);
+ label12:;
+ XMLVM_SOURCE_POSITION("Integer.java", 250)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label13:;
+ XMLVM_SOURCE_POSITION("Integer.java", 243)
+ _r0.o = java_lang_System_getProperty___java_lang_String(_r1.o);
+ XMLVM_SOURCE_POSITION("Integer.java", 244)
+ if (_r0.o != JAVA_NULL) goto label24;
+ XMLVM_SOURCE_POSITION("Integer.java", 245)
+ _r0.o = java_lang_Integer_valueOf___int(_r2.i);
+ goto label12;
+ label24:;
+ XMLVM_TRY_BEGIN(w4709aaac17b1c22)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Integer.java", 248)
+ _r0.o = java_lang_Integer_decode___java_lang_String(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4709aaac17b1c22)
+ XMLVM_CATCH_END(w4709aaac17b1c22)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4709aaac17b1c22)
+ goto label12;
+ label29:;
+ java_lang_Thread* curThread_w4709aaac17b1c25 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4709aaac17b1c25->fields.java_lang_Thread.xmlvmException_;
+ _r0.o = java_lang_Integer_valueOf___int(_r2.i);
+ goto label12;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Integer_getInteger___java_lang_String_java_lang_Integer(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_getInteger___java_lang_String_java_lang_Integer]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "getInteger", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("Integer.java", 269)
+ if (_r1.o == JAVA_NULL) goto label8;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
+ if (_r0.i != 0) goto label10;
+ label8:;
+ _r0 = _r2;
+ label9:;
+ XMLVM_SOURCE_POSITION("Integer.java", 270)
+ XMLVM_SOURCE_POSITION("Integer.java", 279)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label10:;
+ XMLVM_SOURCE_POSITION("Integer.java", 272)
+ _r0.o = java_lang_System_getProperty___java_lang_String(_r1.o);
+ XMLVM_SOURCE_POSITION("Integer.java", 273)
+ if (_r0.o != JAVA_NULL) goto label18;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("Integer.java", 274)
+ goto label9;
+ label18:;
+ XMLVM_TRY_BEGIN(w4709aaac18b1c22)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Integer.java", 277)
+ _r0.o = java_lang_Integer_decode___java_lang_String(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4709aaac18b1c22)
+ XMLVM_CATCH_END(w4709aaac18b1c22)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4709aaac18b1c22)
+ goto label9;
+ label23:;
+ java_lang_Thread* curThread_w4709aaac18b1c25 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4709aaac18b1c25->fields.java_lang_Thread.xmlvmException_;
+ _r0 = _r2;
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Integer_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_hashCode__]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Integer.java", 285)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Integer*) _r1.o)->fields.java_lang_Integer.value_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Integer_intValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_intValue__]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "intValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Integer.java", 295)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Integer*) _r1.o)->fields.java_lang_Integer.value_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_lang_Integer_longValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_longValue__]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "longValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Integer.java", 300)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Integer*) _r2.o)->fields.java_lang_Integer.value_;
+ _r0.l = (JAVA_LONG) _r0.i;
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Integer_parseInt___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_parseInt___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "parseInt", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Integer.java", 315)
+ _r0.i = 10;
+ _r0.i = java_lang_Integer_parseInt___java_lang_String_int(_r1.o, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Integer_parseInt___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_parseInt___java_lang_String_int]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "parseInt", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = n1;
+ _r5.i = n2;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("Integer.java", 336)
+ if (_r4.o == JAVA_NULL) goto label10;
+ _r0.i = 2;
+ if (_r5.i < _r0.i) goto label10;
+ XMLVM_SOURCE_POSITION("Integer.java", 337)
+ _r0.i = 36;
+ if (_r5.i <= _r0.i) goto label16;
+ label10:;
+ XMLVM_SOURCE_POSITION("Integer.java", 338)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label16:;
+ XMLVM_SOURCE_POSITION("Integer.java", 340)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r4.o)->tib->vtable[8])(_r4.o);
+ XMLVM_SOURCE_POSITION("Integer.java", 341)
+ if (_r0.i != 0) goto label28;
+ XMLVM_SOURCE_POSITION("Integer.java", 342)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label28:;
+ XMLVM_SOURCE_POSITION("Integer.java", 344)
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(4)
+ _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r4.o)->tib->vtable[6])(_r4.o, _r3.i);
+ _r2.i = 45;
+ if (_r1.i != _r2.i) goto label49;
+ _r1.i = 1;
+ label37:;
+ XMLVM_SOURCE_POSITION("Integer.java", 345)
+ if (_r1.i == 0) goto label57;
+ _r2.i = _r3.i + 1;
+ if (_r2.i != _r0.i) goto label51;
+ XMLVM_SOURCE_POSITION("Integer.java", 346)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label49:;
+ _r1 = _r3;
+ goto label37;
+ label51:;
+ _r0 = _r2;
+ label52:;
+ XMLVM_SOURCE_POSITION("Integer.java", 349)
+ _r0.i = java_lang_Integer_parse___java_lang_String_int_int_boolean(_r4.o, _r0.i, _r5.i, _r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label57:;
+ _r0 = _r3;
+ goto label52;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Integer_parse___java_lang_String_int_int_boolean(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3, JAVA_BOOLEAN n4)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_parse___java_lang_String_int_int_boolean]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "parse", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r6.o = n1;
+ _r7.i = n2;
+ _r8.i = n3;
+ _r9.i = n4;
+ XMLVM_SOURCE_POSITION("Integer.java", 354)
+ _r0.i = -2147483648;
+ _r0.i = _r0.i / _r8.i;
+ XMLVM_SOURCE_POSITION("Integer.java", 355)
+ _r1.i = 0;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(6)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r6.o)->tib->vtable[8])(_r6.o);
+ _r3 = _r7;
+ label9:;
+ XMLVM_SOURCE_POSITION("Integer.java", 356)
+ if (_r3.i < _r2.i) goto label22;
+ XMLVM_SOURCE_POSITION("Integer.java", 370)
+ if (_r9.i != 0) goto label64;
+ XMLVM_SOURCE_POSITION("Integer.java", 371)
+ _r0.i = -_r1.i;
+ if (_r0.i >= 0) goto label65;
+ XMLVM_SOURCE_POSITION("Integer.java", 372)
+ XMLVM_SOURCE_POSITION("Integer.java", 373)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label22:;
+ XMLVM_SOURCE_POSITION("Integer.java", 357)
+ _r4.i = _r3.i + 1;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(6)
+ _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r6.o)->tib->vtable[6])(_r6.o, _r3.i);
+ _r3.i = java_lang_Character_digit___char_int(_r3.i, _r8.i);
+ XMLVM_SOURCE_POSITION("Integer.java", 358)
+ _r5.i = -1;
+ if (_r3.i != _r5.i) goto label41;
+ XMLVM_SOURCE_POSITION("Integer.java", 359)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label41:;
+ XMLVM_SOURCE_POSITION("Integer.java", 361)
+ if (_r0.i <= _r1.i) goto label49;
+ XMLVM_SOURCE_POSITION("Integer.java", 362)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label49:;
+ XMLVM_SOURCE_POSITION("Integer.java", 364)
+ _r5.i = _r1.i * _r8.i;
+ _r3.i = _r5.i - _r3.i;
+ if (_r3.i <= _r1.i) goto label61;
+ XMLVM_SOURCE_POSITION("Integer.java", 365)
+ XMLVM_SOURCE_POSITION("Integer.java", 366)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label61:;
+ _r1 = _r3;
+ _r3 = _r4;
+ XMLVM_SOURCE_POSITION("Integer.java", 368)
+ goto label9;
+ label64:;
+ _r0 = _r1;
+ label65:;
+ XMLVM_SOURCE_POSITION("Integer.java", 376)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_SHORT java_lang_Integer_shortValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_shortValue__]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "shortValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Integer.java", 381)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Integer*) _r1.o)->fields.java_lang_Integer.value_;
+ _r0.i = (_r0.i << 16) >> 16;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Integer_toBinaryString___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_toBinaryString___int]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "toBinaryString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.i = n1;
+ XMLVM_SOURCE_POSITION("Integer.java", 393)
+ _r0.i = 1;
+ if (_r4.i >= 0) goto label37;
+ XMLVM_SOURCE_POSITION("Integer.java", 395)
+ XMLVM_SOURCE_POSITION("Integer.java", 396)
+ _r0.i = 32;
+ label5:;
+ XMLVM_SOURCE_POSITION("Integer.java", 403)
+ XMLVM_CLASS_INIT(char)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ _r2 = _r4;
+ label8:;
+ XMLVM_SOURCE_POSITION("Integer.java", 405)
+ _r0.i = _r0.i + -1;
+ _r3.i = _r2.i & 1;
+ _r3.i = _r3.i + 48;
+ _r3.i = _r3.i & 0xffff;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r3.i;
+ XMLVM_SOURCE_POSITION("Integer.java", 406)
+ _r2.i = ((JAVA_UINT) _r2.i) >> (0x1f & ((JAVA_UINT) 1));
+ if (_r0.i > 0) goto label8;
+ XMLVM_SOURCE_POSITION("Integer.java", 407)
+ XMLVM_SOURCE_POSITION("Integer.java", 408)
+ _r0.o = __NEW_java_lang_String();
+ _r2.i = 0;
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____int_int_char_1ARRAY(_r0.o, _r2.i, _r3.i, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label29:;
+ XMLVM_SOURCE_POSITION("Integer.java", 399)
+ _r1.i = _r1.i + 1;
+ label31:;
+ XMLVM_SOURCE_POSITION("Integer.java", 398)
+ _r0.i = ((JAVA_UINT) _r0.i) >> (0x1f & ((JAVA_UINT) 1));
+ if (_r0.i != 0) goto label29;
+ _r0 = _r1;
+ goto label5;
+ label37:;
+ _r1 = _r0;
+ _r0 = _r4;
+ goto label31;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Integer_toHexString___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_toHexString___int]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "toHexString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.i = n1;
+ XMLVM_SOURCE_POSITION("Integer.java", 421)
+ _r0.i = 1;
+ if (_r5.i >= 0) goto label47;
+ XMLVM_SOURCE_POSITION("Integer.java", 423)
+ XMLVM_SOURCE_POSITION("Integer.java", 424)
+ _r0.i = 8;
+ label5:;
+ XMLVM_SOURCE_POSITION("Integer.java", 431)
+ XMLVM_CLASS_INIT(char)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ _r2 = _r5;
+ label8:;
+ XMLVM_SOURCE_POSITION("Integer.java", 433)
+ _r3.i = _r2.i & 15;
+ _r4.i = 9;
+ if (_r3.i <= _r4.i) goto label44;
+ XMLVM_SOURCE_POSITION("Integer.java", 434)
+ XMLVM_SOURCE_POSITION("Integer.java", 435)
+ _r4.i = 10;
+ _r3.i = _r3.i - _r4.i;
+ _r3.i = _r3.i + 97;
+ label19:;
+ XMLVM_SOURCE_POSITION("Integer.java", 439)
+ _r0.i = _r0.i + -1;
+ _r3.i = _r3.i & 0xffff;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r3.i;
+ XMLVM_SOURCE_POSITION("Integer.java", 440)
+ _r2.i = ((JAVA_UINT) _r2.i) >> (0x1f & ((JAVA_UINT) 4));
+ if (_r0.i > 0) goto label8;
+ XMLVM_SOURCE_POSITION("Integer.java", 441)
+ XMLVM_SOURCE_POSITION("Integer.java", 442)
+ _r0.o = __NEW_java_lang_String();
+ _r2.i = 0;
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____int_int_char_1ARRAY(_r0.o, _r2.i, _r3.i, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label36:;
+ XMLVM_SOURCE_POSITION("Integer.java", 427)
+ _r1.i = _r1.i + 1;
+ label38:;
+ XMLVM_SOURCE_POSITION("Integer.java", 426)
+ _r0.i = ((JAVA_UINT) _r0.i) >> (0x1f & ((JAVA_UINT) 4));
+ if (_r0.i != 0) goto label36;
+ _r0 = _r1;
+ goto label5;
+ label44:;
+ XMLVM_SOURCE_POSITION("Integer.java", 437)
+ _r3.i = _r3.i + 48;
+ goto label19;
+ label47:;
+ _r1 = _r0;
+ _r0 = _r5;
+ goto label38;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Integer_toOctalString___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_toOctalString___int]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "toOctalString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.i = n1;
+ XMLVM_SOURCE_POSITION("Integer.java", 454)
+ _r0.i = 1;
+ if (_r4.i >= 0) goto label37;
+ XMLVM_SOURCE_POSITION("Integer.java", 456)
+ XMLVM_SOURCE_POSITION("Integer.java", 457)
+ _r0.i = 11;
+ label5:;
+ XMLVM_SOURCE_POSITION("Integer.java", 464)
+ XMLVM_CLASS_INIT(char)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ _r2 = _r4;
+ label8:;
+ XMLVM_SOURCE_POSITION("Integer.java", 466)
+ _r0.i = _r0.i + -1;
+ _r3.i = _r2.i & 7;
+ _r3.i = _r3.i + 48;
+ _r3.i = _r3.i & 0xffff;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r3.i;
+ XMLVM_SOURCE_POSITION("Integer.java", 467)
+ _r2.i = ((JAVA_UINT) _r2.i) >> (0x1f & ((JAVA_UINT) 3));
+ if (_r0.i > 0) goto label8;
+ XMLVM_SOURCE_POSITION("Integer.java", 468)
+ XMLVM_SOURCE_POSITION("Integer.java", 469)
+ _r0.o = __NEW_java_lang_String();
+ _r2.i = 0;
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____int_int_char_1ARRAY(_r0.o, _r2.i, _r3.i, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label29:;
+ XMLVM_SOURCE_POSITION("Integer.java", 460)
+ _r1.i = _r1.i + 1;
+ label31:;
+ XMLVM_SOURCE_POSITION("Integer.java", 459)
+ _r0.i = ((JAVA_UINT) _r0.i) >> (0x1f & ((JAVA_UINT) 3));
+ if (_r0.i != 0) goto label29;
+ _r0 = _r1;
+ goto label5;
+ label37:;
+ _r1 = _r0;
+ _r0 = _r4;
+ goto label31;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Integer_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_toString__]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Integer.java", 474)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Integer*) _r1.o)->fields.java_lang_Integer.value_;
+ _r0.o = java_lang_Integer_toString___int(_r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Integer_toString___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_toString___int]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ _r10.i = n1;
+ _r2.i = 45;
+ _r8.i = 1;
+ _r7.i = 0;
+ XMLVM_SOURCE_POSITION("Integer.java", 487)
+ if (_r10.i != 0) goto label9;
+ XMLVM_SOURCE_POSITION("Integer.java", 488)
+ // "0"
+ _r0.o = xmlvm_create_java_string_from_pool(70);
+ label8:;
+ XMLVM_SOURCE_POSITION("Integer.java", 573)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label9:;
+ XMLVM_SOURCE_POSITION("Integer.java", 492)
+ _r0.i = 1000;
+ if (_r10.i >= _r0.i) goto label72;
+ _r0.i = -1000;
+ if (_r10.i <= _r0.i) goto label72;
+ XMLVM_SOURCE_POSITION("Integer.java", 493)
+ _r0.i = 4;
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ XMLVM_SOURCE_POSITION("Integer.java", 494)
+ if (_r10.i >= 0) goto label70;
+ _r1.i = -_r10.i;
+ label23:;
+ XMLVM_SOURCE_POSITION("Integer.java", 496)
+ if (_r10.i >= 0) goto label232;
+ XMLVM_SOURCE_POSITION("Integer.java", 497)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r7.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r2.i;
+ XMLVM_SOURCE_POSITION("Integer.java", 498)
+ _r2.i = _r7.i + 1;
+ label29:;
+ _r3 = _r2;
+ label30:;
+ XMLVM_SOURCE_POSITION("Integer.java", 501)
+ XMLVM_SOURCE_POSITION("Integer.java", 503)
+ _r4.i = _r1.i / 10;
+ XMLVM_SOURCE_POSITION("Integer.java", 504)
+ _r5.i = _r4.i << 3;
+ _r6.i = _r4.i << 1;
+ _r5.i = _r5.i + _r6.i;
+ _r1.i = _r1.i - _r5.i;
+ _r1.i = _r1.i + 48;
+ _r5.i = _r3.i + 1;
+ _r1.i = _r1.i & 0xffff;
+ XMLVM_SOURCE_POSITION("Integer.java", 506)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r1.i;
+ XMLVM_SOURCE_POSITION("Integer.java", 508)
+ if (_r4.i != 0) goto label228;
+ XMLVM_SOURCE_POSITION("Integer.java", 510)
+ _r1.i = _r5.i + -1;
+ label49:;
+ XMLVM_SOURCE_POSITION("Integer.java", 512)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_SOURCE_POSITION("Integer.java", 513)
+ _r4.i = _r1.i + -1;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ _r6.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r6.i;
+ XMLVM_SOURCE_POSITION("Integer.java", 514)
+ _r1.i = _r2.i + 1;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r3.i;
+ XMLVM_SOURCE_POSITION("Integer.java", 515)
+ if (_r1.i < _r4.i) goto label224;
+ XMLVM_SOURCE_POSITION("Integer.java", 516)
+ _r1.o = __NEW_java_lang_String();
+ XMLVM_CHECK_NPE(1)
+ java_lang_String___INIT____int_int_char_1ARRAY(_r1.o, _r7.i, _r5.i, _r0.o);
+ _r0 = _r1;
+ goto label8;
+ label70:;
+ _r1 = _r10;
+ goto label23;
+ label72:;
+ XMLVM_SOURCE_POSITION("Integer.java", 518)
+ _r0.i = -2147483648;
+ if (_r10.i != _r0.i) goto label79;
+ XMLVM_SOURCE_POSITION("Integer.java", 519)
+ // "-2147483648"
+ _r0.o = xmlvm_create_java_string_from_pool(718);
+ goto label8;
+ label79:;
+ XMLVM_SOURCE_POSITION("Integer.java", 522)
+ _r0.i = 11;
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ XMLVM_SOURCE_POSITION("Integer.java", 523)
+ if (_r10.i >= 0) goto label119;
+ _r1.i = -_r10.i;
+ label86:;
+ XMLVM_SOURCE_POSITION("Integer.java", 525)
+ if (_r10.i >= 0) goto label221;
+ XMLVM_SOURCE_POSITION("Integer.java", 526)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r7.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r2.i;
+ XMLVM_SOURCE_POSITION("Integer.java", 527)
+ _r2.i = _r7.i + 1;
+ _r2.i = (_r2.i << 24) >> 24;
+ label93:;
+ _r3 = _r2;
+ _r4 = _r1;
+ _r1 = _r7;
+ _r2 = _r7;
+ label97:;
+ XMLVM_SOURCE_POSITION("Integer.java", 533)
+ _r5.i = 9;
+ if (_r1.i < _r5.i) goto label121;
+ XMLVM_SOURCE_POSITION("Integer.java", 571)
+ _r1.i = _r3.i + 1;
+ _r1.i = (_r1.i << 24) >> 24;
+ _r2.i = _r4.i + 48;
+ _r2.i = _r2.i & 0xffff;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r2.i;
+ XMLVM_SOURCE_POSITION("Integer.java", 572)
+ _r2.i = _r1.i - _r8.i;
+ _r2.i = (_r2.i << 24) >> 24;
+ _r2.o = __NEW_java_lang_String();
+ XMLVM_CHECK_NPE(2)
+ java_lang_String___INIT____int_int_char_1ARRAY(_r2.o, _r7.i, _r1.i, _r0.o);
+ _r0 = _r2;
+ goto label8;
+ label119:;
+ _r1 = _r10;
+ goto label86;
+ label121:;
+ XMLVM_SOURCE_POSITION("Integer.java", 535)
+ _r5.o = java_lang_Integer_GET_decimalScale();
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r1.i);
+ _r5.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ if (_r4.i >= _r5.i) goto label140;
+ XMLVM_SOURCE_POSITION("Integer.java", 536)
+ if (_r2.i == 0) goto label137;
+ XMLVM_SOURCE_POSITION("Integer.java", 537)
+ _r5.i = _r3.i + 1;
+ _r5.i = (_r5.i << 24) >> 24;
+ _r6.i = 48;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r6.i;
+ _r3 = _r5;
+ label137:;
+ XMLVM_SOURCE_POSITION("Integer.java", 539)
+ _r1.i = _r1.i + 1;
+ goto label97;
+ label140:;
+ XMLVM_SOURCE_POSITION("Integer.java", 542)
+ if (_r1.i <= 0) goto label218;
+ XMLVM_SOURCE_POSITION("Integer.java", 543)
+ _r5.o = java_lang_Integer_GET_decimalScale();
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r1.i);
+ _r5.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ _r5.i = _r5.i << 3;
+ if (_r4.i < _r5.i) goto label215;
+ XMLVM_SOURCE_POSITION("Integer.java", 544)
+ XMLVM_SOURCE_POSITION("Integer.java", 545)
+ _r4.i = _r4.i - _r5.i;
+ _r5.i = _r7.i + 8;
+ _r5.i = (_r5.i << 24) >> 24;
+ _r9 = _r5;
+ _r5 = _r4;
+ _r4 = _r9;
+ label157:;
+ XMLVM_SOURCE_POSITION("Integer.java", 546)
+ XMLVM_SOURCE_POSITION("Integer.java", 548)
+ _r6.o = java_lang_Integer_GET_decimalScale();
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r1.i);
+ _r6.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ _r6.i = _r6.i << 2;
+ if (_r5.i < _r6.i) goto label169;
+ XMLVM_SOURCE_POSITION("Integer.java", 549)
+ XMLVM_SOURCE_POSITION("Integer.java", 550)
+ _r5.i = _r5.i - _r6.i;
+ _r4.i = _r4.i + 4;
+ _r4.i = (_r4.i << 24) >> 24;
+ label169:;
+ XMLVM_SOURCE_POSITION("Integer.java", 551)
+ XMLVM_SOURCE_POSITION("Integer.java", 554)
+ _r6.o = java_lang_Integer_GET_decimalScale();
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r1.i);
+ _r6.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ _r6.i = _r6.i << 1;
+ if (_r5.i < _r6.i) goto label181;
+ XMLVM_SOURCE_POSITION("Integer.java", 555)
+ XMLVM_SOURCE_POSITION("Integer.java", 556)
+ _r5.i = _r5.i - _r6.i;
+ _r4.i = _r4.i + 2;
+ _r4.i = (_r4.i << 24) >> 24;
+ label181:;
+ XMLVM_SOURCE_POSITION("Integer.java", 557)
+ XMLVM_SOURCE_POSITION("Integer.java", 559)
+ _r6.o = java_lang_Integer_GET_decimalScale();
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r1.i);
+ _r6.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ if (_r5.i < _r6.i) goto label195;
+ XMLVM_SOURCE_POSITION("Integer.java", 560)
+ _r6.o = java_lang_Integer_GET_decimalScale();
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r1.i);
+ _r6.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ _r5.i = _r5.i - _r6.i;
+ _r4.i = _r4.i + 1;
+ _r4.i = (_r4.i << 24) >> 24;
+ label195:;
+ XMLVM_SOURCE_POSITION("Integer.java", 561)
+ XMLVM_SOURCE_POSITION("Integer.java", 563)
+ if (_r4.i <= 0) goto label200;
+ if (_r2.i != 0) goto label200;
+ _r2 = _r8;
+ label200:;
+ XMLVM_SOURCE_POSITION("Integer.java", 564)
+ XMLVM_SOURCE_POSITION("Integer.java", 566)
+ if (_r2.i == 0) goto label213;
+ XMLVM_SOURCE_POSITION("Integer.java", 567)
+ _r6.i = _r3.i + 1;
+ _r6.i = (_r6.i << 24) >> 24;
+ _r4.i = _r4.i + 48;
+ _r4.i = _r4.i & 0xffff;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.i;
+ _r3 = _r6;
+ _r4 = _r5;
+ goto label137;
+ label213:;
+ _r4 = _r5;
+ goto label137;
+ label215:;
+ _r5 = _r4;
+ _r4 = _r7;
+ goto label157;
+ label218:;
+ _r5 = _r4;
+ _r4 = _r7;
+ goto label169;
+ label221:;
+ _r2 = _r7;
+ goto label93;
+ label224:;
+ _r2 = _r1;
+ _r1 = _r4;
+ goto label49;
+ label228:;
+ _r1 = _r4;
+ _r3 = _r5;
+ goto label30;
+ label232:;
+ _r2 = _r7;
+ goto label29;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Integer_toString___int_int(JAVA_INT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_toString___int_int]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ _r9.i = n1;
+ _r10.i = n2;
+ _r8.i = 10;
+ _r2.i = 2;
+ _r3.i = 1;
+ _r7.i = 0;
+ XMLVM_SOURCE_POSITION("Integer.java", 591)
+ if (_r10.i < _r2.i) goto label11;
+ _r0.i = 36;
+ if (_r10.i <= _r0.i) goto label73;
+ label11:;
+ _r0 = _r8;
+ label12:;
+ XMLVM_SOURCE_POSITION("Integer.java", 592)
+ XMLVM_SOURCE_POSITION("Integer.java", 594)
+ if (_r9.i != 0) goto label17;
+ XMLVM_SOURCE_POSITION("Integer.java", 595)
+ // "0"
+ _r0.o = xmlvm_create_java_string_from_pool(70);
+ label16:;
+ XMLVM_SOURCE_POSITION("Integer.java", 621)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label17:;
+ XMLVM_SOURCE_POSITION("Integer.java", 599)
+ if (_r9.i >= 0) goto label61;
+ _r1 = _r3;
+ label20:;
+ XMLVM_SOURCE_POSITION("Integer.java", 600)
+ if (_r1.i != 0) goto label69;
+ XMLVM_SOURCE_POSITION("Integer.java", 602)
+ _r2.i = -_r9.i;
+ _r4 = _r9;
+ label24:;
+ XMLVM_SOURCE_POSITION("Integer.java", 604)
+ _r4.i = _r4.i / _r0.i;
+ if (_r4.i != 0) goto label63;
+ XMLVM_SOURCE_POSITION("Integer.java", 608)
+ XMLVM_CLASS_INIT(char)
+ _r4.o = XMLVMArray_createSingleDimension(__CLASS_char, _r3.i);
+ label29:;
+ XMLVM_SOURCE_POSITION("Integer.java", 610)
+ _r5.i = _r2.i % _r0.i;
+ _r5.i = _r7.i - _r5.i;
+ _r6.i = 9;
+ if (_r5.i <= _r6.i) goto label66;
+ XMLVM_SOURCE_POSITION("Integer.java", 611)
+ XMLVM_SOURCE_POSITION("Integer.java", 612)
+ _r5.i = _r5.i - _r8.i;
+ _r5.i = _r5.i + 97;
+ label40:;
+ XMLVM_SOURCE_POSITION("Integer.java", 616)
+ _r3.i = _r3.i + -1;
+ _r5.i = _r5.i & 0xffff;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r3.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r5.i;
+ XMLVM_SOURCE_POSITION("Integer.java", 617)
+ _r2.i = _r2.i / _r0.i;
+ if (_r2.i != 0) goto label29;
+ XMLVM_SOURCE_POSITION("Integer.java", 618)
+ if (_r1.i == 0) goto label54;
+ XMLVM_SOURCE_POSITION("Integer.java", 619)
+ _r0.i = 45;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r7.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r0.i;
+ label54:;
+ _r0.o = __NEW_java_lang_String();
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____int_int_char_1ARRAY(_r0.o, _r7.i, _r1.i, _r4.o);
+ goto label16;
+ label61:;
+ _r1 = _r7;
+ goto label20;
+ label63:;
+ XMLVM_SOURCE_POSITION("Integer.java", 605)
+ _r3.i = _r3.i + 1;
+ goto label24;
+ label66:;
+ XMLVM_SOURCE_POSITION("Integer.java", 614)
+ _r5.i = _r5.i + 48;
+ goto label40;
+ label69:;
+ _r3 = _r2;
+ _r4 = _r9;
+ _r2 = _r9;
+ goto label24;
+ label73:;
+ _r0 = _r10;
+ goto label12;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Integer_valueOf___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_valueOf___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Integer.java", 637)
+ _r0.i = java_lang_Integer_parseInt___java_lang_String(_r1.o);
+ _r0.o = java_lang_Integer_valueOf___int(_r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Integer_valueOf___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_valueOf___java_lang_String_int]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = n1;
+ _r2.i = n2;
+ XMLVM_SOURCE_POSITION("Integer.java", 659)
+ _r0.i = java_lang_Integer_parseInt___java_lang_String_int(_r1.o, _r2.i);
+ _r0.o = java_lang_Integer_valueOf___int(_r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Integer_highestOneBit___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_highestOneBit___int]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "highestOneBit", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("Integer.java", 674)
+ _r0.i = _r2.i >> 1;
+ _r0.i = _r0.i | _r2.i;
+ _r1.i = _r0.i >> 2;
+ _r0.i = _r0.i | _r1.i;
+ _r1.i = _r0.i >> 4;
+ _r0.i = _r0.i | _r1.i;
+ _r1.i = _r0.i >> 8;
+ _r0.i = _r0.i | _r1.i;
+ _r1.i = _r0.i >> 16;
+ _r0.i = _r0.i | _r1.i;
+ _r1.i = ((JAVA_UINT) _r0.i) >> (0x1f & ((JAVA_UINT) 1));
+ _r1.i = _r1.i ^ -1;
+ _r0.i = _r0.i & _r1.i;
+ XMLVM_SOURCE_POSITION("Integer.java", 679)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Integer_lowestOneBit___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_lowestOneBit___int]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "lowestOneBit", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Integer.java", 694)
+ _r0.i = -_r1.i;
+ _r0.i = _r0.i & _r1.i;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Integer_numberOfLeadingZeros___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_numberOfLeadingZeros___int]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "numberOfLeadingZeros", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("Integer.java", 707)
+ _r0.i = _r2.i >> 1;
+ _r0.i = _r0.i | _r2.i;
+ _r1.i = _r0.i >> 2;
+ _r0.i = _r0.i | _r1.i;
+ _r1.i = _r0.i >> 4;
+ _r0.i = _r0.i | _r1.i;
+ _r1.i = _r0.i >> 8;
+ _r0.i = _r0.i | _r1.i;
+ _r1.i = _r0.i >> 16;
+ _r0.i = _r0.i | _r1.i;
+ _r0.i = _r0.i ^ -1;
+ XMLVM_SOURCE_POSITION("Integer.java", 712)
+ _r0.i = java_lang_Integer_bitCount___int(_r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Integer_numberOfTrailingZeros___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_numberOfTrailingZeros___int]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "numberOfTrailingZeros", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("Integer.java", 725)
+ _r0.i = -_r2.i;
+ _r0.i = _r0.i & _r2.i;
+ _r1.i = 1;
+ _r0.i = _r0.i - _r1.i;
+ _r0.i = java_lang_Integer_bitCount___int(_r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Integer_bitCount___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_bitCount___int]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "bitCount", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.i = n1;
+ _r2.i = 858993459;
+ XMLVM_SOURCE_POSITION("Integer.java", 738)
+ _r0.i = _r3.i >> 1;
+ _r1.i = 1431655765;
+ _r0.i = _r0.i & _r1.i;
+ _r0.i = _r3.i - _r0.i;
+ _r1.i = _r0.i & _r2.i;
+ _r0.i = _r0.i >> 2;
+ _r0.i = _r0.i & _r2.i;
+ _r0.i = _r0.i + _r1.i;
+ _r1.i = _r0.i >> 4;
+ _r0.i = _r0.i + _r1.i;
+ _r1.i = 252645135;
+ _r0.i = _r0.i & _r1.i;
+ _r1.i = _r0.i >> 8;
+ _r0.i = _r0.i + _r1.i;
+ _r1.i = _r0.i >> 16;
+ _r0.i = _r0.i + _r1.i;
+ _r0.i = _r0.i & 63;
+ XMLVM_SOURCE_POSITION("Integer.java", 743)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Integer_rotateLeft___int_int(JAVA_INT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_rotateLeft___int_int]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "rotateLeft", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.i = n1;
+ _r3.i = n2;
+ XMLVM_SOURCE_POSITION("Integer.java", 758)
+ if (_r3.i != 0) goto label4;
+ _r0 = _r2;
+ label3:;
+ XMLVM_SOURCE_POSITION("Integer.java", 759)
+ XMLVM_SOURCE_POSITION("Integer.java", 766)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label4:;
+ _r0.i = _r2.i << _r3.i;
+ _r1.i = -_r3.i;
+ _r1.i = ((JAVA_UINT) _r2.i) >> (0x1f & ((JAVA_UINT) _r1.i));
+ _r0.i = _r0.i | _r1.i;
+ goto label3;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Integer_rotateRight___int_int(JAVA_INT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_rotateRight___int_int]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "rotateRight", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.i = n1;
+ _r3.i = n2;
+ XMLVM_SOURCE_POSITION("Integer.java", 781)
+ if (_r3.i != 0) goto label4;
+ _r0 = _r2;
+ label3:;
+ XMLVM_SOURCE_POSITION("Integer.java", 782)
+ XMLVM_SOURCE_POSITION("Integer.java", 789)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label4:;
+ _r0.i = ((JAVA_UINT) _r2.i) >> (0x1f & ((JAVA_UINT) _r3.i));
+ _r1.i = -_r3.i;
+ _r1.i = _r2.i << _r1.i;
+ _r0.i = _r0.i | _r1.i;
+ goto label3;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Integer_reverseBytes___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_reverseBytes___int]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "reverseBytes", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.i = n1;
+ _r2.i = 65280;
+ XMLVM_SOURCE_POSITION("Integer.java", 801)
+ _r0.i = ((JAVA_UINT) _r4.i) >> (0x1f & ((JAVA_UINT) 24));
+ _r1.i = ((JAVA_UINT) _r4.i) >> (0x1f & ((JAVA_UINT) 8));
+ _r1.i = _r1.i & _r2.i;
+ _r2.i = _r2.i & _r4.i;
+ _r2.i = _r2.i << 8;
+ _r3.i = _r4.i << 24;
+ _r2.i = _r2.i | _r3.i;
+ _r1.i = _r1.i | _r2.i;
+ _r0.i = _r0.i | _r1.i;
+ XMLVM_SOURCE_POSITION("Integer.java", 805)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Integer_reverse___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_reverse___int]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "reverse", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.i = n1;
+ _r4.i = 1431655765;
+ _r3.i = 858993459;
+ _r2.i = 252645135;
+ XMLVM_SOURCE_POSITION("Integer.java", 818)
+ _r0.i = _r5.i & _r4.i;
+ _r0.i = _r0.i << 1;
+ _r1.i = _r5.i >> 1;
+ _r1.i = _r1.i & _r4.i;
+ _r0.i = _r0.i | _r1.i;
+ _r1.i = _r0.i & _r3.i;
+ _r1.i = _r1.i << 2;
+ _r0.i = _r0.i >> 2;
+ _r0.i = _r0.i & _r3.i;
+ _r0.i = _r0.i | _r1.i;
+ _r1.i = _r0.i & _r2.i;
+ _r1.i = _r1.i << 4;
+ _r0.i = _r0.i >> 4;
+ _r0.i = _r0.i & _r2.i;
+ _r0.i = _r0.i | _r1.i;
+ XMLVM_SOURCE_POSITION("Integer.java", 821)
+ _r0.i = java_lang_Integer_reverseBytes___int(_r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Integer_signum___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_signum___int]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "signum", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Integer.java", 835)
+ if (_r1.i != 0) goto label4;
+ _r0.i = 0;
+ label3:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label4:;
+ if (_r1.i >= 0) goto label8;
+ _r0.i = -1;
+ goto label3;
+ label8:;
+ _r0.i = 1;
+ goto label3;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Integer_valueOf___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Integer)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_valueOf___int]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("Integer.java", 851)
+ _r0.i = -128;
+ if (_r2.i < _r0.i) goto label8;
+ _r0.i = 127;
+ if (_r2.i <= _r0.i) goto label14;
+ label8:;
+ XMLVM_SOURCE_POSITION("Integer.java", 852)
+ _r0.o = __NEW_java_lang_Integer();
+ XMLVM_CHECK_NPE(0)
+ java_lang_Integer___INIT____int(_r0.o, _r2.i);
+ label13:;
+ XMLVM_SOURCE_POSITION("Integer.java", 854)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label14:;
+
+
+ // Red class access removed: java.lang.Integer$valueOfCache,java.lang.Integer[]::CACHE
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.i = _r2.i + 128;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ goto label13;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Integer_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Integer_compareTo___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.Integer", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Integer.java", 1)
+ _r2.o = _r2.o;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_Integer_compareTo___java_lang_Integer(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_Integer.h b/tests/nbody-java/java_lang_Integer.h
new file mode 100644
index 00000000..49042c2a
--- /dev/null
+++ b/tests/nbody-java/java_lang_Integer.h
@@ -0,0 +1,143 @@
+#ifndef __JAVA_LANG_INTEGER__
+#define __JAVA_LANG_INTEGER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_Integer 8
+// Implemented interfaces:
+#include "java_lang_Comparable.h"
+// Super Class:
+#include "java_lang_Number.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Character
+#define XMLVM_FORWARD_DECL_java_lang_Character
+XMLVM_FORWARD_DECL(java_lang_Character)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+// Class declarations for java.lang.Integer
+XMLVM_DEFINE_CLASS(java_lang_Integer, 13, XMLVM_ITABLE_SIZE_java_lang_Integer)
+
+extern JAVA_OBJECT __CLASS_java_lang_Integer;
+extern JAVA_OBJECT __CLASS_java_lang_Integer_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Integer_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Integer_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_Integer
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_Integer \
+ __INSTANCE_FIELDS_java_lang_Number; \
+ struct { \
+ JAVA_INT value_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_Integer \
+ } java_lang_Integer
+
+struct java_lang_Integer {
+ __TIB_DEFINITION_java_lang_Integer* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_Integer;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_Integer
+#define XMLVM_FORWARD_DECL_java_lang_Integer
+typedef struct java_lang_Integer java_lang_Integer;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_Integer 13
+#define XMLVM_VTABLE_IDX_java_lang_Integer_byteValue__ 6
+#define XMLVM_VTABLE_IDX_java_lang_Integer_doubleValue__ 7
+#define XMLVM_VTABLE_IDX_java_lang_Integer_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_lang_Integer_floatValue__ 8
+#define XMLVM_VTABLE_IDX_java_lang_Integer_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_lang_Integer_intValue__ 9
+#define XMLVM_VTABLE_IDX_java_lang_Integer_longValue__ 10
+#define XMLVM_VTABLE_IDX_java_lang_Integer_shortValue__ 11
+#define XMLVM_VTABLE_IDX_java_lang_Integer_toString__ 5
+#define XMLVM_VTABLE_IDX_java_lang_Integer_compareTo___java_lang_Object 12
+
+void __INIT_java_lang_Integer();
+void __INIT_IMPL_java_lang_Integer();
+void __DELETE_java_lang_Integer(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_Integer(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_Integer();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Integer();
+JAVA_LONG java_lang_Integer_GET_serialVersionUID();
+void java_lang_Integer_PUT_serialVersionUID(JAVA_LONG v);
+JAVA_INT java_lang_Integer_GET_MAX_VALUE();
+void java_lang_Integer_PUT_MAX_VALUE(JAVA_INT v);
+JAVA_INT java_lang_Integer_GET_MIN_VALUE();
+void java_lang_Integer_PUT_MIN_VALUE(JAVA_INT v);
+JAVA_INT java_lang_Integer_GET_SIZE();
+void java_lang_Integer_PUT_SIZE(JAVA_INT v);
+JAVA_OBJECT java_lang_Integer_GET_decimalScale();
+void java_lang_Integer_PUT_decimalScale(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Integer_GET_TYPE();
+void java_lang_Integer_PUT_TYPE(JAVA_OBJECT v);
+void java_lang_Integer___CLINIT_();
+void java_lang_Integer___INIT____int(JAVA_OBJECT me, JAVA_INT n1);
+void java_lang_Integer___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 6
+JAVA_BYTE java_lang_Integer_byteValue__(JAVA_OBJECT me);
+JAVA_INT java_lang_Integer_compareTo___java_lang_Integer(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Integer_decode___java_lang_String(JAVA_OBJECT n1);
+// Vtable index: 7
+JAVA_DOUBLE java_lang_Integer_doubleValue__(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_lang_Integer_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 8
+JAVA_FLOAT java_lang_Integer_floatValue__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Integer_getInteger___java_lang_String(JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Integer_getInteger___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_OBJECT java_lang_Integer_getInteger___java_lang_String_java_lang_Integer(JAVA_OBJECT n1, JAVA_OBJECT n2);
+// Vtable index: 4
+JAVA_INT java_lang_Integer_hashCode__(JAVA_OBJECT me);
+// Vtable index: 9
+JAVA_INT java_lang_Integer_intValue__(JAVA_OBJECT me);
+// Vtable index: 10
+JAVA_LONG java_lang_Integer_longValue__(JAVA_OBJECT me);
+JAVA_INT java_lang_Integer_parseInt___java_lang_String(JAVA_OBJECT n1);
+JAVA_INT java_lang_Integer_parseInt___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_INT java_lang_Integer_parse___java_lang_String_int_int_boolean(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3, JAVA_BOOLEAN n4);
+// Vtable index: 11
+JAVA_SHORT java_lang_Integer_shortValue__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Integer_toBinaryString___int(JAVA_INT n1);
+JAVA_OBJECT java_lang_Integer_toHexString___int(JAVA_INT n1);
+JAVA_OBJECT java_lang_Integer_toOctalString___int(JAVA_INT n1);
+// Vtable index: 5
+JAVA_OBJECT java_lang_Integer_toString__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Integer_toString___int(JAVA_INT n1);
+JAVA_OBJECT java_lang_Integer_toString___int_int(JAVA_INT n1, JAVA_INT n2);
+JAVA_OBJECT java_lang_Integer_valueOf___java_lang_String(JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Integer_valueOf___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_INT java_lang_Integer_highestOneBit___int(JAVA_INT n1);
+JAVA_INT java_lang_Integer_lowestOneBit___int(JAVA_INT n1);
+JAVA_INT java_lang_Integer_numberOfLeadingZeros___int(JAVA_INT n1);
+JAVA_INT java_lang_Integer_numberOfTrailingZeros___int(JAVA_INT n1);
+JAVA_INT java_lang_Integer_bitCount___int(JAVA_INT n1);
+JAVA_INT java_lang_Integer_rotateLeft___int_int(JAVA_INT n1, JAVA_INT n2);
+JAVA_INT java_lang_Integer_rotateRight___int_int(JAVA_INT n1, JAVA_INT n2);
+JAVA_INT java_lang_Integer_reverseBytes___int(JAVA_INT n1);
+JAVA_INT java_lang_Integer_reverse___int(JAVA_INT n1);
+JAVA_INT java_lang_Integer_signum___int(JAVA_INT n1);
+JAVA_OBJECT java_lang_Integer_valueOf___int(JAVA_INT n1);
+// Vtable index: 12
+JAVA_INT java_lang_Integer_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_lang_Iterable.c b/tests/nbody-java/java_lang_Iterable.c
new file mode 100644
index 00000000..499e4d09
--- /dev/null
+++ b/tests/nbody-java/java_lang_Iterable.c
@@ -0,0 +1,77 @@
+#include "xmlvm.h"
+#include "java_util_Iterator.h"
+
+#include "java_lang_Iterable.h"
+
+__TIB_DEFINITION_java_lang_Iterable __TIB_java_lang_Iterable = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Iterable, // classInitializer
+ "java.lang.Iterable", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<T:Ljava/lang/Object;>Ljava/lang/Object;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_lang_Iterable;
+JAVA_OBJECT __CLASS_java_lang_Iterable_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Iterable_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Iterable_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_lang_Iterable()
+{
+ staticInitializerLock(&__TIB_java_lang_Iterable);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Iterable.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Iterable.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Iterable);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Iterable.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Iterable.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Iterable.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Iterable")
+ __INIT_IMPL_java_lang_Iterable();
+ }
+}
+
+void __INIT_IMPL_java_lang_Iterable()
+{
+ __TIB_java_lang_Iterable.numInterfaces = 0;
+ __TIB_java_lang_Iterable.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Iterable.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_lang_Iterable.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Iterable.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Iterable.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_lang_Iterable = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Iterable);
+ __TIB_java_lang_Iterable.clazz = __CLASS_java_lang_Iterable;
+ __TIB_java_lang_Iterable.baseType = JAVA_NULL;
+ __CLASS_java_lang_Iterable_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Iterable);
+ __CLASS_java_lang_Iterable_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Iterable_1ARRAY);
+ __CLASS_java_lang_Iterable_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Iterable_2ARRAY);
+
+ __TIB_java_lang_Iterable.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_lang_Iterable.h b/tests/nbody-java/java_lang_Iterable.h
new file mode 100644
index 00000000..41b09c04
--- /dev/null
+++ b/tests/nbody-java/java_lang_Iterable.h
@@ -0,0 +1,32 @@
+#ifndef __JAVA_LANG_ITERABLE__
+#define __JAVA_LANG_ITERABLE__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_lang_Iterable_iterator__ 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_util_Iterator
+#define XMLVM_FORWARD_DECL_java_util_Iterator
+XMLVM_FORWARD_DECL(java_util_Iterator)
+#endif
+
+XMLVM_DEFINE_CLASS(java_lang_Iterable, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_lang_Iterable;
+extern JAVA_OBJECT __CLASS_java_lang_Iterable_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Iterable_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Iterable_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_lang_Iterable
+#define XMLVM_FORWARD_DECL_java_lang_Iterable
+typedef struct java_lang_Iterable java_lang_Iterable;
+#endif
+
+void __INIT_java_lang_Iterable();
+void __INIT_IMPL_java_lang_Iterable();
+
+#endif
diff --git a/tests/nbody-java/java_lang_Long.c b/tests/nbody-java/java_lang_Long.c
new file mode 100644
index 00000000..397702d8
--- /dev/null
+++ b/tests/nbody-java/java_lang_Long.c
@@ -0,0 +1,1903 @@
+#include "xmlvm.h"
+#include "java_lang_Character.h"
+#include "java_lang_Class.h"
+#include "java_lang_Long_valueOfCache.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+#include "java_lang_System.h"
+
+#include "java_lang_Long.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Long
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Long
+
+__TIB_DEFINITION_java_lang_Long __TIB_java_lang_Long = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Long, // classInitializer
+ "java.lang.Long", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "Ljava/lang/Number;Ljava/lang/Comparable<Ljava/lang/Long;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Number, // extends
+ sizeof(java_lang_Long), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_Long;
+JAVA_OBJECT __CLASS_java_lang_Long_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Long_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Long_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_lang_Long_serialVersionUID;
+static JAVA_LONG _STATIC_java_lang_Long_MAX_VALUE;
+static JAVA_LONG _STATIC_java_lang_Long_MIN_VALUE;
+static JAVA_OBJECT _STATIC_java_lang_Long_TYPE;
+static JAVA_INT _STATIC_java_lang_Long_SIZE;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_Long()
+{
+ staticInitializerLock(&__TIB_java_lang_Long);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Long.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Long.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Long);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Long.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Long.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Long.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Long")
+ __INIT_IMPL_java_lang_Long();
+ }
+}
+
+void __INIT_IMPL_java_lang_Long()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Number)
+ __TIB_java_lang_Long.newInstanceFunc = __NEW_INSTANCE_java_lang_Long;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_Long.vtable, __TIB_java_lang_Number.vtable, sizeof(__TIB_java_lang_Number.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_Long.vtable[6] = (VTABLE_PTR) &java_lang_Long_byteValue__;
+ __TIB_java_lang_Long.vtable[7] = (VTABLE_PTR) &java_lang_Long_doubleValue__;
+ __TIB_java_lang_Long.vtable[1] = (VTABLE_PTR) &java_lang_Long_equals___java_lang_Object;
+ __TIB_java_lang_Long.vtable[8] = (VTABLE_PTR) &java_lang_Long_floatValue__;
+ __TIB_java_lang_Long.vtable[4] = (VTABLE_PTR) &java_lang_Long_hashCode__;
+ __TIB_java_lang_Long.vtable[9] = (VTABLE_PTR) &java_lang_Long_intValue__;
+ __TIB_java_lang_Long.vtable[10] = (VTABLE_PTR) &java_lang_Long_longValue__;
+ __TIB_java_lang_Long.vtable[11] = (VTABLE_PTR) &java_lang_Long_shortValue__;
+ __TIB_java_lang_Long.vtable[5] = (VTABLE_PTR) &java_lang_Long_toString__;
+ __TIB_java_lang_Long.vtable[12] = (VTABLE_PTR) &java_lang_Long_compareTo___java_lang_Object;
+ // Initialize interface information
+ __TIB_java_lang_Long.numImplementedInterfaces = 2;
+ __TIB_java_lang_Long.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_lang_Long.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_lang_Comparable)
+
+ __TIB_java_lang_Long.implementedInterfaces[0][1] = &__TIB_java_lang_Comparable;
+ // Initialize itable for this class
+ __TIB_java_lang_Long.itableBegin = &__TIB_java_lang_Long.itable[0];
+ __TIB_java_lang_Long.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_lang_Long.vtable[12];
+
+ _STATIC_java_lang_Long_serialVersionUID = 4290774380558885855;
+ _STATIC_java_lang_Long_MAX_VALUE = 9223372036854775807;
+ _STATIC_java_lang_Long_MIN_VALUE = -9223372036854775808;
+ _STATIC_java_lang_Long_TYPE = (java_lang_Class*) JAVA_NULL;
+ _STATIC_java_lang_Long_SIZE = 64;
+
+ __TIB_java_lang_Long.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Long.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_Long.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_Long.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_Long.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_Long.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Long.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Long.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_Long = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Long);
+ __TIB_java_lang_Long.clazz = __CLASS_java_lang_Long;
+ __TIB_java_lang_Long.baseType = JAVA_NULL;
+ __CLASS_java_lang_Long_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Long);
+ __CLASS_java_lang_Long_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Long_1ARRAY);
+ __CLASS_java_lang_Long_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Long_2ARRAY);
+ java_lang_Long___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_Long]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_Long.classInitialized = 1;
+}
+
+void __DELETE_java_lang_Long(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_Long]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_Long(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Number(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_Long*) me)->fields.java_lang_Long.value_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_Long]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_Long()
+{ XMLVM_CLASS_INIT(java_lang_Long)
+java_lang_Long* me = (java_lang_Long*) XMLVM_MALLOC(sizeof(java_lang_Long));
+ me->tib = &__TIB_java_lang_Long;
+ __INIT_INSTANCE_MEMBERS_java_lang_Long(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_Long]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Long()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_lang_Long_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ return _STATIC_java_lang_Long_serialVersionUID;
+}
+
+void java_lang_Long_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+_STATIC_java_lang_Long_serialVersionUID = v;
+}
+
+JAVA_LONG java_lang_Long_GET_MAX_VALUE()
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ return _STATIC_java_lang_Long_MAX_VALUE;
+}
+
+void java_lang_Long_PUT_MAX_VALUE(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+_STATIC_java_lang_Long_MAX_VALUE = v;
+}
+
+JAVA_LONG java_lang_Long_GET_MIN_VALUE()
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ return _STATIC_java_lang_Long_MIN_VALUE;
+}
+
+void java_lang_Long_PUT_MIN_VALUE(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+_STATIC_java_lang_Long_MIN_VALUE = v;
+}
+
+JAVA_OBJECT java_lang_Long_GET_TYPE()
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ return _STATIC_java_lang_Long_TYPE;
+}
+
+void java_lang_Long_PUT_TYPE(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+_STATIC_java_lang_Long_TYPE = v;
+}
+
+JAVA_INT java_lang_Long_GET_SIZE()
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ return _STATIC_java_lang_Long_SIZE;
+}
+
+void java_lang_Long_PUT_SIZE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+_STATIC_java_lang_Long_SIZE = v;
+}
+
+void java_lang_Long___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long___CLINIT___]
+ XMLVM_ENTER_METHOD("java.lang.Long", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("Long.java", 54)
+ _r0.i = 0;
+ XMLVM_CLASS_INIT(long)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_long, _r0.i);
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r0.o)->tib->vtable[3])(_r0.o);
+ XMLVM_SOURCE_POSITION("Long.java", 55)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_Class_getComponentType__(_r0.o);
+ java_lang_Long_PUT_TYPE( _r0.o);
+ XMLVM_SOURCE_POSITION("Long.java", 31)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Long___INIT____long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long___INIT____long]
+ XMLVM_ENTER_METHOD("java.lang.Long", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.l = n1;
+ XMLVM_SOURCE_POSITION("Long.java", 75)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Number___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Long.java", 76)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_Long*) _r0.o)->fields.java_lang_Long.value_ = _r1.l;
+ XMLVM_SOURCE_POSITION("Long.java", 77)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Long___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Long", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Long.java", 89)
+ _r0.l = java_lang_Long_parseLong___java_lang_String(_r3.o);
+ XMLVM_CHECK_NPE(2)
+ java_lang_Long___INIT____long(_r2.o, _r0.l);
+ XMLVM_SOURCE_POSITION("Long.java", 90)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BYTE java_lang_Long_byteValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_byteValue__]
+ XMLVM_ENTER_METHOD("java.lang.Long", "byteValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Long.java", 94)
+ XMLVM_CHECK_NPE(2)
+ _r0.l = ((java_lang_Long*) _r2.o)->fields.java_lang_Long.value_;
+ _r0.i = (JAVA_INT) _r0.l;
+ _r0.i = (_r0.i << 24) >> 24;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Long_compareTo___java_lang_Long(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_compareTo___java_lang_Long]
+ XMLVM_ENTER_METHOD("java.lang.Long", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.o = n1;
+ XMLVM_SOURCE_POSITION("Long.java", 111)
+ XMLVM_CHECK_NPE(4)
+ _r0.l = ((java_lang_Long*) _r4.o)->fields.java_lang_Long.value_;
+ XMLVM_CHECK_NPE(5)
+ _r2.l = ((java_lang_Long*) _r5.o)->fields.java_lang_Long.value_;
+ _r0.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r0.i <= 0) goto label10;
+ _r0.i = 1;
+ label9:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label10:;
+ XMLVM_CHECK_NPE(4)
+ _r0.l = ((java_lang_Long*) _r4.o)->fields.java_lang_Long.value_;
+ XMLVM_CHECK_NPE(5)
+ _r2.l = ((java_lang_Long*) _r5.o)->fields.java_lang_Long.value_;
+ _r0.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r0.i >= 0) goto label20;
+ _r0.i = -1;
+ goto label9;
+ label20:;
+ _r0.i = 0;
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Long_decode___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_decode___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Long", "decode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r8.o = n1;
+ _r6.i = 16;
+ _r4.i = 1;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("Long.java", 127)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(8)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r8.o)->tib->vtable[8])(_r8.o);
+ XMLVM_SOURCE_POSITION("Long.java", 128)
+ if (_r0.i != 0) goto label16;
+ XMLVM_SOURCE_POSITION("Long.java", 129)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label16:;
+ XMLVM_SOURCE_POSITION("Long.java", 131)
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(8)
+ _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r8.o)->tib->vtable[6])(_r8.o, _r3.i);
+ XMLVM_SOURCE_POSITION("Long.java", 132)
+ _r2.i = 45;
+ if (_r1.i != _r2.i) goto label35;
+ _r2 = _r4;
+ label25:;
+ XMLVM_SOURCE_POSITION("Long.java", 133)
+ if (_r2.i == 0) goto label46;
+ XMLVM_SOURCE_POSITION("Long.java", 134)
+ if (_r0.i != _r4.i) goto label37;
+ XMLVM_SOURCE_POSITION("Long.java", 135)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label35:;
+ _r2 = _r3;
+ goto label25;
+ label37:;
+ XMLVM_SOURCE_POSITION("Long.java", 137)
+ _r1.i = _r3.i + 1;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(8)
+ _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r8.o)->tib->vtable[6])(_r8.o, _r1.i);
+ _r7 = _r3;
+ _r3 = _r1;
+ _r1 = _r7;
+ label46:;
+ XMLVM_SOURCE_POSITION("Long.java", 140)
+ _r4.i = 10;
+ _r5.i = 48;
+ if (_r1.i != _r5.i) goto label99;
+ XMLVM_SOURCE_POSITION("Long.java", 141)
+ XMLVM_SOURCE_POSITION("Long.java", 142)
+ _r1.i = _r3.i + 1;
+ if (_r1.i != _r0.i) goto label63;
+ XMLVM_SOURCE_POSITION("Long.java", 143)
+ _r0.l = 0;
+ _r0.o = java_lang_Long_valueOf___long(_r0.l);
+ label62:;
+ XMLVM_SOURCE_POSITION("Long.java", 163)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label63:;
+ XMLVM_SOURCE_POSITION("Long.java", 145)
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(8)
+ _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r8.o)->tib->vtable[6])(_r8.o, _r1.i);
+ _r4.i = 120;
+ if (_r3.i == _r4.i) goto label75;
+ _r4.i = 88;
+ if (_r3.i != _r4.i) goto label96;
+ label75:;
+ XMLVM_SOURCE_POSITION("Long.java", 146)
+ if (_r1.i != _r0.i) goto label83;
+ XMLVM_SOURCE_POSITION("Long.java", 147)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label83:;
+ XMLVM_SOURCE_POSITION("Long.java", 149)
+ _r0.i = _r1.i + 1;
+ _r1 = _r0;
+ _r0 = _r6;
+ label87:;
+ XMLVM_SOURCE_POSITION("Long.java", 150)
+ XMLVM_SOURCE_POSITION("Long.java", 162)
+ _r0.l = java_lang_Long_parse___java_lang_String_int_int_boolean(_r8.o, _r1.i, _r0.i, _r2.i);
+ _r0.o = java_lang_Long_valueOf___long(_r0.l);
+ goto label62;
+ label96:;
+ XMLVM_SOURCE_POSITION("Long.java", 152)
+ _r0.i = 8;
+ goto label87;
+ label99:;
+ XMLVM_SOURCE_POSITION("Long.java", 154)
+ _r5.i = 35;
+ if (_r1.i != _r5.i) goto label116;
+ XMLVM_SOURCE_POSITION("Long.java", 155)
+ if (_r3.i != _r0.i) goto label111;
+ XMLVM_SOURCE_POSITION("Long.java", 156)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label111:;
+ XMLVM_SOURCE_POSITION("Long.java", 158)
+ _r0.i = _r3.i + 1;
+ _r1 = _r0;
+ _r0 = _r6;
+ XMLVM_SOURCE_POSITION("Long.java", 159)
+ goto label87;
+ label116:;
+ _r0 = _r4;
+ _r1 = _r3;
+ goto label87;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_DOUBLE java_lang_Long_doubleValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_doubleValue__]
+ XMLVM_ENTER_METHOD("java.lang.Long", "doubleValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Long.java", 168)
+ XMLVM_CHECK_NPE(2)
+ _r0.l = ((java_lang_Long*) _r2.o)->fields.java_lang_Long.value_;
+ _r0.d = (JAVA_DOUBLE) _r0.l;
+ XMLVM_EXIT_METHOD()
+ return _r0.d;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Long_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.Long", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.o = n1;
+ XMLVM_SOURCE_POSITION("Long.java", 183)
+ XMLVM_CLASS_INIT(java_lang_Long)
+ _r0.i = XMLVM_ISA(_r5.o, __CLASS_java_lang_Long);
+ if (_r0.i == 0) goto label16;
+ XMLVM_SOURCE_POSITION("Long.java", 184)
+ XMLVM_CHECK_NPE(4)
+ _r0.l = ((java_lang_Long*) _r4.o)->fields.java_lang_Long.value_;
+ _r5.o = _r5.o;
+ XMLVM_CHECK_NPE(5)
+ _r2.l = ((java_lang_Long*) _r5.o)->fields.java_lang_Long.value_;
+ _r0.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r0.i != 0) goto label16;
+ _r0.i = 1;
+ label15:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label16:;
+ _r0.i = 0;
+ goto label15;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_FLOAT java_lang_Long_floatValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_floatValue__]
+ XMLVM_ENTER_METHOD("java.lang.Long", "floatValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Long.java", 189)
+ XMLVM_CHECK_NPE(2)
+ _r0.l = ((java_lang_Long*) _r2.o)->fields.java_lang_Long.value_;
+ _r0.f = (JAVA_FLOAT) _r0.l;
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Long_getLong___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_getLong___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Long", "getLong", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r2.o = n1;
+ _r1.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("Long.java", 203)
+ if (_r2.o == JAVA_NULL) goto label9;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(2)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r2.o)->tib->vtable[8])(_r2.o);
+ if (_r0.i != 0) goto label11;
+ label9:;
+ _r0 = _r1;
+ label10:;
+ XMLVM_SOURCE_POSITION("Long.java", 204)
+ XMLVM_SOURCE_POSITION("Long.java", 213)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label11:;
+ XMLVM_SOURCE_POSITION("Long.java", 206)
+ _r0.o = java_lang_System_getProperty___java_lang_String(_r2.o);
+ XMLVM_SOURCE_POSITION("Long.java", 207)
+ if (_r0.o != JAVA_NULL) goto label19;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("Long.java", 208)
+ goto label10;
+ label19:;
+ XMLVM_TRY_BEGIN(w4223aaac15b1c22)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Long.java", 211)
+ _r0.o = java_lang_Long_decode___java_lang_String(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4223aaac15b1c22)
+ XMLVM_CATCH_END(w4223aaac15b1c22)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4223aaac15b1c22)
+ goto label10;
+ label24:;
+ java_lang_Thread* curThread_w4223aaac15b1c25 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4223aaac15b1c25->fields.java_lang_Thread.xmlvmException_;
+ _r0 = _r1;
+ goto label10;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Long_getLong___java_lang_String_long(JAVA_OBJECT n1, JAVA_LONG n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_getLong___java_lang_String_long]
+ XMLVM_ENTER_METHOD("java.lang.Long", "getLong", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ _r1.o = n1;
+ _r2.l = n2;
+ XMLVM_SOURCE_POSITION("Long.java", 232)
+ if (_r1.o == JAVA_NULL) goto label8;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
+ if (_r0.i != 0) goto label13;
+ label8:;
+ XMLVM_SOURCE_POSITION("Long.java", 233)
+ _r0.o = java_lang_Long_valueOf___long(_r2.l);
+ label12:;
+ XMLVM_SOURCE_POSITION("Long.java", 242)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label13:;
+ XMLVM_SOURCE_POSITION("Long.java", 235)
+ _r0.o = java_lang_System_getProperty___java_lang_String(_r1.o);
+ XMLVM_SOURCE_POSITION("Long.java", 236)
+ if (_r0.o != JAVA_NULL) goto label24;
+ XMLVM_SOURCE_POSITION("Long.java", 237)
+ _r0.o = java_lang_Long_valueOf___long(_r2.l);
+ goto label12;
+ label24:;
+ XMLVM_TRY_BEGIN(w4223aaac16b1c22)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Long.java", 240)
+ _r0.o = java_lang_Long_decode___java_lang_String(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4223aaac16b1c22)
+ XMLVM_CATCH_END(w4223aaac16b1c22)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4223aaac16b1c22)
+ goto label12;
+ label29:;
+ java_lang_Thread* curThread_w4223aaac16b1c25 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4223aaac16b1c25->fields.java_lang_Thread.xmlvmException_;
+ _r0.o = java_lang_Long_valueOf___long(_r2.l);
+ goto label12;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Long_getLong___java_lang_String_java_lang_Long(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_getLong___java_lang_String_java_lang_Long]
+ XMLVM_ENTER_METHOD("java.lang.Long", "getLong", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("Long.java", 261)
+ if (_r1.o == JAVA_NULL) goto label8;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
+ if (_r0.i != 0) goto label10;
+ label8:;
+ _r0 = _r2;
+ label9:;
+ XMLVM_SOURCE_POSITION("Long.java", 262)
+ XMLVM_SOURCE_POSITION("Long.java", 271)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label10:;
+ XMLVM_SOURCE_POSITION("Long.java", 264)
+ _r0.o = java_lang_System_getProperty___java_lang_String(_r1.o);
+ XMLVM_SOURCE_POSITION("Long.java", 265)
+ if (_r0.o != JAVA_NULL) goto label18;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("Long.java", 266)
+ goto label9;
+ label18:;
+ XMLVM_TRY_BEGIN(w4223aaac17b1c22)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Long.java", 269)
+ _r0.o = java_lang_Long_decode___java_lang_String(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4223aaac17b1c22)
+ XMLVM_CATCH_END(w4223aaac17b1c22)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4223aaac17b1c22)
+ goto label9;
+ label23:;
+ java_lang_Thread* curThread_w4223aaac17b1c25 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4223aaac17b1c25->fields.java_lang_Thread.xmlvmException_;
+ _r0 = _r2;
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Long_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_hashCode__]
+ XMLVM_ENTER_METHOD("java.lang.Long", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.o = me;
+ XMLVM_SOURCE_POSITION("Long.java", 277)
+ XMLVM_CHECK_NPE(5)
+ _r0.l = ((java_lang_Long*) _r5.o)->fields.java_lang_Long.value_;
+ XMLVM_CHECK_NPE(5)
+ _r2.l = ((java_lang_Long*) _r5.o)->fields.java_lang_Long.value_;
+ _r4.i = 32;
+ _r2.l = ((JAVA_ULONG) _r2.l) >> (0x3f & ((JAVA_ULONG) _r4.l));
+ _r0.l = _r0.l ^ _r2.l;
+ _r0.i = (JAVA_INT) _r0.l;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Long_intValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_intValue__]
+ XMLVM_ENTER_METHOD("java.lang.Long", "intValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Long.java", 282)
+ XMLVM_CHECK_NPE(2)
+ _r0.l = ((java_lang_Long*) _r2.o)->fields.java_lang_Long.value_;
+ _r0.i = (JAVA_INT) _r0.l;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_lang_Long_longValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_longValue__]
+ XMLVM_ENTER_METHOD("java.lang.Long", "longValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Long.java", 292)
+ XMLVM_CHECK_NPE(2)
+ _r0.l = ((java_lang_Long*) _r2.o)->fields.java_lang_Long.value_;
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_lang_Long_parseLong___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_parseLong___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Long", "parseLong", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Long.java", 307)
+ _r0.i = 10;
+ _r0.l = java_lang_Long_parseLong___java_lang_String_int(_r2.o, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_lang_Long_parseLong___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_parseLong___java_lang_String_int]
+ XMLVM_ENTER_METHOD("java.lang.Long", "parseLong", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = n1;
+ _r5.i = n2;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("Long.java", 328)
+ if (_r4.o == JAVA_NULL) goto label10;
+ _r0.i = 2;
+ if (_r5.i < _r0.i) goto label10;
+ XMLVM_SOURCE_POSITION("Long.java", 329)
+ _r0.i = 36;
+ if (_r5.i <= _r0.i) goto label16;
+ label10:;
+ XMLVM_SOURCE_POSITION("Long.java", 330)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label16:;
+ XMLVM_SOURCE_POSITION("Long.java", 332)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r4.o)->tib->vtable[8])(_r4.o);
+ XMLVM_SOURCE_POSITION("Long.java", 333)
+ if (_r0.i != 0) goto label28;
+ XMLVM_SOURCE_POSITION("Long.java", 334)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label28:;
+ XMLVM_SOURCE_POSITION("Long.java", 336)
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(4)
+ _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r4.o)->tib->vtable[6])(_r4.o, _r3.i);
+ _r2.i = 45;
+ if (_r1.i != _r2.i) goto label49;
+ _r1.i = 1;
+ label37:;
+ XMLVM_SOURCE_POSITION("Long.java", 337)
+ if (_r1.i == 0) goto label57;
+ _r2.i = _r3.i + 1;
+ if (_r2.i != _r0.i) goto label51;
+ XMLVM_SOURCE_POSITION("Long.java", 338)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label49:;
+ _r1 = _r3;
+ goto label37;
+ label51:;
+ _r0 = _r2;
+ label52:;
+ XMLVM_SOURCE_POSITION("Long.java", 341)
+ _r0.l = java_lang_Long_parse___java_lang_String_int_int_boolean(_r4.o, _r0.i, _r5.i, _r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ label57:;
+ _r0 = _r3;
+ goto label52;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_lang_Long_parse___java_lang_String_int_int_boolean(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3, JAVA_BOOLEAN n4)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_parse___java_lang_String_int_int_boolean]
+ XMLVM_ENTER_METHOD("java.lang.Long", "parse", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ XMLVMElem _r14;
+ _r11.o = n1;
+ _r12.i = n2;
+ _r13.i = n3;
+ _r14.i = n4;
+ XMLVM_SOURCE_POSITION("Long.java", 346)
+ _r0.l = -9223372036854775808;
+ _r2.l = (JAVA_LONG) _r13.i;
+ _r0.l = _r0.l / _r2.l;
+ XMLVM_SOURCE_POSITION("Long.java", 347)
+ _r2.l = 0;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(11)
+ _r4.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r11.o)->tib->vtable[8])(_r11.o);
+ _r4.l = (JAVA_LONG) _r4.i;
+ label11:;
+ XMLVM_SOURCE_POSITION("Long.java", 348)
+ _r6.l = (JAVA_LONG) _r12.i;
+ _r6.i = _r6.l > _r4.l ? 1 : (_r6.l == _r4.l ? 0 : -1);
+ if (_r6.i < 0) goto label31;
+ XMLVM_SOURCE_POSITION("Long.java", 362)
+ if (_r14.i != 0) goto label79;
+ XMLVM_SOURCE_POSITION("Long.java", 363)
+ _r12.l = -_r2.l;
+ _r0.l = 0;
+ _r14.i = _r12.l > _r0.l ? 1 : (_r12.l == _r0.l ? 0 : -1);
+ if (_r14.i >= 0) goto label77;
+ XMLVM_SOURCE_POSITION("Long.java", 364)
+ XMLVM_SOURCE_POSITION("Long.java", 365)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r12.o)
+ label31:;
+ XMLVM_SOURCE_POSITION("Long.java", 349)
+ _r6.i = _r12.i + 1;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(11)
+ _r12.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r11.o)->tib->vtable[6])(_r11.o, _r12.i);
+ _r12.i = java_lang_Character_digit___char_int(_r12.i, _r13.i);
+ XMLVM_SOURCE_POSITION("Long.java", 350)
+ _r7.i = -1;
+ if (_r12.i != _r7.i) goto label50;
+ XMLVM_SOURCE_POSITION("Long.java", 351)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r12.o)
+ label50:;
+ XMLVM_SOURCE_POSITION("Long.java", 353)
+ _r7.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r7.i <= 0) goto label60;
+ XMLVM_SOURCE_POSITION("Long.java", 354)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r12.o)
+ label60:;
+ XMLVM_SOURCE_POSITION("Long.java", 356)
+ _r7.l = (JAVA_LONG) _r13.i;
+ _r7.l = _r7.l * _r2.l;
+ _r9.l = (JAVA_LONG) _r12.i;
+ _r7.l = _r7.l - _r9.l;
+ _r12.i = _r7.l > _r2.l ? 1 : (_r7.l == _r2.l ? 0 : -1);
+ if (_r12.i <= 0) goto label74;
+ XMLVM_SOURCE_POSITION("Long.java", 357)
+ XMLVM_SOURCE_POSITION("Long.java", 358)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r12.o)
+ label74:;
+ _r2 = _r7;
+ _r12 = _r6;
+ XMLVM_SOURCE_POSITION("Long.java", 360)
+ goto label11;
+ label77:;
+ _r11 = _r12;
+ label78:;
+ XMLVM_SOURCE_POSITION("Long.java", 368)
+ XMLVM_EXIT_METHOD()
+ return _r11.l;
+ label79:;
+ _r11 = _r2;
+ goto label78;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_SHORT java_lang_Long_shortValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_shortValue__]
+ XMLVM_ENTER_METHOD("java.lang.Long", "shortValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Long.java", 373)
+ XMLVM_CHECK_NPE(2)
+ _r0.l = ((java_lang_Long*) _r2.o)->fields.java_lang_Long.value_;
+ _r0.i = (JAVA_INT) _r0.l;
+ _r0.i = (_r0.i << 16) >> 16;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Long_toBinaryString___long(JAVA_LONG n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_toBinaryString___long]
+ XMLVM_ENTER_METHOD("java.lang.Long", "toBinaryString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ _r9.l = n1;
+ _r4.l = 0;
+ _r8.i = 1;
+ XMLVM_SOURCE_POSITION("Long.java", 385)
+ XMLVM_SOURCE_POSITION("Long.java", 388)
+ _r0.i = _r9.l > _r4.l ? 1 : (_r9.l == _r4.l ? 0 : -1);
+ if (_r0.i >= 0) goto label44;
+ XMLVM_SOURCE_POSITION("Long.java", 389)
+ _r0.i = 64;
+ label9:;
+ XMLVM_SOURCE_POSITION("Long.java", 396)
+ XMLVM_CLASS_INIT(char)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ _r2 = _r9;
+ label12:;
+ XMLVM_SOURCE_POSITION("Long.java", 398)
+ _r0.i = _r0.i + -1;
+ _r4.l = 1;
+ _r4.l = _r4.l & _r2.l;
+ _r6.l = 48;
+ _r4.l = _r4.l + _r6.l;
+ _r4.i = (JAVA_INT) _r4.l;
+ _r4.i = _r4.i & 0xffff;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r4.i;
+ XMLVM_SOURCE_POSITION("Long.java", 399)
+ _r2.l = _r2.l >> (0x3f & _r8.l);
+ if (_r0.i > 0) goto label12;
+ XMLVM_SOURCE_POSITION("Long.java", 400)
+ XMLVM_SOURCE_POSITION("Long.java", 401)
+ _r0.o = __NEW_java_lang_String();
+ _r2.i = 0;
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____int_int_char_1ARRAY(_r0.o, _r2.i, _r3.i, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label35:;
+ XMLVM_SOURCE_POSITION("Long.java", 392)
+ _r2.i = _r2.i + 1;
+ label37:;
+ XMLVM_SOURCE_POSITION("Long.java", 391)
+ _r0.l = _r0.l >> (0x3f & _r8.l);
+ _r3.i = _r0.l > _r4.l ? 1 : (_r0.l == _r4.l ? 0 : -1);
+ if (_r3.i != 0) goto label35;
+ _r0 = _r2;
+ goto label9;
+ label44:;
+ _r0 = _r9;
+ _r2 = _r8;
+ goto label37;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Long_toHexString___long(JAVA_LONG n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_toHexString___long]
+ XMLVM_ENTER_METHOD("java.lang.Long", "toHexString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r7.l = n1;
+ _r4.l = 0;
+ _r6.i = 4;
+ XMLVM_SOURCE_POSITION("Long.java", 414)
+ _r0.i = 1;
+ _r1.i = _r7.l > _r4.l ? 1 : (_r7.l == _r4.l ? 0 : -1);
+ if (_r1.i >= 0) goto label54;
+ XMLVM_SOURCE_POSITION("Long.java", 417)
+ XMLVM_SOURCE_POSITION("Long.java", 418)
+ _r0.i = 16;
+ label10:;
+ XMLVM_SOURCE_POSITION("Long.java", 425)
+ XMLVM_CLASS_INIT(char)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ _r2 = _r7;
+ label13:;
+ XMLVM_SOURCE_POSITION("Long.java", 427)
+ _r4.l = 15;
+ _r4.l = _r4.l & _r2.l;
+ _r4.i = (JAVA_INT) _r4.l;
+ _r5.i = 9;
+ if (_r4.i <= _r5.i) goto label51;
+ XMLVM_SOURCE_POSITION("Long.java", 428)
+ XMLVM_SOURCE_POSITION("Long.java", 429)
+ _r5.i = 10;
+ _r4.i = _r4.i - _r5.i;
+ _r4.i = _r4.i + 97;
+ label26:;
+ XMLVM_SOURCE_POSITION("Long.java", 433)
+ _r0.i = _r0.i + -1;
+ _r4.i = _r4.i & 0xffff;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r4.i;
+ XMLVM_SOURCE_POSITION("Long.java", 434)
+ _r2.l = _r2.l >> (0x3f & _r6.l);
+ if (_r0.i > 0) goto label13;
+ XMLVM_SOURCE_POSITION("Long.java", 435)
+ XMLVM_SOURCE_POSITION("Long.java", 436)
+ _r0.o = __NEW_java_lang_String();
+ _r2.i = 0;
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____int_int_char_1ARRAY(_r0.o, _r2.i, _r3.i, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label42:;
+ XMLVM_SOURCE_POSITION("Long.java", 421)
+ _r2.i = _r2.i + 1;
+ label44:;
+ XMLVM_SOURCE_POSITION("Long.java", 420)
+ _r0.l = _r0.l >> (0x3f & _r6.l);
+ _r3.i = _r0.l > _r4.l ? 1 : (_r0.l == _r4.l ? 0 : -1);
+ if (_r3.i != 0) goto label42;
+ _r0 = _r2;
+ goto label10;
+ label51:;
+ XMLVM_SOURCE_POSITION("Long.java", 431)
+ _r4.i = _r4.i + 48;
+ goto label26;
+ label54:;
+ _r2 = _r0;
+ _r0 = _r7;
+ goto label44;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Long_toOctalString___long(JAVA_LONG n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_toOctalString___long]
+ XMLVM_ENTER_METHOD("java.lang.Long", "toOctalString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ _r9.l = n1;
+ _r4.l = 0;
+ _r8.i = 3;
+ XMLVM_SOURCE_POSITION("Long.java", 448)
+ _r0.i = 1;
+ _r1.i = _r9.l > _r4.l ? 1 : (_r9.l == _r4.l ? 0 : -1);
+ if (_r1.i >= 0) goto label45;
+ XMLVM_SOURCE_POSITION("Long.java", 451)
+ XMLVM_SOURCE_POSITION("Long.java", 452)
+ _r0.i = 22;
+ label10:;
+ XMLVM_SOURCE_POSITION("Long.java", 459)
+ XMLVM_CLASS_INIT(char)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ _r2 = _r9;
+ label13:;
+ XMLVM_SOURCE_POSITION("Long.java", 461)
+ _r0.i = _r0.i + -1;
+ _r4.l = 7;
+ _r4.l = _r4.l & _r2.l;
+ _r6.l = 48;
+ _r4.l = _r4.l + _r6.l;
+ _r4.i = (JAVA_INT) _r4.l;
+ _r4.i = _r4.i & 0xffff;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r4.i;
+ XMLVM_SOURCE_POSITION("Long.java", 462)
+ _r2.l = ((JAVA_ULONG) _r2.l) >> (0x3f & ((JAVA_ULONG) _r8.l));
+ if (_r0.i > 0) goto label13;
+ XMLVM_SOURCE_POSITION("Long.java", 463)
+ XMLVM_SOURCE_POSITION("Long.java", 464)
+ _r0.o = __NEW_java_lang_String();
+ _r2.i = 0;
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____int_int_char_1ARRAY(_r0.o, _r2.i, _r3.i, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label36:;
+ XMLVM_SOURCE_POSITION("Long.java", 455)
+ _r2.i = _r2.i + 1;
+ label38:;
+ XMLVM_SOURCE_POSITION("Long.java", 454)
+ _r0.l = ((JAVA_ULONG) _r0.l) >> (0x3f & ((JAVA_ULONG) _r8.l));
+ _r3.i = _r0.l > _r4.l ? 1 : (_r0.l == _r4.l ? 0 : -1);
+ if (_r3.i != 0) goto label36;
+ _r0 = _r2;
+ goto label10;
+ label45:;
+ _r2 = _r0;
+ _r0 = _r9;
+ goto label38;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Long_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_toString__]
+ XMLVM_ENTER_METHOD("java.lang.Long", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Long.java", 469)
+ XMLVM_CHECK_NPE(2)
+ _r0.l = ((java_lang_Long*) _r2.o)->fields.java_lang_Long.value_;
+ _r0.o = java_lang_Long_toString___long(_r0.l);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Long_toString___long(JAVA_LONG n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_toString___long]
+ XMLVM_ENTER_METHOD("java.lang.Long", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.l = n1;
+ XMLVM_SOURCE_POSITION("Long.java", 482)
+ _r0.i = 10;
+ _r0.o = java_lang_Long_toString___long_int(_r1.l, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Long_toString___long_int(JAVA_LONG n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_toString___long_int]
+ XMLVM_ENTER_METHOD("java.lang.Long", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ XMLVMElem _r14;
+ XMLVMElem _r15;
+ _r13.l = n1;
+ _r15.i = n2;
+ _r12.i = 10;
+ _r2.i = 2;
+ _r4.i = 1;
+ _r10.l = 0;
+ _r9.i = 0;
+ XMLVM_SOURCE_POSITION("Long.java", 500)
+ if (_r15.i < _r2.i) goto label13;
+ _r0.i = 36;
+ if (_r15.i <= _r0.i) goto label87;
+ label13:;
+ _r0 = _r12;
+ label14:;
+ XMLVM_SOURCE_POSITION("Long.java", 501)
+ XMLVM_SOURCE_POSITION("Long.java", 503)
+ _r1.i = _r13.l > _r10.l ? 1 : (_r13.l == _r10.l ? 0 : -1);
+ if (_r1.i != 0) goto label21;
+ XMLVM_SOURCE_POSITION("Long.java", 504)
+ // "0"
+ _r0.o = xmlvm_create_java_string_from_pool(70);
+ label20:;
+ XMLVM_SOURCE_POSITION("Long.java", 531)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label21:;
+ XMLVM_SOURCE_POSITION("Long.java", 509)
+ _r1.i = _r13.l > _r10.l ? 1 : (_r13.l == _r10.l ? 0 : -1);
+ if (_r1.i >= 0) goto label75;
+ _r1 = _r4;
+ label26:;
+ XMLVM_SOURCE_POSITION("Long.java", 510)
+ if (_r1.i != 0) goto label83;
+ XMLVM_SOURCE_POSITION("Long.java", 512)
+ _r2.l = -_r13.l;
+ _r5 = _r13;
+ label30:;
+ XMLVM_SOURCE_POSITION("Long.java", 514)
+ _r7.l = (JAVA_LONG) _r0.i;
+ _r5.l = _r5.l / _r7.l;
+ _r7.i = _r5.l > _r10.l ? 1 : (_r5.l == _r10.l ? 0 : -1);
+ if (_r7.i != 0) goto label77;
+ XMLVM_SOURCE_POSITION("Long.java", 518)
+ XMLVM_CLASS_INIT(char)
+ _r5.o = XMLVMArray_createSingleDimension(__CLASS_char, _r4.i);
+ label38:;
+ XMLVM_SOURCE_POSITION("Long.java", 520)
+ _r6.l = (JAVA_LONG) _r0.i;
+ _r6.l = _r2.l % _r6.l;
+ _r6.i = (JAVA_INT) _r6.l;
+ _r6.i = _r9.i - _r6.i;
+ _r7.i = 9;
+ if (_r6.i <= _r7.i) goto label80;
+ XMLVM_SOURCE_POSITION("Long.java", 521)
+ XMLVM_SOURCE_POSITION("Long.java", 522)
+ _r6.i = _r6.i - _r12.i;
+ _r6.i = _r6.i + 97;
+ label51:;
+ XMLVM_SOURCE_POSITION("Long.java", 526)
+ _r4.i = _r4.i + -1;
+ _r6.i = _r6.i & 0xffff;
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r4.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r6.i;
+ XMLVM_SOURCE_POSITION("Long.java", 527)
+ _r6.l = (JAVA_LONG) _r0.i;
+ _r2.l = _r2.l / _r6.l;
+ _r6.i = _r2.l > _r10.l ? 1 : (_r2.l == _r10.l ? 0 : -1);
+ if (_r6.i != 0) goto label38;
+ XMLVM_SOURCE_POSITION("Long.java", 528)
+ if (_r1.i == 0) goto label68;
+ XMLVM_SOURCE_POSITION("Long.java", 529)
+ _r0.i = 45;
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r9.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r0.i;
+ label68:;
+ _r0.o = __NEW_java_lang_String();
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____int_int_char_1ARRAY(_r0.o, _r9.i, _r1.i, _r5.o);
+ goto label20;
+ label75:;
+ _r1 = _r9;
+ goto label26;
+ label77:;
+ XMLVM_SOURCE_POSITION("Long.java", 515)
+ _r4.i = _r4.i + 1;
+ goto label30;
+ label80:;
+ XMLVM_SOURCE_POSITION("Long.java", 524)
+ _r6.i = _r6.i + 48;
+ goto label51;
+ label83:;
+ _r4 = _r2;
+ _r5 = _r13;
+ _r2 = _r13;
+ goto label30;
+ label87:;
+ _r0 = _r15;
+ goto label14;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Long_valueOf___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_valueOf___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Long", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Long.java", 547)
+ _r0.l = java_lang_Long_parseLong___java_lang_String(_r2.o);
+ _r0.o = java_lang_Long_valueOf___long(_r0.l);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Long_valueOf___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_valueOf___java_lang_String_int]
+ XMLVM_ENTER_METHOD("java.lang.Long", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = n1;
+ _r3.i = n2;
+ XMLVM_SOURCE_POSITION("Long.java", 569)
+ _r0.l = java_lang_Long_parseLong___java_lang_String_int(_r2.o, _r3.i);
+ _r0.o = java_lang_Long_valueOf___long(_r0.l);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_lang_Long_highestOneBit___long(JAVA_LONG n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_highestOneBit___long]
+ XMLVM_ENTER_METHOD("java.lang.Long", "highestOneBit", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r6.l = n1;
+ _r4.i = 1;
+ XMLVM_SOURCE_POSITION("Long.java", 584)
+ _r0.l = _r6.l >> (0x3f & _r4.l);
+ _r0.l = _r0.l | _r6.l;
+ _r2.i = 2;
+ _r2.l = _r0.l >> (0x3f & _r2.l);
+ _r0.l = _r0.l | _r2.l;
+ _r2.i = 4;
+ _r2.l = _r0.l >> (0x3f & _r2.l);
+ _r0.l = _r0.l | _r2.l;
+ _r2.i = 8;
+ _r2.l = _r0.l >> (0x3f & _r2.l);
+ _r0.l = _r0.l | _r2.l;
+ _r2.i = 16;
+ _r2.l = _r0.l >> (0x3f & _r2.l);
+ _r0.l = _r0.l | _r2.l;
+ _r2.i = 32;
+ _r2.l = _r0.l >> (0x3f & _r2.l);
+ _r0.l = _r0.l | _r2.l;
+ _r2.l = ((JAVA_ULONG) _r0.l) >> (0x3f & ((JAVA_ULONG) _r4.l));
+ _r4.l = -1;
+ _r2.l = _r2.l ^ _r4.l;
+ _r0.l = _r0.l & _r2.l;
+ XMLVM_SOURCE_POSITION("Long.java", 590)
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_lang_Long_lowestOneBit___long(JAVA_LONG n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_lowestOneBit___long]
+ XMLVM_ENTER_METHOD("java.lang.Long", "lowestOneBit", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.l = n1;
+ XMLVM_SOURCE_POSITION("Long.java", 605)
+ _r0.l = -_r2.l;
+ _r0.l = _r0.l & _r2.l;
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Long_numberOfLeadingZeros___long(JAVA_LONG n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_numberOfLeadingZeros___long]
+ XMLVM_ENTER_METHOD("java.lang.Long", "numberOfLeadingZeros", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.l = n1;
+ XMLVM_SOURCE_POSITION("Long.java", 618)
+ _r0.i = 1;
+ _r0.l = _r4.l >> (0x3f & _r0.l);
+ _r0.l = _r0.l | _r4.l;
+ _r2.i = 2;
+ _r2.l = _r0.l >> (0x3f & _r2.l);
+ _r0.l = _r0.l | _r2.l;
+ _r2.i = 4;
+ _r2.l = _r0.l >> (0x3f & _r2.l);
+ _r0.l = _r0.l | _r2.l;
+ _r2.i = 8;
+ _r2.l = _r0.l >> (0x3f & _r2.l);
+ _r0.l = _r0.l | _r2.l;
+ _r2.i = 16;
+ _r2.l = _r0.l >> (0x3f & _r2.l);
+ _r0.l = _r0.l | _r2.l;
+ _r2.i = 32;
+ _r2.l = _r0.l >> (0x3f & _r2.l);
+ _r0.l = _r0.l | _r2.l;
+ _r2.l = -1;
+ _r0.l = _r0.l ^ _r2.l;
+ XMLVM_SOURCE_POSITION("Long.java", 624)
+ _r0.i = java_lang_Long_bitCount___long(_r0.l);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Long_numberOfTrailingZeros___long(JAVA_LONG n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_numberOfTrailingZeros___long]
+ XMLVM_ENTER_METHOD("java.lang.Long", "numberOfTrailingZeros", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.l = n1;
+ XMLVM_SOURCE_POSITION("Long.java", 637)
+ _r0.l = -_r4.l;
+ _r0.l = _r0.l & _r4.l;
+ _r2.l = 1;
+ _r0.l = _r0.l - _r2.l;
+ _r0.i = java_lang_Long_bitCount___long(_r0.l);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Long_bitCount___long(JAVA_LONG n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_bitCount___long]
+ XMLVM_ENTER_METHOD("java.lang.Long", "bitCount", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ _r12.l = n1;
+ _r10.l = 6148914691236517205;
+ _r8.l = 3689348814741910323;
+ _r7.i = 252645135;
+ _r6.i = 16711935;
+ _r5.i = 65535;
+ XMLVM_SOURCE_POSITION("Long.java", 650)
+ _r0.l = _r12.l & _r10.l;
+ _r2.i = 1;
+ _r2.l = _r12.l >> (0x3f & _r2.l);
+ _r2.l = _r2.l & _r10.l;
+ _r0.l = _r0.l + _r2.l;
+ _r2.l = _r0.l & _r8.l;
+ _r4.i = 2;
+ _r0.l = _r0.l >> (0x3f & _r4.l);
+ _r0.l = _r0.l & _r8.l;
+ _r0.l = _r0.l + _r2.l;
+ _r2.i = 32;
+ _r2.l = ((JAVA_ULONG) _r0.l) >> (0x3f & ((JAVA_ULONG) _r2.l));
+ _r0.l = _r0.l + _r2.l;
+ _r0.i = (JAVA_INT) _r0.l;
+ _r1.i = _r0.i & _r7.i;
+ _r0.i = _r0.i >> 4;
+ _r0.i = _r0.i & _r7.i;
+ _r0.i = _r0.i + _r1.i;
+ _r1.i = _r0.i & _r6.i;
+ _r0.i = _r0.i >> 8;
+ _r0.i = _r0.i & _r6.i;
+ _r0.i = _r0.i + _r1.i;
+ _r1.i = _r0.i & _r5.i;
+ _r0.i = _r0.i >> 16;
+ _r0.i = _r0.i & _r5.i;
+ _r0.i = _r0.i + _r1.i;
+ XMLVM_SOURCE_POSITION("Long.java", 657)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_lang_Long_rotateLeft___long_int(JAVA_LONG n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_rotateLeft___long_int]
+ XMLVM_ENTER_METHOD("java.lang.Long", "rotateLeft", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r4.l = n1;
+ _r6.i = n2;
+ XMLVM_SOURCE_POSITION("Long.java", 672)
+ if (_r6.i != 0) goto label4;
+ _r0 = _r4;
+ label3:;
+ XMLVM_SOURCE_POSITION("Long.java", 673)
+ XMLVM_SOURCE_POSITION("Long.java", 680)
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ label4:;
+ _r0.l = _r4.l << (0x3f & _r6.l);
+ _r2.i = -_r6.i;
+ _r2.l = ((JAVA_ULONG) _r4.l) >> (0x3f & ((JAVA_ULONG) _r2.l));
+ _r0.l = _r0.l | _r2.l;
+ goto label3;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_lang_Long_rotateRight___long_int(JAVA_LONG n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_rotateRight___long_int]
+ XMLVM_ENTER_METHOD("java.lang.Long", "rotateRight", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r4.l = n1;
+ _r6.i = n2;
+ XMLVM_SOURCE_POSITION("Long.java", 696)
+ if (_r6.i != 0) goto label4;
+ _r0 = _r4;
+ label3:;
+ XMLVM_SOURCE_POSITION("Long.java", 697)
+ XMLVM_SOURCE_POSITION("Long.java", 704)
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ label4:;
+ _r0.l = ((JAVA_ULONG) _r4.l) >> (0x3f & ((JAVA_ULONG) _r6.l));
+ _r2.i = -_r6.i;
+ _r2.l = _r4.l << (0x3f & _r2.l);
+ _r0.l = _r0.l | _r2.l;
+ goto label3;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_lang_Long_reverseBytes___long(JAVA_LONG n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_reverseBytes___long]
+ XMLVM_ENTER_METHOD("java.lang.Long", "reverseBytes", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ XMLVMElem _r14;
+ XMLVMElem _r15;
+ XMLVMElem _r16;
+ _r15.l = n1;
+ XMLVM_SOURCE_POSITION("Long.java", 716)
+ _r0.i = 56;
+ _r0.l = ((JAVA_ULONG) _r15.l) >> (0x3f & ((JAVA_ULONG) _r0.l));
+ _r2.i = 40;
+ _r2.l = ((JAVA_ULONG) _r15.l) >> (0x3f & ((JAVA_ULONG) _r2.l));
+ _r4.l = 65280;
+ _r2.l = _r2.l & _r4.l;
+ _r4.i = 24;
+ _r4.l = ((JAVA_ULONG) _r15.l) >> (0x3f & ((JAVA_ULONG) _r4.l));
+ _r6.l = 16711680;
+ _r4.l = _r4.l & _r6.l;
+ _r6.i = 8;
+ _r6.l = ((JAVA_ULONG) _r15.l) >> (0x3f & ((JAVA_ULONG) _r6.l));
+ _r8.l = 4278190080;
+ _r6.l = _r6.l & _r8.l;
+ _r8.l = 4278190080;
+ _r8.l = _r8.l & _r15.l;
+ _r10.i = 8;
+ _r8.l = _r8.l << (0x3f & _r10.l);
+ _r10.l = 16711680;
+ _r10.l = _r10.l & _r15.l;
+ _r12.i = 24;
+ _r10.l = _r10.l << (0x3f & _r12.l);
+ _r12.l = 65280;
+ _r12.l = _r12.l & _r15.l;
+ _r14.i = 40;
+ _r12.l = _r12.l << (0x3f & _r14.l);
+ _r14.i = 56;
+ _r15.l = _r15.l << (0x3f & _r14.l);
+ _r15.l = _r15.l | _r12.l;
+ _r15.l = _r15.l | _r10.l;
+ _r15.l = _r15.l | _r8.l;
+ _r15.l = _r15.l | _r6.l;
+ _r15.l = _r15.l | _r4.l;
+ _r15.l = _r15.l | _r2.l;
+ _r15.l = _r15.l | _r0.l;
+ XMLVM_SOURCE_POSITION("Long.java", 724)
+ XMLVM_EXIT_METHOD()
+ return _r15.l;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_lang_Long_reverse___long(JAVA_LONG n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_reverse___long]
+ XMLVM_ENTER_METHOD("java.lang.Long", "reverse", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ _r12.l = n1;
+ _r10.l = 3689348814741910323;
+ _r8.l = 1085102592571150095;
+ _r7.i = 4;
+ _r6.i = 2;
+ _r2.i = 1;
+ XMLVM_SOURCE_POSITION("Long.java", 737)
+ _r0.l = 6148914691236517205;
+ _r0.l = _r0.l & _r12.l;
+ _r0.l = _r0.l << (0x3f & _r2.l);
+ _r2.l = _r12.l >> (0x3f & _r2.l);
+ _r4.l = 6148914691236517205;
+ _r2.l = _r2.l & _r4.l;
+ _r0.l = _r0.l | _r2.l;
+ _r2.l = _r0.l & _r10.l;
+ _r2.l = _r2.l << (0x3f & _r6.l);
+ _r0.l = _r0.l >> (0x3f & _r6.l);
+ _r0.l = _r0.l & _r10.l;
+ _r0.l = _r0.l | _r2.l;
+ _r2.l = _r0.l & _r8.l;
+ _r2.l = _r2.l << (0x3f & _r7.l);
+ _r0.l = _r0.l >> (0x3f & _r7.l);
+ _r0.l = _r0.l & _r8.l;
+ _r0.l = _r0.l | _r2.l;
+ XMLVM_SOURCE_POSITION("Long.java", 743)
+ _r0.l = java_lang_Long_reverseBytes___long(_r0.l);
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Long_signum___long(JAVA_LONG n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_signum___long]
+ XMLVM_ENTER_METHOD("java.lang.Long", "signum", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.l = n1;
+ _r1.l = 0;
+ XMLVM_SOURCE_POSITION("Long.java", 757)
+ _r0.i = _r3.l > _r1.l ? 1 : (_r3.l == _r1.l ? 0 : -1);
+ if (_r0.i != 0) goto label8;
+ _r0.i = 0;
+ label7:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label8:;
+ _r0.i = _r3.l > _r1.l ? 1 : (_r3.l == _r1.l ? 0 : -1);
+ if (_r0.i >= 0) goto label14;
+ _r0.i = -1;
+ goto label7;
+ label14:;
+ _r0.i = 1;
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Long_valueOf___long(JAVA_LONG n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Long)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_valueOf___long]
+ XMLVM_ENTER_METHOD("java.lang.Long", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.l = n1;
+ XMLVM_SOURCE_POSITION("Long.java", 773)
+ _r0.l = -128;
+ _r0.i = _r2.l > _r0.l ? 1 : (_r2.l == _r0.l ? 0 : -1);
+ if (_r0.i < 0) goto label12;
+ _r0.l = 127;
+ _r0.i = _r2.l > _r0.l ? 1 : (_r2.l == _r0.l ? 0 : -1);
+ if (_r0.i <= 0) goto label18;
+ label12:;
+ XMLVM_SOURCE_POSITION("Long.java", 774)
+ _r0.o = __NEW_java_lang_Long();
+ XMLVM_CHECK_NPE(0)
+ java_lang_Long___INIT____long(_r0.o, _r2.l);
+ label17:;
+ XMLVM_SOURCE_POSITION("Long.java", 776)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label18:;
+ _r0.o = java_lang_Long_valueOfCache_GET_CACHE();
+ _r1.i = (JAVA_INT) _r2.l;
+ _r1.i = _r1.i + 128;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ goto label17;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Long_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_compareTo___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.Long", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Long.java", 1)
+ _r2.o = _r2.o;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_Long_compareTo___java_lang_Long(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_Long.h b/tests/nbody-java/java_lang_Long.h
new file mode 100644
index 00000000..3f3d3ac3
--- /dev/null
+++ b/tests/nbody-java/java_lang_Long.h
@@ -0,0 +1,145 @@
+#ifndef __JAVA_LANG_LONG__
+#define __JAVA_LANG_LONG__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_Long 8
+// Implemented interfaces:
+#include "java_lang_Comparable.h"
+// Super Class:
+#include "java_lang_Number.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Character
+#define XMLVM_FORWARD_DECL_java_lang_Character
+XMLVM_FORWARD_DECL(java_lang_Character)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Long_valueOfCache
+#define XMLVM_FORWARD_DECL_java_lang_Long_valueOfCache
+XMLVM_FORWARD_DECL(java_lang_Long_valueOfCache)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+// Class declarations for java.lang.Long
+XMLVM_DEFINE_CLASS(java_lang_Long, 13, XMLVM_ITABLE_SIZE_java_lang_Long)
+
+extern JAVA_OBJECT __CLASS_java_lang_Long;
+extern JAVA_OBJECT __CLASS_java_lang_Long_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Long_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Long_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_Long
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_Long \
+ __INSTANCE_FIELDS_java_lang_Number; \
+ struct { \
+ JAVA_LONG value_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_Long \
+ } java_lang_Long
+
+struct java_lang_Long {
+ __TIB_DEFINITION_java_lang_Long* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_Long;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_Long
+#define XMLVM_FORWARD_DECL_java_lang_Long
+typedef struct java_lang_Long java_lang_Long;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_Long 13
+#define XMLVM_VTABLE_IDX_java_lang_Long_byteValue__ 6
+#define XMLVM_VTABLE_IDX_java_lang_Long_doubleValue__ 7
+#define XMLVM_VTABLE_IDX_java_lang_Long_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_lang_Long_floatValue__ 8
+#define XMLVM_VTABLE_IDX_java_lang_Long_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_lang_Long_intValue__ 9
+#define XMLVM_VTABLE_IDX_java_lang_Long_longValue__ 10
+#define XMLVM_VTABLE_IDX_java_lang_Long_shortValue__ 11
+#define XMLVM_VTABLE_IDX_java_lang_Long_toString__ 5
+#define XMLVM_VTABLE_IDX_java_lang_Long_compareTo___java_lang_Object 12
+
+void __INIT_java_lang_Long();
+void __INIT_IMPL_java_lang_Long();
+void __DELETE_java_lang_Long(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_Long(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_Long();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Long();
+JAVA_LONG java_lang_Long_GET_serialVersionUID();
+void java_lang_Long_PUT_serialVersionUID(JAVA_LONG v);
+JAVA_LONG java_lang_Long_GET_MAX_VALUE();
+void java_lang_Long_PUT_MAX_VALUE(JAVA_LONG v);
+JAVA_LONG java_lang_Long_GET_MIN_VALUE();
+void java_lang_Long_PUT_MIN_VALUE(JAVA_LONG v);
+JAVA_OBJECT java_lang_Long_GET_TYPE();
+void java_lang_Long_PUT_TYPE(JAVA_OBJECT v);
+JAVA_INT java_lang_Long_GET_SIZE();
+void java_lang_Long_PUT_SIZE(JAVA_INT v);
+void java_lang_Long___CLINIT_();
+void java_lang_Long___INIT____long(JAVA_OBJECT me, JAVA_LONG n1);
+void java_lang_Long___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 6
+JAVA_BYTE java_lang_Long_byteValue__(JAVA_OBJECT me);
+JAVA_INT java_lang_Long_compareTo___java_lang_Long(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Long_decode___java_lang_String(JAVA_OBJECT n1);
+// Vtable index: 7
+JAVA_DOUBLE java_lang_Long_doubleValue__(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_lang_Long_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 8
+JAVA_FLOAT java_lang_Long_floatValue__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Long_getLong___java_lang_String(JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Long_getLong___java_lang_String_long(JAVA_OBJECT n1, JAVA_LONG n2);
+JAVA_OBJECT java_lang_Long_getLong___java_lang_String_java_lang_Long(JAVA_OBJECT n1, JAVA_OBJECT n2);
+// Vtable index: 4
+JAVA_INT java_lang_Long_hashCode__(JAVA_OBJECT me);
+// Vtable index: 9
+JAVA_INT java_lang_Long_intValue__(JAVA_OBJECT me);
+// Vtable index: 10
+JAVA_LONG java_lang_Long_longValue__(JAVA_OBJECT me);
+JAVA_LONG java_lang_Long_parseLong___java_lang_String(JAVA_OBJECT n1);
+JAVA_LONG java_lang_Long_parseLong___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_LONG java_lang_Long_parse___java_lang_String_int_int_boolean(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3, JAVA_BOOLEAN n4);
+// Vtable index: 11
+JAVA_SHORT java_lang_Long_shortValue__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Long_toBinaryString___long(JAVA_LONG n1);
+JAVA_OBJECT java_lang_Long_toHexString___long(JAVA_LONG n1);
+JAVA_OBJECT java_lang_Long_toOctalString___long(JAVA_LONG n1);
+// Vtable index: 5
+JAVA_OBJECT java_lang_Long_toString__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Long_toString___long(JAVA_LONG n1);
+JAVA_OBJECT java_lang_Long_toString___long_int(JAVA_LONG n1, JAVA_INT n2);
+JAVA_OBJECT java_lang_Long_valueOf___java_lang_String(JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Long_valueOf___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_LONG java_lang_Long_highestOneBit___long(JAVA_LONG n1);
+JAVA_LONG java_lang_Long_lowestOneBit___long(JAVA_LONG n1);
+JAVA_INT java_lang_Long_numberOfLeadingZeros___long(JAVA_LONG n1);
+JAVA_INT java_lang_Long_numberOfTrailingZeros___long(JAVA_LONG n1);
+JAVA_INT java_lang_Long_bitCount___long(JAVA_LONG n1);
+JAVA_LONG java_lang_Long_rotateLeft___long_int(JAVA_LONG n1, JAVA_INT n2);
+JAVA_LONG java_lang_Long_rotateRight___long_int(JAVA_LONG n1, JAVA_INT n2);
+JAVA_LONG java_lang_Long_reverseBytes___long(JAVA_LONG n1);
+JAVA_LONG java_lang_Long_reverse___long(JAVA_LONG n1);
+JAVA_INT java_lang_Long_signum___long(JAVA_LONG n1);
+JAVA_OBJECT java_lang_Long_valueOf___long(JAVA_LONG n1);
+// Vtable index: 12
+JAVA_INT java_lang_Long_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_lang_Long_valueOfCache.c b/tests/nbody-java/java_lang_Long_valueOfCache.c
new file mode 100644
index 00000000..c58acc4f
--- /dev/null
+++ b/tests/nbody-java/java_lang_Long_valueOfCache.c
@@ -0,0 +1,212 @@
+#include "xmlvm.h"
+#include "java_lang_Long.h"
+
+#include "java_lang_Long_valueOfCache.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Long_valueOfCache
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Long_valueOfCache
+
+__TIB_DEFINITION_java_lang_Long_valueOfCache __TIB_java_lang_Long_valueOfCache = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Long_valueOfCache, // classInitializer
+ "java.lang.Long$valueOfCache", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_Long_valueOfCache), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_Long_valueOfCache;
+JAVA_OBJECT __CLASS_java_lang_Long_valueOfCache_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Long_valueOfCache_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Long_valueOfCache_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_OBJECT _STATIC_java_lang_Long_valueOfCache_CACHE;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_Long_valueOfCache()
+{
+ staticInitializerLock(&__TIB_java_lang_Long_valueOfCache);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Long_valueOfCache.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Long_valueOfCache.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Long_valueOfCache);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Long_valueOfCache.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Long_valueOfCache.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Long_valueOfCache.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Long$valueOfCache")
+ __INIT_IMPL_java_lang_Long_valueOfCache();
+ }
+}
+
+void __INIT_IMPL_java_lang_Long_valueOfCache()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_Long_valueOfCache.newInstanceFunc = __NEW_INSTANCE_java_lang_Long_valueOfCache;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_Long_valueOfCache.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_lang_Long_valueOfCache.numImplementedInterfaces = 0;
+ __TIB_java_lang_Long_valueOfCache.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_java_lang_Long_valueOfCache_CACHE = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+
+ __TIB_java_lang_Long_valueOfCache.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Long_valueOfCache.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_Long_valueOfCache.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_Long_valueOfCache.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_Long_valueOfCache.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_Long_valueOfCache.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Long_valueOfCache.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Long_valueOfCache.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_Long_valueOfCache = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Long_valueOfCache);
+ __TIB_java_lang_Long_valueOfCache.clazz = __CLASS_java_lang_Long_valueOfCache;
+ __TIB_java_lang_Long_valueOfCache.baseType = JAVA_NULL;
+ __CLASS_java_lang_Long_valueOfCache_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Long_valueOfCache);
+ __CLASS_java_lang_Long_valueOfCache_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Long_valueOfCache_1ARRAY);
+ __CLASS_java_lang_Long_valueOfCache_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Long_valueOfCache_2ARRAY);
+ java_lang_Long_valueOfCache___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_Long_valueOfCache]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_Long_valueOfCache.classInitialized = 1;
+}
+
+void __DELETE_java_lang_Long_valueOfCache(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_Long_valueOfCache]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_Long_valueOfCache(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_Long_valueOfCache]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_Long_valueOfCache()
+{ XMLVM_CLASS_INIT(java_lang_Long_valueOfCache)
+java_lang_Long_valueOfCache* me = (java_lang_Long_valueOfCache*) XMLVM_MALLOC(sizeof(java_lang_Long_valueOfCache));
+ me->tib = &__TIB_java_lang_Long_valueOfCache;
+ __INIT_INSTANCE_MEMBERS_java_lang_Long_valueOfCache(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_Long_valueOfCache]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Long_valueOfCache()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_lang_Long_valueOfCache();
+ java_lang_Long_valueOfCache___INIT___(me);
+ return me;
+}
+
+JAVA_OBJECT java_lang_Long_valueOfCache_GET_CACHE()
+{
+ XMLVM_CLASS_INIT(java_lang_Long_valueOfCache)
+ return _STATIC_java_lang_Long_valueOfCache_CACHE;
+}
+
+void java_lang_Long_valueOfCache_PUT_CACHE(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Long_valueOfCache)
+_STATIC_java_lang_Long_valueOfCache_CACHE = v;
+}
+
+void java_lang_Long_valueOfCache___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_valueOfCache___CLINIT___]
+ XMLVM_ENTER_METHOD("java.lang.Long$valueOfCache", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVM_SOURCE_POSITION("Long.java", 784)
+ _r0.i = 256;
+ XMLVM_CLASS_INIT(java_lang_Long)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Long, _r0.i);
+ java_lang_Long_valueOfCache_PUT_CACHE( _r0.o);
+ XMLVM_SOURCE_POSITION("Long.java", 787)
+ _r0.i = -128;
+ label8:;
+ _r1.i = 127;
+ if (_r0.i <= _r1.i) goto label13;
+ XMLVM_SOURCE_POSITION("Long.java", 779)
+ XMLVM_EXIT_METHOD()
+ return;
+ label13:;
+ XMLVM_SOURCE_POSITION("Long.java", 788)
+ _r1.o = java_lang_Long_valueOfCache_GET_CACHE();
+ _r2.i = _r0.i + 128;
+ _r3.o = __NEW_java_lang_Long();
+ _r4.l = (JAVA_LONG) _r0.i;
+ XMLVM_CHECK_NPE(3)
+ java_lang_Long___INIT____long(_r3.o, _r4.l);
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r2.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r3.o;
+ _r0.i = _r0.i + 1;
+ goto label8;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Long_valueOfCache___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Long_valueOfCache___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.Long$valueOfCache", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Long.java", 779)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_Long_valueOfCache.h b/tests/nbody-java/java_lang_Long_valueOfCache.h
new file mode 100644
index 00000000..78046d5a
--- /dev/null
+++ b/tests/nbody-java/java_lang_Long_valueOfCache.h
@@ -0,0 +1,58 @@
+#ifndef __JAVA_LANG_LONG_VALUEOFCACHE__
+#define __JAVA_LANG_LONG_VALUEOFCACHE__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_Long_valueOfCache 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Long
+#define XMLVM_FORWARD_DECL_java_lang_Long
+XMLVM_FORWARD_DECL(java_lang_Long)
+#endif
+// Class declarations for java.lang.Long$valueOfCache
+XMLVM_DEFINE_CLASS(java_lang_Long_valueOfCache, 6, XMLVM_ITABLE_SIZE_java_lang_Long_valueOfCache)
+
+extern JAVA_OBJECT __CLASS_java_lang_Long_valueOfCache;
+extern JAVA_OBJECT __CLASS_java_lang_Long_valueOfCache_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Long_valueOfCache_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Long_valueOfCache_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_Long_valueOfCache
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_Long_valueOfCache \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_Long_valueOfCache \
+ } java_lang_Long_valueOfCache
+
+struct java_lang_Long_valueOfCache {
+ __TIB_DEFINITION_java_lang_Long_valueOfCache* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_Long_valueOfCache;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_Long_valueOfCache
+#define XMLVM_FORWARD_DECL_java_lang_Long_valueOfCache
+typedef struct java_lang_Long_valueOfCache java_lang_Long_valueOfCache;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_Long_valueOfCache 6
+
+void __INIT_java_lang_Long_valueOfCache();
+void __INIT_IMPL_java_lang_Long_valueOfCache();
+void __DELETE_java_lang_Long_valueOfCache(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_Long_valueOfCache(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_Long_valueOfCache();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Long_valueOfCache();
+JAVA_OBJECT java_lang_Long_valueOfCache_GET_CACHE();
+void java_lang_Long_valueOfCache_PUT_CACHE(JAVA_OBJECT v);
+void java_lang_Long_valueOfCache___CLINIT_();
+void java_lang_Long_valueOfCache___INIT___(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_lang_Math.c b/tests/nbody-java/java_lang_Math.c
new file mode 100644
index 00000000..8011558e
--- /dev/null
+++ b/tests/nbody-java/java_lang_Math.c
@@ -0,0 +1,1937 @@
+#include "xmlvm.h"
+#include "java_lang_Double.h"
+#include "java_lang_Float.h"
+#include "java_lang_Integer.h"
+#include "java_lang_Long.h"
+
+#include "java_lang_Math.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Math
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Math
+
+__TIB_DEFINITION_java_lang_Math __TIB_java_lang_Math = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Math, // classInitializer
+ "java.lang.Math", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_Math), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_Math;
+JAVA_OBJECT __CLASS_java_lang_Math_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Math_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Math_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_INT _STATIC_java_lang_Math_FLOAT_EXPONENT_BIAS;
+static JAVA_INT _STATIC_java_lang_Math_FLOAT_EXPONENT_MASK;
+static JAVA_INT _STATIC_java_lang_Math_DOUBLE_NON_MANTISSA_BITS;
+static JAVA_INT _STATIC_java_lang_Math_DOUBLE_MANTISSA_BITS;
+static JAVA_INT _STATIC_java_lang_Math_FLOAT_NON_MANTISSA_BITS;
+static JAVA_INT _STATIC_java_lang_Math_FLOAT_MANTISSA_BITS;
+static JAVA_INT _STATIC_java_lang_Math_DOUBLE_EXPONENT_BIAS;
+static JAVA_LONG _STATIC_java_lang_Math_DOUBLE_EXPONENT_MASK;
+static JAVA_INT _STATIC_java_lang_Math_FLOAT_MANTISSA_MASK;
+static JAVA_INT _STATIC_java_lang_Math_FLOAT_SIGN_MASK;
+static JAVA_LONG _STATIC_java_lang_Math_DOUBLE_MANTISSA_MASK;
+static JAVA_LONG _STATIC_java_lang_Math_DOUBLE_SIGN_MASK;
+static JAVA_DOUBLE _STATIC_java_lang_Math_E;
+static JAVA_DOUBLE _STATIC_java_lang_Math_PI;
+static JAVA_OBJECT _STATIC_java_lang_Math_random;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_Math()
+{
+ staticInitializerLock(&__TIB_java_lang_Math);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Math.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Math.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Math);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Math.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Math.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Math.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Math")
+ __INIT_IMPL_java_lang_Math();
+ }
+}
+
+void __INIT_IMPL_java_lang_Math()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_Math.newInstanceFunc = __NEW_INSTANCE_java_lang_Math;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_Math.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_lang_Math.numImplementedInterfaces = 0;
+ __TIB_java_lang_Math.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_java_lang_Math_FLOAT_EXPONENT_BIAS = 127;
+ _STATIC_java_lang_Math_FLOAT_EXPONENT_MASK = 2139095040;
+ _STATIC_java_lang_Math_DOUBLE_NON_MANTISSA_BITS = 12;
+ _STATIC_java_lang_Math_DOUBLE_MANTISSA_BITS = 52;
+ _STATIC_java_lang_Math_FLOAT_NON_MANTISSA_BITS = 9;
+ _STATIC_java_lang_Math_FLOAT_MANTISSA_BITS = 23;
+ _STATIC_java_lang_Math_DOUBLE_EXPONENT_BIAS = 1023;
+ _STATIC_java_lang_Math_DOUBLE_EXPONENT_MASK = 9218868437227405312;
+ _STATIC_java_lang_Math_FLOAT_MANTISSA_MASK = 8388607;
+ _STATIC_java_lang_Math_FLOAT_SIGN_MASK = -2147483648;
+ _STATIC_java_lang_Math_DOUBLE_MANTISSA_MASK = 4503599627370495;
+ _STATIC_java_lang_Math_DOUBLE_SIGN_MASK = -9223372036854775808;
+ _STATIC_java_lang_Math_E = 2.718281828459045;
+ _STATIC_java_lang_Math_PI = 3.141592653589793;
+ _STATIC_java_lang_Math_random = (java_lang_Object*) JAVA_NULL;
+
+ __TIB_java_lang_Math.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Math.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_Math.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_Math.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_Math.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_Math.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Math.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Math.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_Math = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Math);
+ __TIB_java_lang_Math.clazz = __CLASS_java_lang_Math;
+ __TIB_java_lang_Math.baseType = JAVA_NULL;
+ __CLASS_java_lang_Math_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Math);
+ __CLASS_java_lang_Math_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Math_1ARRAY);
+ __CLASS_java_lang_Math_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Math_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_Math]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_Math.classInitialized = 1;
+}
+
+void __DELETE_java_lang_Math(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_Math]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_Math(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_Math]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_Math()
+{ XMLVM_CLASS_INIT(java_lang_Math)
+java_lang_Math* me = (java_lang_Math*) XMLVM_MALLOC(sizeof(java_lang_Math));
+ me->tib = &__TIB_java_lang_Math;
+ __INIT_INSTANCE_MEMBERS_java_lang_Math(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_Math]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Math()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_INT java_lang_Math_GET_FLOAT_EXPONENT_BIAS()
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ return _STATIC_java_lang_Math_FLOAT_EXPONENT_BIAS;
+}
+
+void java_lang_Math_PUT_FLOAT_EXPONENT_BIAS(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+_STATIC_java_lang_Math_FLOAT_EXPONENT_BIAS = v;
+}
+
+JAVA_INT java_lang_Math_GET_FLOAT_EXPONENT_MASK()
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ return _STATIC_java_lang_Math_FLOAT_EXPONENT_MASK;
+}
+
+void java_lang_Math_PUT_FLOAT_EXPONENT_MASK(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+_STATIC_java_lang_Math_FLOAT_EXPONENT_MASK = v;
+}
+
+JAVA_INT java_lang_Math_GET_DOUBLE_NON_MANTISSA_BITS()
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ return _STATIC_java_lang_Math_DOUBLE_NON_MANTISSA_BITS;
+}
+
+void java_lang_Math_PUT_DOUBLE_NON_MANTISSA_BITS(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+_STATIC_java_lang_Math_DOUBLE_NON_MANTISSA_BITS = v;
+}
+
+JAVA_INT java_lang_Math_GET_DOUBLE_MANTISSA_BITS()
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ return _STATIC_java_lang_Math_DOUBLE_MANTISSA_BITS;
+}
+
+void java_lang_Math_PUT_DOUBLE_MANTISSA_BITS(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+_STATIC_java_lang_Math_DOUBLE_MANTISSA_BITS = v;
+}
+
+JAVA_INT java_lang_Math_GET_FLOAT_NON_MANTISSA_BITS()
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ return _STATIC_java_lang_Math_FLOAT_NON_MANTISSA_BITS;
+}
+
+void java_lang_Math_PUT_FLOAT_NON_MANTISSA_BITS(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+_STATIC_java_lang_Math_FLOAT_NON_MANTISSA_BITS = v;
+}
+
+JAVA_INT java_lang_Math_GET_FLOAT_MANTISSA_BITS()
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ return _STATIC_java_lang_Math_FLOAT_MANTISSA_BITS;
+}
+
+void java_lang_Math_PUT_FLOAT_MANTISSA_BITS(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+_STATIC_java_lang_Math_FLOAT_MANTISSA_BITS = v;
+}
+
+JAVA_INT java_lang_Math_GET_DOUBLE_EXPONENT_BIAS()
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ return _STATIC_java_lang_Math_DOUBLE_EXPONENT_BIAS;
+}
+
+void java_lang_Math_PUT_DOUBLE_EXPONENT_BIAS(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+_STATIC_java_lang_Math_DOUBLE_EXPONENT_BIAS = v;
+}
+
+JAVA_LONG java_lang_Math_GET_DOUBLE_EXPONENT_MASK()
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ return _STATIC_java_lang_Math_DOUBLE_EXPONENT_MASK;
+}
+
+void java_lang_Math_PUT_DOUBLE_EXPONENT_MASK(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+_STATIC_java_lang_Math_DOUBLE_EXPONENT_MASK = v;
+}
+
+JAVA_INT java_lang_Math_GET_FLOAT_MANTISSA_MASK()
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ return _STATIC_java_lang_Math_FLOAT_MANTISSA_MASK;
+}
+
+void java_lang_Math_PUT_FLOAT_MANTISSA_MASK(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+_STATIC_java_lang_Math_FLOAT_MANTISSA_MASK = v;
+}
+
+JAVA_INT java_lang_Math_GET_FLOAT_SIGN_MASK()
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ return _STATIC_java_lang_Math_FLOAT_SIGN_MASK;
+}
+
+void java_lang_Math_PUT_FLOAT_SIGN_MASK(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+_STATIC_java_lang_Math_FLOAT_SIGN_MASK = v;
+}
+
+JAVA_LONG java_lang_Math_GET_DOUBLE_MANTISSA_MASK()
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ return _STATIC_java_lang_Math_DOUBLE_MANTISSA_MASK;
+}
+
+void java_lang_Math_PUT_DOUBLE_MANTISSA_MASK(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+_STATIC_java_lang_Math_DOUBLE_MANTISSA_MASK = v;
+}
+
+JAVA_LONG java_lang_Math_GET_DOUBLE_SIGN_MASK()
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ return _STATIC_java_lang_Math_DOUBLE_SIGN_MASK;
+}
+
+void java_lang_Math_PUT_DOUBLE_SIGN_MASK(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+_STATIC_java_lang_Math_DOUBLE_SIGN_MASK = v;
+}
+
+JAVA_DOUBLE java_lang_Math_GET_E()
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ return _STATIC_java_lang_Math_E;
+}
+
+void java_lang_Math_PUT_E(JAVA_DOUBLE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+_STATIC_java_lang_Math_E = v;
+}
+
+JAVA_DOUBLE java_lang_Math_GET_PI()
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ return _STATIC_java_lang_Math_PI;
+}
+
+void java_lang_Math_PUT_PI(JAVA_DOUBLE v)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+_STATIC_java_lang_Math_PI = v;
+}
+
+JAVA_OBJECT java_lang_Math_GET_random()
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ return _STATIC_java_lang_Math_random;
+}
+
+void java_lang_Math_PUT_random(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+_STATIC_java_lang_Math_random = v;
+}
+
+void java_lang_Math___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.Math", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Math.java", 66)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Math.java", 67)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_DOUBLE java_lang_Math_abs___double(JAVA_DOUBLE n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_abs___double]
+ XMLVM_ENTER_METHOD("java.lang.Math", "abs", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.d = n1;
+ XMLVM_SOURCE_POSITION("Math.java", 85)
+ _r0.l = java_lang_Double_doubleToLongBits___double(_r4.d);
+ XMLVM_SOURCE_POSITION("Math.java", 86)
+ _r2.l = 9223372036854775807;
+ _r0.l = _r0.l & _r2.l;
+ XMLVM_SOURCE_POSITION("Math.java", 87)
+ _r0.d = java_lang_Double_longBitsToDouble___long(_r0.l);
+ XMLVM_EXIT_METHOD()
+ return _r0.d;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_FLOAT java_lang_Math_abs___float(JAVA_FLOAT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_abs___float]
+ XMLVM_ENTER_METHOD("java.lang.Math", "abs", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.f = n1;
+ XMLVM_SOURCE_POSITION("Math.java", 107)
+ _r0.i = java_lang_Float_floatToIntBits___float(_r2.f);
+ XMLVM_SOURCE_POSITION("Math.java", 108)
+ _r1.i = 2147483647;
+ _r0.i = _r0.i & _r1.i;
+ XMLVM_SOURCE_POSITION("Math.java", 109)
+ _r0.f = java_lang_Float_intBitsToFloat___int(_r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Math_abs___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_abs___int]
+ XMLVM_ENTER_METHOD("java.lang.Math", "abs", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Math.java", 124)
+ if (_r1.i < 0) goto label4;
+ _r0 = _r1;
+ label3:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label4:;
+ _r0.i = -_r1.i;
+ goto label3;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_lang_Math_abs___long(JAVA_LONG n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_abs___long]
+ XMLVM_ENTER_METHOD("java.lang.Math", "abs", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.l = n1;
+ XMLVM_SOURCE_POSITION("Math.java", 137)
+ _r0.l = 0;
+ _r0.i = _r2.l > _r0.l ? 1 : (_r2.l == _r0.l ? 0 : -1);
+ if (_r0.i < 0) goto label8;
+ _r0 = _r2;
+ label7:;
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ label8:;
+ _r0.l = -_r2.l;
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_acos___double(JAVA_DOUBLE n1)]
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_asin___double(JAVA_DOUBLE n1)]
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_atan___double(JAVA_DOUBLE n1)]
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_atan2___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2)]
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_cbrt___double(JAVA_DOUBLE n1)]
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_ceil___double(JAVA_DOUBLE n1)]
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_cos___double(JAVA_DOUBLE n1)]
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_cosh___double(JAVA_DOUBLE n1)]
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_exp___double(JAVA_DOUBLE n1)]
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_expm1___double(JAVA_DOUBLE n1)]
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_floor___double(JAVA_DOUBLE n1)]
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_hypot___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2)]
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_IEEEremainder___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2)]
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_log___double(JAVA_DOUBLE n1)]
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_log10___double(JAVA_DOUBLE n1)]
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_log1p___double(JAVA_DOUBLE n1)]
+
+JAVA_DOUBLE java_lang_Math_max___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_max___double_double]
+ XMLVM_ENTER_METHOD("java.lang.Math", "max", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r4.d = n1;
+ _r6.d = n2;
+ XMLVM_SOURCE_POSITION("Math.java", 513)
+ _r0.i = _r4.d > _r6.d ? 1 : (_r4.d == _r6.d ? 0 : -1);
+ if (_r0.i <= 0) goto label6;
+ _r0 = _r4;
+ label5:;
+ XMLVM_SOURCE_POSITION("Math.java", 514)
+ XMLVM_SOURCE_POSITION("Math.java", 528)
+ XMLVM_EXIT_METHOD()
+ return _r0.d;
+ label6:;
+ XMLVM_SOURCE_POSITION("Math.java", 516)
+ _r0.i = _r4.d > _r6.d ? 1 : (_r4.d == _r6.d ? 0 : -1);
+ if (_r0.i >= 0) goto label12;
+ _r0 = _r6;
+ XMLVM_SOURCE_POSITION("Math.java", 517)
+ goto label5;
+ label12:;
+ XMLVM_SOURCE_POSITION("Math.java", 520)
+ _r0.i = _r4.d > _r6.d ? 1 : (_r4.d == _r6.d ? 0 : -1);
+ if (_r0.i == 0) goto label19;
+ XMLVM_SOURCE_POSITION("Math.java", 521)
+ _r0.d = NaN;
+ goto label5;
+ label19:;
+ XMLVM_SOURCE_POSITION("Math.java", 525)
+ _r0.l = java_lang_Double_doubleToRawLongBits___double(_r4.d);
+ _r2.l = 0;
+ _r0.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r0.i == 0) goto label31;
+ _r0 = _r6;
+ XMLVM_SOURCE_POSITION("Math.java", 526)
+ goto label5;
+ label31:;
+ _r0.d = 0.0;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_FLOAT java_lang_Math_max___float_float(JAVA_FLOAT n1, JAVA_FLOAT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_max___float_float]
+ XMLVM_ENTER_METHOD("java.lang.Math", "max", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.f = n1;
+ _r2.f = n2;
+ XMLVM_SOURCE_POSITION("Math.java", 550)
+ _r0.i = _r1.f > _r2.f ? 1 : (_r1.f == _r2.f ? 0 : -1);
+ if (_r0.i <= 0) goto label6;
+ _r0 = _r1;
+ label5:;
+ XMLVM_SOURCE_POSITION("Math.java", 551)
+ XMLVM_SOURCE_POSITION("Math.java", 565)
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ label6:;
+ XMLVM_SOURCE_POSITION("Math.java", 553)
+ _r0.i = _r1.f > _r2.f ? 1 : (_r1.f == _r2.f ? 0 : -1);
+ if (_r0.i >= 0) goto label12;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("Math.java", 554)
+ goto label5;
+ label12:;
+ XMLVM_SOURCE_POSITION("Math.java", 557)
+ _r0.i = _r1.f > _r2.f ? 1 : (_r1.f == _r2.f ? 0 : -1);
+ if (_r0.i == 0) goto label19;
+ XMLVM_SOURCE_POSITION("Math.java", 558)
+ _r0.f = NaN;
+ goto label5;
+ label19:;
+ XMLVM_SOURCE_POSITION("Math.java", 562)
+ _r0.i = java_lang_Float_floatToRawIntBits___float(_r1.f);
+ if (_r0.i == 0) goto label27;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("Math.java", 563)
+ goto label5;
+ label27:;
+ _r0.f = 0.0;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Math_max___int_int(JAVA_INT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_max___int_int]
+ XMLVM_ENTER_METHOD("java.lang.Math", "max", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.i = n1;
+ _r2.i = n2;
+ XMLVM_SOURCE_POSITION("Math.java", 579)
+ if (_r1.i <= _r2.i) goto label4;
+ _r0 = _r1;
+ label3:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label4:;
+ _r0 = _r2;
+ goto label3;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_lang_Math_max___long_long(JAVA_LONG n1, JAVA_LONG n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_max___long_long]
+ XMLVM_ENTER_METHOD("java.lang.Math", "max", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r2.l = n1;
+ _r4.l = n2;
+ XMLVM_SOURCE_POSITION("Math.java", 593)
+ _r0.i = _r2.l > _r4.l ? 1 : (_r2.l == _r4.l ? 0 : -1);
+ if (_r0.i <= 0) goto label6;
+ _r0 = _r2;
+ label5:;
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ label6:;
+ _r0 = _r4;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_DOUBLE java_lang_Math_min___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_min___double_double]
+ XMLVM_ENTER_METHOD("java.lang.Math", "min", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r4.d = n1;
+ _r6.d = n2;
+ XMLVM_SOURCE_POSITION("Math.java", 615)
+ _r0.i = _r4.d > _r6.d ? 1 : (_r4.d == _r6.d ? 0 : -1);
+ if (_r0.i <= 0) goto label6;
+ _r0 = _r6;
+ label5:;
+ XMLVM_SOURCE_POSITION("Math.java", 616)
+ XMLVM_SOURCE_POSITION("Math.java", 630)
+ XMLVM_EXIT_METHOD()
+ return _r0.d;
+ label6:;
+ XMLVM_SOURCE_POSITION("Math.java", 618)
+ _r0.i = _r4.d > _r6.d ? 1 : (_r4.d == _r6.d ? 0 : -1);
+ if (_r0.i >= 0) goto label12;
+ _r0 = _r4;
+ XMLVM_SOURCE_POSITION("Math.java", 619)
+ goto label5;
+ label12:;
+ XMLVM_SOURCE_POSITION("Math.java", 622)
+ _r0.i = _r4.d > _r6.d ? 1 : (_r4.d == _r6.d ? 0 : -1);
+ if (_r0.i == 0) goto label19;
+ XMLVM_SOURCE_POSITION("Math.java", 623)
+ _r0.d = NaN;
+ goto label5;
+ label19:;
+ XMLVM_SOURCE_POSITION("Math.java", 627)
+ _r0.l = java_lang_Double_doubleToRawLongBits___double(_r4.d);
+ _r2.l = -9223372036854775808;
+ _r0.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r0.i != 0) goto label32;
+ XMLVM_SOURCE_POSITION("Math.java", 628)
+ _r0.d = -0.0;
+ goto label5;
+ label32:;
+ _r0 = _r6;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_FLOAT java_lang_Math_min___float_float(JAVA_FLOAT n1, JAVA_FLOAT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_min___float_float]
+ XMLVM_ENTER_METHOD("java.lang.Math", "min", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.f = n1;
+ _r3.f = n2;
+ XMLVM_SOURCE_POSITION("Math.java", 652)
+ _r0.i = _r2.f > _r3.f ? 1 : (_r2.f == _r3.f ? 0 : -1);
+ if (_r0.i <= 0) goto label6;
+ _r0 = _r3;
+ label5:;
+ XMLVM_SOURCE_POSITION("Math.java", 653)
+ XMLVM_SOURCE_POSITION("Math.java", 667)
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ label6:;
+ XMLVM_SOURCE_POSITION("Math.java", 655)
+ _r0.i = _r2.f > _r3.f ? 1 : (_r2.f == _r3.f ? 0 : -1);
+ if (_r0.i >= 0) goto label12;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("Math.java", 656)
+ goto label5;
+ label12:;
+ XMLVM_SOURCE_POSITION("Math.java", 659)
+ _r0.i = _r2.f > _r3.f ? 1 : (_r2.f == _r3.f ? 0 : -1);
+ if (_r0.i == 0) goto label19;
+ XMLVM_SOURCE_POSITION("Math.java", 660)
+ _r0.f = NaN;
+ goto label5;
+ label19:;
+ XMLVM_SOURCE_POSITION("Math.java", 664)
+ _r0.i = java_lang_Float_floatToRawIntBits___float(_r2.f);
+ _r1.i = -2147483648;
+ if (_r0.i != _r1.i) goto label30;
+ XMLVM_SOURCE_POSITION("Math.java", 665)
+ _r0.f = -0.0;
+ goto label5;
+ label30:;
+ _r0 = _r3;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Math_min___int_int(JAVA_INT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_min___int_int]
+ XMLVM_ENTER_METHOD("java.lang.Math", "min", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.i = n1;
+ _r2.i = n2;
+ XMLVM_SOURCE_POSITION("Math.java", 681)
+ if (_r1.i >= _r2.i) goto label4;
+ _r0 = _r1;
+ label3:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label4:;
+ _r0 = _r2;
+ goto label3;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_lang_Math_min___long_long(JAVA_LONG n1, JAVA_LONG n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_min___long_long]
+ XMLVM_ENTER_METHOD("java.lang.Math", "min", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r2.l = n1;
+ _r4.l = n2;
+ XMLVM_SOURCE_POSITION("Math.java", 695)
+ _r0.i = _r2.l > _r4.l ? 1 : (_r2.l == _r4.l ? 0 : -1);
+ if (_r0.i >= 0) goto label6;
+ _r0 = _r2;
+ label5:;
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ label6:;
+ _r0 = _r4;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_pow___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2)]
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_rint___double(JAVA_DOUBLE n1)]
+
+JAVA_LONG java_lang_Math_round___double(JAVA_DOUBLE n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_round___double]
+ XMLVM_ENTER_METHOD("java.lang.Math", "round", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.d = n1;
+ XMLVM_SOURCE_POSITION("Math.java", 777)
+ _r0.i = _r2.d > _r2.d ? 1 : (_r2.d == _r2.d ? 0 : -1);
+ if (_r0.i == 0) goto label7;
+ XMLVM_SOURCE_POSITION("Math.java", 778)
+ _r0.l = 0;
+ label6:;
+ XMLVM_SOURCE_POSITION("Math.java", 780)
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ label7:;
+ _r0.d = 0.5;
+ _r0.d = _r0.d + _r2.d;
+ _r0.d = java_lang_Math_floor___double(_r0.d);
+ _r0.l = (JAVA_LONG) _r0.d;
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Math_round___float(JAVA_FLOAT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_round___float]
+ XMLVM_ENTER_METHOD("java.lang.Math", "round", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.f = n1;
+ XMLVM_SOURCE_POSITION("Math.java", 804)
+ _r0.i = _r2.f > _r2.f ? 1 : (_r2.f == _r2.f ? 0 : -1);
+ if (_r0.i == 0) goto label6;
+ XMLVM_SOURCE_POSITION("Math.java", 805)
+ _r0.i = 0;
+ label5:;
+ XMLVM_SOURCE_POSITION("Math.java", 807)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ _r0.f = 0.5;
+ _r0.f = _r0.f + _r2.f;
+ _r0.d = (JAVA_DOUBLE) _r0.f;
+ _r0.d = java_lang_Math_floor___double(_r0.d);
+ _r0.i = (JAVA_INT) _r0.d;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_DOUBLE java_lang_Math_signum___double(JAVA_DOUBLE n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_signum___double]
+ XMLVM_ENTER_METHOD("java.lang.Math", "signum", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.d = n1;
+ XMLVM_SOURCE_POSITION("Math.java", 830)
+
+
+ // Red class access removed: java.lang.StrictMath::signum
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.d;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_FLOAT java_lang_Math_signum___float(JAVA_FLOAT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_signum___float]
+ XMLVM_ENTER_METHOD("java.lang.Math", "signum", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.f = n1;
+ XMLVM_SOURCE_POSITION("Math.java", 853)
+
+
+ // Red class access removed: java.lang.StrictMath::signum
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_sin___double(JAVA_DOUBLE n1)]
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_sinh___double(JAVA_DOUBLE n1)]
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_sqrt___double(JAVA_DOUBLE n1)]
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_tan___double(JAVA_DOUBLE n1)]
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_tanh___double(JAVA_DOUBLE n1)]
+
+JAVA_DOUBLE java_lang_Math_random__()
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_random__]
+ XMLVM_ENTER_METHOD("java.lang.Math", "random", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVM_SOURCE_POSITION("Math.java", 964)
+ _r0.o = java_lang_Math_GET_random();
+ if (_r0.o != JAVA_NULL) goto label11;
+ XMLVM_SOURCE_POSITION("Math.java", 965)
+
+
+ // Red class access removed: java.util.Random::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Random::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ java_lang_Math_PUT_random( _r0.o);
+ label11:;
+ XMLVM_SOURCE_POSITION("Math.java", 967)
+ _r0.o = java_lang_Math_GET_random();
+
+
+ // Red class access removed: java.util.Random::nextDouble
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.d;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_DOUBLE java_lang_Math_toRadians___double(JAVA_DOUBLE n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_toRadians___double]
+ XMLVM_ENTER_METHOD("java.lang.Math", "toRadians", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.d = n1;
+ XMLVM_SOURCE_POSITION("Math.java", 988)
+ _r0.d = 180.0;
+ _r0.d = _r4.d / _r0.d;
+ _r2.d = 3.141592653589793;
+ _r0.d = _r0.d * _r2.d;
+ XMLVM_EXIT_METHOD()
+ return _r0.d;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_DOUBLE java_lang_Math_toDegrees___double(JAVA_DOUBLE n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_toDegrees___double]
+ XMLVM_ENTER_METHOD("java.lang.Math", "toDegrees", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.d = n1;
+ XMLVM_SOURCE_POSITION("Math.java", 1009)
+ _r0.d = 180.0;
+ _r0.d = _r0.d * _r4.d;
+ _r2.d = 3.141592653589793;
+ _r0.d = _r0.d / _r2.d;
+ XMLVM_EXIT_METHOD()
+ return _r0.d;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_DOUBLE java_lang_Math_ulp___double(JAVA_DOUBLE n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_ulp___double]
+ XMLVM_ENTER_METHOD("java.lang.Math", "ulp", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.d = n1;
+ _r2.d = 1.7976931348623157E308;
+ XMLVM_SOURCE_POSITION("Math.java", 1033)
+ _r0.i = java_lang_Double_isInfinite___double(_r4.d);
+ if (_r0.i == 0) goto label14;
+ XMLVM_SOURCE_POSITION("Math.java", 1034)
+ _r0.d = Infinity;
+ label13:;
+ XMLVM_SOURCE_POSITION("Math.java", 1039)
+ XMLVM_EXIT_METHOD()
+ return _r0.d;
+ label14:;
+ XMLVM_SOURCE_POSITION("Math.java", 1035)
+ _r0.i = _r4.d > _r2.d ? 1 : (_r4.d == _r2.d ? 0 : -1);
+ if (_r0.i == 0) goto label27;
+ _r0.d = -1.7976931348623157E308;
+ _r0.i = _r4.d > _r0.d ? 1 : (_r4.d == _r0.d ? 0 : -1);
+ if (_r0.i != 0) goto label39;
+ label27:;
+ XMLVM_SOURCE_POSITION("Math.java", 1036)
+ _r0.d = 2.0;
+ _r2.d = 971.0;
+ _r0.d = java_lang_Math_pow___double_double(_r0.d, _r2.d);
+ goto label13;
+ label39:;
+ XMLVM_SOURCE_POSITION("Math.java", 1038)
+ _r0.d = java_lang_Math_abs___double(_r4.d);
+ _r2.d = java_lang_Math_nextafter___double_double(_r0.d, _r2.d);
+ _r0.d = _r2.d - _r0.d;
+ goto label13;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_FLOAT java_lang_Math_ulp___float(JAVA_FLOAT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_ulp___float]
+ XMLVM_ENTER_METHOD("java.lang.Math", "ulp", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.f = n1;
+ _r1.f = 3.4028235E38;
+ XMLVM_SOURCE_POSITION("Math.java", 1063)
+ _r0.i = java_lang_Float_isNaN___float(_r4.f);
+ if (_r0.i == 0) goto label12;
+ XMLVM_SOURCE_POSITION("Math.java", 1064)
+ _r0.f = NaN;
+ label11:;
+ XMLVM_SOURCE_POSITION("Math.java", 1071)
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ label12:;
+ XMLVM_SOURCE_POSITION("Math.java", 1065)
+ _r0.i = java_lang_Float_isInfinite___float(_r4.f);
+ if (_r0.i == 0) goto label21;
+ XMLVM_SOURCE_POSITION("Math.java", 1066)
+ _r0.f = Infinity;
+ goto label11;
+ label21:;
+ XMLVM_SOURCE_POSITION("Math.java", 1067)
+ _r0.i = _r4.f > _r1.f ? 1 : (_r4.f == _r1.f ? 0 : -1);
+ if (_r0.i == 0) goto label32;
+ _r0.f = -3.4028235E38;
+ _r0.i = _r4.f > _r0.f ? 1 : (_r4.f == _r0.f ? 0 : -1);
+ if (_r0.i != 0) goto label42;
+ label32:;
+ XMLVM_SOURCE_POSITION("Math.java", 1068)
+ _r0.d = 2.0;
+ _r2.d = 104.0;
+ _r0.d = java_lang_Math_pow___double_double(_r0.d, _r2.d);
+ _r0.f = (JAVA_FLOAT) _r0.d;
+ goto label11;
+ label42:;
+ XMLVM_SOURCE_POSITION("Math.java", 1070)
+ _r0.f = java_lang_Math_abs___float(_r4.f);
+ _r1.f = java_lang_Math_nextafterf___float_float(_r0.f, _r1.f);
+ _r0.f = _r1.f - _r0.f;
+ goto label11;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_Math_nextafter___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2)]
+
+//XMLVM_NATIVE[JAVA_FLOAT java_lang_Math_nextafterf___float_float(JAVA_FLOAT n1, JAVA_FLOAT n2)]
+
+JAVA_DOUBLE java_lang_Math_copySign___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_copySign___double_double]
+ XMLVM_ENTER_METHOD("java.lang.Math", "copySign", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r6.d = n1;
+ _r8.d = n2;
+ XMLVM_SOURCE_POSITION("Math.java", 1092)
+ _r0.l = java_lang_Double_doubleToRawLongBits___double(_r6.d);
+ XMLVM_SOURCE_POSITION("Math.java", 1093)
+ _r2.l = java_lang_Double_doubleToRawLongBits___double(_r8.d);
+ XMLVM_SOURCE_POSITION("Math.java", 1094)
+ _r4.l = 9223372036854775807;
+ _r0.l = _r0.l & _r4.l;
+ _r4.l = -9223372036854775808;
+ _r2.l = _r2.l & _r4.l;
+ _r0.l = _r0.l | _r2.l;
+ _r0.d = java_lang_Double_longBitsToDouble___long(_r0.l);
+ XMLVM_EXIT_METHOD()
+ return _r0.d;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_FLOAT java_lang_Math_copySign___float_float(JAVA_FLOAT n1, JAVA_FLOAT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_copySign___float_float]
+ XMLVM_ENTER_METHOD("java.lang.Math", "copySign", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.f = n1;
+ _r4.f = n2;
+ XMLVM_SOURCE_POSITION("Math.java", 1112)
+ _r0.i = java_lang_Float_floatToRawIntBits___float(_r3.f);
+ XMLVM_SOURCE_POSITION("Math.java", 1113)
+ _r1.i = java_lang_Float_floatToRawIntBits___float(_r4.f);
+ XMLVM_SOURCE_POSITION("Math.java", 1114)
+ _r2.i = 2147483647;
+ _r0.i = _r0.i & _r2.i;
+ _r2.i = -2147483648;
+ _r1.i = _r1.i & _r2.i;
+ _r0.i = _r0.i | _r1.i;
+ _r0.f = java_lang_Float_intBitsToFloat___int(_r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Math_getExponent___float(JAVA_FLOAT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_getExponent___float]
+ XMLVM_ENTER_METHOD("java.lang.Math", "getExponent", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.f = n1;
+ XMLVM_SOURCE_POSITION("Math.java", 1128)
+ _r0.i = java_lang_Float_floatToRawIntBits___float(_r2.f);
+ XMLVM_SOURCE_POSITION("Math.java", 1129)
+ _r1.i = 2139095040;
+ _r0.i = _r0.i & _r1.i;
+ _r0.i = _r0.i >> 23;
+ _r1.i = 127;
+ _r0.i = _r0.i - _r1.i;
+ XMLVM_SOURCE_POSITION("Math.java", 1130)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Math_getExponent___double(JAVA_DOUBLE n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_getExponent___double]
+ XMLVM_ENTER_METHOD("java.lang.Math", "getExponent", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.d = n1;
+ XMLVM_SOURCE_POSITION("Math.java", 1143)
+ _r0.l = java_lang_Double_doubleToRawLongBits___double(_r4.d);
+ XMLVM_SOURCE_POSITION("Math.java", 1144)
+ _r2.l = 9218868437227405312;
+ _r0.l = _r0.l & _r2.l;
+ _r2.i = 52;
+ _r0.l = _r0.l >> (0x3f & _r2.l);
+ _r0.i = (JAVA_INT) _r0.l;
+ _r1.i = 1023;
+ _r0.i = _r0.i - _r1.i;
+ XMLVM_SOURCE_POSITION("Math.java", 1145)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_DOUBLE java_lang_Math_nextAfter___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_nextAfter___double_double]
+ XMLVM_ENTER_METHOD("java.lang.Math", "nextAfter", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r3.d = n1;
+ _r5.d = n2;
+ _r1.d = 0.0;
+ XMLVM_SOURCE_POSITION("Math.java", 1162)
+ _r0.i = _r1.d > _r3.d ? 1 : (_r1.d == _r3.d ? 0 : -1);
+ if (_r0.i != 0) goto label12;
+ _r0.i = _r1.d > _r5.d ? 1 : (_r1.d == _r5.d ? 0 : -1);
+ if (_r0.i != 0) goto label12;
+ _r0 = _r5;
+ label11:;
+ XMLVM_SOURCE_POSITION("Math.java", 1163)
+ XMLVM_SOURCE_POSITION("Math.java", 1165)
+ XMLVM_EXIT_METHOD()
+ return _r0.d;
+ label12:;
+ _r0.d = java_lang_Math_nextafter___double_double(_r3.d, _r5.d);
+ goto label11;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_FLOAT java_lang_Math_nextAfter___float_double(JAVA_FLOAT n1, JAVA_DOUBLE n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_nextAfter___float_double]
+ XMLVM_ENTER_METHOD("java.lang.Math", "nextAfter", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r7.f = n1;
+ _r8.d = n2;
+ _r6.f = 3.4028235E38;
+ _r5.f = 1.4E-45;
+ _r4.f = -3.4028235E38;
+ _r3.f = -1.4E-45;
+ _r2.f = 0.0;
+ XMLVM_SOURCE_POSITION("Math.java", 1183)
+ _r0.i = java_lang_Float_isNaN___float(_r7.f);
+ if (_r0.i != 0) goto label23;
+ _r0.i = java_lang_Double_isNaN___double(_r8.d);
+ if (_r0.i == 0) goto label26;
+ label23:;
+ XMLVM_SOURCE_POSITION("Math.java", 1184)
+ _r0.f = NaN;
+ label25:;
+ XMLVM_SOURCE_POSITION("Math.java", 1219)
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ label26:;
+ XMLVM_SOURCE_POSITION("Math.java", 1186)
+ _r0.i = _r2.f > _r7.f ? 1 : (_r2.f == _r7.f ? 0 : -1);
+ if (_r0.i != 0) goto label46;
+ _r0.d = 0.0;
+ _r0.i = _r0.d > _r8.d ? 1 : (_r0.d == _r8.d ? 0 : -1);
+ if (_r0.i != 0) goto label46;
+ XMLVM_SOURCE_POSITION("Math.java", 1187)
+ _r0.o = __NEW_java_lang_Float();
+ XMLVM_CHECK_NPE(0)
+ java_lang_Float___INIT____double(_r0.o, _r8.d);
+ //java_lang_Float_floatValue__[8]
+ XMLVM_CHECK_NPE(0)
+ _r0.f = (*(JAVA_FLOAT (*)(JAVA_OBJECT)) ((java_lang_Float*) _r0.o)->tib->vtable[8])(_r0.o);
+ goto label25;
+ label46:;
+ XMLVM_SOURCE_POSITION("Math.java", 1189)
+ _r0.i = _r7.f > _r5.f ? 1 : (_r7.f == _r5.f ? 0 : -1);
+ if (_r0.i != 0) goto label55;
+ _r0.d = (JAVA_DOUBLE) _r7.f;
+ _r0.i = _r8.d > _r0.d ? 1 : (_r8.d == _r0.d ? 0 : -1);
+ if (_r0.i < 0) goto label64;
+ label55:;
+ XMLVM_SOURCE_POSITION("Math.java", 1190)
+ _r0.i = _r7.f > _r3.f ? 1 : (_r7.f == _r3.f ? 0 : -1);
+ if (_r0.i != 0) goto label73;
+ _r0.d = (JAVA_DOUBLE) _r7.f;
+ _r0.i = _r8.d > _r0.d ? 1 : (_r8.d == _r0.d ? 0 : -1);
+ if (_r0.i <= 0) goto label73;
+ label64:;
+ XMLVM_SOURCE_POSITION("Math.java", 1191)
+ _r0.i = _r7.f > _r2.f ? 1 : (_r7.f == _r2.f ? 0 : -1);
+ if (_r0.i <= 0) goto label70;
+ _r0 = _r2;
+ goto label25;
+ label70:;
+ _r0.f = -0.0;
+ goto label25;
+ label73:;
+ XMLVM_SOURCE_POSITION("Math.java", 1193)
+ _r0.i = java_lang_Float_isInfinite___float(_r7.f);
+ if (_r0.i == 0) goto label92;
+ _r0.d = (JAVA_DOUBLE) _r7.f;
+ _r0.i = _r8.d > _r0.d ? 1 : (_r8.d == _r0.d ? 0 : -1);
+ if (_r0.i == 0) goto label92;
+ XMLVM_SOURCE_POSITION("Math.java", 1194)
+ _r0.i = _r7.f > _r2.f ? 1 : (_r7.f == _r2.f ? 0 : -1);
+ if (_r0.i <= 0) goto label90;
+ _r0 = _r6;
+ goto label25;
+ label90:;
+ _r0 = _r4;
+ goto label25;
+ label92:;
+ XMLVM_SOURCE_POSITION("Math.java", 1196)
+ _r0.i = _r7.f > _r6.f ? 1 : (_r7.f == _r6.f ? 0 : -1);
+ if (_r0.i != 0) goto label101;
+ _r0.d = (JAVA_DOUBLE) _r7.f;
+ _r0.i = _r8.d > _r0.d ? 1 : (_r8.d == _r0.d ? 0 : -1);
+ if (_r0.i > 0) goto label110;
+ label101:;
+ XMLVM_SOURCE_POSITION("Math.java", 1197)
+ _r0.i = _r7.f > _r4.f ? 1 : (_r7.f == _r4.f ? 0 : -1);
+ if (_r0.i != 0) goto label120;
+ _r0.d = (JAVA_DOUBLE) _r7.f;
+ _r0.i = _r8.d > _r0.d ? 1 : (_r8.d == _r0.d ? 0 : -1);
+ if (_r0.i >= 0) goto label120;
+ label110:;
+ XMLVM_SOURCE_POSITION("Math.java", 1198)
+ _r0.i = _r7.f > _r2.f ? 1 : (_r7.f == _r2.f ? 0 : -1);
+ if (_r0.i <= 0) goto label117;
+ _r0.f = Infinity;
+ goto label25;
+ label117:;
+ XMLVM_SOURCE_POSITION("Math.java", 1199)
+ _r0.f = -Infinity;
+ goto label25;
+ label120:;
+ XMLVM_SOURCE_POSITION("Math.java", 1201)
+ _r0.d = (JAVA_DOUBLE) _r7.f;
+ _r0.i = _r8.d > _r0.d ? 1 : (_r8.d == _r0.d ? 0 : -1);
+ if (_r0.i <= 0) goto label159;
+ XMLVM_SOURCE_POSITION("Math.java", 1202)
+ _r0.i = _r7.f > _r2.f ? 1 : (_r7.f == _r2.f ? 0 : -1);
+ if (_r0.i <= 0) goto label140;
+ XMLVM_SOURCE_POSITION("Math.java", 1203)
+ _r0.i = java_lang_Float_floatToIntBits___float(_r7.f);
+ _r0.i = _r0.i + 1;
+ _r0.f = java_lang_Float_intBitsToFloat___int(_r0.i);
+ goto label25;
+ label140:;
+ XMLVM_SOURCE_POSITION("Math.java", 1205)
+ _r0.i = _r7.f > _r2.f ? 1 : (_r7.f == _r2.f ? 0 : -1);
+ if (_r0.i >= 0) goto label156;
+ XMLVM_SOURCE_POSITION("Math.java", 1206)
+ _r0.i = java_lang_Float_floatToIntBits___float(_r7.f);
+ _r1.i = 1;
+ _r0.i = _r0.i - _r1.i;
+ _r0.f = java_lang_Float_intBitsToFloat___int(_r0.i);
+ goto label25;
+ label156:;
+ _r0 = _r5;
+ XMLVM_SOURCE_POSITION("Math.java", 1208)
+ goto label25;
+ label159:;
+ XMLVM_SOURCE_POSITION("Math.java", 1210)
+ _r0.d = (JAVA_DOUBLE) _r7.f;
+ _r0.i = _r8.d > _r0.d ? 1 : (_r8.d == _r0.d ? 0 : -1);
+ if (_r0.i >= 0) goto label199;
+ XMLVM_SOURCE_POSITION("Math.java", 1211)
+ _r0.i = _r7.f > _r2.f ? 1 : (_r7.f == _r2.f ? 0 : -1);
+ if (_r0.i <= 0) goto label180;
+ XMLVM_SOURCE_POSITION("Math.java", 1212)
+ _r0.i = java_lang_Float_floatToIntBits___float(_r7.f);
+ _r1.i = 1;
+ _r0.i = _r0.i - _r1.i;
+ _r0.f = java_lang_Float_intBitsToFloat___int(_r0.i);
+ goto label25;
+ label180:;
+ XMLVM_SOURCE_POSITION("Math.java", 1214)
+ _r0.i = _r7.f > _r2.f ? 1 : (_r7.f == _r2.f ? 0 : -1);
+ if (_r0.i >= 0) goto label196;
+ XMLVM_SOURCE_POSITION("Math.java", 1215)
+ _r0.i = java_lang_Float_floatToIntBits___float(_r7.f);
+ _r0.i = _r0.i + 1;
+ _r0.f = java_lang_Float_intBitsToFloat___int(_r0.i);
+ goto label25;
+ label196:;
+ _r0 = _r3;
+ XMLVM_SOURCE_POSITION("Math.java", 1217)
+ goto label25;
+ label199:;
+ _r0.o = __NEW_java_lang_Float();
+ XMLVM_CHECK_NPE(0)
+ java_lang_Float___INIT____double(_r0.o, _r8.d);
+ //java_lang_Float_floatValue__[8]
+ XMLVM_CHECK_NPE(0)
+ _r0.f = (*(JAVA_FLOAT (*)(JAVA_OBJECT)) ((java_lang_Float*) _r0.o)->tib->vtable[8])(_r0.o);
+ goto label25;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_DOUBLE java_lang_Math_nextUp___double(JAVA_DOUBLE n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_nextUp___double]
+ XMLVM_ENTER_METHOD("java.lang.Math", "nextUp", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r7.d = n1;
+ _r5.l = 1;
+ _r3.d = Infinity;
+ _r1.d = 0.0;
+ XMLVM_SOURCE_POSITION("Math.java", 1232)
+ _r0.i = java_lang_Double_isNaN___double(_r7.d);
+ if (_r0.i == 0) goto label15;
+ XMLVM_SOURCE_POSITION("Math.java", 1233)
+ _r0.d = NaN;
+ label14:;
+ XMLVM_SOURCE_POSITION("Math.java", 1243)
+ XMLVM_EXIT_METHOD()
+ return _r0.d;
+ label15:;
+ XMLVM_SOURCE_POSITION("Math.java", 1235)
+ _r0.i = _r7.d > _r3.d ? 1 : (_r7.d == _r3.d ? 0 : -1);
+ if (_r0.i != 0) goto label21;
+ _r0 = _r3;
+ XMLVM_SOURCE_POSITION("Math.java", 1236)
+ goto label14;
+ label21:;
+ XMLVM_SOURCE_POSITION("Math.java", 1238)
+ _r0.i = _r1.d > _r7.d ? 1 : (_r1.d == _r7.d ? 0 : -1);
+ if (_r0.i != 0) goto label28;
+ XMLVM_SOURCE_POSITION("Math.java", 1239)
+ _r0.d = 4.9E-324;
+ goto label14;
+ label28:;
+ XMLVM_SOURCE_POSITION("Math.java", 1240)
+ _r0.i = _r1.d > _r7.d ? 1 : (_r1.d == _r7.d ? 0 : -1);
+ if (_r0.i >= 0) goto label42;
+ XMLVM_SOURCE_POSITION("Math.java", 1241)
+ _r0.l = java_lang_Double_doubleToLongBits___double(_r7.d);
+ _r0.l = _r0.l + _r5.l;
+ _r0.d = java_lang_Double_longBitsToDouble___long(_r0.l);
+ goto label14;
+ label42:;
+ _r0.l = java_lang_Double_doubleToLongBits___double(_r7.d);
+ _r0.l = _r0.l - _r5.l;
+ _r0.d = java_lang_Double_longBitsToDouble___long(_r0.l);
+ goto label14;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_FLOAT java_lang_Math_nextUp___float(JAVA_FLOAT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_nextUp___float]
+ XMLVM_ENTER_METHOD("java.lang.Math", "nextUp", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.f = n1;
+ _r2.f = Infinity;
+ _r1.f = 0.0;
+ XMLVM_SOURCE_POSITION("Math.java", 1257)
+ _r0.i = java_lang_Float_isNaN___float(_r3.f);
+ if (_r0.i == 0) goto label12;
+ XMLVM_SOURCE_POSITION("Math.java", 1258)
+ _r0.f = NaN;
+ label11:;
+ XMLVM_SOURCE_POSITION("Math.java", 1268)
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ label12:;
+ XMLVM_SOURCE_POSITION("Math.java", 1260)
+ _r0.i = _r3.f > _r2.f ? 1 : (_r3.f == _r2.f ? 0 : -1);
+ if (_r0.i != 0) goto label18;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("Math.java", 1261)
+ goto label11;
+ label18:;
+ XMLVM_SOURCE_POSITION("Math.java", 1263)
+ _r0.i = _r1.f > _r3.f ? 1 : (_r1.f == _r3.f ? 0 : -1);
+ if (_r0.i != 0) goto label24;
+ XMLVM_SOURCE_POSITION("Math.java", 1264)
+ _r0.f = 1.4E-45;
+ goto label11;
+ label24:;
+ XMLVM_SOURCE_POSITION("Math.java", 1265)
+ _r0.i = _r1.f > _r3.f ? 1 : (_r1.f == _r3.f ? 0 : -1);
+ if (_r0.i >= 0) goto label39;
+ XMLVM_SOURCE_POSITION("Math.java", 1266)
+ _r0.i = java_lang_Float_floatToIntBits___float(_r3.f);
+ _r0.i = _r0.i + 1;
+ _r0.f = java_lang_Float_intBitsToFloat___int(_r0.i);
+ goto label11;
+ label39:;
+ _r0.i = java_lang_Float_floatToIntBits___float(_r3.f);
+ _r1.i = 1;
+ _r0.i = _r0.i - _r1.i;
+ _r0.f = java_lang_Float_intBitsToFloat___int(_r0.i);
+ goto label11;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_DOUBLE java_lang_Math_scalb___double_int(JAVA_DOUBLE n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_scalb___double_int]
+ XMLVM_ENTER_METHOD("java.lang.Math", "scalb", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ _r8.d = n1;
+ _r10.i = n2;
+ XMLVM_SOURCE_POSITION("Math.java", 1285)
+ _r0.i = java_lang_Double_isNaN___double(_r8.d);
+ if (_r0.i != 0) goto label18;
+ _r0.i = java_lang_Double_isInfinite___double(_r8.d);
+ if (_r0.i != 0) goto label18;
+ _r0.d = 0.0;
+ _r0.i = _r0.d > _r8.d ? 1 : (_r0.d == _r8.d ? 0 : -1);
+ if (_r0.i != 0) goto label19;
+ label18:;
+ XMLVM_SOURCE_POSITION("Math.java", 1334)
+ XMLVM_EXIT_METHOD()
+ return _r8.d;
+ label19:;
+ XMLVM_SOURCE_POSITION("Math.java", 1289)
+ _r0.l = java_lang_Double_doubleToLongBits___double(_r8.d);
+ XMLVM_SOURCE_POSITION("Math.java", 1291)
+ _r2.l = -9223372036854775808;
+ _r2.l = _r2.l & _r0.l;
+ _r4.l = 9218868437227405312;
+ _r4.l = _r4.l & _r0.l;
+ _r6.i = 52;
+ _r4.l = _r4.l >> (0x3f & _r6.l);
+ _r6.l = 1023;
+ _r4.l = _r4.l - _r6.l;
+ _r6.l = (JAVA_LONG) _r10.i;
+ _r4.l = _r4.l + _r6.l;
+ _r6.l = 9223372036854775807;
+ _r6.l = _r6.l & _r0.l;
+ XMLVM_SOURCE_POSITION("Math.java", 1297)
+ _r10.i = java_lang_Long_numberOfLeadingZeros___long(_r6.l);
+ XMLVM_SOURCE_POSITION("Math.java", 1299)
+ _r6.i = 12;
+ _r10.i = _r10.i - _r6.i;
+ if (_r10.i >= 0) goto label68;
+ XMLVM_SOURCE_POSITION("Math.java", 1300)
+ XMLVM_SOURCE_POSITION("Math.java", 1302)
+ _r10.i = 0;
+ label53:;
+ XMLVM_SOURCE_POSITION("Math.java", 1306)
+ _r6.l = 1023;
+ _r6.i = _r4.l > _r6.l ? 1 : (_r4.l == _r6.l ? 0 : -1);
+ if (_r6.i <= 0) goto label74;
+ XMLVM_SOURCE_POSITION("Math.java", 1307)
+ _r0.d = 0.0;
+ _r8.i = _r8.d > _r0.d ? 1 : (_r8.d == _r0.d ? 0 : -1);
+ if (_r8.i <= 0) goto label71;
+ _r8.d = Infinity;
+ goto label18;
+ label68:;
+ XMLVM_SOURCE_POSITION("Math.java", 1304)
+ _r6.l = (JAVA_LONG) _r10.i;
+ _r4.l = _r4.l - _r6.l;
+ goto label53;
+ label71:;
+ _r8.d = -Infinity;
+ goto label18;
+ label74:;
+ XMLVM_SOURCE_POSITION("Math.java", 1312)
+ _r6.l = -1023;
+ _r6.i = _r4.l > _r6.l ? 1 : (_r4.l == _r6.l ? 0 : -1);
+ if (_r6.i > 0) goto label129;
+ XMLVM_SOURCE_POSITION("Math.java", 1314)
+ _r6.l = 1023;
+ _r4.l = _r4.l + _r6.l;
+ _r6.l = (JAVA_LONG) _r10.i;
+ _r4.l = _r4.l + _r6.l;
+ XMLVM_SOURCE_POSITION("Math.java", 1315)
+ _r8.d = java_lang_Math_abs___double(_r8.d);
+ _r6.d = 2.2250738585072014E-308;
+ _r8.i = _r8.d > _r6.d ? 1 : (_r8.d == _r6.d ? 0 : -1);
+ if (_r8.i >= 0) goto label111;
+ XMLVM_SOURCE_POSITION("Math.java", 1317)
+ _r8.l = 4503599627370495;
+ _r8.l = _r8.l & _r0.l;
+ _r8.l = java_lang_Math_shiftLongBits___long_long(_r8.l, _r4.l);
+ label105:;
+ _r8.l = _r8.l | _r2.l;
+ _r8.d = java_lang_Double_longBitsToDouble___long(_r8.l);
+ goto label18;
+ label111:;
+ XMLVM_SOURCE_POSITION("Math.java", 1320)
+ _r8.l = 4503599627370495;
+ _r8.l = _r8.l & _r0.l;
+ _r0.l = 4503599627370496;
+ _r8.l = _r8.l | _r0.l;
+ _r0.l = 1;
+ _r0.l = _r4.l - _r0.l;
+ _r8.l = java_lang_Math_shiftLongBits___long_long(_r8.l, _r0.l);
+ goto label105;
+ label129:;
+ XMLVM_SOURCE_POSITION("Math.java", 1324)
+ _r8.d = java_lang_Math_abs___double(_r8.d);
+ _r6.d = 2.2250738585072014E-308;
+ _r8.i = _r8.d > _r6.d ? 1 : (_r8.d == _r6.d ? 0 : -1);
+ if (_r8.i < 0) goto label153;
+ XMLVM_SOURCE_POSITION("Math.java", 1326)
+ _r8.l = 1023;
+ _r8.l = _r8.l + _r4.l;
+ _r10.i = 52;
+ _r8.l = _r8.l << (0x3f & _r10.l);
+ _r4.l = 4503599627370495;
+ _r0.l = _r0.l & _r4.l;
+ _r8.l = _r8.l | _r0.l;
+ goto label105;
+ label153:;
+ XMLVM_SOURCE_POSITION("Math.java", 1330)
+ _r8.l = 1023;
+ _r8.l = _r8.l + _r4.l;
+ _r4.i = 52;
+ _r8.l = _r8.l << (0x3f & _r4.l);
+ _r10.i = _r10.i + 1;
+ _r0.l = _r0.l << (0x3f & _r10.l);
+ _r4.l = 4503599627370495;
+ _r0.l = _r0.l & _r4.l;
+ _r8.l = _r8.l | _r0.l;
+ goto label105;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_FLOAT java_lang_Math_scalb___float_int(JAVA_FLOAT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_scalb___float_int]
+ XMLVM_ENTER_METHOD("java.lang.Math", "scalb", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ _r10.f = n1;
+ _r11.i = n2;
+ _r8.i = 127;
+ _r7.f = 1.17549435E-38;
+ _r6.f = 0.0;
+ _r5.i = 8388607;
+ XMLVM_SOURCE_POSITION("Math.java", 1349)
+ _r0.i = java_lang_Float_isNaN___float(_r10.f);
+ if (_r0.i != 0) goto label24;
+ _r0.i = java_lang_Float_isInfinite___float(_r10.f);
+ if (_r0.i != 0) goto label24;
+ _r0.i = _r6.f > _r10.f ? 1 : (_r6.f == _r10.f ? 0 : -1);
+ if (_r0.i != 0) goto label26;
+ label24:;
+ _r0 = _r10;
+ label25:;
+ XMLVM_SOURCE_POSITION("Math.java", 1350)
+ XMLVM_SOURCE_POSITION("Math.java", 1394)
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ label26:;
+ XMLVM_SOURCE_POSITION("Math.java", 1352)
+ _r0.i = java_lang_Float_floatToIntBits___float(_r10.f);
+ XMLVM_SOURCE_POSITION("Math.java", 1353)
+ _r1.i = -2147483648;
+ _r1.i = _r1.i & _r0.i;
+ _r2.i = 2139095040;
+ _r2.i = _r2.i & _r0.i;
+ _r2.i = _r2.i >> 23;
+ _r2.i = _r2.i - _r8.i;
+ _r2.i = _r2.i + _r11.i;
+ _r3.i = 2147483647;
+ _r3.i = _r3.i & _r0.i;
+ XMLVM_SOURCE_POSITION("Math.java", 1357)
+ _r3.i = java_lang_Integer_numberOfLeadingZeros___int(_r3.i);
+ XMLVM_SOURCE_POSITION("Math.java", 1359)
+ _r4.i = 9;
+ _r3.i = _r3.i - _r4.i;
+ if (_r3.i >= 0) goto label66;
+ XMLVM_SOURCE_POSITION("Math.java", 1360)
+ XMLVM_SOURCE_POSITION("Math.java", 1362)
+ _r3.i = 0;
+ _r9 = _r3;
+ _r3 = _r2;
+ _r2 = _r9;
+ label57:;
+ XMLVM_SOURCE_POSITION("Math.java", 1366)
+ if (_r3.i <= _r8.i) goto label74;
+ XMLVM_SOURCE_POSITION("Math.java", 1367)
+ _r0.i = _r10.f > _r6.f ? 1 : (_r10.f == _r6.f ? 0 : -1);
+ if (_r0.i <= 0) goto label71;
+ _r0.f = Infinity;
+ goto label25;
+ label66:;
+ XMLVM_SOURCE_POSITION("Math.java", 1364)
+ _r2.i = _r2.i - _r3.i;
+ _r9 = _r3;
+ _r3 = _r2;
+ _r2 = _r9;
+ goto label57;
+ label71:;
+ _r0.f = -Infinity;
+ goto label25;
+ label74:;
+ XMLVM_SOURCE_POSITION("Math.java", 1372)
+ _r4.i = -127;
+ if (_r3.i > _r4.i) goto label111;
+ XMLVM_SOURCE_POSITION("Math.java", 1374)
+ _r3.i = _r3.i + 127;
+ _r2.i = _r2.i + _r3.i;
+ XMLVM_SOURCE_POSITION("Math.java", 1375)
+ _r3.f = java_lang_Math_abs___float(_r10.f);
+ _r3.i = _r3.f > _r7.f ? 1 : (_r3.f == _r7.f ? 0 : -1);
+ if (_r3.i >= 0) goto label100;
+ XMLVM_SOURCE_POSITION("Math.java", 1377)
+ _r0.i = _r0.i & _r5.i;
+ _r0.i = java_lang_Math_shiftIntBits___int_int(_r0.i, _r2.i);
+ label94:;
+ _r0.i = _r0.i | _r1.i;
+ _r0.f = java_lang_Float_intBitsToFloat___int(_r0.i);
+ goto label25;
+ label100:;
+ XMLVM_SOURCE_POSITION("Math.java", 1380)
+ _r0.i = _r0.i & _r5.i;
+ _r3.i = 8388608;
+ _r0.i = _r0.i | _r3.i;
+ _r3.i = 1;
+ _r2.i = _r2.i - _r3.i;
+ _r0.i = java_lang_Math_shiftIntBits___int_int(_r0.i, _r2.i);
+ goto label94;
+ label111:;
+ XMLVM_SOURCE_POSITION("Math.java", 1384)
+ _r4.f = java_lang_Math_abs___float(_r10.f);
+ _r4.i = _r4.f > _r7.f ? 1 : (_r4.f == _r7.f ? 0 : -1);
+ if (_r4.i < 0) goto label126;
+ XMLVM_SOURCE_POSITION("Math.java", 1386)
+ _r2.i = _r3.i + 127;
+ _r2.i = _r2.i << 23;
+ _r0.i = _r0.i & _r5.i;
+ _r0.i = _r0.i | _r2.i;
+ goto label94;
+ label126:;
+ XMLVM_SOURCE_POSITION("Math.java", 1390)
+ _r3.i = _r3.i + 127;
+ _r3.i = _r3.i << 23;
+ _r2.i = _r2.i + 1;
+ _r0.i = _r0.i << _r2.i;
+ _r0.i = _r0.i & _r5.i;
+ _r0.i = _r0.i | _r3.i;
+ goto label94;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Math_shiftIntBits___int_int(JAVA_INT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_shiftIntBits___int_int]
+ XMLVM_ENTER_METHOD("java.lang.Math", "shiftIntBits", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r5.i = n1;
+ _r6.i = n2;
+ _r3.i = 0;
+ _r4.i = 1;
+ XMLVM_SOURCE_POSITION("Math.java", 1400)
+ if (_r6.i <= 0) goto label7;
+ XMLVM_SOURCE_POSITION("Math.java", 1401)
+ _r0.i = _r5.i << _r6.i;
+ label6:;
+ XMLVM_SOURCE_POSITION("Math.java", 1420)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label7:;
+ XMLVM_SOURCE_POSITION("Math.java", 1404)
+ _r0.i = -_r6.i;
+ _r1.i = 2147483647;
+ _r1.i = _r1.i & _r5.i;
+ XMLVM_SOURCE_POSITION("Math.java", 1405)
+ _r1.i = java_lang_Integer_numberOfLeadingZeros___int(_r1.i);
+ _r2.i = 32;
+ _r2.i = _r2.i - _r0.i;
+ if (_r1.i <= _r2.i) goto label23;
+ _r0 = _r3;
+ XMLVM_SOURCE_POSITION("Math.java", 1406)
+ goto label6;
+ label23:;
+ XMLVM_SOURCE_POSITION("Math.java", 1408)
+ _r1.i = _r5.i >> (0x1f & _r0.i);
+ _r2.i = _r0.i - _r4.i;
+ _r2.i = _r5.i >> (0x1f & _r2.i);
+ _r2.i = _r2.i & 1;
+ if (_r2.i != _r4.i) goto label60;
+ XMLVM_SOURCE_POSITION("Math.java", 1409)
+ _r2 = _r4;
+ label34:;
+ XMLVM_SOURCE_POSITION("Math.java", 1410)
+ if (_r2.i == 0) goto label62;
+ XMLVM_SOURCE_POSITION("Math.java", 1411)
+ _r2.i = java_lang_Integer_numberOfTrailingZeros___int(_r5.i);
+ _r3.i = _r0.i - _r4.i;
+ if (_r2.i >= _r3.i) goto label46;
+ XMLVM_SOURCE_POSITION("Math.java", 1412)
+ _r1.i = _r1.i + 1;
+ label46:;
+ XMLVM_SOURCE_POSITION("Math.java", 1414)
+ _r2.i = java_lang_Integer_numberOfTrailingZeros___int(_r5.i);
+ _r0.i = _r0.i - _r4.i;
+ if (_r2.i != _r0.i) goto label62;
+ XMLVM_SOURCE_POSITION("Math.java", 1415)
+ _r0.i = _r1.i & 1;
+ if (_r0.i != _r4.i) goto label62;
+ XMLVM_SOURCE_POSITION("Math.java", 1416)
+ _r0.i = _r1.i + 1;
+ goto label6;
+ label60:;
+ _r2 = _r3;
+ goto label34;
+ label62:;
+ _r0 = _r1;
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_lang_Math_shiftLongBits___long_long(JAVA_LONG n1, JAVA_LONG n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Math)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Math_shiftLongBits___long_long]
+ XMLVM_ENTER_METHOD("java.lang.Math", "shiftLongBits", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ _r10.l = n1;
+ _r12.l = n2;
+ _r6.l = 0;
+ _r8.l = 1;
+ XMLVM_SOURCE_POSITION("Math.java", 1426)
+ _r0.i = _r12.l > _r6.l ? 1 : (_r12.l == _r6.l ? 0 : -1);
+ if (_r0.i <= 0) goto label12;
+ XMLVM_SOURCE_POSITION("Math.java", 1427)
+ _r0.i = (JAVA_INT) _r12.l;
+ _r0.l = _r10.l << (0x3f & _r0.l);
+ label11:;
+ XMLVM_SOURCE_POSITION("Math.java", 1448)
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ label12:;
+ XMLVM_SOURCE_POSITION("Math.java", 1430)
+ _r0.l = -_r12.l;
+ _r2.l = 9223372036854775807;
+ _r2.l = _r2.l & _r10.l;
+ XMLVM_SOURCE_POSITION("Math.java", 1431)
+ _r2.i = java_lang_Long_numberOfLeadingZeros___long(_r2.l);
+ _r2.l = (JAVA_LONG) _r2.i;
+ _r4.l = 64;
+ _r4.l = _r4.l - _r0.l;
+ _r2.i = _r2.l > _r4.l ? 1 : (_r2.l == _r4.l ? 0 : -1);
+ if (_r2.i <= 0) goto label33;
+ _r0 = _r6;
+ XMLVM_SOURCE_POSITION("Math.java", 1432)
+ goto label11;
+ label33:;
+ XMLVM_SOURCE_POSITION("Math.java", 1434)
+ _r2.i = (JAVA_INT) _r0.l;
+ _r2.l = _r10.l >> (0x3f & _r2.l);
+ _r4.l = _r0.l - _r8.l;
+ _r4.i = (JAVA_INT) _r4.l;
+ _r4.l = _r10.l >> (0x3f & _r4.l);
+ _r4.l = _r4.l & _r8.l;
+ _r4.i = _r4.l > _r8.l ? 1 : (_r4.l == _r8.l ? 0 : -1);
+ if (_r4.i != 0) goto label80;
+ XMLVM_SOURCE_POSITION("Math.java", 1435)
+ _r4.i = 1;
+ label47:;
+ XMLVM_SOURCE_POSITION("Math.java", 1436)
+ if (_r4.i == 0) goto label82;
+ XMLVM_SOURCE_POSITION("Math.java", 1439)
+ _r4.i = java_lang_Long_numberOfTrailingZeros___long(_r10.l);
+ _r4.l = (JAVA_LONG) _r4.i;
+ _r6.l = _r0.l - _r8.l;
+ _r4.i = _r4.l > _r6.l ? 1 : (_r4.l == _r6.l ? 0 : -1);
+ if (_r4.i >= 0) goto label61;
+ XMLVM_SOURCE_POSITION("Math.java", 1440)
+ _r2.l = _r2.l + _r8.l;
+ label61:;
+ XMLVM_SOURCE_POSITION("Math.java", 1442)
+ _r4.i = java_lang_Long_numberOfTrailingZeros___long(_r10.l);
+ _r4.l = (JAVA_LONG) _r4.i;
+ _r0.l = _r0.l - _r8.l;
+ _r0.i = _r4.l > _r0.l ? 1 : (_r4.l == _r0.l ? 0 : -1);
+ if (_r0.i != 0) goto label82;
+ XMLVM_SOURCE_POSITION("Math.java", 1443)
+ _r0.l = _r2.l & _r8.l;
+ _r0.i = _r0.l > _r8.l ? 1 : (_r0.l == _r8.l ? 0 : -1);
+ if (_r0.i != 0) goto label82;
+ XMLVM_SOURCE_POSITION("Math.java", 1444)
+ _r0.l = _r2.l + _r8.l;
+ goto label11;
+ label80:;
+ _r4.i = 0;
+ goto label47;
+ label82:;
+ _r0 = _r2;
+ goto label11;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_Math.h b/tests/nbody-java/java_lang_Math.h
new file mode 100644
index 00000000..2f2b32b6
--- /dev/null
+++ b/tests/nbody-java/java_lang_Math.h
@@ -0,0 +1,155 @@
+#ifndef __JAVA_LANG_MATH__
+#define __JAVA_LANG_MATH__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_Math 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Double
+#define XMLVM_FORWARD_DECL_java_lang_Double
+XMLVM_FORWARD_DECL(java_lang_Double)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Float
+#define XMLVM_FORWARD_DECL_java_lang_Float
+XMLVM_FORWARD_DECL(java_lang_Float)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Integer
+#define XMLVM_FORWARD_DECL_java_lang_Integer
+XMLVM_FORWARD_DECL(java_lang_Integer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Long
+#define XMLVM_FORWARD_DECL_java_lang_Long
+XMLVM_FORWARD_DECL(java_lang_Long)
+#endif
+// Class declarations for java.lang.Math
+XMLVM_DEFINE_CLASS(java_lang_Math, 6, XMLVM_ITABLE_SIZE_java_lang_Math)
+
+extern JAVA_OBJECT __CLASS_java_lang_Math;
+extern JAVA_OBJECT __CLASS_java_lang_Math_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Math_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Math_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_Math
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_Math \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_Math \
+ } java_lang_Math
+
+struct java_lang_Math {
+ __TIB_DEFINITION_java_lang_Math* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_Math;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_Math
+#define XMLVM_FORWARD_DECL_java_lang_Math
+typedef struct java_lang_Math java_lang_Math;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_Math 6
+
+void __INIT_java_lang_Math();
+void __INIT_IMPL_java_lang_Math();
+void __DELETE_java_lang_Math(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_Math(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_Math();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Math();
+JAVA_INT java_lang_Math_GET_FLOAT_EXPONENT_BIAS();
+void java_lang_Math_PUT_FLOAT_EXPONENT_BIAS(JAVA_INT v);
+JAVA_INT java_lang_Math_GET_FLOAT_EXPONENT_MASK();
+void java_lang_Math_PUT_FLOAT_EXPONENT_MASK(JAVA_INT v);
+JAVA_INT java_lang_Math_GET_DOUBLE_NON_MANTISSA_BITS();
+void java_lang_Math_PUT_DOUBLE_NON_MANTISSA_BITS(JAVA_INT v);
+JAVA_INT java_lang_Math_GET_DOUBLE_MANTISSA_BITS();
+void java_lang_Math_PUT_DOUBLE_MANTISSA_BITS(JAVA_INT v);
+JAVA_INT java_lang_Math_GET_FLOAT_NON_MANTISSA_BITS();
+void java_lang_Math_PUT_FLOAT_NON_MANTISSA_BITS(JAVA_INT v);
+JAVA_INT java_lang_Math_GET_FLOAT_MANTISSA_BITS();
+void java_lang_Math_PUT_FLOAT_MANTISSA_BITS(JAVA_INT v);
+JAVA_INT java_lang_Math_GET_DOUBLE_EXPONENT_BIAS();
+void java_lang_Math_PUT_DOUBLE_EXPONENT_BIAS(JAVA_INT v);
+JAVA_LONG java_lang_Math_GET_DOUBLE_EXPONENT_MASK();
+void java_lang_Math_PUT_DOUBLE_EXPONENT_MASK(JAVA_LONG v);
+JAVA_INT java_lang_Math_GET_FLOAT_MANTISSA_MASK();
+void java_lang_Math_PUT_FLOAT_MANTISSA_MASK(JAVA_INT v);
+JAVA_INT java_lang_Math_GET_FLOAT_SIGN_MASK();
+void java_lang_Math_PUT_FLOAT_SIGN_MASK(JAVA_INT v);
+JAVA_LONG java_lang_Math_GET_DOUBLE_MANTISSA_MASK();
+void java_lang_Math_PUT_DOUBLE_MANTISSA_MASK(JAVA_LONG v);
+JAVA_LONG java_lang_Math_GET_DOUBLE_SIGN_MASK();
+void java_lang_Math_PUT_DOUBLE_SIGN_MASK(JAVA_LONG v);
+JAVA_DOUBLE java_lang_Math_GET_E();
+void java_lang_Math_PUT_E(JAVA_DOUBLE v);
+JAVA_DOUBLE java_lang_Math_GET_PI();
+void java_lang_Math_PUT_PI(JAVA_DOUBLE v);
+JAVA_OBJECT java_lang_Math_GET_random();
+void java_lang_Math_PUT_random(JAVA_OBJECT v);
+void java_lang_Math___INIT___(JAVA_OBJECT me);
+JAVA_DOUBLE java_lang_Math_abs___double(JAVA_DOUBLE n1);
+JAVA_FLOAT java_lang_Math_abs___float(JAVA_FLOAT n1);
+JAVA_INT java_lang_Math_abs___int(JAVA_INT n1);
+JAVA_LONG java_lang_Math_abs___long(JAVA_LONG n1);
+JAVA_DOUBLE java_lang_Math_acos___double(JAVA_DOUBLE n1);
+JAVA_DOUBLE java_lang_Math_asin___double(JAVA_DOUBLE n1);
+JAVA_DOUBLE java_lang_Math_atan___double(JAVA_DOUBLE n1);
+JAVA_DOUBLE java_lang_Math_atan2___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2);
+JAVA_DOUBLE java_lang_Math_cbrt___double(JAVA_DOUBLE n1);
+JAVA_DOUBLE java_lang_Math_ceil___double(JAVA_DOUBLE n1);
+JAVA_DOUBLE java_lang_Math_cos___double(JAVA_DOUBLE n1);
+JAVA_DOUBLE java_lang_Math_cosh___double(JAVA_DOUBLE n1);
+JAVA_DOUBLE java_lang_Math_exp___double(JAVA_DOUBLE n1);
+JAVA_DOUBLE java_lang_Math_expm1___double(JAVA_DOUBLE n1);
+JAVA_DOUBLE java_lang_Math_floor___double(JAVA_DOUBLE n1);
+JAVA_DOUBLE java_lang_Math_hypot___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2);
+JAVA_DOUBLE java_lang_Math_IEEEremainder___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2);
+JAVA_DOUBLE java_lang_Math_log___double(JAVA_DOUBLE n1);
+JAVA_DOUBLE java_lang_Math_log10___double(JAVA_DOUBLE n1);
+JAVA_DOUBLE java_lang_Math_log1p___double(JAVA_DOUBLE n1);
+JAVA_DOUBLE java_lang_Math_max___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2);
+JAVA_FLOAT java_lang_Math_max___float_float(JAVA_FLOAT n1, JAVA_FLOAT n2);
+JAVA_INT java_lang_Math_max___int_int(JAVA_INT n1, JAVA_INT n2);
+JAVA_LONG java_lang_Math_max___long_long(JAVA_LONG n1, JAVA_LONG n2);
+JAVA_DOUBLE java_lang_Math_min___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2);
+JAVA_FLOAT java_lang_Math_min___float_float(JAVA_FLOAT n1, JAVA_FLOAT n2);
+JAVA_INT java_lang_Math_min___int_int(JAVA_INT n1, JAVA_INT n2);
+JAVA_LONG java_lang_Math_min___long_long(JAVA_LONG n1, JAVA_LONG n2);
+JAVA_DOUBLE java_lang_Math_pow___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2);
+JAVA_DOUBLE java_lang_Math_rint___double(JAVA_DOUBLE n1);
+JAVA_LONG java_lang_Math_round___double(JAVA_DOUBLE n1);
+JAVA_INT java_lang_Math_round___float(JAVA_FLOAT n1);
+JAVA_DOUBLE java_lang_Math_signum___double(JAVA_DOUBLE n1);
+JAVA_FLOAT java_lang_Math_signum___float(JAVA_FLOAT n1);
+JAVA_DOUBLE java_lang_Math_sin___double(JAVA_DOUBLE n1);
+JAVA_DOUBLE java_lang_Math_sinh___double(JAVA_DOUBLE n1);
+JAVA_DOUBLE java_lang_Math_sqrt___double(JAVA_DOUBLE n1);
+JAVA_DOUBLE java_lang_Math_tan___double(JAVA_DOUBLE n1);
+JAVA_DOUBLE java_lang_Math_tanh___double(JAVA_DOUBLE n1);
+JAVA_DOUBLE java_lang_Math_random__();
+JAVA_DOUBLE java_lang_Math_toRadians___double(JAVA_DOUBLE n1);
+JAVA_DOUBLE java_lang_Math_toDegrees___double(JAVA_DOUBLE n1);
+JAVA_DOUBLE java_lang_Math_ulp___double(JAVA_DOUBLE n1);
+JAVA_FLOAT java_lang_Math_ulp___float(JAVA_FLOAT n1);
+JAVA_DOUBLE java_lang_Math_nextafter___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2);
+JAVA_FLOAT java_lang_Math_nextafterf___float_float(JAVA_FLOAT n1, JAVA_FLOAT n2);
+JAVA_DOUBLE java_lang_Math_copySign___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2);
+JAVA_FLOAT java_lang_Math_copySign___float_float(JAVA_FLOAT n1, JAVA_FLOAT n2);
+JAVA_INT java_lang_Math_getExponent___float(JAVA_FLOAT n1);
+JAVA_INT java_lang_Math_getExponent___double(JAVA_DOUBLE n1);
+JAVA_DOUBLE java_lang_Math_nextAfter___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2);
+JAVA_FLOAT java_lang_Math_nextAfter___float_double(JAVA_FLOAT n1, JAVA_DOUBLE n2);
+JAVA_DOUBLE java_lang_Math_nextUp___double(JAVA_DOUBLE n1);
+JAVA_FLOAT java_lang_Math_nextUp___float(JAVA_FLOAT n1);
+JAVA_DOUBLE java_lang_Math_scalb___double_int(JAVA_DOUBLE n1, JAVA_INT n2);
+JAVA_FLOAT java_lang_Math_scalb___float_int(JAVA_FLOAT n1, JAVA_INT n2);
+JAVA_INT java_lang_Math_shiftIntBits___int_int(JAVA_INT n1, JAVA_INT n2);
+JAVA_LONG java_lang_Math_shiftLongBits___long_long(JAVA_LONG n1, JAVA_LONG n2);
+
+#endif
diff --git a/tests/nbody-java/java_lang_NoSuchFieldException.c b/tests/nbody-java/java_lang_NoSuchFieldException.c
new file mode 100644
index 00000000..a4de2085
--- /dev/null
+++ b/tests/nbody-java/java_lang_NoSuchFieldException.c
@@ -0,0 +1,197 @@
+#include "xmlvm.h"
+#include "java_lang_String.h"
+
+#include "java_lang_NoSuchFieldException.h"
+
+#define XMLVM_CURRENT_CLASS_NAME NoSuchFieldException
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_NoSuchFieldException
+
+__TIB_DEFINITION_java_lang_NoSuchFieldException __TIB_java_lang_NoSuchFieldException = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_NoSuchFieldException, // classInitializer
+ "java.lang.NoSuchFieldException", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Exception, // extends
+ sizeof(java_lang_NoSuchFieldException), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_NoSuchFieldException;
+JAVA_OBJECT __CLASS_java_lang_NoSuchFieldException_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_NoSuchFieldException_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_NoSuchFieldException_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_lang_NoSuchFieldException_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_NoSuchFieldException()
+{
+ staticInitializerLock(&__TIB_java_lang_NoSuchFieldException);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_NoSuchFieldException.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_NoSuchFieldException.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_NoSuchFieldException);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_NoSuchFieldException.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_NoSuchFieldException.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_NoSuchFieldException.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.NoSuchFieldException")
+ __INIT_IMPL_java_lang_NoSuchFieldException();
+ }
+}
+
+void __INIT_IMPL_java_lang_NoSuchFieldException()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Exception)
+ __TIB_java_lang_NoSuchFieldException.newInstanceFunc = __NEW_INSTANCE_java_lang_NoSuchFieldException;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_NoSuchFieldException.vtable, __TIB_java_lang_Exception.vtable, sizeof(__TIB_java_lang_Exception.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_lang_NoSuchFieldException.numImplementedInterfaces = 1;
+ __TIB_java_lang_NoSuchFieldException.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_lang_NoSuchFieldException.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+ // Initialize itable for this class
+ __TIB_java_lang_NoSuchFieldException.itableBegin = &__TIB_java_lang_NoSuchFieldException.itable[0];
+
+ _STATIC_java_lang_NoSuchFieldException_serialVersionUID = -6143714805279938260;
+
+ __TIB_java_lang_NoSuchFieldException.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_NoSuchFieldException.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_NoSuchFieldException.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_NoSuchFieldException.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_NoSuchFieldException.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_NoSuchFieldException.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_NoSuchFieldException.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_NoSuchFieldException.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_NoSuchFieldException = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_NoSuchFieldException);
+ __TIB_java_lang_NoSuchFieldException.clazz = __CLASS_java_lang_NoSuchFieldException;
+ __TIB_java_lang_NoSuchFieldException.baseType = JAVA_NULL;
+ __CLASS_java_lang_NoSuchFieldException_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_NoSuchFieldException);
+ __CLASS_java_lang_NoSuchFieldException_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_NoSuchFieldException_1ARRAY);
+ __CLASS_java_lang_NoSuchFieldException_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_NoSuchFieldException_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_NoSuchFieldException]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_NoSuchFieldException.classInitialized = 1;
+}
+
+void __DELETE_java_lang_NoSuchFieldException(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_NoSuchFieldException]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_NoSuchFieldException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Exception(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_NoSuchFieldException]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_NoSuchFieldException()
+{ XMLVM_CLASS_INIT(java_lang_NoSuchFieldException)
+java_lang_NoSuchFieldException* me = (java_lang_NoSuchFieldException*) XMLVM_MALLOC(sizeof(java_lang_NoSuchFieldException));
+ me->tib = &__TIB_java_lang_NoSuchFieldException;
+ __INIT_INSTANCE_MEMBERS_java_lang_NoSuchFieldException(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_NoSuchFieldException]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_NoSuchFieldException()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_lang_NoSuchFieldException();
+ java_lang_NoSuchFieldException___INIT___(me);
+ return me;
+}
+
+JAVA_LONG java_lang_NoSuchFieldException_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_lang_NoSuchFieldException)
+ return _STATIC_java_lang_NoSuchFieldException_serialVersionUID;
+}
+
+void java_lang_NoSuchFieldException_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_NoSuchFieldException)
+_STATIC_java_lang_NoSuchFieldException_serialVersionUID = v;
+}
+
+void java_lang_NoSuchFieldException___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_NoSuchFieldException___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.NoSuchFieldException", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("NoSuchFieldException.java", 33)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Exception___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("NoSuchFieldException.java", 34)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_NoSuchFieldException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_NoSuchFieldException___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.NoSuchFieldException", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("NoSuchFieldException.java", 44)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Exception___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("NoSuchFieldException.java", 45)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_NoSuchFieldException.h b/tests/nbody-java/java_lang_NoSuchFieldException.h
new file mode 100644
index 00000000..4dc14ce9
--- /dev/null
+++ b/tests/nbody-java/java_lang_NoSuchFieldException.h
@@ -0,0 +1,58 @@
+#ifndef __JAVA_LANG_NOSUCHFIELDEXCEPTION__
+#define __JAVA_LANG_NOSUCHFIELDEXCEPTION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_NoSuchFieldException 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Exception.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+// Class declarations for java.lang.NoSuchFieldException
+XMLVM_DEFINE_CLASS(java_lang_NoSuchFieldException, 8, XMLVM_ITABLE_SIZE_java_lang_NoSuchFieldException)
+
+extern JAVA_OBJECT __CLASS_java_lang_NoSuchFieldException;
+extern JAVA_OBJECT __CLASS_java_lang_NoSuchFieldException_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_NoSuchFieldException_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_NoSuchFieldException_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_NoSuchFieldException
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_NoSuchFieldException \
+ __INSTANCE_FIELDS_java_lang_Exception; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_NoSuchFieldException \
+ } java_lang_NoSuchFieldException
+
+struct java_lang_NoSuchFieldException {
+ __TIB_DEFINITION_java_lang_NoSuchFieldException* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_NoSuchFieldException;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_NoSuchFieldException
+#define XMLVM_FORWARD_DECL_java_lang_NoSuchFieldException
+typedef struct java_lang_NoSuchFieldException java_lang_NoSuchFieldException;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_NoSuchFieldException 8
+
+void __INIT_java_lang_NoSuchFieldException();
+void __INIT_IMPL_java_lang_NoSuchFieldException();
+void __DELETE_java_lang_NoSuchFieldException(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_NoSuchFieldException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_NoSuchFieldException();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_NoSuchFieldException();
+JAVA_LONG java_lang_NoSuchFieldException_GET_serialVersionUID();
+void java_lang_NoSuchFieldException_PUT_serialVersionUID(JAVA_LONG v);
+void java_lang_NoSuchFieldException___INIT___(JAVA_OBJECT me);
+void java_lang_NoSuchFieldException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_lang_NullPointerException.c b/tests/nbody-java/java_lang_NullPointerException.c
new file mode 100644
index 00000000..979eecb1
--- /dev/null
+++ b/tests/nbody-java/java_lang_NullPointerException.c
@@ -0,0 +1,197 @@
+#include "xmlvm.h"
+#include "java_lang_String.h"
+
+#include "java_lang_NullPointerException.h"
+
+#define XMLVM_CURRENT_CLASS_NAME NullPointerException
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_NullPointerException
+
+__TIB_DEFINITION_java_lang_NullPointerException __TIB_java_lang_NullPointerException = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_NullPointerException, // classInitializer
+ "java.lang.NullPointerException", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_RuntimeException, // extends
+ sizeof(java_lang_NullPointerException), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_NullPointerException;
+JAVA_OBJECT __CLASS_java_lang_NullPointerException_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_NullPointerException_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_NullPointerException_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_lang_NullPointerException_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_NullPointerException()
+{
+ staticInitializerLock(&__TIB_java_lang_NullPointerException);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_NullPointerException.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_NullPointerException.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_NullPointerException);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_NullPointerException.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_NullPointerException.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_NullPointerException.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.NullPointerException")
+ __INIT_IMPL_java_lang_NullPointerException();
+ }
+}
+
+void __INIT_IMPL_java_lang_NullPointerException()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_RuntimeException)
+ __TIB_java_lang_NullPointerException.newInstanceFunc = __NEW_INSTANCE_java_lang_NullPointerException;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_NullPointerException.vtable, __TIB_java_lang_RuntimeException.vtable, sizeof(__TIB_java_lang_RuntimeException.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_lang_NullPointerException.numImplementedInterfaces = 1;
+ __TIB_java_lang_NullPointerException.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_lang_NullPointerException.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+ // Initialize itable for this class
+ __TIB_java_lang_NullPointerException.itableBegin = &__TIB_java_lang_NullPointerException.itable[0];
+
+ _STATIC_java_lang_NullPointerException_serialVersionUID = 5162710183389028792;
+
+ __TIB_java_lang_NullPointerException.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_NullPointerException.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_NullPointerException.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_NullPointerException.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_NullPointerException.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_NullPointerException.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_NullPointerException.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_NullPointerException.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_NullPointerException = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_NullPointerException);
+ __TIB_java_lang_NullPointerException.clazz = __CLASS_java_lang_NullPointerException;
+ __TIB_java_lang_NullPointerException.baseType = JAVA_NULL;
+ __CLASS_java_lang_NullPointerException_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_NullPointerException);
+ __CLASS_java_lang_NullPointerException_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_NullPointerException_1ARRAY);
+ __CLASS_java_lang_NullPointerException_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_NullPointerException_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_NullPointerException]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_NullPointerException.classInitialized = 1;
+}
+
+void __DELETE_java_lang_NullPointerException(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_NullPointerException]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_NullPointerException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_RuntimeException(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_NullPointerException]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_NullPointerException()
+{ XMLVM_CLASS_INIT(java_lang_NullPointerException)
+java_lang_NullPointerException* me = (java_lang_NullPointerException*) XMLVM_MALLOC(sizeof(java_lang_NullPointerException));
+ me->tib = &__TIB_java_lang_NullPointerException;
+ __INIT_INSTANCE_MEMBERS_java_lang_NullPointerException(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_NullPointerException]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_NullPointerException()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_lang_NullPointerException();
+ java_lang_NullPointerException___INIT___(me);
+ return me;
+}
+
+JAVA_LONG java_lang_NullPointerException_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_lang_NullPointerException)
+ return _STATIC_java_lang_NullPointerException_serialVersionUID;
+}
+
+void java_lang_NullPointerException_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_NullPointerException)
+_STATIC_java_lang_NullPointerException_serialVersionUID = v;
+}
+
+void java_lang_NullPointerException___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_NullPointerException___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.NullPointerException", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("NullPointerException.java", 36)
+ XMLVM_CHECK_NPE(0)
+ java_lang_RuntimeException___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("NullPointerException.java", 37)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_NullPointerException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_NullPointerException___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.NullPointerException", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("NullPointerException.java", 47)
+ XMLVM_CHECK_NPE(0)
+ java_lang_RuntimeException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("NullPointerException.java", 48)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_NullPointerException.h b/tests/nbody-java/java_lang_NullPointerException.h
new file mode 100644
index 00000000..cdde118f
--- /dev/null
+++ b/tests/nbody-java/java_lang_NullPointerException.h
@@ -0,0 +1,58 @@
+#ifndef __JAVA_LANG_NULLPOINTEREXCEPTION__
+#define __JAVA_LANG_NULLPOINTEREXCEPTION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_NullPointerException 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_RuntimeException.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+// Class declarations for java.lang.NullPointerException
+XMLVM_DEFINE_CLASS(java_lang_NullPointerException, 8, XMLVM_ITABLE_SIZE_java_lang_NullPointerException)
+
+extern JAVA_OBJECT __CLASS_java_lang_NullPointerException;
+extern JAVA_OBJECT __CLASS_java_lang_NullPointerException_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_NullPointerException_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_NullPointerException_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_NullPointerException
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_NullPointerException \
+ __INSTANCE_FIELDS_java_lang_RuntimeException; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_NullPointerException \
+ } java_lang_NullPointerException
+
+struct java_lang_NullPointerException {
+ __TIB_DEFINITION_java_lang_NullPointerException* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_NullPointerException;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+typedef struct java_lang_NullPointerException java_lang_NullPointerException;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_NullPointerException 8
+
+void __INIT_java_lang_NullPointerException();
+void __INIT_IMPL_java_lang_NullPointerException();
+void __DELETE_java_lang_NullPointerException(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_NullPointerException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_NullPointerException();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_NullPointerException();
+JAVA_LONG java_lang_NullPointerException_GET_serialVersionUID();
+void java_lang_NullPointerException_PUT_serialVersionUID(JAVA_LONG v);
+void java_lang_NullPointerException___INIT___(JAVA_OBJECT me);
+void java_lang_NullPointerException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_lang_Number.c b/tests/nbody-java/java_lang_Number.c
new file mode 100644
index 00000000..5571c52b
--- /dev/null
+++ b/tests/nbody-java/java_lang_Number.c
@@ -0,0 +1,215 @@
+#include "xmlvm.h"
+
+#include "java_lang_Number.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Number
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Number
+
+__TIB_DEFINITION_java_lang_Number __TIB_java_lang_Number = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Number, // classInitializer
+ "java.lang.Number", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_Number), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_Number;
+JAVA_OBJECT __CLASS_java_lang_Number_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Number_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Number_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_lang_Number_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_Number()
+{
+ staticInitializerLock(&__TIB_java_lang_Number);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Number.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Number.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Number);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Number.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Number.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Number.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Number")
+ __INIT_IMPL_java_lang_Number();
+ }
+}
+
+void __INIT_IMPL_java_lang_Number()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_Number.newInstanceFunc = __NEW_INSTANCE_java_lang_Number;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_Number.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_Number.vtable[6] = (VTABLE_PTR) &java_lang_Number_byteValue__;
+ __TIB_java_lang_Number.vtable[11] = (VTABLE_PTR) &java_lang_Number_shortValue__;
+ // Initialize interface information
+ __TIB_java_lang_Number.numImplementedInterfaces = 1;
+ __TIB_java_lang_Number.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_lang_Number.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+ // Initialize itable for this class
+ __TIB_java_lang_Number.itableBegin = &__TIB_java_lang_Number.itable[0];
+
+ _STATIC_java_lang_Number_serialVersionUID = -8742448824652078965;
+
+ __TIB_java_lang_Number.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Number.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_Number.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_Number.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_Number.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_Number.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Number.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Number.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_Number = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Number);
+ __TIB_java_lang_Number.clazz = __CLASS_java_lang_Number;
+ __TIB_java_lang_Number.baseType = JAVA_NULL;
+ __CLASS_java_lang_Number_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Number);
+ __CLASS_java_lang_Number_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Number_1ARRAY);
+ __CLASS_java_lang_Number_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Number_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_Number]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_Number.classInitialized = 1;
+}
+
+void __DELETE_java_lang_Number(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_Number]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_Number(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_Number]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_Number()
+{ XMLVM_CLASS_INIT(java_lang_Number)
+java_lang_Number* me = (java_lang_Number*) XMLVM_MALLOC(sizeof(java_lang_Number));
+ me->tib = &__TIB_java_lang_Number;
+ __INIT_INSTANCE_MEMBERS_java_lang_Number(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_Number]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Number()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_lang_Number();
+ java_lang_Number___INIT___(me);
+ return me;
+}
+
+JAVA_LONG java_lang_Number_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_lang_Number)
+ return _STATIC_java_lang_Number_serialVersionUID;
+}
+
+void java_lang_Number_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_Number)
+_STATIC_java_lang_Number_serialVersionUID = v;
+}
+
+void java_lang_Number___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Number___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.Number", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Number.java", 33)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Number.java", 34)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BYTE java_lang_Number_byteValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Number_byteValue__]
+ XMLVM_ENTER_METHOD("java.lang.Number", "byteValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Number.java", 43)
+ //java_lang_Number_intValue__[9]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Number*) _r1.o)->tib->vtable[9])(_r1.o);
+ _r0.i = (_r0.i << 24) >> 24;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_SHORT java_lang_Number_shortValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Number_shortValue__]
+ XMLVM_ENTER_METHOD("java.lang.Number", "shortValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Number.java", 83)
+ //java_lang_Number_intValue__[9]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Number*) _r1.o)->tib->vtable[9])(_r1.o);
+ _r0.i = (_r0.i << 16) >> 16;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_Number.h b/tests/nbody-java/java_lang_Number.h
new file mode 100644
index 00000000..c1b28c5a
--- /dev/null
+++ b/tests/nbody-java/java_lang_Number.h
@@ -0,0 +1,72 @@
+#ifndef __JAVA_LANG_NUMBER__
+#define __JAVA_LANG_NUMBER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_Number 0
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+// Class declarations for java.lang.Number
+XMLVM_DEFINE_CLASS(java_lang_Number, 12, XMLVM_ITABLE_SIZE_java_lang_Number)
+
+extern JAVA_OBJECT __CLASS_java_lang_Number;
+extern JAVA_OBJECT __CLASS_java_lang_Number_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Number_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Number_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_Number
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_Number \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_Number \
+ } java_lang_Number
+
+struct java_lang_Number {
+ __TIB_DEFINITION_java_lang_Number* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_Number;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_Number
+#define XMLVM_FORWARD_DECL_java_lang_Number
+typedef struct java_lang_Number java_lang_Number;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_Number 12
+#define XMLVM_VTABLE_IDX_java_lang_Number_byteValue__ 6
+#define XMLVM_VTABLE_IDX_java_lang_Number_doubleValue__ 7
+#define XMLVM_VTABLE_IDX_java_lang_Number_floatValue__ 8
+#define XMLVM_VTABLE_IDX_java_lang_Number_intValue__ 9
+#define XMLVM_VTABLE_IDX_java_lang_Number_longValue__ 10
+#define XMLVM_VTABLE_IDX_java_lang_Number_shortValue__ 11
+
+void __INIT_java_lang_Number();
+void __INIT_IMPL_java_lang_Number();
+void __DELETE_java_lang_Number(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_Number(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_Number();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Number();
+JAVA_LONG java_lang_Number_GET_serialVersionUID();
+void java_lang_Number_PUT_serialVersionUID(JAVA_LONG v);
+void java_lang_Number___INIT___(JAVA_OBJECT me);
+// Vtable index: 6
+JAVA_BYTE java_lang_Number_byteValue__(JAVA_OBJECT me);
+// Vtable index: 7
+JAVA_DOUBLE java_lang_Number_doubleValue__(JAVA_OBJECT me);
+// Vtable index: 8
+JAVA_FLOAT java_lang_Number_floatValue__(JAVA_OBJECT me);
+// Vtable index: 9
+JAVA_INT java_lang_Number_intValue__(JAVA_OBJECT me);
+// Vtable index: 10
+JAVA_LONG java_lang_Number_longValue__(JAVA_OBJECT me);
+// Vtable index: 11
+JAVA_SHORT java_lang_Number_shortValue__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_lang_Object.c b/tests/nbody-java/java_lang_Object.c
new file mode 100644
index 00000000..fcc876e7
--- /dev/null
+++ b/tests/nbody-java/java_lang_Object.c
@@ -0,0 +1,1079 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_Integer.h"
+#include "java_lang_Math.h"
+#include "java_lang_Object_AddedMembers.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_lang_Thread.h"
+#include "java_util_List.h"
+#include "org_xmlvm_runtime_Condition.h"
+#include "org_xmlvm_runtime_Mutex.h"
+
+#include "java_lang_Object.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Object
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Object
+
+__TIB_DEFINITION_java_lang_Object __TIB_java_lang_Object = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Object, // classInitializer
+ "java.lang.Object", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) JAVA_NULL, // extends
+ sizeof(java_lang_Object), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_Object;
+JAVA_OBJECT __CLASS_java_lang_Object_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Object_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Object_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_OBJECT _STATIC_java_lang_Object_staticMutex;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_Object()
+{
+ staticInitializerLock(&__TIB_java_lang_Object);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Object.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Object.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Object);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Object.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Object.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Object.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Object")
+ __INIT_IMPL_java_lang_Object();
+ }
+}
+
+void __INIT_IMPL_java_lang_Object()
+{
+ // Initialize vtable for this class
+ __TIB_java_lang_Object.vtable[0] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_Object.vtable[1] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_Object.vtable[2] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_Object.vtable[3] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_Object.vtable[4] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_Object.vtable[5] = (VTABLE_PTR) &java_lang_Object_toString__;
+ xmlvm_init_native_java_lang_Object();
+ // Initialize interface information
+ __TIB_java_lang_Object.numImplementedInterfaces = 0;
+ __TIB_java_lang_Object.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_java_lang_Object_staticMutex = (org_xmlvm_runtime_Mutex*) JAVA_NULL;
+
+ __TIB_java_lang_Object.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Object.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_Object.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_Object.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_Object.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_Object.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Object.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Object.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_Object = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Object);
+ __TIB_java_lang_Object.clazz = __CLASS_java_lang_Object;
+ __TIB_java_lang_Object.baseType = JAVA_NULL;
+ __CLASS_java_lang_Object_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Object);
+ __CLASS_java_lang_Object_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Object_1ARRAY);
+ __CLASS_java_lang_Object_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Object_2ARRAY);
+ java_lang_Object___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_Object]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_Object.classInitialized = 1;
+}
+
+void __DELETE_java_lang_Object(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_Object]
+ //XMLVM_END_WRAPPER
+ // Call the finalizer
+ (*(void (*)(JAVA_OBJECT)) ((java_lang_Object*) me)->tib->vtable[XMLVM_VTABLE_IDX_java_lang_Object_finalize_java_lang_Object__])(me);
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_Object(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ ((java_lang_Object*) me)->fields.java_lang_Object.addedMembers_ = (java_lang_Object_AddedMembers*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_Object]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_Object()
+{ XMLVM_CLASS_INIT(java_lang_Object)
+java_lang_Object* me = (java_lang_Object*) XMLVM_MALLOC(sizeof(java_lang_Object));
+ me->tib = &__TIB_java_lang_Object;
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_Object]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Object()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_lang_Object();
+ java_lang_Object___INIT___(me);
+ return me;
+}
+
+JAVA_OBJECT java_lang_Object_GET_staticMutex()
+{
+ XMLVM_CLASS_INIT(java_lang_Object)
+ return _STATIC_java_lang_Object_staticMutex;
+}
+
+void java_lang_Object_PUT_staticMutex(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Object)
+_STATIC_java_lang_Object_staticMutex = v;
+}
+
+//XMLVM_NATIVE[void java_lang_Object_initNativeLayer__()]
+
+void java_lang_Object___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.Object", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Object.java", 58)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Object_clone__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_Object_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[void java_lang_Object_finalize_java_lang_Object__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Object_getClass__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_INT java_lang_Object_hashCode__(JAVA_OBJECT me)]
+
+void java_lang_Object_notify__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_notify__]
+ XMLVM_ENTER_METHOD("java.lang.Object", "notify", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Object.java", 185)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object_notify2__(_r0.o);
+ XMLVM_SOURCE_POSITION("Object.java", 186)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Object_notifyAll__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_notifyAll__]
+ XMLVM_ENTER_METHOD("java.lang.Object", "notifyAll", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Object.java", 216)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object_notifyAll2__(_r0.o);
+ XMLVM_SOURCE_POSITION("Object.java", 217)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Object_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_toString__]
+ XMLVM_ENTER_METHOD("java.lang.Object", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Object.java", 234)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT___(_r0.o);
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(2)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r2.o)->tib->vtable[3])(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_Class_getName__(_r1.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ _r1.i = 64;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r1.i);
+ //java_lang_Object_hashCode__[4]
+ XMLVM_CHECK_NPE(2)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r2.o)->tib->vtable[4])(_r2.o);
+ _r1.o = java_lang_Integer_toHexString___int(_r1.i);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Object_wait__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_wait__]
+ XMLVM_ENTER_METHOD("java.lang.Object", "wait", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Object.java", 266)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object_wait2__(_r0.o);
+ XMLVM_SOURCE_POSITION("Object.java", 267)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Object_wait___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_wait___long]
+ XMLVM_ENTER_METHOD("java.lang.Object", "wait", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.l = n1;
+ XMLVM_SOURCE_POSITION("Object.java", 303)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object_wait2___long(_r0.o, _r1.l);
+ XMLVM_SOURCE_POSITION("Object.java", 304)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void java_lang_Object_wait___long_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_INT n2)]
+
+void java_lang_Object_establishLock___java_lang_Thread(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_establishLock___java_lang_Thread]
+ XMLVM_ENTER_METHOD("java.lang.Object", "establishLock", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Object.java", 382)
+ _r0.o = java_lang_Object_GET_staticMutex();
+ XMLVM_CHECK_NPE(0)
+ org_xmlvm_runtime_Mutex_lock__(_r0.o);
+ XMLVM_SOURCE_POSITION("Object.java", 384)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_Object*) _r1.o)->fields.java_lang_Object.addedMembers_;
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_Object_AddedMembers*) _r0.o)->fields.java_lang_Object_AddedMembers.owningThread_ = _r2.o;
+ XMLVM_SOURCE_POSITION("Object.java", 386)
+ _r0.o = java_lang_Object_GET_staticMutex();
+ XMLVM_CHECK_NPE(0)
+ org_xmlvm_runtime_Mutex_unlock__(_r0.o);
+ XMLVM_SOURCE_POSITION("Object.java", 387)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Object_prepareForUnlock__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_prepareForUnlock__]
+ XMLVM_ENTER_METHOD("java.lang.Object", "prepareForUnlock", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Object.java", 393)
+ _r0.o = java_lang_Object_GET_staticMutex();
+ XMLVM_CHECK_NPE(0)
+ org_xmlvm_runtime_Mutex_lock__(_r0.o);
+ XMLVM_SOURCE_POSITION("Object.java", 395)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_lang_Object*) _r2.o)->fields.java_lang_Object.addedMembers_;
+ _r1.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_Object_AddedMembers*) _r0.o)->fields.java_lang_Object_AddedMembers.owningThread_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Object.java", 397)
+ _r0.o = java_lang_Object_GET_staticMutex();
+ XMLVM_CHECK_NPE(0)
+ org_xmlvm_runtime_Mutex_unlock__(_r0.o);
+ XMLVM_SOURCE_POSITION("Object.java", 398)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Object_syncLock___java_lang_Thread(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_syncLock___java_lang_Thread]
+ XMLVM_ENTER_METHOD("java.lang.Object", "syncLock", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Object.java", 401)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_Object*) _r1.o)->fields.java_lang_Object.addedMembers_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_lang_Object_AddedMembers*) _r0.o)->fields.java_lang_Object_AddedMembers.instanceMutex_;
+ XMLVM_CHECK_NPE(0)
+ org_xmlvm_runtime_Mutex_lock__(_r0.o);
+ XMLVM_SOURCE_POSITION("Object.java", 402)
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object_establishLock___java_lang_Thread(_r1.o, _r2.o);
+ XMLVM_SOURCE_POSITION("Object.java", 403)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Object_syncUnlock__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_syncUnlock__]
+ XMLVM_ENTER_METHOD("java.lang.Object", "syncUnlock", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Object.java", 406)
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object_prepareForUnlock__(_r1.o);
+ XMLVM_SOURCE_POSITION("Object.java", 407)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_Object*) _r1.o)->fields.java_lang_Object.addedMembers_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_lang_Object_AddedMembers*) _r0.o)->fields.java_lang_Object_AddedMembers.instanceMutex_;
+ XMLVM_CHECK_NPE(0)
+ org_xmlvm_runtime_Mutex_unlock__(_r0.o);
+ XMLVM_SOURCE_POSITION("Object.java", 408)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Object_acquireLockRecursive__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_acquireLockRecursive__]
+ XMLVM_ENTER_METHOD("java.lang.Object", "acquireLockRecursive", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ XMLVM_SOURCE_POSITION("Object.java", 417)
+ _r0.i = 0;
+ XMLVM_SOURCE_POSITION("Object.java", 419)
+ _r1.o = java_lang_Thread_currentThread__();
+ XMLVM_SOURCE_POSITION("Object.java", 420)
+ _r2.o = java_lang_Object_GET_staticMutex();
+ XMLVM_CHECK_NPE(2)
+ org_xmlvm_runtime_Mutex_lock__(_r2.o);
+ XMLVM_SOURCE_POSITION("Object.java", 422)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_lang_Object*) _r4.o)->fields.java_lang_Object.addedMembers_;
+ if (_r2.o != JAVA_NULL) goto label21;
+ XMLVM_SOURCE_POSITION("Object.java", 423)
+ _r2.o = __NEW_java_lang_Object_AddedMembers();
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object_AddedMembers___INIT___(_r2.o);
+ XMLVM_CHECK_NPE(4)
+ ((java_lang_Object*) _r4.o)->fields.java_lang_Object.addedMembers_ = _r2.o;
+ label21:;
+ XMLVM_SOURCE_POSITION("Object.java", 425)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_lang_Object*) _r4.o)->fields.java_lang_Object.addedMembers_;
+ XMLVM_CHECK_NPE(2)
+ _r2.o = ((java_lang_Object_AddedMembers*) _r2.o)->fields.java_lang_Object_AddedMembers.owningThread_;
+ //java_lang_Thread_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(1)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Thread*) _r1.o)->tib->vtable[1])(_r1.o, _r2.o);
+ if (_r2.i != 0) goto label52;
+ _r2.i = 1;
+ _r0 = _r2;
+ label33:;
+ XMLVM_SOURCE_POSITION("Object.java", 427)
+ _r2.o = java_lang_Object_GET_staticMutex();
+ XMLVM_CHECK_NPE(2)
+ org_xmlvm_runtime_Mutex_unlock__(_r2.o);
+ XMLVM_SOURCE_POSITION("Object.java", 429)
+ if (_r0.i == 0) goto label43;
+ XMLVM_SOURCE_POSITION("Object.java", 430)
+ XMLVM_CHECK_NPE(4)
+ java_lang_Object_syncLock___java_lang_Thread(_r4.o, _r1.o);
+ label43:;
+ XMLVM_SOURCE_POSITION("Object.java", 432)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_lang_Object*) _r4.o)->fields.java_lang_Object.addedMembers_;
+ XMLVM_CHECK_NPE(2)
+ _r3.i = ((java_lang_Object_AddedMembers*) _r2.o)->fields.java_lang_Object_AddedMembers.recursiveLocks_;
+ _r3.i = _r3.i + 1;
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Object_AddedMembers*) _r2.o)->fields.java_lang_Object_AddedMembers.recursiveLocks_ = _r3.i;
+ XMLVM_SOURCE_POSITION("Object.java", 435)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label52:;
+ _r2.i = 0;
+ _r0 = _r2;
+ goto label33;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Object_releaseLockRecursive__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_releaseLockRecursive__]
+ XMLVM_ENTER_METHOD("java.lang.Object", "releaseLockRecursive", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("Object.java", 443)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_lang_Object*) _r3.o)->fields.java_lang_Object.addedMembers_;
+ XMLVM_CHECK_NPE(0)
+ _r1.i = ((java_lang_Object_AddedMembers*) _r0.o)->fields.java_lang_Object_AddedMembers.recursiveLocks_;
+ _r2.i = 1;
+ _r1.i = _r1.i - _r2.i;
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_Object_AddedMembers*) _r0.o)->fields.java_lang_Object_AddedMembers.recursiveLocks_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Object.java", 445)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_lang_Object*) _r3.o)->fields.java_lang_Object.addedMembers_;
+ XMLVM_CHECK_NPE(0)
+ _r0.i = ((java_lang_Object_AddedMembers*) _r0.o)->fields.java_lang_Object_AddedMembers.recursiveLocks_;
+ if (_r0.i != 0) goto label17;
+ XMLVM_SOURCE_POSITION("Object.java", 446)
+ XMLVM_CHECK_NPE(3)
+ java_lang_Object_syncUnlock__(_r3.o);
+ label17:;
+ XMLVM_SOURCE_POSITION("Object.java", 448)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Object_enqueueNewCondition__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_enqueueNewCondition__]
+ XMLVM_ENTER_METHOD("java.lang.Object", "enqueueNewCondition", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Object.java", 462)
+ _r0.o = __NEW_org_xmlvm_runtime_Condition();
+ XMLVM_CHECK_NPE(0)
+ org_xmlvm_runtime_Condition___INIT____java_lang_Object(_r0.o, _r2.o);
+ XMLVM_SOURCE_POSITION("Object.java", 463)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_lang_Object*) _r2.o)->fields.java_lang_Object.addedMembers_;
+ _r1.o = java_lang_Object_AddedMembers_access$000___java_lang_Object_AddedMembers(_r1.o);
+ XMLVM_CHECK_NPE(1)
+ (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_add___java_lang_Object])(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Object.java", 464)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Object_checkSynchronized___java_lang_Thread(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_checkSynchronized___java_lang_Thread]
+ XMLVM_ENTER_METHOD("java.lang.Object", "checkSynchronized", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.o = n1;
+ XMLVM_SOURCE_POSITION("Object.java", 475)
+ _r1.i = 0;
+ _r0.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("Object.java", 478)
+ _r2.o = java_lang_Object_GET_staticMutex();
+ XMLVM_CHECK_NPE(2)
+ org_xmlvm_runtime_Mutex_lock__(_r2.o);
+ XMLVM_SOURCE_POSITION("Object.java", 480)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_lang_Object*) _r4.o)->fields.java_lang_Object.addedMembers_;
+ if (_r2.o == JAVA_NULL) goto label15;
+ XMLVM_SOURCE_POSITION("Object.java", 481)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_lang_Object*) _r4.o)->fields.java_lang_Object.addedMembers_;
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_lang_Object_AddedMembers*) _r2.o)->fields.java_lang_Object_AddedMembers.owningThread_;
+ label15:;
+ XMLVM_SOURCE_POSITION("Object.java", 484)
+ _r2.o = java_lang_Object_GET_staticMutex();
+ XMLVM_CHECK_NPE(2)
+ org_xmlvm_runtime_Mutex_unlock__(_r2.o);
+ XMLVM_SOURCE_POSITION("Object.java", 486)
+ //java_lang_Thread_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(5)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Thread*) _r5.o)->tib->vtable[1])(_r5.o, _r0.o);
+ if (_r1.i != 0) goto label34;
+ XMLVM_SOURCE_POSITION("Object.java", 487)
+ XMLVM_SOURCE_POSITION("Object.java", 488)
+
+
+ // Red class access removed: java.lang.IllegalMonitorStateException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "the current thread is not the owner of the object's monitor"
+ _r3.o = xmlvm_create_java_string_from_pool(67);
+
+
+ // Red class access removed: java.lang.IllegalMonitorStateException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r2.o)
+ label34:;
+ XMLVM_SOURCE_POSITION("Object.java", 490)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Object_removeThreadNotification___org_xmlvm_runtime_Condition(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_removeThreadNotification___org_xmlvm_runtime_Condition]
+ XMLVM_ENTER_METHOD("java.lang.Object", "removeThreadNotification", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("Object.java", 500)
+ _r1.i = 0;
+ _r0.i = 0;
+ label2:;
+ XMLVM_SOURCE_POSITION("Object.java", 501)
+ XMLVM_SOURCE_POSITION("Object.java", 502)
+ if (_r0.i != 0) goto label55;
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_lang_Object*) _r3.o)->fields.java_lang_Object.addedMembers_;
+ _r2.o = java_lang_Object_AddedMembers_access$000___java_lang_Object_AddedMembers(_r2.o);
+ XMLVM_CHECK_NPE(2)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_size__])(_r2.o);
+ if (_r1.i >= _r2.i) goto label55;
+ XMLVM_SOURCE_POSITION("Object.java", 503)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_lang_Object*) _r3.o)->fields.java_lang_Object.addedMembers_;
+ _r2.o = java_lang_Object_AddedMembers_access$000___java_lang_Object_AddedMembers(_r2.o);
+ XMLVM_CHECK_NPE(2)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_get___int])(_r2.o, _r1.i);
+ if (_r2.o != _r4.o) goto label52;
+ XMLVM_SOURCE_POSITION("Object.java", 504)
+ _r0.i = 1;
+ XMLVM_SOURCE_POSITION("Object.java", 506)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_lang_Object*) _r3.o)->fields.java_lang_Object.addedMembers_;
+ _r2.o = java_lang_Object_AddedMembers_access$000___java_lang_Object_AddedMembers(_r2.o);
+ XMLVM_CHECK_NPE(2)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_remove___int])(_r2.o, _r1.i);
+ XMLVM_SOURCE_POSITION("Object.java", 507)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_lang_Object*) _r3.o)->fields.java_lang_Object.addedMembers_;
+ _r2.i = java_lang_Object_AddedMembers_access$100___java_lang_Object_AddedMembers(_r2.o);
+ if (_r1.i > _r2.i) goto label2;
+ XMLVM_SOURCE_POSITION("Object.java", 508)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_lang_Object*) _r3.o)->fields.java_lang_Object.addedMembers_;
+ java_lang_Object_AddedMembers_access$110___java_lang_Object_AddedMembers(_r2.o);
+ goto label2;
+ label52:;
+ XMLVM_SOURCE_POSITION("Object.java", 511)
+ _r1.i = _r1.i + 1;
+ goto label2;
+ label55:;
+ XMLVM_SOURCE_POSITION("Object.java", 514)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Object_getRandInclusive___int_int(JAVA_INT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Object)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_getRandInclusive___int_int]
+ XMLVM_ENTER_METHOD("java.lang.Object", "getRandInclusive", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.i = n1;
+ _r5.i = n2;
+ XMLVM_SOURCE_POSITION("Object.java", 518)
+ _r0.d = java_lang_Math_random__();
+ _r2.i = _r5.i - _r4.i;
+ _r2.i = _r2.i + 1;
+ _r2.d = (JAVA_DOUBLE) _r2.i;
+ _r0.d = _r0.d * _r2.d;
+ _r0.i = (JAVA_INT) _r0.d;
+ _r0.i = _r0.i + _r4.i;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Object_preWait___java_lang_Thread_org_xmlvm_runtime_Condition(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_preWait___java_lang_Thread_org_xmlvm_runtime_Condition]
+ XMLVM_ENTER_METHOD("java.lang.Object", "preWait", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r4.o = me;
+ _r5.o = n1;
+ _r6.o = n2;
+ XMLVM_SOURCE_POSITION("Object.java", 529)
+ XMLVM_CHECK_NPE(5)
+ java_lang_Thread_setWaitingCondition___org_xmlvm_runtime_Condition(_r5.o, _r6.o);
+ XMLVM_SOURCE_POSITION("Object.java", 531)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_lang_Object*) _r4.o)->fields.java_lang_Object.addedMembers_;
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_lang_Object_AddedMembers*) _r2.o)->fields.java_lang_Object_AddedMembers.recursiveLocks_;
+ XMLVM_SOURCE_POSITION("Object.java", 532)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_lang_Object*) _r4.o)->fields.java_lang_Object.addedMembers_;
+ _r3.i = 0;
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Object_AddedMembers*) _r2.o)->fields.java_lang_Object_AddedMembers.recursiveLocks_ = _r3.i;
+ XMLVM_SOURCE_POSITION("Object.java", 536)
+ _r0.i = java_lang_Thread_interrupted__();
+ XMLVM_SOURCE_POSITION("Object.java", 540)
+ XMLVM_CHECK_NPE(4)
+ java_lang_Object_prepareForUnlock__(_r4.o);
+ XMLVM_SOURCE_POSITION("Object.java", 542)
+ if (_r0.i == 0) goto label23;
+ _r2.i = -_r1.i;
+ label22:;
+ XMLVM_EXIT_METHOD()
+ return _r2.i;
+ label23:;
+ _r2 = _r1;
+ goto label22;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Object_postWait___java_lang_Thread_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_postWait___java_lang_Thread_int]
+ XMLVM_ENTER_METHOD("java.lang.Object", "postWait", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.i = n2;
+ XMLVM_SOURCE_POSITION("Object.java", 556)
+ _r0.i = 0;
+ XMLVM_SOURCE_POSITION("Object.java", 560)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object_establishLock___java_lang_Thread(_r2.o, _r3.o);
+ XMLVM_SOURCE_POSITION("Object.java", 562)
+ _r1.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(3)
+ java_lang_Thread_setWaitingCondition___org_xmlvm_runtime_Condition(_r3.o, _r1.o);
+ XMLVM_SOURCE_POSITION("Object.java", 566)
+ _r1.i = java_lang_Thread_interrupted__();
+ if (_r1.i == 0) goto label15;
+ XMLVM_SOURCE_POSITION("Object.java", 567)
+ _r0.i = 1;
+ label15:;
+ XMLVM_SOURCE_POSITION("Object.java", 570)
+ if (_r4.i >= 0) goto label19;
+ XMLVM_SOURCE_POSITION("Object.java", 572)
+ _r4.i = -_r4.i;
+ _r0.i = 1;
+ label19:;
+ XMLVM_SOURCE_POSITION("Object.java", 573)
+ XMLVM_SOURCE_POSITION("Object.java", 577)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_lang_Object*) _r2.o)->fields.java_lang_Object.addedMembers_;
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_Object_AddedMembers*) _r1.o)->fields.java_lang_Object_AddedMembers.recursiveLocks_ = _r4.i;
+ XMLVM_SOURCE_POSITION("Object.java", 579)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Object_wait2__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_wait2__]
+ XMLVM_ENTER_METHOD("java.lang.Object", "wait2", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.o = me;
+ XMLVM_SOURCE_POSITION("Object.java", 583)
+ _r0.o = java_lang_Thread_currentThread__();
+ XMLVM_SOURCE_POSITION("Object.java", 584)
+ XMLVM_CHECK_NPE(5)
+ java_lang_Object_checkSynchronized___java_lang_Thread(_r5.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Object.java", 586)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = java_lang_Object_enqueueNewCondition__(_r5.o);
+ XMLVM_SOURCE_POSITION("Object.java", 588)
+ XMLVM_CHECK_NPE(5)
+ _r1.i = java_lang_Object_preWait___java_lang_Thread_org_xmlvm_runtime_Condition(_r5.o, _r0.o, _r2.o);
+ if (_r1.i >= 0) goto label29;
+ label17:;
+ XMLVM_SOURCE_POSITION("Object.java", 590)
+ XMLVM_SOURCE_POSITION("Object.java", 601)
+ XMLVM_CHECK_NPE(5)
+ _r3.i = java_lang_Object_postWait___java_lang_Thread_int(_r5.o, _r0.o, _r1.i);
+ if (_r3.i == 0) goto label37;
+ XMLVM_SOURCE_POSITION("Object.java", 602)
+ XMLVM_SOURCE_POSITION("Object.java", 603)
+
+
+ // Red class access removed: java.lang.InterruptedException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.InterruptedException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r4.o)
+ label29:;
+ XMLVM_SOURCE_POSITION("Object.java", 599)
+ XMLVM_CHECK_NPE(5)
+ _r4.o = ((java_lang_Object*) _r5.o)->fields.java_lang_Object.addedMembers_;
+ XMLVM_CHECK_NPE(4)
+ _r4.o = ((java_lang_Object_AddedMembers*) _r4.o)->fields.java_lang_Object_AddedMembers.instanceMutex_;
+ XMLVM_CHECK_NPE(2)
+ org_xmlvm_runtime_Condition_wait___org_xmlvm_runtime_Mutex(_r2.o, _r4.o);
+ goto label17;
+ label37:;
+ XMLVM_SOURCE_POSITION("Object.java", 605)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Object_wait2___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_wait2___long]
+ XMLVM_ENTER_METHOD("java.lang.Object", "wait2", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ _r8.o = me;
+ _r9.l = n1;
+ _r6.l = 0;
+ XMLVM_SOURCE_POSITION("Object.java", 609)
+ _r5.i = _r9.l > _r6.l ? 1 : (_r9.l == _r6.l ? 0 : -1);
+ if (_r5.i >= 0) goto label14;
+ XMLVM_SOURCE_POSITION("Object.java", 610)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "the value of timeout is negative"
+ _r6.o = xmlvm_create_java_string_from_pool(68);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r5.o)
+ label14:;
+ XMLVM_SOURCE_POSITION("Object.java", 611)
+ _r5.i = _r9.l > _r6.l ? 1 : (_r9.l == _r6.l ? 0 : -1);
+ if (_r5.i != 0) goto label22;
+ XMLVM_SOURCE_POSITION("Object.java", 612)
+ XMLVM_CHECK_NPE(8)
+ java_lang_Object_wait2__(_r8.o);
+ label21:;
+ XMLVM_SOURCE_POSITION("Object.java", 645)
+ XMLVM_EXIT_METHOD()
+ return;
+ label22:;
+ XMLVM_SOURCE_POSITION("Object.java", 614)
+ _r0.o = java_lang_Thread_currentThread__();
+ XMLVM_SOURCE_POSITION("Object.java", 615)
+ XMLVM_CHECK_NPE(8)
+ java_lang_Object_checkSynchronized___java_lang_Thread(_r8.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Object.java", 617)
+ XMLVM_CHECK_NPE(8)
+ _r2.o = java_lang_Object_enqueueNewCondition__(_r8.o);
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("Object.java", 620)
+ XMLVM_CHECK_NPE(8)
+ _r1.i = java_lang_Object_preWait___java_lang_Thread_org_xmlvm_runtime_Condition(_r8.o, _r0.o, _r2.o);
+ if (_r1.i >= 0) goto label57;
+ label40:;
+ XMLVM_SOURCE_POSITION("Object.java", 622)
+ XMLVM_SOURCE_POSITION("Object.java", 633)
+ XMLVM_CHECK_NPE(8)
+ _r4.i = java_lang_Object_postWait___java_lang_Thread_int(_r8.o, _r0.o, _r1.i);
+ if (_r3.i == 0) goto label49;
+ XMLVM_SOURCE_POSITION("Object.java", 636)
+ XMLVM_SOURCE_POSITION("Object.java", 638)
+ XMLVM_CHECK_NPE(8)
+ java_lang_Object_removeThreadNotification___org_xmlvm_runtime_Condition(_r8.o, _r2.o);
+ label49:;
+ XMLVM_SOURCE_POSITION("Object.java", 641)
+ if (_r4.i == 0) goto label21;
+ XMLVM_SOURCE_POSITION("Object.java", 642)
+
+
+ // Red class access removed: java.lang.InterruptedException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.InterruptedException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r5.o)
+ label57:;
+ XMLVM_SOURCE_POSITION("Object.java", 631)
+ XMLVM_CHECK_NPE(8)
+ _r5.o = ((java_lang_Object*) _r8.o)->fields.java_lang_Object.addedMembers_;
+ XMLVM_CHECK_NPE(5)
+ _r5.o = ((java_lang_Object_AddedMembers*) _r5.o)->fields.java_lang_Object_AddedMembers.instanceMutex_;
+ XMLVM_CHECK_NPE(2)
+ _r3.i = org_xmlvm_runtime_Condition_waitOrTimeout___org_xmlvm_runtime_Mutex_long(_r2.o, _r5.o, _r9.l);
+ goto label40;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Object_notify2__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_notify2__]
+ XMLVM_ENTER_METHOD("java.lang.Object", "notify2", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r6.o = me;
+ XMLVM_SOURCE_POSITION("Object.java", 648)
+ _r0.o = java_lang_Thread_currentThread__();
+ XMLVM_SOURCE_POSITION("Object.java", 649)
+ XMLVM_CHECK_NPE(6)
+ java_lang_Object_checkSynchronized___java_lang_Thread(_r6.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Object.java", 653)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_lang_Object*) _r6.o)->fields.java_lang_Object.addedMembers_;
+ _r3.o = java_lang_Object_AddedMembers_access$000___java_lang_Object_AddedMembers(_r3.o);
+ XMLVM_CHECK_NPE(3)
+ _r3.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_size__])(_r3.o);
+ XMLVM_CHECK_NPE(6)
+ _r4.o = ((java_lang_Object*) _r6.o)->fields.java_lang_Object.addedMembers_;
+ _r4.i = java_lang_Object_AddedMembers_access$100___java_lang_Object_AddedMembers(_r4.o);
+ _r4.i = _r4.i + 1;
+ if (_r3.i <= _r4.i) goto label66;
+ XMLVM_SOURCE_POSITION("Object.java", 655)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_lang_Object*) _r6.o)->fields.java_lang_Object.addedMembers_;
+ _r3.i = java_lang_Object_AddedMembers_access$100___java_lang_Object_AddedMembers(_r3.o);
+ _r3.i = _r3.i + 1;
+ XMLVM_CHECK_NPE(6)
+ _r4.o = ((java_lang_Object*) _r6.o)->fields.java_lang_Object.addedMembers_;
+ _r4.o = java_lang_Object_AddedMembers_access$000___java_lang_Object_AddedMembers(_r4.o);
+ XMLVM_CHECK_NPE(4)
+ _r4.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_size__])(_r4.o);
+ _r5.i = 1;
+ _r4.i = _r4.i - _r5.i;
+ _r1.i = java_lang_Object_getRandInclusive___int_int(_r3.i, _r4.i);
+ XMLVM_SOURCE_POSITION("Object.java", 658)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_lang_Object*) _r6.o)->fields.java_lang_Object.addedMembers_;
+ _r3.o = java_lang_Object_AddedMembers_access$000___java_lang_Object_AddedMembers(_r3.o);
+ XMLVM_CHECK_NPE(3)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_remove___int])(_r3.o, _r1.i);
+ _r2.o = _r2.o;
+ XMLVM_SOURCE_POSITION("Object.java", 663)
+ XMLVM_CHECK_NPE(2)
+ org_xmlvm_runtime_Condition_broadcast__(_r2.o);
+ label66:;
+ XMLVM_SOURCE_POSITION("Object.java", 665)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Object_notifyAll2__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_notifyAll2__]
+ XMLVM_ENTER_METHOD("java.lang.Object", "notifyAll2", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r6.o = me;
+ XMLVM_SOURCE_POSITION("Object.java", 668)
+ _r0.o = java_lang_Thread_currentThread__();
+ XMLVM_SOURCE_POSITION("Object.java", 669)
+ XMLVM_CHECK_NPE(6)
+ java_lang_Object_checkSynchronized___java_lang_Thread(_r6.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Object.java", 674)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_lang_Object*) _r6.o)->fields.java_lang_Object.addedMembers_;
+ XMLVM_CHECK_NPE(6)
+ _r4.o = ((java_lang_Object*) _r6.o)->fields.java_lang_Object.addedMembers_;
+ _r4.o = java_lang_Object_AddedMembers_access$000___java_lang_Object_AddedMembers(_r4.o);
+ XMLVM_CHECK_NPE(4)
+ _r4.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_size__])(_r4.o);
+ _r5.i = 1;
+ _r4.i = _r4.i - _r5.i;
+ java_lang_Object_AddedMembers_access$102___java_lang_Object_AddedMembers_int(_r3.o, _r4.i);
+ label24:;
+ XMLVM_SOURCE_POSITION("Object.java", 676)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_lang_Object*) _r6.o)->fields.java_lang_Object.addedMembers_;
+ _r3.i = java_lang_Object_AddedMembers_access$100___java_lang_Object_AddedMembers(_r3.o);
+ if (_r3.i < 0) goto label64;
+ XMLVM_SOURCE_POSITION("Object.java", 677)
+ _r3.i = 0;
+ XMLVM_CHECK_NPE(6)
+ _r4.o = ((java_lang_Object*) _r6.o)->fields.java_lang_Object.addedMembers_;
+ _r4.i = java_lang_Object_AddedMembers_access$100___java_lang_Object_AddedMembers(_r4.o);
+ _r1.i = java_lang_Object_getRandInclusive___int_int(_r3.i, _r4.i);
+ XMLVM_SOURCE_POSITION("Object.java", 680)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_lang_Object*) _r6.o)->fields.java_lang_Object.addedMembers_;
+ _r3.o = java_lang_Object_AddedMembers_access$000___java_lang_Object_AddedMembers(_r3.o);
+ XMLVM_CHECK_NPE(3)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_remove___int])(_r3.o, _r1.i);
+ _r2.o = _r2.o;
+ XMLVM_SOURCE_POSITION("Object.java", 681)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_lang_Object*) _r6.o)->fields.java_lang_Object.addedMembers_;
+ java_lang_Object_AddedMembers_access$110___java_lang_Object_AddedMembers(_r3.o);
+ XMLVM_SOURCE_POSITION("Object.java", 684)
+ XMLVM_CHECK_NPE(2)
+ org_xmlvm_runtime_Condition_broadcast__(_r2.o);
+ goto label24;
+ label64:;
+ XMLVM_SOURCE_POSITION("Object.java", 686)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Object_interruptWait___org_xmlvm_runtime_Condition(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_interruptWait___org_xmlvm_runtime_Condition]
+ XMLVM_ENTER_METHOD("java.lang.Object", "interruptWait", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Object.java", 696)
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object_acquireLockRecursive__(_r1.o);
+ XMLVM_SOURCE_POSITION("Object.java", 699)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_Object_removeThreadNotification___org_xmlvm_runtime_Condition(_r1.o, _r2.o);
+ if (_r0.i == 0) goto label12;
+ XMLVM_SOURCE_POSITION("Object.java", 700)
+ XMLVM_SOURCE_POSITION("Object.java", 702)
+ XMLVM_CHECK_NPE(2)
+ org_xmlvm_runtime_Condition_broadcast__(_r2.o);
+ label12:;
+ XMLVM_SOURCE_POSITION("Object.java", 707)
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_SOURCE_POSITION("Object.java", 708)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Object___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object___CLINIT___]
+ XMLVM_ENTER_METHOD("java.lang.Object", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("Object.java", 51)
+ java_lang_Object_initNativeLayer__();
+ XMLVM_SOURCE_POSITION("Object.java", 374)
+ _r0.o = __NEW_org_xmlvm_runtime_Mutex();
+ XMLVM_CHECK_NPE(0)
+ org_xmlvm_runtime_Mutex___INIT___(_r0.o);
+ java_lang_Object_PUT_staticMutex( _r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_Object.h b/tests/nbody-java/java_lang_Object.h
new file mode 100644
index 00000000..4882ae76
--- /dev/null
+++ b/tests/nbody-java/java_lang_Object.h
@@ -0,0 +1,135 @@
+#ifndef __JAVA_LANG_OBJECT__
+#define __JAVA_LANG_OBJECT__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_Object 0
+// Implemented interfaces:
+// Super Class:
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Integer
+#define XMLVM_FORWARD_DECL_java_lang_Integer
+XMLVM_FORWARD_DECL(java_lang_Integer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Math
+#define XMLVM_FORWARD_DECL_java_lang_Math
+XMLVM_FORWARD_DECL(java_lang_Math)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object_AddedMembers
+#define XMLVM_FORWARD_DECL_java_lang_Object_AddedMembers
+XMLVM_FORWARD_DECL(java_lang_Object_AddedMembers)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Thread
+#define XMLVM_FORWARD_DECL_java_lang_Thread
+XMLVM_FORWARD_DECL(java_lang_Thread)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_List
+#define XMLVM_FORWARD_DECL_java_util_List
+XMLVM_FORWARD_DECL(java_util_List)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_Condition
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_Condition
+XMLVM_FORWARD_DECL(org_xmlvm_runtime_Condition)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_Mutex
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_Mutex
+XMLVM_FORWARD_DECL(org_xmlvm_runtime_Mutex)
+#endif
+// Class declarations for java.lang.Object
+XMLVM_DEFINE_CLASS(java_lang_Object, 6, XMLVM_ITABLE_SIZE_java_lang_Object)
+
+extern JAVA_OBJECT __CLASS_java_lang_Object;
+extern JAVA_OBJECT __CLASS_java_lang_Object_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Object_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Object_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_Object
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_Object \
+ struct { \
+ JAVA_OBJECT addedMembers_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_Object \
+ } java_lang_Object
+
+struct java_lang_Object {
+ __TIB_DEFINITION_java_lang_Object* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_Object;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+typedef struct java_lang_Object java_lang_Object;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_Object 6
+#define XMLVM_VTABLE_IDX_java_lang_Object_clone__ 0
+#define XMLVM_VTABLE_IDX_java_lang_Object_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_lang_Object_finalize_java_lang_Object__ 2
+#define XMLVM_VTABLE_IDX_java_lang_Object_getClass__ 3
+#define XMLVM_VTABLE_IDX_java_lang_Object_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_lang_Object_toString__ 5
+
+void __INIT_java_lang_Object();
+void __INIT_IMPL_java_lang_Object();
+void __DELETE_java_lang_Object(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_Object(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_Object();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Object();
+void xmlvm_init_native_java_lang_Object();
+JAVA_OBJECT java_lang_Object_GET_staticMutex();
+void java_lang_Object_PUT_staticMutex(JAVA_OBJECT v);
+void java_lang_Object_initNativeLayer__();
+void java_lang_Object___INIT___(JAVA_OBJECT me);
+// Vtable index: 0
+JAVA_OBJECT java_lang_Object_clone__(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_lang_Object_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 2
+void java_lang_Object_finalize_java_lang_Object__(JAVA_OBJECT me);
+// Vtable index: 3
+JAVA_OBJECT java_lang_Object_getClass__(JAVA_OBJECT me);
+// Vtable index: 4
+JAVA_INT java_lang_Object_hashCode__(JAVA_OBJECT me);
+void java_lang_Object_notify__(JAVA_OBJECT me);
+void java_lang_Object_notifyAll__(JAVA_OBJECT me);
+// Vtable index: 5
+JAVA_OBJECT java_lang_Object_toString__(JAVA_OBJECT me);
+void java_lang_Object_wait__(JAVA_OBJECT me);
+void java_lang_Object_wait___long(JAVA_OBJECT me, JAVA_LONG n1);
+void java_lang_Object_wait___long_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_INT n2);
+void java_lang_Object_establishLock___java_lang_Thread(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_Object_prepareForUnlock__(JAVA_OBJECT me);
+void java_lang_Object_syncLock___java_lang_Thread(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_Object_syncUnlock__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_Object_acquireLockRecursive__(JAVA_OBJECT me);
+void java_lang_Object_releaseLockRecursive__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Object_enqueueNewCondition__(JAVA_OBJECT me);
+void java_lang_Object_checkSynchronized___java_lang_Thread(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_lang_Object_removeThreadNotification___org_xmlvm_runtime_Condition(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_INT java_lang_Object_getRandInclusive___int_int(JAVA_INT n1, JAVA_INT n2);
+JAVA_INT java_lang_Object_preWait___java_lang_Thread_org_xmlvm_runtime_Condition(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_BOOLEAN java_lang_Object_postWait___java_lang_Thread_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2);
+void java_lang_Object_wait2__(JAVA_OBJECT me);
+void java_lang_Object_wait2___long(JAVA_OBJECT me, JAVA_LONG n1);
+void java_lang_Object_notify2__(JAVA_OBJECT me);
+void java_lang_Object_notifyAll2__(JAVA_OBJECT me);
+void java_lang_Object_interruptWait___org_xmlvm_runtime_Condition(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_Object___CLINIT_();
+
+#endif
diff --git a/tests/nbody-java/java_lang_Object_AddedMembers.c b/tests/nbody-java/java_lang_Object_AddedMembers.c
new file mode 100644
index 00000000..ee6bc276
--- /dev/null
+++ b/tests/nbody-java/java_lang_Object_AddedMembers.c
@@ -0,0 +1,259 @@
+#include "xmlvm.h"
+#include "java_lang_Thread.h"
+#include "java_util_ArrayList.h"
+#include "java_util_List.h"
+#include "org_xmlvm_runtime_Mutex.h"
+
+#include "java_lang_Object_AddedMembers.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Object_AddedMembers
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Object_AddedMembers
+
+__TIB_DEFINITION_java_lang_Object_AddedMembers __TIB_java_lang_Object_AddedMembers = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Object_AddedMembers, // classInitializer
+ "java.lang.Object$AddedMembers", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_Object_AddedMembers), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_Object_AddedMembers;
+JAVA_OBJECT __CLASS_java_lang_Object_AddedMembers_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Object_AddedMembers_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Object_AddedMembers_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_Object_AddedMembers()
+{
+ staticInitializerLock(&__TIB_java_lang_Object_AddedMembers);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Object_AddedMembers.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Object_AddedMembers.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Object_AddedMembers);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Object_AddedMembers.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Object_AddedMembers.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Object_AddedMembers.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Object$AddedMembers")
+ __INIT_IMPL_java_lang_Object_AddedMembers();
+ }
+}
+
+void __INIT_IMPL_java_lang_Object_AddedMembers()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_Object_AddedMembers.newInstanceFunc = __NEW_INSTANCE_java_lang_Object_AddedMembers;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_Object_AddedMembers.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_lang_Object_AddedMembers.numImplementedInterfaces = 0;
+ __TIB_java_lang_Object_AddedMembers.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ __TIB_java_lang_Object_AddedMembers.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Object_AddedMembers.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_Object_AddedMembers.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_Object_AddedMembers.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_Object_AddedMembers.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_Object_AddedMembers.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Object_AddedMembers.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Object_AddedMembers.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_Object_AddedMembers = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Object_AddedMembers);
+ __TIB_java_lang_Object_AddedMembers.clazz = __CLASS_java_lang_Object_AddedMembers;
+ __TIB_java_lang_Object_AddedMembers.baseType = JAVA_NULL;
+ __CLASS_java_lang_Object_AddedMembers_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Object_AddedMembers);
+ __CLASS_java_lang_Object_AddedMembers_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Object_AddedMembers_1ARRAY);
+ __CLASS_java_lang_Object_AddedMembers_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Object_AddedMembers_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_Object_AddedMembers]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_Object_AddedMembers.classInitialized = 1;
+}
+
+void __DELETE_java_lang_Object_AddedMembers(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_Object_AddedMembers]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_Object_AddedMembers(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_Object_AddedMembers*) me)->fields.java_lang_Object_AddedMembers.recursiveLocks_ = 0;
+ ((java_lang_Object_AddedMembers*) me)->fields.java_lang_Object_AddedMembers.owningThread_ = (java_lang_Thread*) JAVA_NULL;
+ ((java_lang_Object_AddedMembers*) me)->fields.java_lang_Object_AddedMembers.instanceMutex_ = (org_xmlvm_runtime_Mutex*) JAVA_NULL;
+ ((java_lang_Object_AddedMembers*) me)->fields.java_lang_Object_AddedMembers.waitingConditions_ = (java_util_List*) JAVA_NULL;
+ ((java_lang_Object_AddedMembers*) me)->fields.java_lang_Object_AddedMembers.notifyAllMaxIndex_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_Object_AddedMembers]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_Object_AddedMembers()
+{ XMLVM_CLASS_INIT(java_lang_Object_AddedMembers)
+java_lang_Object_AddedMembers* me = (java_lang_Object_AddedMembers*) XMLVM_MALLOC(sizeof(java_lang_Object_AddedMembers));
+ me->tib = &__TIB_java_lang_Object_AddedMembers;
+ __INIT_INSTANCE_MEMBERS_java_lang_Object_AddedMembers(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_Object_AddedMembers]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Object_AddedMembers()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_lang_Object_AddedMembers();
+ java_lang_Object_AddedMembers___INIT___(me);
+ return me;
+}
+
+void java_lang_Object_AddedMembers___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_AddedMembers___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.Object$AddedMembers", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("Object.java", 369)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("Object.java", 356)
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Object_AddedMembers*) _r2.o)->fields.java_lang_Object_AddedMembers.recursiveLocks_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Object.java", 365)
+ _r0.o = __NEW_java_util_ArrayList();
+ XMLVM_CHECK_NPE(0)
+ java_util_ArrayList___INIT____int(_r0.o, _r1.i);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Object_AddedMembers*) _r2.o)->fields.java_lang_Object_AddedMembers.waitingConditions_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Object.java", 367)
+ _r0.i = -1;
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Object_AddedMembers*) _r2.o)->fields.java_lang_Object_AddedMembers.notifyAllMaxIndex_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Object.java", 370)
+ _r0.o = __NEW_org_xmlvm_runtime_Mutex();
+ XMLVM_CHECK_NPE(0)
+ org_xmlvm_runtime_Mutex___INIT___(_r0.o);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Object_AddedMembers*) _r2.o)->fields.java_lang_Object_AddedMembers.instanceMutex_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Object.java", 371)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Object_AddedMembers_access$000___java_lang_Object_AddedMembers(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Object_AddedMembers)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_AddedMembers_access$000___java_lang_Object_AddedMembers]
+ XMLVM_ENTER_METHOD("java.lang.Object$AddedMembers", "access$000", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Object.java", 354)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_Object_AddedMembers*) _r1.o)->fields.java_lang_Object_AddedMembers.waitingConditions_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Object_AddedMembers_access$100___java_lang_Object_AddedMembers(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Object_AddedMembers)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_AddedMembers_access$100___java_lang_Object_AddedMembers]
+ XMLVM_ENTER_METHOD("java.lang.Object$AddedMembers", "access$100", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Object.java", 354)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Object_AddedMembers*) _r1.o)->fields.java_lang_Object_AddedMembers.notifyAllMaxIndex_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Object_AddedMembers_access$110___java_lang_Object_AddedMembers(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Object_AddedMembers)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_AddedMembers_access$110___java_lang_Object_AddedMembers]
+ XMLVM_ENTER_METHOD("java.lang.Object$AddedMembers", "access$110", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Object.java", 354)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Object_AddedMembers*) _r2.o)->fields.java_lang_Object_AddedMembers.notifyAllMaxIndex_;
+ _r1.i = 1;
+ _r1.i = _r0.i - _r1.i;
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Object_AddedMembers*) _r2.o)->fields.java_lang_Object_AddedMembers.notifyAllMaxIndex_ = _r1.i;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Object_AddedMembers_access$102___java_lang_Object_AddedMembers_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Object_AddedMembers)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Object_AddedMembers_access$102___java_lang_Object_AddedMembers_int]
+ XMLVM_ENTER_METHOD("java.lang.Object$AddedMembers", "access$102", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = n1;
+ _r1.i = n2;
+ XMLVM_SOURCE_POSITION("Object.java", 354)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_Object_AddedMembers*) _r0.o)->fields.java_lang_Object_AddedMembers.notifyAllMaxIndex_ = _r1.i;
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_Object_AddedMembers.h b/tests/nbody-java/java_lang_Object_AddedMembers.h
new file mode 100644
index 00000000..3aba7b00
--- /dev/null
+++ b/tests/nbody-java/java_lang_Object_AddedMembers.h
@@ -0,0 +1,76 @@
+#ifndef __JAVA_LANG_OBJECT_ADDEDMEMBERS__
+#define __JAVA_LANG_OBJECT_ADDEDMEMBERS__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_Object_AddedMembers 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Thread
+#define XMLVM_FORWARD_DECL_java_lang_Thread
+XMLVM_FORWARD_DECL(java_lang_Thread)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_ArrayList
+#define XMLVM_FORWARD_DECL_java_util_ArrayList
+XMLVM_FORWARD_DECL(java_util_ArrayList)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_List
+#define XMLVM_FORWARD_DECL_java_util_List
+XMLVM_FORWARD_DECL(java_util_List)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_Mutex
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_Mutex
+XMLVM_FORWARD_DECL(org_xmlvm_runtime_Mutex)
+#endif
+// Class declarations for java.lang.Object$AddedMembers
+XMLVM_DEFINE_CLASS(java_lang_Object_AddedMembers, 6, XMLVM_ITABLE_SIZE_java_lang_Object_AddedMembers)
+
+extern JAVA_OBJECT __CLASS_java_lang_Object_AddedMembers;
+extern JAVA_OBJECT __CLASS_java_lang_Object_AddedMembers_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Object_AddedMembers_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Object_AddedMembers_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_Object_AddedMembers
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_Object_AddedMembers \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_INT recursiveLocks_; \
+ JAVA_OBJECT owningThread_; \
+ JAVA_OBJECT instanceMutex_; \
+ JAVA_OBJECT waitingConditions_; \
+ JAVA_INT notifyAllMaxIndex_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_Object_AddedMembers \
+ } java_lang_Object_AddedMembers
+
+struct java_lang_Object_AddedMembers {
+ __TIB_DEFINITION_java_lang_Object_AddedMembers* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_Object_AddedMembers;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object_AddedMembers
+#define XMLVM_FORWARD_DECL_java_lang_Object_AddedMembers
+typedef struct java_lang_Object_AddedMembers java_lang_Object_AddedMembers;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_Object_AddedMembers 6
+
+void __INIT_java_lang_Object_AddedMembers();
+void __INIT_IMPL_java_lang_Object_AddedMembers();
+void __DELETE_java_lang_Object_AddedMembers(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_Object_AddedMembers(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_Object_AddedMembers();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Object_AddedMembers();
+void java_lang_Object_AddedMembers___INIT___(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Object_AddedMembers_access$000___java_lang_Object_AddedMembers(JAVA_OBJECT n1);
+JAVA_INT java_lang_Object_AddedMembers_access$100___java_lang_Object_AddedMembers(JAVA_OBJECT n1);
+JAVA_INT java_lang_Object_AddedMembers_access$110___java_lang_Object_AddedMembers(JAVA_OBJECT n1);
+JAVA_INT java_lang_Object_AddedMembers_access$102___java_lang_Object_AddedMembers_int(JAVA_OBJECT n1, JAVA_INT n2);
+
+#endif
diff --git a/tests/nbody-java/java_lang_Readable.c b/tests/nbody-java/java_lang_Readable.c
new file mode 100644
index 00000000..c5d2e110
--- /dev/null
+++ b/tests/nbody-java/java_lang_Readable.c
@@ -0,0 +1,77 @@
+#include "xmlvm.h"
+#include "java_nio_CharBuffer.h"
+
+#include "java_lang_Readable.h"
+
+__TIB_DEFINITION_java_lang_Readable __TIB_java_lang_Readable = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Readable, // classInitializer
+ "java.lang.Readable", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_lang_Readable;
+JAVA_OBJECT __CLASS_java_lang_Readable_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Readable_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Readable_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_lang_Readable()
+{
+ staticInitializerLock(&__TIB_java_lang_Readable);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Readable.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Readable.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Readable);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Readable.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Readable.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Readable.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Readable")
+ __INIT_IMPL_java_lang_Readable();
+ }
+}
+
+void __INIT_IMPL_java_lang_Readable()
+{
+ __TIB_java_lang_Readable.numInterfaces = 0;
+ __TIB_java_lang_Readable.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Readable.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_lang_Readable.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Readable.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Readable.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_lang_Readable = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Readable);
+ __TIB_java_lang_Readable.clazz = __CLASS_java_lang_Readable;
+ __TIB_java_lang_Readable.baseType = JAVA_NULL;
+ __CLASS_java_lang_Readable_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Readable);
+ __CLASS_java_lang_Readable_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Readable_1ARRAY);
+ __CLASS_java_lang_Readable_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Readable_2ARRAY);
+
+ __TIB_java_lang_Readable.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_lang_Readable.h b/tests/nbody-java/java_lang_Readable.h
new file mode 100644
index 00000000..6b527ffa
--- /dev/null
+++ b/tests/nbody-java/java_lang_Readable.h
@@ -0,0 +1,32 @@
+#ifndef __JAVA_LANG_READABLE__
+#define __JAVA_LANG_READABLE__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_lang_Readable_read___java_nio_CharBuffer 8
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_nio_CharBuffer
+#define XMLVM_FORWARD_DECL_java_nio_CharBuffer
+XMLVM_FORWARD_DECL(java_nio_CharBuffer)
+#endif
+
+XMLVM_DEFINE_CLASS(java_lang_Readable, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_lang_Readable;
+extern JAVA_OBJECT __CLASS_java_lang_Readable_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Readable_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Readable_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_lang_Readable
+#define XMLVM_FORWARD_DECL_java_lang_Readable
+typedef struct java_lang_Readable java_lang_Readable;
+#endif
+
+void __INIT_java_lang_Readable();
+void __INIT_IMPL_java_lang_Readable();
+
+#endif
diff --git a/tests/nbody-java/java_lang_Runnable.c b/tests/nbody-java/java_lang_Runnable.c
new file mode 100644
index 00000000..15042798
--- /dev/null
+++ b/tests/nbody-java/java_lang_Runnable.c
@@ -0,0 +1,76 @@
+#include "xmlvm.h"
+
+#include "java_lang_Runnable.h"
+
+__TIB_DEFINITION_java_lang_Runnable __TIB_java_lang_Runnable = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Runnable, // classInitializer
+ "java.lang.Runnable", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_lang_Runnable;
+JAVA_OBJECT __CLASS_java_lang_Runnable_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Runnable_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Runnable_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_lang_Runnable()
+{
+ staticInitializerLock(&__TIB_java_lang_Runnable);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Runnable.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Runnable.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Runnable);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Runnable.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Runnable.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Runnable.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Runnable")
+ __INIT_IMPL_java_lang_Runnable();
+ }
+}
+
+void __INIT_IMPL_java_lang_Runnable()
+{
+ __TIB_java_lang_Runnable.numInterfaces = 0;
+ __TIB_java_lang_Runnable.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Runnable.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_lang_Runnable.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Runnable.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Runnable.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_lang_Runnable = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Runnable);
+ __TIB_java_lang_Runnable.clazz = __CLASS_java_lang_Runnable;
+ __TIB_java_lang_Runnable.baseType = JAVA_NULL;
+ __CLASS_java_lang_Runnable_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Runnable);
+ __CLASS_java_lang_Runnable_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Runnable_1ARRAY);
+ __CLASS_java_lang_Runnable_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Runnable_2ARRAY);
+
+ __TIB_java_lang_Runnable.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_lang_Runnable.h b/tests/nbody-java/java_lang_Runnable.h
new file mode 100644
index 00000000..7b0077c8
--- /dev/null
+++ b/tests/nbody-java/java_lang_Runnable.h
@@ -0,0 +1,28 @@
+#ifndef __JAVA_LANG_RUNNABLE__
+#define __JAVA_LANG_RUNNABLE__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_lang_Runnable_run__ 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+
+XMLVM_DEFINE_CLASS(java_lang_Runnable, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_lang_Runnable;
+extern JAVA_OBJECT __CLASS_java_lang_Runnable_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Runnable_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Runnable_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_lang_Runnable
+#define XMLVM_FORWARD_DECL_java_lang_Runnable
+typedef struct java_lang_Runnable java_lang_Runnable;
+#endif
+
+void __INIT_java_lang_Runnable();
+void __INIT_IMPL_java_lang_Runnable();
+
+#endif
diff --git a/tests/nbody-java/java_lang_Runtime.c b/tests/nbody-java/java_lang_Runtime.c
new file mode 100644
index 00000000..5a15f30c
--- /dev/null
+++ b/tests/nbody-java/java_lang_Runtime.c
@@ -0,0 +1,542 @@
+#include "xmlvm.h"
+#include "java_io_File.h"
+#include "java_io_OutputStream.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_String.h"
+#include "java_lang_Thread.h"
+
+#include "java_lang_Runtime.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Runtime
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Runtime
+
+__TIB_DEFINITION_java_lang_Runtime __TIB_java_lang_Runtime = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Runtime, // classInitializer
+ "java.lang.Runtime", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_Runtime), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_Runtime;
+JAVA_OBJECT __CLASS_java_lang_Runtime_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Runtime_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Runtime_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_OBJECT _STATIC_java_lang_Runtime_runtime;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_Runtime()
+{
+ staticInitializerLock(&__TIB_java_lang_Runtime);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Runtime.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Runtime.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Runtime);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Runtime.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Runtime.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Runtime.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Runtime")
+ __INIT_IMPL_java_lang_Runtime();
+ }
+}
+
+void __INIT_IMPL_java_lang_Runtime()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_Runtime.newInstanceFunc = __NEW_INSTANCE_java_lang_Runtime;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_Runtime.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ xmlvm_init_native_java_lang_Runtime();
+ // Initialize interface information
+ __TIB_java_lang_Runtime.numImplementedInterfaces = 0;
+ __TIB_java_lang_Runtime.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_java_lang_Runtime_runtime = (java_lang_Runtime*) JAVA_NULL;
+
+ __TIB_java_lang_Runtime.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Runtime.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_Runtime.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_Runtime.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_Runtime.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_Runtime.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Runtime.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Runtime.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_Runtime = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Runtime);
+ __TIB_java_lang_Runtime.clazz = __CLASS_java_lang_Runtime;
+ __TIB_java_lang_Runtime.baseType = JAVA_NULL;
+ __CLASS_java_lang_Runtime_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Runtime);
+ __CLASS_java_lang_Runtime_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Runtime_1ARRAY);
+ __CLASS_java_lang_Runtime_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Runtime_2ARRAY);
+ java_lang_Runtime___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_Runtime]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_Runtime.classInitialized = 1;
+}
+
+void __DELETE_java_lang_Runtime(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_Runtime]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_Runtime(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_Runtime]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_Runtime()
+{ XMLVM_CLASS_INIT(java_lang_Runtime)
+java_lang_Runtime* me = (java_lang_Runtime*) XMLVM_MALLOC(sizeof(java_lang_Runtime));
+ me->tib = &__TIB_java_lang_Runtime;
+ __INIT_INSTANCE_MEMBERS_java_lang_Runtime(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_Runtime]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Runtime()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_OBJECT java_lang_Runtime_GET_runtime()
+{
+ XMLVM_CLASS_INIT(java_lang_Runtime)
+ return _STATIC_java_lang_Runtime_runtime;
+}
+
+void java_lang_Runtime_PUT_runtime(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Runtime)
+_STATIC_java_lang_Runtime_runtime = v;
+}
+
+void java_lang_Runtime___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Runtime___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.Runtime", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Runtime.java", 45)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Runtime.java", 47)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Runtime_exec___java_lang_String_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Runtime_exec___java_lang_String_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.Runtime", "exec", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Runtime.java", 67)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Runtime_exec___java_lang_String_1ARRAY_java_lang_String_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Runtime_exec___java_lang_String_1ARRAY_java_lang_String_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.Runtime", "exec", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("Runtime.java", 92)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Runtime_exec___java_lang_String_1ARRAY_java_lang_String_1ARRAY_java_io_File(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Runtime_exec___java_lang_String_1ARRAY_java_lang_String_1ARRAY_java_io_File]
+ XMLVM_ENTER_METHOD("java.lang.Runtime", "exec", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ _r4.o = n3;
+ XMLVM_SOURCE_POSITION("Runtime.java", 120)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Runtime_exec___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Runtime_exec___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Runtime", "exec", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Runtime.java", 140)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Runtime_exec___java_lang_String_java_lang_String_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Runtime_exec___java_lang_String_java_lang_String_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.Runtime", "exec", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("Runtime.java", 163)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Runtime_exec___java_lang_String_java_lang_String_1ARRAY_java_io_File(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Runtime_exec___java_lang_String_java_lang_String_1ARRAY_java_io_File]
+ XMLVM_ENTER_METHOD("java.lang.Runtime", "exec", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ _r4.o = n3;
+ XMLVM_SOURCE_POSITION("Runtime.java", 189)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Runtime_exit___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Runtime_exit___int]
+ XMLVM_ENTER_METHOD("java.lang.Runtime", "exit", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Runtime.java", 207)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG java_lang_Runtime_freeMemory__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[void java_lang_Runtime_gc__(JAVA_OBJECT me)]
+
+JAVA_OBJECT java_lang_Runtime_getRuntime__()
+{
+ XMLVM_CLASS_INIT(java_lang_Runtime)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Runtime_getRuntime__]
+ XMLVM_ENTER_METHOD("java.lang.Runtime", "getRuntime", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("Runtime.java", 231)
+ _r0.o = java_lang_Runtime_GET_runtime();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Runtime_load___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Runtime_load___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Runtime", "load", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Runtime.java", 250)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Runtime_loadLibrary___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Runtime_loadLibrary___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Runtime", "loadLibrary", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Runtime.java", 268)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Runtime_runFinalization__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Runtime_runFinalization__]
+ XMLVM_ENTER_METHOD("java.lang.Runtime", "runFinalization", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Runtime.java", 276)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Runtime_runFinalizersOnExit___boolean(JAVA_BOOLEAN n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Runtime)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Runtime_runFinalizersOnExit___boolean]
+ XMLVM_ENTER_METHOD("java.lang.Runtime", "runFinalizersOnExit", "?")
+ XMLVMElem _r0;
+ _r0.i = n1;
+ XMLVM_SOURCE_POSITION("Runtime.java", 292)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG java_lang_Runtime_totalMemory__(JAVA_OBJECT me)]
+
+void java_lang_Runtime_traceInstructions___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Runtime_traceInstructions___boolean]
+ XMLVM_ENTER_METHOD("java.lang.Runtime", "traceInstructions", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Runtime.java", 311)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Runtime_traceMethodCalls___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Runtime_traceMethodCalls___boolean]
+ XMLVM_ENTER_METHOD("java.lang.Runtime", "traceMethodCalls", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Runtime.java", 322)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Runtime_getLocalizedInputStream___java_io_InputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Runtime_getLocalizedInputStream___java_io_InputStream]
+ XMLVM_ENTER_METHOD("java.lang.Runtime", "getLocalizedInputStream", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Runtime.java", 338)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Runtime_getLocalizedOutputStream___java_io_OutputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Runtime_getLocalizedOutputStream___java_io_OutputStream]
+ XMLVM_ENTER_METHOD("java.lang.Runtime", "getLocalizedOutputStream", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Runtime.java", 354)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Runtime_addShutdownHook___java_lang_Thread(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Runtime_addShutdownHook___java_lang_Thread]
+ XMLVM_ENTER_METHOD("java.lang.Runtime", "addShutdownHook", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Runtime.java", 396)
+ if (_r3.o != JAVA_NULL) goto label10;
+ XMLVM_SOURCE_POSITION("Runtime.java", 397)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ // "null is not allowed here"
+ _r1.o = xmlvm_create_java_string_from_pool(779);
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label10:;
+ XMLVM_SOURCE_POSITION("Runtime.java", 399)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Runtime_removeShutdownHook___java_lang_Thread(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Runtime_removeShutdownHook___java_lang_Thread]
+ XMLVM_ENTER_METHOD("java.lang.Runtime", "removeShutdownHook", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Runtime.java", 417)
+ if (_r3.o != JAVA_NULL) goto label10;
+ XMLVM_SOURCE_POSITION("Runtime.java", 418)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ // "null is not allowed here"
+ _r1.o = xmlvm_create_java_string_from_pool(779);
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label10:;
+ XMLVM_SOURCE_POSITION("Runtime.java", 420)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Runtime_halt___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Runtime_halt___int]
+ XMLVM_ENTER_METHOD("java.lang.Runtime", "halt", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Runtime.java", 439)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Runtime_availableProcessors__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Runtime_availableProcessors__]
+ XMLVM_ENTER_METHOD("java.lang.Runtime", "availableProcessors", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Runtime.java", 448)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_lang_Runtime_maxMemory__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Runtime_maxMemory__]
+ XMLVM_ENTER_METHOD("java.lang.Runtime", "maxMemory", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Runtime.java", 459)
+ _r0.l = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Runtime___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Runtime___CLINIT___]
+ XMLVM_ENTER_METHOD("java.lang.Runtime", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("Runtime.java", 40)
+ _r0.o = __NEW_java_lang_Runtime();
+ XMLVM_CHECK_NPE(0)
+ java_lang_Runtime___INIT___(_r0.o);
+ java_lang_Runtime_PUT_runtime( _r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_Runtime.h b/tests/nbody-java/java_lang_Runtime.h
new file mode 100644
index 00000000..089fcb61
--- /dev/null
+++ b/tests/nbody-java/java_lang_Runtime.h
@@ -0,0 +1,99 @@
+#ifndef __JAVA_LANG_RUNTIME__
+#define __JAVA_LANG_RUNTIME__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_Runtime 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_io_File
+#define XMLVM_FORWARD_DECL_java_io_File
+XMLVM_FORWARD_DECL(java_io_File)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_io_OutputStream
+#define XMLVM_FORWARD_DECL_java_io_OutputStream
+XMLVM_FORWARD_DECL(java_io_OutputStream)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Thread
+#define XMLVM_FORWARD_DECL_java_lang_Thread
+XMLVM_FORWARD_DECL(java_lang_Thread)
+#endif
+// Class declarations for java.lang.Runtime
+XMLVM_DEFINE_CLASS(java_lang_Runtime, 6, XMLVM_ITABLE_SIZE_java_lang_Runtime)
+
+extern JAVA_OBJECT __CLASS_java_lang_Runtime;
+extern JAVA_OBJECT __CLASS_java_lang_Runtime_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Runtime_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Runtime_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_Runtime
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_Runtime \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_Runtime \
+ } java_lang_Runtime
+
+struct java_lang_Runtime {
+ __TIB_DEFINITION_java_lang_Runtime* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_Runtime;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_Runtime
+#define XMLVM_FORWARD_DECL_java_lang_Runtime
+typedef struct java_lang_Runtime java_lang_Runtime;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_Runtime 6
+
+void __INIT_java_lang_Runtime();
+void __INIT_IMPL_java_lang_Runtime();
+void __DELETE_java_lang_Runtime(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_Runtime(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_Runtime();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Runtime();
+void xmlvm_init_native_java_lang_Runtime();
+JAVA_OBJECT java_lang_Runtime_GET_runtime();
+void java_lang_Runtime_PUT_runtime(JAVA_OBJECT v);
+void java_lang_Runtime___INIT___(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Runtime_exec___java_lang_String_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Runtime_exec___java_lang_String_1ARRAY_java_lang_String_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_lang_Runtime_exec___java_lang_String_1ARRAY_java_lang_String_1ARRAY_java_io_File(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3);
+JAVA_OBJECT java_lang_Runtime_exec___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Runtime_exec___java_lang_String_java_lang_String_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_lang_Runtime_exec___java_lang_String_java_lang_String_1ARRAY_java_io_File(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3);
+void java_lang_Runtime_exit___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_LONG java_lang_Runtime_freeMemory__(JAVA_OBJECT me);
+void java_lang_Runtime_gc__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Runtime_getRuntime__();
+void java_lang_Runtime_load___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_Runtime_loadLibrary___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_Runtime_runFinalization__(JAVA_OBJECT me);
+void java_lang_Runtime_runFinalizersOnExit___boolean(JAVA_BOOLEAN n1);
+JAVA_LONG java_lang_Runtime_totalMemory__(JAVA_OBJECT me);
+void java_lang_Runtime_traceInstructions___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1);
+void java_lang_Runtime_traceMethodCalls___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1);
+JAVA_OBJECT java_lang_Runtime_getLocalizedInputStream___java_io_InputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Runtime_getLocalizedOutputStream___java_io_OutputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_Runtime_addShutdownHook___java_lang_Thread(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_lang_Runtime_removeShutdownHook___java_lang_Thread(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_Runtime_halt___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_INT java_lang_Runtime_availableProcessors__(JAVA_OBJECT me);
+JAVA_LONG java_lang_Runtime_maxMemory__(JAVA_OBJECT me);
+void java_lang_Runtime___CLINIT_();
+
+#endif
diff --git a/tests/nbody-java/java_lang_RuntimeException.c b/tests/nbody-java/java_lang_RuntimeException.c
new file mode 100644
index 00000000..b5f97459
--- /dev/null
+++ b/tests/nbody-java/java_lang_RuntimeException.c
@@ -0,0 +1,234 @@
+#include "xmlvm.h"
+#include "java_lang_String.h"
+#include "java_lang_Throwable.h"
+
+#include "java_lang_RuntimeException.h"
+
+#define XMLVM_CURRENT_CLASS_NAME RuntimeException
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_RuntimeException
+
+__TIB_DEFINITION_java_lang_RuntimeException __TIB_java_lang_RuntimeException = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_RuntimeException, // classInitializer
+ "java.lang.RuntimeException", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Exception, // extends
+ sizeof(java_lang_RuntimeException), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_RuntimeException;
+JAVA_OBJECT __CLASS_java_lang_RuntimeException_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_RuntimeException_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_RuntimeException_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_lang_RuntimeException_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_RuntimeException()
+{
+ staticInitializerLock(&__TIB_java_lang_RuntimeException);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_RuntimeException.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_RuntimeException.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_RuntimeException);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_RuntimeException.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_RuntimeException.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_RuntimeException.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.RuntimeException")
+ __INIT_IMPL_java_lang_RuntimeException();
+ }
+}
+
+void __INIT_IMPL_java_lang_RuntimeException()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Exception)
+ __TIB_java_lang_RuntimeException.newInstanceFunc = __NEW_INSTANCE_java_lang_RuntimeException;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_RuntimeException.vtable, __TIB_java_lang_Exception.vtable, sizeof(__TIB_java_lang_Exception.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_lang_RuntimeException.numImplementedInterfaces = 1;
+ __TIB_java_lang_RuntimeException.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_lang_RuntimeException.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+ // Initialize itable for this class
+ __TIB_java_lang_RuntimeException.itableBegin = &__TIB_java_lang_RuntimeException.itable[0];
+
+ _STATIC_java_lang_RuntimeException_serialVersionUID = -7034897190745766939;
+
+ __TIB_java_lang_RuntimeException.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_RuntimeException.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_RuntimeException.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_RuntimeException.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_RuntimeException.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_RuntimeException.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_RuntimeException.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_RuntimeException.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_RuntimeException = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_RuntimeException);
+ __TIB_java_lang_RuntimeException.clazz = __CLASS_java_lang_RuntimeException;
+ __TIB_java_lang_RuntimeException.baseType = JAVA_NULL;
+ __CLASS_java_lang_RuntimeException_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_RuntimeException);
+ __CLASS_java_lang_RuntimeException_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_RuntimeException_1ARRAY);
+ __CLASS_java_lang_RuntimeException_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_RuntimeException_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_RuntimeException]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_RuntimeException.classInitialized = 1;
+}
+
+void __DELETE_java_lang_RuntimeException(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_RuntimeException]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_RuntimeException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Exception(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_RuntimeException]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_RuntimeException()
+{ XMLVM_CLASS_INIT(java_lang_RuntimeException)
+java_lang_RuntimeException* me = (java_lang_RuntimeException*) XMLVM_MALLOC(sizeof(java_lang_RuntimeException));
+ me->tib = &__TIB_java_lang_RuntimeException;
+ __INIT_INSTANCE_MEMBERS_java_lang_RuntimeException(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_RuntimeException]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_RuntimeException()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_lang_RuntimeException();
+ java_lang_RuntimeException___INIT___(me);
+ return me;
+}
+
+JAVA_LONG java_lang_RuntimeException_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimeException)
+ return _STATIC_java_lang_RuntimeException_serialVersionUID;
+}
+
+void java_lang_RuntimeException_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimeException)
+_STATIC_java_lang_RuntimeException_serialVersionUID = v;
+}
+
+void java_lang_RuntimeException___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_RuntimeException___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.RuntimeException", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("RuntimeException.java", 36)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Exception___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("RuntimeException.java", 37)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_RuntimeException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_RuntimeException___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.RuntimeException", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("RuntimeException.java", 47)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Exception___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("RuntimeException.java", 48)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_RuntimeException___INIT____java_lang_String_java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_RuntimeException___INIT____java_lang_String_java_lang_Throwable]
+ XMLVM_ENTER_METHOD("java.lang.RuntimeException", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("RuntimeException.java", 60)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Exception___INIT____java_lang_String_java_lang_Throwable(_r0.o, _r1.o, _r2.o);
+ XMLVM_SOURCE_POSITION("RuntimeException.java", 61)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_RuntimeException___INIT____java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_RuntimeException___INIT____java_lang_Throwable]
+ XMLVM_ENTER_METHOD("java.lang.RuntimeException", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("RuntimeException.java", 71)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Exception___INIT____java_lang_Throwable(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("RuntimeException.java", 72)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_RuntimeException.h b/tests/nbody-java/java_lang_RuntimeException.h
new file mode 100644
index 00000000..beb0de24
--- /dev/null
+++ b/tests/nbody-java/java_lang_RuntimeException.h
@@ -0,0 +1,64 @@
+#ifndef __JAVA_LANG_RUNTIMEEXCEPTION__
+#define __JAVA_LANG_RUNTIMEEXCEPTION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_RuntimeException 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Exception.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Throwable
+#define XMLVM_FORWARD_DECL_java_lang_Throwable
+XMLVM_FORWARD_DECL(java_lang_Throwable)
+#endif
+// Class declarations for java.lang.RuntimeException
+XMLVM_DEFINE_CLASS(java_lang_RuntimeException, 8, XMLVM_ITABLE_SIZE_java_lang_RuntimeException)
+
+extern JAVA_OBJECT __CLASS_java_lang_RuntimeException;
+extern JAVA_OBJECT __CLASS_java_lang_RuntimeException_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_RuntimeException_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_RuntimeException_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_RuntimeException
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_RuntimeException \
+ __INSTANCE_FIELDS_java_lang_Exception; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_RuntimeException \
+ } java_lang_RuntimeException
+
+struct java_lang_RuntimeException {
+ __TIB_DEFINITION_java_lang_RuntimeException* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_RuntimeException;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_RuntimeException
+#define XMLVM_FORWARD_DECL_java_lang_RuntimeException
+typedef struct java_lang_RuntimeException java_lang_RuntimeException;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_RuntimeException 8
+
+void __INIT_java_lang_RuntimeException();
+void __INIT_IMPL_java_lang_RuntimeException();
+void __DELETE_java_lang_RuntimeException(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_RuntimeException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_RuntimeException();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_RuntimeException();
+JAVA_LONG java_lang_RuntimeException_GET_serialVersionUID();
+void java_lang_RuntimeException_PUT_serialVersionUID(JAVA_LONG v);
+void java_lang_RuntimeException___INIT___(JAVA_OBJECT me);
+void java_lang_RuntimeException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_RuntimeException___INIT____java_lang_String_java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_lang_RuntimeException___INIT____java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_lang_RuntimePermission.c b/tests/nbody-java/java_lang_RuntimePermission.c
new file mode 100644
index 00000000..1572e6e5
--- /dev/null
+++ b/tests/nbody-java/java_lang_RuntimePermission.c
@@ -0,0 +1,547 @@
+#include "xmlvm.h"
+#include "java_lang_String.h"
+
+#include "java_lang_RuntimePermission.h"
+
+#define XMLVM_CURRENT_CLASS_NAME RuntimePermission
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_RuntimePermission
+
+__TIB_DEFINITION_java_lang_RuntimePermission __TIB_java_lang_RuntimePermission = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_RuntimePermission, // classInitializer
+ "java.lang.RuntimePermission", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_security_BasicPermission, // extends
+ sizeof(java_lang_RuntimePermission), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_RuntimePermission;
+JAVA_OBJECT __CLASS_java_lang_RuntimePermission_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_RuntimePermission_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_RuntimePermission_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_lang_RuntimePermission_serialVersionUID;
+static JAVA_OBJECT _STATIC_java_lang_RuntimePermission_permissionToSetSecurityManager;
+static JAVA_OBJECT _STATIC_java_lang_RuntimePermission_permissionToCreateSecurityManager;
+static JAVA_OBJECT _STATIC_java_lang_RuntimePermission_permissionToGetProtectionDomain;
+static JAVA_OBJECT _STATIC_java_lang_RuntimePermission_permissionToGetClassLoader;
+static JAVA_OBJECT _STATIC_java_lang_RuntimePermission_permissionToCreateClassLoader;
+static JAVA_OBJECT _STATIC_java_lang_RuntimePermission_permissionToModifyThread;
+static JAVA_OBJECT _STATIC_java_lang_RuntimePermission_permissionToModifyThreadGroup;
+static JAVA_OBJECT _STATIC_java_lang_RuntimePermission_permissionToExitVM;
+static JAVA_OBJECT _STATIC_java_lang_RuntimePermission_permissionToReadFileDescriptor;
+static JAVA_OBJECT _STATIC_java_lang_RuntimePermission_permissionToWriteFileDescriptor;
+static JAVA_OBJECT _STATIC_java_lang_RuntimePermission_permissionToQueuePrintJob;
+static JAVA_OBJECT _STATIC_java_lang_RuntimePermission_permissionToSetFactory;
+static JAVA_OBJECT _STATIC_java_lang_RuntimePermission_permissionToSetIO;
+static JAVA_OBJECT _STATIC_java_lang_RuntimePermission_permissionToStopThread;
+static JAVA_OBJECT _STATIC_java_lang_RuntimePermission_permissionToSetContextClassLoader;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_RuntimePermission()
+{
+ staticInitializerLock(&__TIB_java_lang_RuntimePermission);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_RuntimePermission.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_RuntimePermission.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_RuntimePermission);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_RuntimePermission.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_RuntimePermission.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_RuntimePermission.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.RuntimePermission")
+ __INIT_IMPL_java_lang_RuntimePermission();
+ }
+}
+
+void __INIT_IMPL_java_lang_RuntimePermission()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_security_BasicPermission)
+ __TIB_java_lang_RuntimePermission.newInstanceFunc = __NEW_INSTANCE_java_lang_RuntimePermission;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_RuntimePermission.vtable, __TIB_java_security_BasicPermission.vtable, sizeof(__TIB_java_security_BasicPermission.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_lang_RuntimePermission.numImplementedInterfaces = 2;
+ __TIB_java_lang_RuntimePermission.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_lang_RuntimePermission.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_security_Guard)
+
+ __TIB_java_lang_RuntimePermission.implementedInterfaces[0][1] = &__TIB_java_security_Guard;
+ // Initialize itable for this class
+ __TIB_java_lang_RuntimePermission.itableBegin = &__TIB_java_lang_RuntimePermission.itable[0];
+ __TIB_java_lang_RuntimePermission.itable[XMLVM_ITABLE_IDX_java_security_Guard_checkGuard___java_lang_Object] = __TIB_java_lang_RuntimePermission.vtable[6];
+
+ _STATIC_java_lang_RuntimePermission_serialVersionUID = 7399184964622342223;
+ _STATIC_java_lang_RuntimePermission_permissionToSetSecurityManager = (java_lang_RuntimePermission*) JAVA_NULL;
+ _STATIC_java_lang_RuntimePermission_permissionToCreateSecurityManager = (java_lang_RuntimePermission*) JAVA_NULL;
+ _STATIC_java_lang_RuntimePermission_permissionToGetProtectionDomain = (java_lang_RuntimePermission*) JAVA_NULL;
+ _STATIC_java_lang_RuntimePermission_permissionToGetClassLoader = (java_lang_RuntimePermission*) JAVA_NULL;
+ _STATIC_java_lang_RuntimePermission_permissionToCreateClassLoader = (java_lang_RuntimePermission*) JAVA_NULL;
+ _STATIC_java_lang_RuntimePermission_permissionToModifyThread = (java_lang_RuntimePermission*) JAVA_NULL;
+ _STATIC_java_lang_RuntimePermission_permissionToModifyThreadGroup = (java_lang_RuntimePermission*) JAVA_NULL;
+ _STATIC_java_lang_RuntimePermission_permissionToExitVM = (java_lang_RuntimePermission*) JAVA_NULL;
+ _STATIC_java_lang_RuntimePermission_permissionToReadFileDescriptor = (java_lang_RuntimePermission*) JAVA_NULL;
+ _STATIC_java_lang_RuntimePermission_permissionToWriteFileDescriptor = (java_lang_RuntimePermission*) JAVA_NULL;
+ _STATIC_java_lang_RuntimePermission_permissionToQueuePrintJob = (java_lang_RuntimePermission*) JAVA_NULL;
+ _STATIC_java_lang_RuntimePermission_permissionToSetFactory = (java_lang_RuntimePermission*) JAVA_NULL;
+ _STATIC_java_lang_RuntimePermission_permissionToSetIO = (java_lang_RuntimePermission*) JAVA_NULL;
+ _STATIC_java_lang_RuntimePermission_permissionToStopThread = (java_lang_RuntimePermission*) JAVA_NULL;
+ _STATIC_java_lang_RuntimePermission_permissionToSetContextClassLoader = (java_lang_RuntimePermission*) JAVA_NULL;
+
+ __TIB_java_lang_RuntimePermission.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_RuntimePermission.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_RuntimePermission.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_RuntimePermission.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_RuntimePermission.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_RuntimePermission.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_RuntimePermission.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_RuntimePermission.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_RuntimePermission = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_RuntimePermission);
+ __TIB_java_lang_RuntimePermission.clazz = __CLASS_java_lang_RuntimePermission;
+ __TIB_java_lang_RuntimePermission.baseType = JAVA_NULL;
+ __CLASS_java_lang_RuntimePermission_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_RuntimePermission);
+ __CLASS_java_lang_RuntimePermission_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_RuntimePermission_1ARRAY);
+ __CLASS_java_lang_RuntimePermission_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_RuntimePermission_2ARRAY);
+ java_lang_RuntimePermission___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_RuntimePermission]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_RuntimePermission.classInitialized = 1;
+}
+
+void __DELETE_java_lang_RuntimePermission(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_RuntimePermission]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_RuntimePermission(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_security_BasicPermission(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_RuntimePermission]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_RuntimePermission()
+{ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+java_lang_RuntimePermission* me = (java_lang_RuntimePermission*) XMLVM_MALLOC(sizeof(java_lang_RuntimePermission));
+ me->tib = &__TIB_java_lang_RuntimePermission;
+ __INIT_INSTANCE_MEMBERS_java_lang_RuntimePermission(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_RuntimePermission]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_RuntimePermission()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_lang_RuntimePermission_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+ return _STATIC_java_lang_RuntimePermission_serialVersionUID;
+}
+
+void java_lang_RuntimePermission_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+_STATIC_java_lang_RuntimePermission_serialVersionUID = v;
+}
+
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToSetSecurityManager()
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+ return _STATIC_java_lang_RuntimePermission_permissionToSetSecurityManager;
+}
+
+void java_lang_RuntimePermission_PUT_permissionToSetSecurityManager(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+_STATIC_java_lang_RuntimePermission_permissionToSetSecurityManager = v;
+}
+
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToCreateSecurityManager()
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+ return _STATIC_java_lang_RuntimePermission_permissionToCreateSecurityManager;
+}
+
+void java_lang_RuntimePermission_PUT_permissionToCreateSecurityManager(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+_STATIC_java_lang_RuntimePermission_permissionToCreateSecurityManager = v;
+}
+
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToGetProtectionDomain()
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+ return _STATIC_java_lang_RuntimePermission_permissionToGetProtectionDomain;
+}
+
+void java_lang_RuntimePermission_PUT_permissionToGetProtectionDomain(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+_STATIC_java_lang_RuntimePermission_permissionToGetProtectionDomain = v;
+}
+
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToGetClassLoader()
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+ return _STATIC_java_lang_RuntimePermission_permissionToGetClassLoader;
+}
+
+void java_lang_RuntimePermission_PUT_permissionToGetClassLoader(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+_STATIC_java_lang_RuntimePermission_permissionToGetClassLoader = v;
+}
+
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToCreateClassLoader()
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+ return _STATIC_java_lang_RuntimePermission_permissionToCreateClassLoader;
+}
+
+void java_lang_RuntimePermission_PUT_permissionToCreateClassLoader(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+_STATIC_java_lang_RuntimePermission_permissionToCreateClassLoader = v;
+}
+
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToModifyThread()
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+ return _STATIC_java_lang_RuntimePermission_permissionToModifyThread;
+}
+
+void java_lang_RuntimePermission_PUT_permissionToModifyThread(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+_STATIC_java_lang_RuntimePermission_permissionToModifyThread = v;
+}
+
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToModifyThreadGroup()
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+ return _STATIC_java_lang_RuntimePermission_permissionToModifyThreadGroup;
+}
+
+void java_lang_RuntimePermission_PUT_permissionToModifyThreadGroup(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+_STATIC_java_lang_RuntimePermission_permissionToModifyThreadGroup = v;
+}
+
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToExitVM()
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+ return _STATIC_java_lang_RuntimePermission_permissionToExitVM;
+}
+
+void java_lang_RuntimePermission_PUT_permissionToExitVM(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+_STATIC_java_lang_RuntimePermission_permissionToExitVM = v;
+}
+
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToReadFileDescriptor()
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+ return _STATIC_java_lang_RuntimePermission_permissionToReadFileDescriptor;
+}
+
+void java_lang_RuntimePermission_PUT_permissionToReadFileDescriptor(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+_STATIC_java_lang_RuntimePermission_permissionToReadFileDescriptor = v;
+}
+
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToWriteFileDescriptor()
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+ return _STATIC_java_lang_RuntimePermission_permissionToWriteFileDescriptor;
+}
+
+void java_lang_RuntimePermission_PUT_permissionToWriteFileDescriptor(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+_STATIC_java_lang_RuntimePermission_permissionToWriteFileDescriptor = v;
+}
+
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToQueuePrintJob()
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+ return _STATIC_java_lang_RuntimePermission_permissionToQueuePrintJob;
+}
+
+void java_lang_RuntimePermission_PUT_permissionToQueuePrintJob(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+_STATIC_java_lang_RuntimePermission_permissionToQueuePrintJob = v;
+}
+
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToSetFactory()
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+ return _STATIC_java_lang_RuntimePermission_permissionToSetFactory;
+}
+
+void java_lang_RuntimePermission_PUT_permissionToSetFactory(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+_STATIC_java_lang_RuntimePermission_permissionToSetFactory = v;
+}
+
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToSetIO()
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+ return _STATIC_java_lang_RuntimePermission_permissionToSetIO;
+}
+
+void java_lang_RuntimePermission_PUT_permissionToSetIO(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+_STATIC_java_lang_RuntimePermission_permissionToSetIO = v;
+}
+
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToStopThread()
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+ return _STATIC_java_lang_RuntimePermission_permissionToStopThread;
+}
+
+void java_lang_RuntimePermission_PUT_permissionToStopThread(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+_STATIC_java_lang_RuntimePermission_permissionToStopThread = v;
+}
+
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToSetContextClassLoader()
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+ return _STATIC_java_lang_RuntimePermission_permissionToSetContextClassLoader;
+}
+
+void java_lang_RuntimePermission_PUT_permissionToSetContextClassLoader(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+_STATIC_java_lang_RuntimePermission_permissionToSetContextClassLoader = v;
+}
+
+void java_lang_RuntimePermission___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_RuntimePermission___CLINIT___]
+ XMLVM_ENTER_METHOD("java.lang.RuntimePermission", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 34)
+ _r0.o = __NEW_java_lang_RuntimePermission();
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 35)
+ // "setSecurityManager"
+ _r1.o = xmlvm_create_java_string_from_pool(694);
+ XMLVM_CHECK_NPE(0)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r0.o, _r1.o);
+ java_lang_RuntimePermission_PUT_permissionToSetSecurityManager( _r0.o);
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 37)
+ _r0.o = __NEW_java_lang_RuntimePermission();
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 38)
+ // "createSecurityManager"
+ _r1.o = xmlvm_create_java_string_from_pool(695);
+ XMLVM_CHECK_NPE(0)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r0.o, _r1.o);
+ java_lang_RuntimePermission_PUT_permissionToCreateSecurityManager( _r0.o);
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 40)
+ _r0.o = __NEW_java_lang_RuntimePermission();
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 41)
+ // "getProtectionDomain"
+ _r1.o = xmlvm_create_java_string_from_pool(696);
+ XMLVM_CHECK_NPE(0)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r0.o, _r1.o);
+ java_lang_RuntimePermission_PUT_permissionToGetProtectionDomain( _r0.o);
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 43)
+ _r0.o = __NEW_java_lang_RuntimePermission();
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 44)
+ // "getClassLoader"
+ _r1.o = xmlvm_create_java_string_from_pool(697);
+ XMLVM_CHECK_NPE(0)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r0.o, _r1.o);
+ java_lang_RuntimePermission_PUT_permissionToGetClassLoader( _r0.o);
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 46)
+ _r0.o = __NEW_java_lang_RuntimePermission();
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 47)
+ // "createClassLoader"
+ _r1.o = xmlvm_create_java_string_from_pool(698);
+ XMLVM_CHECK_NPE(0)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r0.o, _r1.o);
+ java_lang_RuntimePermission_PUT_permissionToCreateClassLoader( _r0.o);
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 49)
+ _r0.o = __NEW_java_lang_RuntimePermission();
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 50)
+ // "modifyThread"
+ _r1.o = xmlvm_create_java_string_from_pool(699);
+ XMLVM_CHECK_NPE(0)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r0.o, _r1.o);
+ java_lang_RuntimePermission_PUT_permissionToModifyThread( _r0.o);
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 52)
+ _r0.o = __NEW_java_lang_RuntimePermission();
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 53)
+ // "modifyThreadGroup"
+ _r1.o = xmlvm_create_java_string_from_pool(700);
+ XMLVM_CHECK_NPE(0)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r0.o, _r1.o);
+ java_lang_RuntimePermission_PUT_permissionToModifyThreadGroup( _r0.o);
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 55)
+ _r0.o = __NEW_java_lang_RuntimePermission();
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 56)
+ // "exitVM"
+ _r1.o = xmlvm_create_java_string_from_pool(168);
+ XMLVM_CHECK_NPE(0)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r0.o, _r1.o);
+ java_lang_RuntimePermission_PUT_permissionToExitVM( _r0.o);
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 58)
+ _r0.o = __NEW_java_lang_RuntimePermission();
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 59)
+ // "readFileDescriptor"
+ _r1.o = xmlvm_create_java_string_from_pool(701);
+ XMLVM_CHECK_NPE(0)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r0.o, _r1.o);
+ java_lang_RuntimePermission_PUT_permissionToReadFileDescriptor( _r0.o);
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 61)
+ _r0.o = __NEW_java_lang_RuntimePermission();
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 62)
+ // "writeFileDescriptor"
+ _r1.o = xmlvm_create_java_string_from_pool(702);
+ XMLVM_CHECK_NPE(0)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r0.o, _r1.o);
+ java_lang_RuntimePermission_PUT_permissionToWriteFileDescriptor( _r0.o);
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 64)
+ _r0.o = __NEW_java_lang_RuntimePermission();
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 65)
+ // "queuePrintJob"
+ _r1.o = xmlvm_create_java_string_from_pool(703);
+ XMLVM_CHECK_NPE(0)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r0.o, _r1.o);
+ java_lang_RuntimePermission_PUT_permissionToQueuePrintJob( _r0.o);
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 67)
+ _r0.o = __NEW_java_lang_RuntimePermission();
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 68)
+ // "setFactory"
+ _r1.o = xmlvm_create_java_string_from_pool(704);
+ XMLVM_CHECK_NPE(0)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r0.o, _r1.o);
+ java_lang_RuntimePermission_PUT_permissionToSetFactory( _r0.o);
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 70)
+ _r0.o = __NEW_java_lang_RuntimePermission();
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 71)
+ // "setIO"
+ _r1.o = xmlvm_create_java_string_from_pool(705);
+ XMLVM_CHECK_NPE(0)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r0.o, _r1.o);
+ java_lang_RuntimePermission_PUT_permissionToSetIO( _r0.o);
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 73)
+ _r0.o = __NEW_java_lang_RuntimePermission();
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 74)
+ // "stopThread"
+ _r1.o = xmlvm_create_java_string_from_pool(706);
+ XMLVM_CHECK_NPE(0)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r0.o, _r1.o);
+ java_lang_RuntimePermission_PUT_permissionToStopThread( _r0.o);
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 76)
+ _r0.o = __NEW_java_lang_RuntimePermission();
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 77)
+ // "setContextClassLoader"
+ _r1.o = xmlvm_create_java_string_from_pool(707);
+ XMLVM_CHECK_NPE(0)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r0.o, _r1.o);
+ java_lang_RuntimePermission_PUT_permissionToSetContextClassLoader( _r0.o);
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 27)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_RuntimePermission___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_RuntimePermission___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.RuntimePermission", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 86)
+ XMLVM_CHECK_NPE(0)
+ java_security_BasicPermission___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 87)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_RuntimePermission___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_RuntimePermission___INIT____java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.RuntimePermission", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 99)
+ XMLVM_CHECK_NPE(0)
+ java_security_BasicPermission___INIT____java_lang_String_java_lang_String(_r0.o, _r1.o, _r2.o);
+ XMLVM_SOURCE_POSITION("RuntimePermission.java", 100)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_RuntimePermission.h b/tests/nbody-java/java_lang_RuntimePermission.h
new file mode 100644
index 00000000..98dacb4e
--- /dev/null
+++ b/tests/nbody-java/java_lang_RuntimePermission.h
@@ -0,0 +1,89 @@
+#ifndef __JAVA_LANG_RUNTIMEPERMISSION__
+#define __JAVA_LANG_RUNTIMEPERMISSION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_RuntimePermission 1
+// Implemented interfaces:
+// Super Class:
+#include "java_security_BasicPermission.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+// Class declarations for java.lang.RuntimePermission
+XMLVM_DEFINE_CLASS(java_lang_RuntimePermission, 10, XMLVM_ITABLE_SIZE_java_lang_RuntimePermission)
+
+extern JAVA_OBJECT __CLASS_java_lang_RuntimePermission;
+extern JAVA_OBJECT __CLASS_java_lang_RuntimePermission_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_RuntimePermission_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_RuntimePermission_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_RuntimePermission
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_RuntimePermission \
+ __INSTANCE_FIELDS_java_security_BasicPermission; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_RuntimePermission \
+ } java_lang_RuntimePermission
+
+struct java_lang_RuntimePermission {
+ __TIB_DEFINITION_java_lang_RuntimePermission* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_RuntimePermission;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_RuntimePermission
+#define XMLVM_FORWARD_DECL_java_lang_RuntimePermission
+typedef struct java_lang_RuntimePermission java_lang_RuntimePermission;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_RuntimePermission 10
+
+void __INIT_java_lang_RuntimePermission();
+void __INIT_IMPL_java_lang_RuntimePermission();
+void __DELETE_java_lang_RuntimePermission(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_RuntimePermission(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_RuntimePermission();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_RuntimePermission();
+JAVA_LONG java_lang_RuntimePermission_GET_serialVersionUID();
+void java_lang_RuntimePermission_PUT_serialVersionUID(JAVA_LONG v);
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToSetSecurityManager();
+void java_lang_RuntimePermission_PUT_permissionToSetSecurityManager(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToCreateSecurityManager();
+void java_lang_RuntimePermission_PUT_permissionToCreateSecurityManager(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToGetProtectionDomain();
+void java_lang_RuntimePermission_PUT_permissionToGetProtectionDomain(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToGetClassLoader();
+void java_lang_RuntimePermission_PUT_permissionToGetClassLoader(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToCreateClassLoader();
+void java_lang_RuntimePermission_PUT_permissionToCreateClassLoader(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToModifyThread();
+void java_lang_RuntimePermission_PUT_permissionToModifyThread(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToModifyThreadGroup();
+void java_lang_RuntimePermission_PUT_permissionToModifyThreadGroup(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToExitVM();
+void java_lang_RuntimePermission_PUT_permissionToExitVM(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToReadFileDescriptor();
+void java_lang_RuntimePermission_PUT_permissionToReadFileDescriptor(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToWriteFileDescriptor();
+void java_lang_RuntimePermission_PUT_permissionToWriteFileDescriptor(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToQueuePrintJob();
+void java_lang_RuntimePermission_PUT_permissionToQueuePrintJob(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToSetFactory();
+void java_lang_RuntimePermission_PUT_permissionToSetFactory(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToSetIO();
+void java_lang_RuntimePermission_PUT_permissionToSetIO(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToStopThread();
+void java_lang_RuntimePermission_PUT_permissionToStopThread(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_RuntimePermission_GET_permissionToSetContextClassLoader();
+void java_lang_RuntimePermission_PUT_permissionToSetContextClassLoader(JAVA_OBJECT v);
+void java_lang_RuntimePermission___CLINIT_();
+void java_lang_RuntimePermission___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_RuntimePermission___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+
+#endif
diff --git a/tests/nbody-java/java_lang_SecurityManager.c b/tests/nbody-java/java_lang_SecurityManager.c
new file mode 100644
index 00000000..426a7304
--- /dev/null
+++ b/tests/nbody-java/java_lang_SecurityManager.c
@@ -0,0 +1,1722 @@
+#include "xmlvm.h"
+#include "java_io_File.h"
+#include "java_io_FileDescriptor.h"
+#include "java_lang_Class.h"
+#include "java_lang_ClassLoader.h"
+#include "java_lang_ClassNotFoundException.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_RuntimePermission.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_lang_Thread.h"
+#include "java_lang_ThreadGroup.h"
+#include "java_lang_reflect_Constructor.h"
+#include "java_net_InetAddress.h"
+#include "java_security_AccessController.h"
+#include "java_security_Permission.h"
+#include "java_security_PrivilegedAction.h"
+#include "java_util_PropertyPermission.h"
+#include "org_apache_harmony_luni_util_PriviAction.h"
+
+#include "java_lang_SecurityManager.h"
+
+#define XMLVM_CURRENT_CLASS_NAME SecurityManager
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_SecurityManager
+
+__TIB_DEFINITION_java_lang_SecurityManager __TIB_java_lang_SecurityManager = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_SecurityManager, // classInitializer
+ "java.lang.SecurityManager", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_SecurityManager), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_SecurityManager;
+JAVA_OBJECT __CLASS_java_lang_SecurityManager_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_SecurityManager_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_SecurityManager_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_OBJECT _STATIC_java_lang_SecurityManager_READ_WRITE_ALL_PROPERTIES_PERMISSION;
+static JAVA_OBJECT _STATIC_java_lang_SecurityManager_PKG_ACC_KEY;
+static JAVA_OBJECT _STATIC_java_lang_SecurityManager_PKG_DEF_KEY;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_SecurityManager()
+{
+ staticInitializerLock(&__TIB_java_lang_SecurityManager);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_SecurityManager.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_SecurityManager.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_SecurityManager);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_SecurityManager.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_SecurityManager.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_SecurityManager.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.SecurityManager")
+ __INIT_IMPL_java_lang_SecurityManager();
+ }
+}
+
+void __INIT_IMPL_java_lang_SecurityManager()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_SecurityManager.newInstanceFunc = __NEW_INSTANCE_java_lang_SecurityManager;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_SecurityManager.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_lang_SecurityManager.numImplementedInterfaces = 0;
+ __TIB_java_lang_SecurityManager.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_java_lang_SecurityManager_READ_WRITE_ALL_PROPERTIES_PERMISSION = (java_util_PropertyPermission*) JAVA_NULL;
+ _STATIC_java_lang_SecurityManager_PKG_ACC_KEY = (java_lang_String*) xmlvm_create_java_string_from_pool(780);
+ _STATIC_java_lang_SecurityManager_PKG_DEF_KEY = (java_lang_String*) xmlvm_create_java_string_from_pool(781);
+
+ __TIB_java_lang_SecurityManager.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_SecurityManager.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_SecurityManager.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_SecurityManager.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_SecurityManager.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_SecurityManager.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_SecurityManager.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_SecurityManager.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_SecurityManager = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_SecurityManager);
+ __TIB_java_lang_SecurityManager.clazz = __CLASS_java_lang_SecurityManager;
+ __TIB_java_lang_SecurityManager.baseType = JAVA_NULL;
+ __CLASS_java_lang_SecurityManager_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_SecurityManager);
+ __CLASS_java_lang_SecurityManager_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_SecurityManager_1ARRAY);
+ __CLASS_java_lang_SecurityManager_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_SecurityManager_2ARRAY);
+ java_lang_SecurityManager___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_SecurityManager]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_SecurityManager.classInitialized = 1;
+}
+
+void __DELETE_java_lang_SecurityManager(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_SecurityManager]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_SecurityManager(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_SecurityManager*) me)->fields.java_lang_SecurityManager.inCheck_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_SecurityManager]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_SecurityManager()
+{ XMLVM_CLASS_INIT(java_lang_SecurityManager)
+java_lang_SecurityManager* me = (java_lang_SecurityManager*) XMLVM_MALLOC(sizeof(java_lang_SecurityManager));
+ me->tib = &__TIB_java_lang_SecurityManager;
+ __INIT_INSTANCE_MEMBERS_java_lang_SecurityManager(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_SecurityManager]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_SecurityManager()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_lang_SecurityManager();
+ java_lang_SecurityManager___INIT___(me);
+ return me;
+}
+
+JAVA_OBJECT java_lang_SecurityManager_GET_READ_WRITE_ALL_PROPERTIES_PERMISSION()
+{
+ XMLVM_CLASS_INIT(java_lang_SecurityManager)
+ return _STATIC_java_lang_SecurityManager_READ_WRITE_ALL_PROPERTIES_PERMISSION;
+}
+
+void java_lang_SecurityManager_PUT_READ_WRITE_ALL_PROPERTIES_PERMISSION(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_SecurityManager)
+_STATIC_java_lang_SecurityManager_READ_WRITE_ALL_PROPERTIES_PERMISSION = v;
+}
+
+JAVA_OBJECT java_lang_SecurityManager_GET_PKG_ACC_KEY()
+{
+ XMLVM_CLASS_INIT(java_lang_SecurityManager)
+ return _STATIC_java_lang_SecurityManager_PKG_ACC_KEY;
+}
+
+void java_lang_SecurityManager_PUT_PKG_ACC_KEY(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_SecurityManager)
+_STATIC_java_lang_SecurityManager_PKG_ACC_KEY = v;
+}
+
+JAVA_OBJECT java_lang_SecurityManager_GET_PKG_DEF_KEY()
+{
+ XMLVM_CLASS_INIT(java_lang_SecurityManager)
+ return _STATIC_java_lang_SecurityManager_PKG_DEF_KEY;
+}
+
+void java_lang_SecurityManager_PUT_PKG_DEF_KEY(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_SecurityManager)
+_STATIC_java_lang_SecurityManager_PKG_DEF_KEY = v;
+}
+
+void java_lang_SecurityManager___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 71)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 81)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkAccept___java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkAccept___java_lang_String_int]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkAccept", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r3.o = me;
+ _r4.o = n1;
+ _r5.i = n2;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 98)
+ if (_r4.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 99)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 101)
+
+
+ // Red class access removed: java.net.SocketPermission::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder___INIT___(_r1.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r4.o);
+ _r2.i = 58;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[6])(_r1.o, _r2.i);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___int(_r1.o, _r5.i);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
+ // "accept"
+ _r2.o = xmlvm_create_java_string_from_pool(782);
+
+
+ // Red class access removed: java.net.SocketPermission::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(3)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r3.o, _r0.o);
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 102)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkAccess___java_lang_Thread(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkAccess___java_lang_Thread]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkAccess", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 119)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkAccess___java_lang_ThreadGroup(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkAccess___java_lang_ThreadGroup]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkAccess", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 140)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkConnect___java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkConnect___java_lang_String_int]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkConnect", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r3.o = me;
+ _r4.o = n1;
+ _r5.i = n2;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 158)
+ if (_r4.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 159)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 161)
+ if (_r5.i <= 0) goto label44;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 162)
+
+
+ // Red class access removed: java.net.SocketPermission::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder___INIT___(_r1.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r4.o);
+ _r2.i = 58;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[6])(_r1.o, _r2.i);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___int(_r1.o, _r5.i);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
+ // "connect"
+ _r2.o = xmlvm_create_java_string_from_pool(783);
+
+
+ // Red class access removed: java.net.SocketPermission::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(3)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r3.o, _r0.o);
+ label43:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 166)
+ XMLVM_EXIT_METHOD()
+ return;
+ label44:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 164)
+
+
+ // Red class access removed: java.net.SocketPermission::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "resolve"
+ _r1.o = xmlvm_create_java_string_from_pool(784);
+
+
+ // Red class access removed: java.net.SocketPermission::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(3)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r3.o, _r0.o);
+ goto label43;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkConnect___java_lang_String_int_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkConnect___java_lang_String_int_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkConnect", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r3.o = me;
+ _r4.o = n1;
+ _r5.i = n2;
+ _r6.o = n3;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 186)
+ if (_r5.i <= 0) goto label36;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 187)
+
+
+ // Red class access removed: java.net.SocketPermission::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder___INIT___(_r1.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r4.o);
+ _r2.i = 58;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[6])(_r1.o, _r2.i);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___int(_r1.o, _r5.i);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
+ // "connect"
+ _r2.o = xmlvm_create_java_string_from_pool(783);
+
+
+ // Red class access removed: java.net.SocketPermission::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(3)
+ java_lang_SecurityManager_checkPermission___java_security_Permission_java_lang_Object(_r3.o, _r0.o, _r6.o);
+ label35:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 192)
+ XMLVM_EXIT_METHOD()
+ return;
+ label36:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 190)
+
+
+ // Red class access removed: java.net.SocketPermission::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "resolve"
+ _r1.o = xmlvm_create_java_string_from_pool(784);
+
+
+ // Red class access removed: java.net.SocketPermission::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(3)
+ java_lang_SecurityManager_checkPermission___java_security_Permission_java_lang_Object(_r3.o, _r0.o, _r6.o);
+ goto label35;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkCreateClassLoader__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkCreateClassLoader__]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkCreateClassLoader", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 203)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkDelete___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkDelete___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkDelete", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 215)
+
+
+ // Red class access removed: java.io.FilePermission::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "delete"
+ _r1.o = xmlvm_create_java_string_from_pool(785);
+
+
+ // Red class access removed: java.io.FilePermission::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(2)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 216)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkExec___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkExec___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkExec", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 228)
+
+
+ // Red class access removed: java.io.FilePermission::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = __NEW_java_io_File();
+ XMLVM_CHECK_NPE(1)
+ java_io_File___INIT____java_lang_String(_r1.o, _r4.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.i = java_io_File_isAbsolute__(_r1.o);
+ if (_r1.i == 0) goto label23;
+ _r1 = _r4;
+ label14:;
+ // "execute"
+ _r2.o = xmlvm_create_java_string_from_pool(786);
+
+
+ // Red class access removed: java.io.FilePermission::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(3)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r3.o, _r0.o);
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 230)
+ XMLVM_EXIT_METHOD()
+ return;
+ label23:;
+ // "<<ALL FILES>>"
+ _r1.o = xmlvm_create_java_string_from_pool(787);
+ goto label14;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkExit___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkExit___int]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkExit", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 245)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkLink___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkLink___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkLink", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 257)
+ if (_r4.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 258)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 260)
+ _r0.o = __NEW_java_lang_RuntimePermission();
+ _r1.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder___INIT___(_r1.o);
+ // "loadLibrary."
+ _r2.o = xmlvm_create_java_string_from_pool(788);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r2.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r4.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_CHECK_NPE(3)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r3.o, _r0.o);
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 261)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkListen___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkListen___int]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkListen", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.i = n1;
+ // "listen"
+ _r3.o = xmlvm_create_java_string_from_pool(789);
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 273)
+ if (_r5.i != 0) goto label17;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 274)
+
+
+ // Red class access removed: java.net.SocketPermission::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "localhost:1024-"
+ _r1.o = xmlvm_create_java_string_from_pool(790);
+ // "listen"
+ _r2.o = xmlvm_create_java_string_from_pool(789);
+
+
+ // Red class access removed: java.net.SocketPermission::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(4)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r4.o, _r0.o);
+ label16:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 278)
+ XMLVM_EXIT_METHOD()
+ return;
+ label17:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 276)
+
+
+ // Red class access removed: java.net.SocketPermission::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder___INIT___(_r1.o);
+ // "localhost:"
+ _r2.o = xmlvm_create_java_string_from_pool(791);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r2.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___int(_r1.o, _r5.i);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
+ // "listen"
+ _r2.o = xmlvm_create_java_string_from_pool(789);
+
+
+ // Red class access removed: java.net.SocketPermission::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(4)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r4.o, _r0.o);
+ goto label16;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkMemberAccess___java_lang_Class_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkMemberAccess___java_lang_Class_int]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkMemberAccess", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.i = n2;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 300)
+ if (_r3.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 301)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 303)
+ if (_r4.i != 0) goto label11;
+ label10:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 322)
+ XMLVM_EXIT_METHOD()
+ return;
+ label11:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 321)
+ _r0.o = __NEW_java_lang_RuntimePermission();
+ // "accessDeclaredMembers"
+ _r1.o = xmlvm_create_java_string_from_pool(792);
+ XMLVM_CHECK_NPE(0)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_CHECK_NPE(2)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r2.o, _r0.o);
+ goto label10;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkMulticast___java_net_InetAddress(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkMulticast___java_net_InetAddress]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkMulticast", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 334)
+
+
+ // Red class access removed: java.net.SocketPermission::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ //java_net_InetAddress_getHostAddress__[6]
+ XMLVM_CHECK_NPE(4)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_net_InetAddress*) _r4.o)->tib->vtable[6])(_r4.o);
+ // "accept,connect"
+ _r2.o = xmlvm_create_java_string_from_pool(793);
+
+
+ // Red class access removed: java.net.SocketPermission::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(3)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r3.o, _r0.o);
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 336)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkMulticast___java_net_InetAddress_byte(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BYTE n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkMulticast___java_net_InetAddress_byte]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkMulticast", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r3.o = me;
+ _r4.o = n1;
+ _r5.i = n2;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 353)
+
+
+ // Red class access removed: java.net.SocketPermission::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ //java_net_InetAddress_getHostAddress__[6]
+ XMLVM_CHECK_NPE(4)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_net_InetAddress*) _r4.o)->tib->vtable[6])(_r4.o);
+ // "accept,connect"
+ _r2.o = xmlvm_create_java_string_from_pool(793);
+
+
+ // Red class access removed: java.net.SocketPermission::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(3)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r3.o, _r0.o);
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 355)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkPackageAccess___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkPackageAccess___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkPackageAccess", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 368)
+ if (_r4.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 369)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 371)
+ // "package.access"
+ _r0.o = xmlvm_create_java_string_from_pool(780);
+ _r0.i = java_lang_SecurityManager_checkPackageProperty___java_lang_String_java_lang_String(_r0.o, _r4.o);
+ if (_r0.i == 0) goto label43;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 372)
+ _r0.o = __NEW_java_lang_RuntimePermission();
+ _r1.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder___INIT___(_r1.o);
+ // "accessClassInPackage."
+ _r2.o = xmlvm_create_java_string_from_pool(794);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r2.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r4.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_CHECK_NPE(3)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r3.o, _r0.o);
+ label43:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 375)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkPackageDefinition___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkPackageDefinition___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkPackageDefinition", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 388)
+ if (_r4.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 389)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 391)
+ // "package.definition"
+ _r0.o = xmlvm_create_java_string_from_pool(781);
+ _r0.i = java_lang_SecurityManager_checkPackageProperty___java_lang_String_java_lang_String(_r0.o, _r4.o);
+ if (_r0.i == 0) goto label43;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 392)
+ _r0.o = __NEW_java_lang_RuntimePermission();
+ _r1.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder___INIT___(_r1.o);
+ // "defineClassInPackage."
+ _r2.o = xmlvm_create_java_string_from_pool(795);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r2.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r4.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_CHECK_NPE(3)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r3.o, _r0.o);
+ label43:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 395)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_SecurityManager_checkPackageProperty___java_lang_String_java_lang_String(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_SecurityManager)
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkPackageProperty___java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkPackageProperty", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ _r11.o = n1;
+ _r12.o = n2;
+ _r10.i = 46;
+ _r9.i = 1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 403)
+ _r8.o = org_apache_harmony_luni_util_PriviAction_getSecurityProperty___java_lang_String(_r11.o);
+ _r3.o = java_security_AccessController_doPrivileged___java_security_PrivilegedAction(_r8.o);
+ _r3.o = _r3.o;
+ if (_r3.o == JAVA_NULL) goto label93;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 405)
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 406)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(12)
+ _r4.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r12.o)->tib->vtable[8])(_r12.o);
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 407)
+ // ", *"
+ _r8.o = xmlvm_create_java_string_from_pool(796);
+ XMLVM_CHECK_NPE(3)
+ _r7.o = java_lang_String_split___java_lang_String(_r3.o, _r8.o);
+ _r0 = _r7;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 408)
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ _r1.i = 0;
+ label28:;
+ if (_r1.i >= _r2.i) goto label93;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r6.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 409)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(6)
+ _r5.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r6.o)->tib->vtable[8])(_r6.o);
+ if (_r4.i <= _r5.i) goto label60;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 410)
+ XMLVM_CHECK_NPE(12)
+ _r8.i = java_lang_String_startsWith___java_lang_String(_r12.o, _r6.o);
+ if (_r8.i == 0) goto label60;
+ _r8.i = _r5.i - _r9.i;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(6)
+ _r8.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r6.o)->tib->vtable[6])(_r6.o, _r8.i);
+ if (_r8.i == _r10.i) goto label58;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(12)
+ _r8.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r12.o)->tib->vtable[6])(_r12.o, _r5.i);
+ if (_r8.i != _r10.i) goto label60;
+ label58:;
+ _r8 = _r9;
+ label59:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 413)
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 423)
+ XMLVM_EXIT_METHOD()
+ return _r8.i;
+ label60:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 414)
+ if (_r4.i != _r5.i) goto label70;
+ XMLVM_CHECK_NPE(6)
+ _r8.i = java_lang_String_startsWith___java_lang_String(_r6.o, _r12.o);
+ if (_r8.i == 0) goto label70;
+ _r8 = _r9;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 415)
+ goto label59;
+ label70:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 416)
+ _r8.i = _r4.i + 1;
+ if (_r8.i != _r5.i) goto label90;
+ XMLVM_CHECK_NPE(6)
+ _r8.i = java_lang_String_startsWith___java_lang_String(_r6.o, _r12.o);
+ if (_r8.i == 0) goto label90;
+ _r8.i = _r5.i - _r9.i;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(6)
+ _r8.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r6.o)->tib->vtable[6])(_r6.o, _r8.i);
+ if (_r8.i != _r10.i) goto label90;
+ _r8 = _r9;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 418)
+ goto label59;
+ label90:;
+ _r1.i = _r1.i + 1;
+ goto label28;
+ label93:;
+ _r8.i = 0;
+ goto label59;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkPropertiesAccess__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkPropertiesAccess__]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkPropertiesAccess", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 435)
+ _r0.o = java_lang_SecurityManager_GET_READ_WRITE_ALL_PROPERTIES_PERMISSION();
+ XMLVM_CHECK_NPE(1)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 436)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkPropertyAccess___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkPropertyAccess___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkPropertyAccess", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 449)
+ _r0.o = __NEW_java_util_PropertyPermission();
+ // "read"
+ _r1.o = xmlvm_create_java_string_from_pool(670);
+ XMLVM_CHECK_NPE(0)
+ java_util_PropertyPermission___INIT____java_lang_String_java_lang_String(_r0.o, _r3.o, _r1.o);
+ XMLVM_CHECK_NPE(2)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 450)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkRead___java_io_FileDescriptor(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkRead___java_io_FileDescriptor]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkRead", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 462)
+ if (_r2.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 463)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 466)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkRead___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkRead___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkRead", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 479)
+
+
+ // Red class access removed: java.io.FilePermission::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "read"
+ _r1.o = xmlvm_create_java_string_from_pool(670);
+
+
+ // Red class access removed: java.io.FilePermission::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(2)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 480)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkRead___java_lang_String_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkRead___java_lang_String_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkRead", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.o = n2;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 494)
+
+
+ // Red class access removed: java.io.FilePermission::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "read"
+ _r1.o = xmlvm_create_java_string_from_pool(670);
+
+
+ // Red class access removed: java.io.FilePermission::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(2)
+ java_lang_SecurityManager_checkPermission___java_security_Permission_java_lang_Object(_r2.o, _r0.o, _r4.o);
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 495)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkSecurityAccess___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkSecurityAccess___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkSecurityAccess", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 508)
+
+
+ // Red class access removed: java.security.SecurityPermission::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.security.SecurityPermission::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(1)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 509)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkSetFactory__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkSetFactory__]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkSetFactory", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 521)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_SecurityManager_checkTopLevelWindow___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkTopLevelWindow___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkTopLevelWindow", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ volatile XMLVMElem _r9;
+ volatile XMLVMElem _r10;
+ _r9.o = me;
+ _r10.o = n1;
+ _r8.i = 1;
+ _r7.i = 0;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 535)
+ if (_r10.o != JAVA_NULL) goto label10;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 536)
+ _r4.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(4)
+ java_lang_NullPointerException___INIT___(_r4.o);
+ XMLVM_THROW_CUSTOM(_r4.o)
+ label10:;
+ XMLVM_TRY_BEGIN(w5583aaac29b1c12)
+ // Begin try
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 539)
+ // "java.awt.AWTPermission"
+ _r4.o = xmlvm_create_java_string_from_pool(797);
+ _r0.o = java_lang_Class_forName___java_lang_String(_r4.o);
+ _r4.i = 1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 540)
+ XMLVM_CLASS_INIT(java_lang_Class)
+ _r4.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Class, _r4.i);
+ _r5.i = 0;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r6.o = __CLASS_java_lang_String;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r5.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i] = _r6.o;
+ XMLVM_CHECK_NPE(0)
+ _r1.o = java_lang_Class_getConstructor___java_lang_Class_1ARRAY(_r0.o, _r4.o);
+ _r4.i = 1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 542)
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r4.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r4.i);
+ _r5.i = 0;
+ // "showWindowWithoutWarningBanner"
+ _r6.o = xmlvm_create_java_string_from_pool(798);
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r5.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i] = _r6.o;
+ XMLVM_CHECK_NPE(1)
+ _r3.o = java_lang_reflect_Constructor_newInstance___java_lang_Object_1ARRAY(_r1.o, _r4.o);
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 544)
+ _r3.o = _r3.o;
+ XMLVM_CHECK_NPE(9)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r9.o, _r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5583aaac29b1c12)
+ XMLVM_CATCH_SPECIFIC(w5583aaac29b1c12,java_lang_ClassNotFoundException,59)
+ XMLVM_CATCH_END(w5583aaac29b1c12)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5583aaac29b1c12)
+ label45:;
+ _r4 = _r8;
+ label46:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 553)
+ XMLVM_EXIT_METHOD()
+ return _r4.i;
+ label47:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 550)
+ java_lang_Thread* curThread_w5583aaac29b1c20 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r4.o = curThread_w5583aaac29b1c20->fields.java_lang_Thread.xmlvmException_;
+ _r2 = _r4;
+ _r4 = _r7;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 551)
+ goto label46;
+ label51:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 549)
+ java_lang_Thread* curThread_w5583aaac29b1c27 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r4.o = curThread_w5583aaac29b1c27->fields.java_lang_Thread.xmlvmException_;
+ goto label45;
+ label53:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 548)
+ java_lang_Thread* curThread_w5583aaac29b1c31 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r4.o = curThread_w5583aaac29b1c31->fields.java_lang_Thread.xmlvmException_;
+ goto label45;
+ label55:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 547)
+ java_lang_Thread* curThread_w5583aaac29b1c35 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r4.o = curThread_w5583aaac29b1c35->fields.java_lang_Thread.xmlvmException_;
+ goto label45;
+ label57:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 546)
+ java_lang_Thread* curThread_w5583aaac29b1c39 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r4.o = curThread_w5583aaac29b1c39->fields.java_lang_Thread.xmlvmException_;
+ goto label45;
+ label59:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 545)
+ java_lang_Thread* curThread_w5583aaac29b1c43 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r4.o = curThread_w5583aaac29b1c43->fields.java_lang_Thread.xmlvmException_;
+ goto label45;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkSystemClipboardAccess__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkSystemClipboardAccess__]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkSystemClipboardAccess", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ _r6.o = me;
+ XMLVM_TRY_BEGIN(w5583aaac30b1b2)
+ // Begin try
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 566)
+ // "java.awt.AWTPermission"
+ _r3.o = xmlvm_create_java_string_from_pool(797);
+ _r0.o = java_lang_Class_forName___java_lang_String(_r3.o);
+ _r3.i = 1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 567)
+ XMLVM_CLASS_INIT(java_lang_Class)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Class, _r3.i);
+ _r4.i = 0;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r5.o = __CLASS_java_lang_String;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ XMLVM_CHECK_NPE(0)
+ _r1.o = java_lang_Class_getConstructor___java_lang_Class_1ARRAY(_r0.o, _r3.o);
+ _r3.i = 1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 569)
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r3.i);
+ _r4.i = 0;
+ // "accessClipboard"
+ _r5.o = xmlvm_create_java_string_from_pool(799);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ XMLVM_CHECK_NPE(1)
+ _r2.o = java_lang_reflect_Constructor_newInstance___java_lang_Object_1ARRAY(_r1.o, _r3.o);
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 570)
+ _r2.o = _r2.o;
+ XMLVM_CHECK_NPE(6)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r6.o, _r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5583aaac30b1b2)
+ XMLVM_CATCH_SPECIFIC(w5583aaac30b1b2,java_lang_ClassNotFoundException,49)
+ XMLVM_CATCH_END(w5583aaac30b1b2)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5583aaac30b1b2)
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 571)
+ XMLVM_EXIT_METHOD()
+ return;
+ label36:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 576)
+ java_lang_Thread* curThread_w5583aaac30b1b7 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r3.o = curThread_w5583aaac30b1b7->fields.java_lang_Thread.xmlvmException_;
+ label37:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 578)
+
+
+ // Red class access removed: java.lang.SecurityException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.SecurityException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r3.o)
+ label43:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 575)
+ java_lang_Thread* curThread_w5583aaac30b1c15 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r3.o = curThread_w5583aaac30b1c15->fields.java_lang_Thread.xmlvmException_;
+ goto label37;
+ label45:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 574)
+ java_lang_Thread* curThread_w5583aaac30b1c19 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r3.o = curThread_w5583aaac30b1c19->fields.java_lang_Thread.xmlvmException_;
+ goto label37;
+ label47:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 573)
+ java_lang_Thread* curThread_w5583aaac30b1c23 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r3.o = curThread_w5583aaac30b1c23->fields.java_lang_Thread.xmlvmException_;
+ goto label37;
+ label49:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 572)
+ java_lang_Thread* curThread_w5583aaac30b1c27 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r3.o = curThread_w5583aaac30b1c27->fields.java_lang_Thread.xmlvmException_;
+ goto label37;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkAwtEventQueueAccess__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkAwtEventQueueAccess__]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkAwtEventQueueAccess", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ _r6.o = me;
+ XMLVM_TRY_BEGIN(w5583aaac31b1b2)
+ // Begin try
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 591)
+ // "java.awt.AWTPermission"
+ _r3.o = xmlvm_create_java_string_from_pool(797);
+ _r0.o = java_lang_Class_forName___java_lang_String(_r3.o);
+ _r3.i = 1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 592)
+ XMLVM_CLASS_INIT(java_lang_Class)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Class, _r3.i);
+ _r4.i = 0;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r5.o = __CLASS_java_lang_String;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ XMLVM_CHECK_NPE(0)
+ _r1.o = java_lang_Class_getConstructor___java_lang_Class_1ARRAY(_r0.o, _r3.o);
+ _r3.i = 1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 594)
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r3.i);
+ _r4.i = 0;
+ // "accessEventQueue"
+ _r5.o = xmlvm_create_java_string_from_pool(800);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ XMLVM_CHECK_NPE(1)
+ _r2.o = java_lang_reflect_Constructor_newInstance___java_lang_Object_1ARRAY(_r1.o, _r3.o);
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 595)
+ _r2.o = _r2.o;
+ XMLVM_CHECK_NPE(6)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r6.o, _r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5583aaac31b1b2)
+ XMLVM_CATCH_SPECIFIC(w5583aaac31b1b2,java_lang_ClassNotFoundException,49)
+ XMLVM_CATCH_END(w5583aaac31b1b2)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5583aaac31b1b2)
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 596)
+ XMLVM_EXIT_METHOD()
+ return;
+ label36:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 601)
+ java_lang_Thread* curThread_w5583aaac31b1b7 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r3.o = curThread_w5583aaac31b1b7->fields.java_lang_Thread.xmlvmException_;
+ label37:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 603)
+
+
+ // Red class access removed: java.lang.SecurityException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.SecurityException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r3.o)
+ label43:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 600)
+ java_lang_Thread* curThread_w5583aaac31b1c15 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r3.o = curThread_w5583aaac31b1c15->fields.java_lang_Thread.xmlvmException_;
+ goto label37;
+ label45:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 599)
+ java_lang_Thread* curThread_w5583aaac31b1c19 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r3.o = curThread_w5583aaac31b1c19->fields.java_lang_Thread.xmlvmException_;
+ goto label37;
+ label47:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 598)
+ java_lang_Thread* curThread_w5583aaac31b1c23 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r3.o = curThread_w5583aaac31b1c23->fields.java_lang_Thread.xmlvmException_;
+ goto label37;
+ label49:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 597)
+ java_lang_Thread* curThread_w5583aaac31b1c27 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r3.o = curThread_w5583aaac31b1c27->fields.java_lang_Thread.xmlvmException_;
+ goto label37;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkPrintJobAccess__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkPrintJobAccess__]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkPrintJobAccess", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 615)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkWrite___java_io_FileDescriptor(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkWrite___java_io_FileDescriptor]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkWrite", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 627)
+ if (_r2.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 628)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 631)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkWrite___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkWrite___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkWrite", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 644)
+
+
+ // Red class access removed: java.io.FilePermission::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "write"
+ _r1.o = xmlvm_create_java_string_from_pool(671);
+
+
+ // Red class access removed: java.io.FilePermission::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(2)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 645)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_SecurityManager_getInCheck__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_getInCheck__]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "getInCheck", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 656)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_SecurityManager*) _r1.o)->fields.java_lang_SecurityManager.inCheck_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_SecurityManager_getClassContext__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_getClassContext__]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "getClassContext", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 668)
+ _r0.i = -1;
+ _r1.i = 0;
+ _r0.o = java_lang_Class_getStackClasses___int_boolean(_r0.i, _r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_SecurityManager_currentClassLoader__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_currentClassLoader__]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "currentClassLoader", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 703)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_SecurityManager_classLoaderDepth__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_classLoaderDepth__]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "classLoaderDepth", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 738)
+ _r0.i = -1;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_SecurityManager_currentLoadedClass__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_currentLoadedClass__]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "currentLoadedClass", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 772)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_SecurityManager_classDepth___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_classDepth___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "classDepth", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.o = n1;
+ _r3.i = -1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 788)
+ _r2.i = 0;
+ _r0.o = java_lang_Class_getStackClasses___int_boolean(_r3.i, _r2.i);
+ _r1.i = 0;
+ label7:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 789)
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ if (_r1.i >= _r2.i) goto label27;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 790)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_CHECK_NPE(2)
+ _r2.o = java_lang_Class_getName__(_r2.o);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(2)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r2.o)->tib->vtable[1])(_r2.o, _r5.o);
+ if (_r2.i == 0) goto label24;
+ _r2 = _r1;
+ label23:;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 791)
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 794)
+ XMLVM_EXIT_METHOD()
+ return _r2.i;
+ label24:;
+ _r1.i = _r1.i + 1;
+ goto label7;
+ label27:;
+ _r2 = _r3;
+ goto label23;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_SecurityManager_inClass___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_inClass___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "inClass", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 809)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = java_lang_SecurityManager_classDepth___java_lang_String(_r2.o, _r3.o);
+ _r1.i = -1;
+ if (_r0.i == _r1.i) goto label9;
+ _r0.i = 1;
+ label8:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label9:;
+ _r0.i = 0;
+ goto label8;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_SecurityManager_inClassLoader__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_inClassLoader__]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "inClassLoader", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 822)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_SecurityManager_currentClassLoader__(_r1.o);
+ if (_r0.o == JAVA_NULL) goto label8;
+ _r0.i = 1;
+ label7:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label8:;
+ _r0.i = 0;
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_SecurityManager_getThreadGroup__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_getThreadGroup__]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "getThreadGroup", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 833)
+ _r0.o = java_lang_Thread_currentThread__();
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_Thread_getThreadGroup__(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_SecurityManager_getSecurityContext__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_getSecurityContext__]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "getSecurityContext", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 845)
+ _r0.o = java_security_AccessController_getContext__();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkPermission___java_security_Permission(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkPermission___java_security_Permission]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkPermission", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 865)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager_checkPermission___java_security_Permission_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager_checkPermission___java_security_Permission_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "checkPermission", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 895)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_SecurityManager___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_SecurityManager___CLINIT___]
+ XMLVM_ENTER_METHOD("java.lang.SecurityManager", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVM_SOURCE_POSITION("SecurityManager.java", 50)
+ _r0.o = __NEW_java_util_PropertyPermission();
+ // "*"
+ _r1.o = xmlvm_create_java_string_from_pool(801);
+ // "read,write"
+ _r2.o = xmlvm_create_java_string_from_pool(672);
+ XMLVM_CHECK_NPE(0)
+ java_util_PropertyPermission___INIT____java_lang_String_java_lang_String(_r0.o, _r1.o, _r2.o);
+ java_lang_SecurityManager_PUT_READ_WRITE_ALL_PROPERTIES_PERMISSION( _r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_SecurityManager.h b/tests/nbody-java/java_lang_SecurityManager.h
new file mode 100644
index 00000000..7315aa32
--- /dev/null
+++ b/tests/nbody-java/java_lang_SecurityManager.h
@@ -0,0 +1,173 @@
+#ifndef __JAVA_LANG_SECURITYMANAGER__
+#define __JAVA_LANG_SECURITYMANAGER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_SecurityManager 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_io_File
+#define XMLVM_FORWARD_DECL_java_io_File
+XMLVM_FORWARD_DECL(java_io_File)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_io_FileDescriptor
+#define XMLVM_FORWARD_DECL_java_io_FileDescriptor
+XMLVM_FORWARD_DECL(java_io_FileDescriptor)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_ClassLoader
+#define XMLVM_FORWARD_DECL_java_lang_ClassLoader
+XMLVM_FORWARD_DECL(java_lang_ClassLoader)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_ClassNotFoundException
+#define XMLVM_FORWARD_DECL_java_lang_ClassNotFoundException
+XMLVM_FORWARD_DECL(java_lang_ClassNotFoundException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_RuntimePermission
+#define XMLVM_FORWARD_DECL_java_lang_RuntimePermission
+XMLVM_FORWARD_DECL(java_lang_RuntimePermission)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Thread
+#define XMLVM_FORWARD_DECL_java_lang_Thread
+XMLVM_FORWARD_DECL(java_lang_Thread)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_ThreadGroup
+#define XMLVM_FORWARD_DECL_java_lang_ThreadGroup
+XMLVM_FORWARD_DECL(java_lang_ThreadGroup)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_Constructor
+#define XMLVM_FORWARD_DECL_java_lang_reflect_Constructor
+XMLVM_FORWARD_DECL(java_lang_reflect_Constructor)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_net_InetAddress
+#define XMLVM_FORWARD_DECL_java_net_InetAddress
+XMLVM_FORWARD_DECL(java_net_InetAddress)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_security_AccessController
+#define XMLVM_FORWARD_DECL_java_security_AccessController
+XMLVM_FORWARD_DECL(java_security_AccessController)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_security_Permission
+#define XMLVM_FORWARD_DECL_java_security_Permission
+XMLVM_FORWARD_DECL(java_security_Permission)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_security_PrivilegedAction
+#define XMLVM_FORWARD_DECL_java_security_PrivilegedAction
+XMLVM_FORWARD_DECL(java_security_PrivilegedAction)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_PropertyPermission
+#define XMLVM_FORWARD_DECL_java_util_PropertyPermission
+XMLVM_FORWARD_DECL(java_util_PropertyPermission)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_PriviAction
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_PriviAction
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_util_PriviAction)
+#endif
+// Class declarations for java.lang.SecurityManager
+XMLVM_DEFINE_CLASS(java_lang_SecurityManager, 6, XMLVM_ITABLE_SIZE_java_lang_SecurityManager)
+
+extern JAVA_OBJECT __CLASS_java_lang_SecurityManager;
+extern JAVA_OBJECT __CLASS_java_lang_SecurityManager_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_SecurityManager_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_SecurityManager_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_SecurityManager
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_SecurityManager \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_BOOLEAN inCheck_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_SecurityManager \
+ } java_lang_SecurityManager
+
+struct java_lang_SecurityManager {
+ __TIB_DEFINITION_java_lang_SecurityManager* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_SecurityManager;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_SecurityManager
+#define XMLVM_FORWARD_DECL_java_lang_SecurityManager
+typedef struct java_lang_SecurityManager java_lang_SecurityManager;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_SecurityManager 6
+
+void __INIT_java_lang_SecurityManager();
+void __INIT_IMPL_java_lang_SecurityManager();
+void __DELETE_java_lang_SecurityManager(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_SecurityManager(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_SecurityManager();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_SecurityManager();
+JAVA_OBJECT java_lang_SecurityManager_GET_READ_WRITE_ALL_PROPERTIES_PERMISSION();
+void java_lang_SecurityManager_PUT_READ_WRITE_ALL_PROPERTIES_PERMISSION(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_SecurityManager_GET_PKG_ACC_KEY();
+void java_lang_SecurityManager_PUT_PKG_ACC_KEY(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_SecurityManager_GET_PKG_DEF_KEY();
+void java_lang_SecurityManager_PUT_PKG_DEF_KEY(JAVA_OBJECT v);
+void java_lang_SecurityManager___INIT___(JAVA_OBJECT me);
+void java_lang_SecurityManager_checkAccept___java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2);
+void java_lang_SecurityManager_checkAccess___java_lang_Thread(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_SecurityManager_checkAccess___java_lang_ThreadGroup(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_SecurityManager_checkConnect___java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2);
+void java_lang_SecurityManager_checkConnect___java_lang_String_int_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3);
+void java_lang_SecurityManager_checkCreateClassLoader__(JAVA_OBJECT me);
+void java_lang_SecurityManager_checkDelete___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_SecurityManager_checkExec___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_SecurityManager_checkExit___int(JAVA_OBJECT me, JAVA_INT n1);
+void java_lang_SecurityManager_checkLink___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_SecurityManager_checkListen___int(JAVA_OBJECT me, JAVA_INT n1);
+void java_lang_SecurityManager_checkMemberAccess___java_lang_Class_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2);
+void java_lang_SecurityManager_checkMulticast___java_net_InetAddress(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_SecurityManager_checkMulticast___java_net_InetAddress_byte(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BYTE n2);
+void java_lang_SecurityManager_checkPackageAccess___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_SecurityManager_checkPackageDefinition___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_lang_SecurityManager_checkPackageProperty___java_lang_String_java_lang_String(JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_lang_SecurityManager_checkPropertiesAccess__(JAVA_OBJECT me);
+void java_lang_SecurityManager_checkPropertyAccess___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_SecurityManager_checkRead___java_io_FileDescriptor(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_SecurityManager_checkRead___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_SecurityManager_checkRead___java_lang_String_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_lang_SecurityManager_checkSecurityAccess___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_SecurityManager_checkSetFactory__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_SecurityManager_checkTopLevelWindow___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_SecurityManager_checkSystemClipboardAccess__(JAVA_OBJECT me);
+void java_lang_SecurityManager_checkAwtEventQueueAccess__(JAVA_OBJECT me);
+void java_lang_SecurityManager_checkPrintJobAccess__(JAVA_OBJECT me);
+void java_lang_SecurityManager_checkWrite___java_io_FileDescriptor(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_SecurityManager_checkWrite___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_lang_SecurityManager_getInCheck__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_SecurityManager_getClassContext__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_SecurityManager_currentClassLoader__(JAVA_OBJECT me);
+JAVA_INT java_lang_SecurityManager_classLoaderDepth__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_SecurityManager_currentLoadedClass__(JAVA_OBJECT me);
+JAVA_INT java_lang_SecurityManager_classDepth___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_lang_SecurityManager_inClass___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_lang_SecurityManager_inClassLoader__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_SecurityManager_getThreadGroup__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_SecurityManager_getSecurityContext__(JAVA_OBJECT me);
+void java_lang_SecurityManager_checkPermission___java_security_Permission(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_SecurityManager_checkPermission___java_security_Permission_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_lang_SecurityManager___CLINIT_();
+
+#endif
diff --git a/tests/nbody-java/java_lang_Short.c b/tests/nbody-java/java_lang_Short.c
new file mode 100644
index 00000000..329dcd15
--- /dev/null
+++ b/tests/nbody-java/java_lang_Short.c
@@ -0,0 +1,703 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_Integer.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+
+#include "java_lang_Short.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Short
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Short
+
+__TIB_DEFINITION_java_lang_Short __TIB_java_lang_Short = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Short, // classInitializer
+ "java.lang.Short", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "Ljava/lang/Number;Ljava/lang/Comparable<Ljava/lang/Short;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Number, // extends
+ sizeof(java_lang_Short), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_Short;
+JAVA_OBJECT __CLASS_java_lang_Short_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Short_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Short_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_lang_Short_serialVersionUID;
+static JAVA_SHORT _STATIC_java_lang_Short_MAX_VALUE;
+static JAVA_SHORT _STATIC_java_lang_Short_MIN_VALUE;
+static JAVA_INT _STATIC_java_lang_Short_SIZE;
+static JAVA_OBJECT _STATIC_java_lang_Short_TYPE;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_Short()
+{
+ staticInitializerLock(&__TIB_java_lang_Short);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Short.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Short.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Short);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Short.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Short.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Short.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Short")
+ __INIT_IMPL_java_lang_Short();
+ }
+}
+
+void __INIT_IMPL_java_lang_Short()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Number)
+ __TIB_java_lang_Short.newInstanceFunc = __NEW_INSTANCE_java_lang_Short;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_Short.vtable, __TIB_java_lang_Number.vtable, sizeof(__TIB_java_lang_Number.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_Short.vtable[6] = (VTABLE_PTR) &java_lang_Short_byteValue__;
+ __TIB_java_lang_Short.vtable[7] = (VTABLE_PTR) &java_lang_Short_doubleValue__;
+ __TIB_java_lang_Short.vtable[1] = (VTABLE_PTR) &java_lang_Short_equals___java_lang_Object;
+ __TIB_java_lang_Short.vtable[8] = (VTABLE_PTR) &java_lang_Short_floatValue__;
+ __TIB_java_lang_Short.vtable[4] = (VTABLE_PTR) &java_lang_Short_hashCode__;
+ __TIB_java_lang_Short.vtable[9] = (VTABLE_PTR) &java_lang_Short_intValue__;
+ __TIB_java_lang_Short.vtable[10] = (VTABLE_PTR) &java_lang_Short_longValue__;
+ __TIB_java_lang_Short.vtable[11] = (VTABLE_PTR) &java_lang_Short_shortValue__;
+ __TIB_java_lang_Short.vtable[5] = (VTABLE_PTR) &java_lang_Short_toString__;
+ __TIB_java_lang_Short.vtable[12] = (VTABLE_PTR) &java_lang_Short_compareTo___java_lang_Object;
+ // Initialize interface information
+ __TIB_java_lang_Short.numImplementedInterfaces = 2;
+ __TIB_java_lang_Short.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_lang_Short.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_lang_Comparable)
+
+ __TIB_java_lang_Short.implementedInterfaces[0][1] = &__TIB_java_lang_Comparable;
+ // Initialize itable for this class
+ __TIB_java_lang_Short.itableBegin = &__TIB_java_lang_Short.itable[0];
+ __TIB_java_lang_Short.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_lang_Short.vtable[12];
+
+ _STATIC_java_lang_Short_serialVersionUID = 7515723908773894738;
+ _STATIC_java_lang_Short_MAX_VALUE = 32767;
+ _STATIC_java_lang_Short_MIN_VALUE = -32768;
+ _STATIC_java_lang_Short_SIZE = 16;
+ _STATIC_java_lang_Short_TYPE = (java_lang_Class*) JAVA_NULL;
+
+ __TIB_java_lang_Short.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Short.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_Short.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_Short.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_Short.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_Short.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Short.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Short.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_Short = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Short);
+ __TIB_java_lang_Short.clazz = __CLASS_java_lang_Short;
+ __TIB_java_lang_Short.baseType = JAVA_NULL;
+ __CLASS_java_lang_Short_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Short);
+ __CLASS_java_lang_Short_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Short_1ARRAY);
+ __CLASS_java_lang_Short_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Short_2ARRAY);
+ java_lang_Short___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_Short]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_Short.classInitialized = 1;
+}
+
+void __DELETE_java_lang_Short(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_Short]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_Short(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Number(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_Short*) me)->fields.java_lang_Short.value_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_Short]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_Short()
+{ XMLVM_CLASS_INIT(java_lang_Short)
+java_lang_Short* me = (java_lang_Short*) XMLVM_MALLOC(sizeof(java_lang_Short));
+ me->tib = &__TIB_java_lang_Short;
+ __INIT_INSTANCE_MEMBERS_java_lang_Short(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_Short]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Short()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_lang_Short_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_lang_Short)
+ return _STATIC_java_lang_Short_serialVersionUID;
+}
+
+void java_lang_Short_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_Short)
+_STATIC_java_lang_Short_serialVersionUID = v;
+}
+
+JAVA_SHORT java_lang_Short_GET_MAX_VALUE()
+{
+ XMLVM_CLASS_INIT(java_lang_Short)
+ return _STATIC_java_lang_Short_MAX_VALUE;
+}
+
+void java_lang_Short_PUT_MAX_VALUE(JAVA_SHORT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Short)
+_STATIC_java_lang_Short_MAX_VALUE = v;
+}
+
+JAVA_SHORT java_lang_Short_GET_MIN_VALUE()
+{
+ XMLVM_CLASS_INIT(java_lang_Short)
+ return _STATIC_java_lang_Short_MIN_VALUE;
+}
+
+void java_lang_Short_PUT_MIN_VALUE(JAVA_SHORT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Short)
+_STATIC_java_lang_Short_MIN_VALUE = v;
+}
+
+JAVA_INT java_lang_Short_GET_SIZE()
+{
+ XMLVM_CLASS_INIT(java_lang_Short)
+ return _STATIC_java_lang_Short_SIZE;
+}
+
+void java_lang_Short_PUT_SIZE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Short)
+_STATIC_java_lang_Short_SIZE = v;
+}
+
+JAVA_OBJECT java_lang_Short_GET_TYPE()
+{
+ XMLVM_CLASS_INIT(java_lang_Short)
+ return _STATIC_java_lang_Short_TYPE;
+}
+
+void java_lang_Short_PUT_TYPE(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Short)
+_STATIC_java_lang_Short_TYPE = v;
+}
+
+void java_lang_Short___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Short___CLINIT___]
+ XMLVM_ENTER_METHOD("java.lang.Short", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("Short.java", 58)
+ _r0.i = 0;
+ XMLVM_CLASS_INIT(short)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_short, _r0.i);
+ XMLVM_SOURCE_POSITION("Short.java", 59)
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r0.o)->tib->vtable[3])(_r0.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_Class_getComponentType__(_r0.o);
+ java_lang_Short_PUT_TYPE( _r0.o);
+ XMLVM_SOURCE_POSITION("Short.java", 26)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Short___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Short___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Short", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Short.java", 75)
+ _r0.i = java_lang_Short_parseShort___java_lang_String(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ java_lang_Short___INIT____short(_r1.o, _r0.i);
+ XMLVM_SOURCE_POSITION("Short.java", 76)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Short___INIT____short(JAVA_OBJECT me, JAVA_SHORT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Short___INIT____short]
+ XMLVM_ENTER_METHOD("java.lang.Short", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Short.java", 84)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Number___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Short.java", 85)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_Short*) _r0.o)->fields.java_lang_Short.value_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Short.java", 86)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BYTE java_lang_Short_byteValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Short_byteValue__]
+ XMLVM_ENTER_METHOD("java.lang.Short", "byteValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Short.java", 90)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Short*) _r1.o)->fields.java_lang_Short.value_;
+ _r0.i = (_r0.i << 24) >> 24;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Short_compareTo___java_lang_Short(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Short_compareTo___java_lang_Short]
+ XMLVM_ENTER_METHOD("java.lang.Short", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Short.java", 109)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Short*) _r2.o)->fields.java_lang_Short.value_;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_Short*) _r3.o)->fields.java_lang_Short.value_;
+ if (_r0.i <= _r1.i) goto label8;
+ _r0.i = 1;
+ label7:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label8:;
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Short*) _r2.o)->fields.java_lang_Short.value_;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_Short*) _r3.o)->fields.java_lang_Short.value_;
+ if (_r0.i >= _r1.i) goto label16;
+ _r0.i = -1;
+ goto label7;
+ label16:;
+ _r0.i = 0;
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Short_decode___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Short)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Short_decode___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Short", "decode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Short.java", 126)
+ _r0.o = java_lang_Integer_decode___java_lang_String(_r2.o);
+ //java_lang_Integer_intValue__[9]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Integer*) _r0.o)->tib->vtable[9])(_r0.o);
+ XMLVM_SOURCE_POSITION("Short.java", 127)
+ _r1.i = (_r0.i << 16) >> 16;
+ if (_r1.i != _r0.i) goto label16;
+ XMLVM_SOURCE_POSITION("Short.java", 128)
+ XMLVM_SOURCE_POSITION("Short.java", 129)
+ _r0.o = java_lang_Short_valueOf___short(_r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label16:;
+ XMLVM_SOURCE_POSITION("Short.java", 131)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_DOUBLE java_lang_Short_doubleValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Short_doubleValue__]
+ XMLVM_ENTER_METHOD("java.lang.Short", "doubleValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Short.java", 136)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Short*) _r2.o)->fields.java_lang_Short.value_;
+ _r0.d = (JAVA_DOUBLE) _r0.i;
+ XMLVM_EXIT_METHOD()
+ return _r0.d;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Short_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Short_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.Short", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Short.java", 151)
+ XMLVM_CLASS_INIT(java_lang_Short)
+ _r0.i = XMLVM_ISA(_r3.o, __CLASS_java_lang_Short);
+ if (_r0.i == 0) goto label14;
+ XMLVM_SOURCE_POSITION("Short.java", 152)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Short*) _r2.o)->fields.java_lang_Short.value_;
+ _r3.o = _r3.o;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_Short*) _r3.o)->fields.java_lang_Short.value_;
+ if (_r0.i != _r1.i) goto label14;
+ _r0.i = 1;
+ label13:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label14:;
+ _r0.i = 0;
+ goto label13;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_FLOAT java_lang_Short_floatValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Short_floatValue__]
+ XMLVM_ENTER_METHOD("java.lang.Short", "floatValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Short.java", 157)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Short*) _r1.o)->fields.java_lang_Short.value_;
+ _r0.f = (JAVA_FLOAT) _r0.i;
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Short_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Short_hashCode__]
+ XMLVM_ENTER_METHOD("java.lang.Short", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Short.java", 162)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Short*) _r1.o)->fields.java_lang_Short.value_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Short_intValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Short_intValue__]
+ XMLVM_ENTER_METHOD("java.lang.Short", "intValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Short.java", 167)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Short*) _r1.o)->fields.java_lang_Short.value_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_lang_Short_longValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Short_longValue__]
+ XMLVM_ENTER_METHOD("java.lang.Short", "longValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Short.java", 172)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Short*) _r2.o)->fields.java_lang_Short.value_;
+ _r0.l = (JAVA_LONG) _r0.i;
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_SHORT java_lang_Short_parseShort___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Short)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Short_parseShort___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Short", "parseShort", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Short.java", 187)
+ _r0.i = 10;
+ _r0.i = java_lang_Short_parseShort___java_lang_String_int(_r1.o, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_SHORT java_lang_Short_parseShort___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Short)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Short_parseShort___java_lang_String_int]
+ XMLVM_ENTER_METHOD("java.lang.Short", "parseShort", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = n1;
+ _r3.i = n2;
+ XMLVM_SOURCE_POSITION("Short.java", 208)
+ _r0.i = java_lang_Integer_parseInt___java_lang_String_int(_r2.o, _r3.i);
+ XMLVM_SOURCE_POSITION("Short.java", 209)
+ _r1.i = (_r0.i << 16) >> 16;
+ if (_r1.i != _r0.i) goto label8;
+ XMLVM_SOURCE_POSITION("Short.java", 210)
+ XMLVM_SOURCE_POSITION("Short.java", 211)
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ label8:;
+ XMLVM_SOURCE_POSITION("Short.java", 213)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_SHORT java_lang_Short_shortValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Short_shortValue__]
+ XMLVM_ENTER_METHOD("java.lang.Short", "shortValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Short.java", 223)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Short*) _r1.o)->fields.java_lang_Short.value_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Short_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Short_toString__]
+ XMLVM_ENTER_METHOD("java.lang.Short", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Short.java", 228)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Short*) _r1.o)->fields.java_lang_Short.value_;
+ _r0.o = java_lang_Integer_toString___int(_r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Short_toString___short(JAVA_SHORT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Short)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Short_toString___short]
+ XMLVM_ENTER_METHOD("java.lang.Short", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Short.java", 240)
+ _r0.o = java_lang_Integer_toString___int(_r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Short_valueOf___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Short)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Short_valueOf___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Short", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Short.java", 256)
+ _r0.i = java_lang_Short_parseShort___java_lang_String(_r1.o);
+ _r0.o = java_lang_Short_valueOf___short(_r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Short_valueOf___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Short)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Short_valueOf___java_lang_String_int]
+ XMLVM_ENTER_METHOD("java.lang.Short", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = n1;
+ _r2.i = n2;
+ XMLVM_SOURCE_POSITION("Short.java", 278)
+ _r0.i = java_lang_Short_parseShort___java_lang_String_int(_r1.o, _r2.i);
+ _r0.o = java_lang_Short_valueOf___short(_r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_SHORT java_lang_Short_reverseBytes___short(JAVA_SHORT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Short)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Short_reverseBytes___short]
+ XMLVM_ENTER_METHOD("java.lang.Short", "reverseBytes", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("Short.java", 290)
+ _r0.i = _r2.i >> 8;
+ _r0.i = _r0.i & 255;
+ _r1.i = _r2.i & 255;
+ _r1.i = _r1.i << 8;
+ _r0.i = _r0.i | _r1.i;
+ _r0.i = (_r0.i << 16) >> 16;
+ XMLVM_SOURCE_POSITION("Short.java", 292)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Short_valueOf___short(JAVA_SHORT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Short)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Short_valueOf___short]
+ XMLVM_ENTER_METHOD("java.lang.Short", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("Short.java", 308)
+ _r0.i = -128;
+ if (_r2.i < _r0.i) goto label8;
+ _r0.i = 127;
+ if (_r2.i <= _r0.i) goto label14;
+ label8:;
+ XMLVM_SOURCE_POSITION("Short.java", 309)
+ _r0.o = __NEW_java_lang_Short();
+ XMLVM_CHECK_NPE(0)
+ java_lang_Short___INIT____short(_r0.o, _r2.i);
+ label13:;
+ XMLVM_SOURCE_POSITION("Short.java", 311)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label14:;
+
+
+ // Red class access removed: java.lang.Short$valueOfCache::access$0
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.i = _r2.i + 128;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ goto label13;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Short_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Short_compareTo___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.Short", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Short.java", 1)
+ _r2.o = _r2.o;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_Short_compareTo___java_lang_Short(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_Short.h b/tests/nbody-java/java_lang_Short.h
new file mode 100644
index 00000000..73dc1442
--- /dev/null
+++ b/tests/nbody-java/java_lang_Short.h
@@ -0,0 +1,120 @@
+#ifndef __JAVA_LANG_SHORT__
+#define __JAVA_LANG_SHORT__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_Short 8
+// Implemented interfaces:
+#include "java_lang_Comparable.h"
+// Super Class:
+#include "java_lang_Number.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Integer
+#define XMLVM_FORWARD_DECL_java_lang_Integer
+XMLVM_FORWARD_DECL(java_lang_Integer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+// Class declarations for java.lang.Short
+XMLVM_DEFINE_CLASS(java_lang_Short, 13, XMLVM_ITABLE_SIZE_java_lang_Short)
+
+extern JAVA_OBJECT __CLASS_java_lang_Short;
+extern JAVA_OBJECT __CLASS_java_lang_Short_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Short_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Short_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_Short
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_Short \
+ __INSTANCE_FIELDS_java_lang_Number; \
+ struct { \
+ JAVA_SHORT value_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_Short \
+ } java_lang_Short
+
+struct java_lang_Short {
+ __TIB_DEFINITION_java_lang_Short* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_Short;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_Short
+#define XMLVM_FORWARD_DECL_java_lang_Short
+typedef struct java_lang_Short java_lang_Short;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_Short 13
+#define XMLVM_VTABLE_IDX_java_lang_Short_byteValue__ 6
+#define XMLVM_VTABLE_IDX_java_lang_Short_doubleValue__ 7
+#define XMLVM_VTABLE_IDX_java_lang_Short_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_lang_Short_floatValue__ 8
+#define XMLVM_VTABLE_IDX_java_lang_Short_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_lang_Short_intValue__ 9
+#define XMLVM_VTABLE_IDX_java_lang_Short_longValue__ 10
+#define XMLVM_VTABLE_IDX_java_lang_Short_shortValue__ 11
+#define XMLVM_VTABLE_IDX_java_lang_Short_toString__ 5
+#define XMLVM_VTABLE_IDX_java_lang_Short_compareTo___java_lang_Object 12
+
+void __INIT_java_lang_Short();
+void __INIT_IMPL_java_lang_Short();
+void __DELETE_java_lang_Short(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_Short(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_Short();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Short();
+JAVA_LONG java_lang_Short_GET_serialVersionUID();
+void java_lang_Short_PUT_serialVersionUID(JAVA_LONG v);
+JAVA_SHORT java_lang_Short_GET_MAX_VALUE();
+void java_lang_Short_PUT_MAX_VALUE(JAVA_SHORT v);
+JAVA_SHORT java_lang_Short_GET_MIN_VALUE();
+void java_lang_Short_PUT_MIN_VALUE(JAVA_SHORT v);
+JAVA_INT java_lang_Short_GET_SIZE();
+void java_lang_Short_PUT_SIZE(JAVA_INT v);
+JAVA_OBJECT java_lang_Short_GET_TYPE();
+void java_lang_Short_PUT_TYPE(JAVA_OBJECT v);
+void java_lang_Short___CLINIT_();
+void java_lang_Short___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_Short___INIT____short(JAVA_OBJECT me, JAVA_SHORT n1);
+// Vtable index: 6
+JAVA_BYTE java_lang_Short_byteValue__(JAVA_OBJECT me);
+JAVA_INT java_lang_Short_compareTo___java_lang_Short(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Short_decode___java_lang_String(JAVA_OBJECT n1);
+// Vtable index: 7
+JAVA_DOUBLE java_lang_Short_doubleValue__(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_lang_Short_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 8
+JAVA_FLOAT java_lang_Short_floatValue__(JAVA_OBJECT me);
+// Vtable index: 4
+JAVA_INT java_lang_Short_hashCode__(JAVA_OBJECT me);
+// Vtable index: 9
+JAVA_INT java_lang_Short_intValue__(JAVA_OBJECT me);
+// Vtable index: 10
+JAVA_LONG java_lang_Short_longValue__(JAVA_OBJECT me);
+JAVA_SHORT java_lang_Short_parseShort___java_lang_String(JAVA_OBJECT n1);
+JAVA_SHORT java_lang_Short_parseShort___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2);
+// Vtable index: 11
+JAVA_SHORT java_lang_Short_shortValue__(JAVA_OBJECT me);
+// Vtable index: 5
+JAVA_OBJECT java_lang_Short_toString__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Short_toString___short(JAVA_SHORT n1);
+JAVA_OBJECT java_lang_Short_valueOf___java_lang_String(JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Short_valueOf___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_SHORT java_lang_Short_reverseBytes___short(JAVA_SHORT n1);
+JAVA_OBJECT java_lang_Short_valueOf___short(JAVA_SHORT n1);
+// Vtable index: 12
+JAVA_INT java_lang_Short_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_lang_StackTraceElement.c b/tests/nbody-java/java_lang_StackTraceElement.c
new file mode 100644
index 00000000..d17d76f9
--- /dev/null
+++ b/tests/nbody-java/java_lang_StackTraceElement.c
@@ -0,0 +1,558 @@
+#include "xmlvm.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+
+#include "java_lang_StackTraceElement.h"
+
+#define XMLVM_CURRENT_CLASS_NAME StackTraceElement
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_StackTraceElement
+
+__TIB_DEFINITION_java_lang_StackTraceElement __TIB_java_lang_StackTraceElement = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_StackTraceElement, // classInitializer
+ "java.lang.StackTraceElement", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_StackTraceElement), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_StackTraceElement;
+JAVA_OBJECT __CLASS_java_lang_StackTraceElement_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_StackTraceElement_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_StackTraceElement_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_lang_StackTraceElement_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_StackTraceElement()
+{
+ staticInitializerLock(&__TIB_java_lang_StackTraceElement);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_StackTraceElement.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_StackTraceElement.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_StackTraceElement);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_StackTraceElement.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_StackTraceElement.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_StackTraceElement.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.StackTraceElement")
+ __INIT_IMPL_java_lang_StackTraceElement();
+ }
+}
+
+void __INIT_IMPL_java_lang_StackTraceElement()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_StackTraceElement.newInstanceFunc = __NEW_INSTANCE_java_lang_StackTraceElement;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_StackTraceElement.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_StackTraceElement.vtable[1] = (VTABLE_PTR) &java_lang_StackTraceElement_equals___java_lang_Object;
+ __TIB_java_lang_StackTraceElement.vtable[4] = (VTABLE_PTR) &java_lang_StackTraceElement_hashCode__;
+ __TIB_java_lang_StackTraceElement.vtable[5] = (VTABLE_PTR) &java_lang_StackTraceElement_toString__;
+ // Initialize interface information
+ __TIB_java_lang_StackTraceElement.numImplementedInterfaces = 1;
+ __TIB_java_lang_StackTraceElement.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_lang_StackTraceElement.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+ // Initialize itable for this class
+ __TIB_java_lang_StackTraceElement.itableBegin = &__TIB_java_lang_StackTraceElement.itable[0];
+
+ _STATIC_java_lang_StackTraceElement_serialVersionUID = 6992337162326171013;
+
+ __TIB_java_lang_StackTraceElement.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_StackTraceElement.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_StackTraceElement.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_StackTraceElement.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_StackTraceElement.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_StackTraceElement.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_StackTraceElement.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_StackTraceElement.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_StackTraceElement = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_StackTraceElement);
+ __TIB_java_lang_StackTraceElement.clazz = __CLASS_java_lang_StackTraceElement;
+ __TIB_java_lang_StackTraceElement.baseType = JAVA_NULL;
+ __CLASS_java_lang_StackTraceElement_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_StackTraceElement);
+ __CLASS_java_lang_StackTraceElement_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_StackTraceElement_1ARRAY);
+ __CLASS_java_lang_StackTraceElement_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_StackTraceElement_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_StackTraceElement]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_StackTraceElement.classInitialized = 1;
+}
+
+void __DELETE_java_lang_StackTraceElement(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_StackTraceElement]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_StackTraceElement(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_StackTraceElement*) me)->fields.java_lang_StackTraceElement.declaringClass_ = (java_lang_String*) JAVA_NULL;
+ ((java_lang_StackTraceElement*) me)->fields.java_lang_StackTraceElement.methodName_ = (java_lang_String*) JAVA_NULL;
+ ((java_lang_StackTraceElement*) me)->fields.java_lang_StackTraceElement.fileName_ = (java_lang_String*) JAVA_NULL;
+ ((java_lang_StackTraceElement*) me)->fields.java_lang_StackTraceElement.lineNumber_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_StackTraceElement]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_StackTraceElement()
+{ XMLVM_CLASS_INIT(java_lang_StackTraceElement)
+java_lang_StackTraceElement* me = (java_lang_StackTraceElement*) XMLVM_MALLOC(sizeof(java_lang_StackTraceElement));
+ me->tib = &__TIB_java_lang_StackTraceElement;
+ __INIT_INSTANCE_MEMBERS_java_lang_StackTraceElement(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_StackTraceElement]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_StackTraceElement()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_lang_StackTraceElement_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_lang_StackTraceElement)
+ return _STATIC_java_lang_StackTraceElement_serialVersionUID;
+}
+
+void java_lang_StackTraceElement_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_StackTraceElement)
+_STATIC_java_lang_StackTraceElement_serialVersionUID = v;
+}
+
+void java_lang_StackTraceElement___INIT____java_lang_String_java_lang_String_java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StackTraceElement___INIT____java_lang_String_java_lang_String_java_lang_String_int]
+ XMLVM_ENTER_METHOD("java.lang.StackTraceElement", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ _r4.o = n3;
+ _r5.i = n4;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 63)
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 64)
+ if (_r2.o == JAVA_NULL) goto label7;
+ if (_r3.o != JAVA_NULL) goto label13;
+ label7:;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 65)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label13:;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 67)
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_StackTraceElement*) _r1.o)->fields.java_lang_StackTraceElement.declaringClass_ = _r2.o;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 68)
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_StackTraceElement*) _r1.o)->fields.java_lang_StackTraceElement.methodName_ = _r3.o;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 69)
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_StackTraceElement*) _r1.o)->fields.java_lang_StackTraceElement.fileName_ = _r4.o;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 70)
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_StackTraceElement*) _r1.o)->fields.java_lang_StackTraceElement.lineNumber_ = _r5.i;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 71)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_StackTraceElement___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StackTraceElement___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.StackTraceElement", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 79)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 80)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_StackTraceElement_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StackTraceElement_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.StackTraceElement", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 102)
+ XMLVM_CLASS_INIT(java_lang_StackTraceElement)
+ _r0.i = XMLVM_ISA(_r4.o, __CLASS_java_lang_StackTraceElement);
+ if (_r0.i != 0) goto label7;
+ _r0 = _r2;
+ label6:;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 103)
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 135)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label7:;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 105)
+ _r4.o = _r4.o;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 111)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_lang_StackTraceElement*) _r3.o)->fields.java_lang_StackTraceElement.methodName_;
+ if (_r0.o == JAVA_NULL) goto label17;
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_lang_StackTraceElement*) _r4.o)->fields.java_lang_StackTraceElement.methodName_;
+ if (_r0.o != JAVA_NULL) goto label19;
+ label17:;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 112)
+ goto label6;
+ label19:;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 115)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_lang_StackTraceElement_getMethodName__(_r3.o);
+ XMLVM_CHECK_NPE(4)
+ _r1.o = java_lang_StackTraceElement_getMethodName__(_r4.o);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[1])(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label35;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 116)
+ goto label6;
+ label35:;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 118)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_lang_StackTraceElement_getClassName__(_r3.o);
+ XMLVM_CHECK_NPE(4)
+ _r1.o = java_lang_StackTraceElement_getClassName__(_r4.o);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[1])(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label51;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 119)
+ goto label6;
+ label51:;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 121)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_lang_StackTraceElement_getFileName__(_r3.o);
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 122)
+ if (_r0.o != JAVA_NULL) goto label65;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 123)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = java_lang_StackTraceElement_getFileName__(_r4.o);
+ if (_r0.o == JAVA_NULL) goto label77;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 124)
+ goto label6;
+ label65:;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 127)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = java_lang_StackTraceElement_getFileName__(_r4.o);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[1])(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label77;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 128)
+ goto label6;
+ label77:;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 131)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_lang_StackTraceElement_getLineNumber__(_r3.o);
+ XMLVM_CHECK_NPE(4)
+ _r1.i = java_lang_StackTraceElement_getLineNumber__(_r4.o);
+ if (_r0.i == _r1.i) goto label89;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 132)
+ goto label6;
+ label89:;
+ _r0.i = 1;
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StackTraceElement_getClassName__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StackTraceElement_getClassName__]
+ XMLVM_ENTER_METHOD("java.lang.StackTraceElement", "getClassName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 145)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_StackTraceElement*) _r1.o)->fields.java_lang_StackTraceElement.declaringClass_;
+ if (_r0.o != JAVA_NULL) goto label7;
+ // "<unknown class>"
+ _r0.o = xmlvm_create_java_string_from_pool(0);
+ label6:;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label7:;
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_StackTraceElement*) _r1.o)->fields.java_lang_StackTraceElement.declaringClass_;
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StackTraceElement_getFileName__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StackTraceElement_getFileName__]
+ XMLVM_ENTER_METHOD("java.lang.StackTraceElement", "getFileName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 156)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_StackTraceElement*) _r1.o)->fields.java_lang_StackTraceElement.fileName_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_StackTraceElement_getLineNumber__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StackTraceElement_getLineNumber__]
+ XMLVM_ENTER_METHOD("java.lang.StackTraceElement", "getLineNumber", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 167)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_StackTraceElement*) _r1.o)->fields.java_lang_StackTraceElement.lineNumber_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StackTraceElement_getMethodName__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StackTraceElement_getMethodName__]
+ XMLVM_ENTER_METHOD("java.lang.StackTraceElement", "getMethodName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 178)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_StackTraceElement*) _r1.o)->fields.java_lang_StackTraceElement.methodName_;
+ if (_r0.o != JAVA_NULL) goto label7;
+ // "<unknown method>"
+ _r0.o = xmlvm_create_java_string_from_pool(1);
+ label6:;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label7:;
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_StackTraceElement*) _r1.o)->fields.java_lang_StackTraceElement.methodName_;
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_StackTraceElement_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StackTraceElement_hashCode__]
+ XMLVM_ENTER_METHOD("java.lang.StackTraceElement", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 187)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_lang_StackTraceElement*) _r2.o)->fields.java_lang_StackTraceElement.methodName_;
+ if (_r0.o != JAVA_NULL) goto label6;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 189)
+ _r0.i = 0;
+ label5:;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 192)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_lang_StackTraceElement*) _r2.o)->fields.java_lang_StackTraceElement.methodName_;
+ //java_lang_String_hashCode__[4]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[4])(_r0.o);
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_lang_StackTraceElement*) _r2.o)->fields.java_lang_StackTraceElement.declaringClass_;
+ //java_lang_String_hashCode__[4]
+ XMLVM_CHECK_NPE(1)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[4])(_r1.o);
+ _r0.i = _r0.i ^ _r1.i;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_StackTraceElement_isNativeMethod__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StackTraceElement_isNativeMethod__]
+ XMLVM_ENTER_METHOD("java.lang.StackTraceElement", "isNativeMethod", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 203)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_StackTraceElement*) _r2.o)->fields.java_lang_StackTraceElement.lineNumber_;
+ _r1.i = -2;
+ if (_r0.i != _r1.i) goto label7;
+ _r0.i = 1;
+ label6:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label7:;
+ _r0.i = 0;
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StackTraceElement_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StackTraceElement_toString__]
+ XMLVM_ENTER_METHOD("java.lang.StackTraceElement", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 208)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ _r1.i = 80;
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____int(_r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 210)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = java_lang_StackTraceElement_getClassName__(_r4.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 211)
+ _r1.i = 46;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 212)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = java_lang_StackTraceElement_getMethodName__(_r4.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 214)
+ XMLVM_CHECK_NPE(4)
+ _r1.i = java_lang_StackTraceElement_isNativeMethod__(_r4.o);
+ if (_r1.i == 0) goto label42;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 215)
+ // "(Native Method)"
+ _r1.o = xmlvm_create_java_string_from_pool(2);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ label37:;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 233)
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label42:;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 217)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = java_lang_StackTraceElement_getFileName__(_r4.o);
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 219)
+ if (_r1.o != JAVA_NULL) goto label54;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 220)
+ // "(Unknown Source)"
+ _r1.o = xmlvm_create_java_string_from_pool(3);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ goto label37;
+ label54:;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 222)
+ XMLVM_CHECK_NPE(4)
+ _r2.i = java_lang_StackTraceElement_getLineNumber__(_r4.o);
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 224)
+ _r3.i = 40;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r3.i);
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 225)
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 226)
+ if (_r2.i < 0) goto label76;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 227)
+ _r1.i = 58;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 228)
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___int(_r0.o, _r2.i);
+ label76:;
+ XMLVM_SOURCE_POSITION("StackTraceElement.java", 230)
+ _r1.i = 41;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r1.i);
+ goto label37;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_StackTraceElement.h b/tests/nbody-java/java_lang_StackTraceElement.h
new file mode 100644
index 00000000..86782af1
--- /dev/null
+++ b/tests/nbody-java/java_lang_StackTraceElement.h
@@ -0,0 +1,85 @@
+#ifndef __JAVA_LANG_STACKTRACEELEMENT__
+#define __JAVA_LANG_STACKTRACEELEMENT__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_StackTraceElement 0
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+// Class declarations for java.lang.StackTraceElement
+XMLVM_DEFINE_CLASS(java_lang_StackTraceElement, 6, XMLVM_ITABLE_SIZE_java_lang_StackTraceElement)
+
+extern JAVA_OBJECT __CLASS_java_lang_StackTraceElement;
+extern JAVA_OBJECT __CLASS_java_lang_StackTraceElement_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_StackTraceElement_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_StackTraceElement_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_StackTraceElement
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_StackTraceElement \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT declaringClass_; \
+ JAVA_OBJECT methodName_; \
+ JAVA_OBJECT fileName_; \
+ JAVA_INT lineNumber_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_StackTraceElement \
+ } java_lang_StackTraceElement
+
+struct java_lang_StackTraceElement {
+ __TIB_DEFINITION_java_lang_StackTraceElement* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_StackTraceElement;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_StackTraceElement
+#define XMLVM_FORWARD_DECL_java_lang_StackTraceElement
+typedef struct java_lang_StackTraceElement java_lang_StackTraceElement;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_StackTraceElement 6
+#define XMLVM_VTABLE_IDX_java_lang_StackTraceElement_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_lang_StackTraceElement_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_lang_StackTraceElement_toString__ 5
+
+void __INIT_java_lang_StackTraceElement();
+void __INIT_IMPL_java_lang_StackTraceElement();
+void __DELETE_java_lang_StackTraceElement(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_StackTraceElement(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_StackTraceElement();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_StackTraceElement();
+JAVA_LONG java_lang_StackTraceElement_GET_serialVersionUID();
+void java_lang_StackTraceElement_PUT_serialVersionUID(JAVA_LONG v);
+void java_lang_StackTraceElement___INIT____java_lang_String_java_lang_String_java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_INT n4);
+void java_lang_StackTraceElement___INIT___(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_lang_StackTraceElement_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_StackTraceElement_getClassName__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_StackTraceElement_getFileName__(JAVA_OBJECT me);
+JAVA_INT java_lang_StackTraceElement_getLineNumber__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_StackTraceElement_getMethodName__(JAVA_OBJECT me);
+// Vtable index: 4
+JAVA_INT java_lang_StackTraceElement_hashCode__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_StackTraceElement_isNativeMethod__(JAVA_OBJECT me);
+// Vtable index: 5
+JAVA_OBJECT java_lang_StackTraceElement_toString__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_lang_String.c b/tests/nbody-java/java_lang_String.c
new file mode 100644
index 00000000..902f19a0
--- /dev/null
+++ b/tests/nbody-java/java_lang_String.c
@@ -0,0 +1,5026 @@
+#include "xmlvm.h"
+#include "java_lang_Character.h"
+#include "java_lang_Class.h"
+#include "java_lang_Double.h"
+#include "java_lang_Exception.h"
+#include "java_lang_Float.h"
+#include "java_lang_IndexOutOfBoundsException.h"
+#include "java_lang_Integer.h"
+#include "java_lang_Long.h"
+#include "java_lang_Math.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_String_CaseInsensitiveComparator.h"
+#include "java_lang_StringBuilder.h"
+#include "java_lang_System.h"
+#include "java_lang_Throwable.h"
+#include "java_nio_ByteBuffer.h"
+#include "java_nio_CharBuffer.h"
+#include "java_nio_charset_Charset.h"
+#include "java_security_AccessController.h"
+#include "java_util_Comparator.h"
+#include "java_util_Locale.h"
+#include "org_apache_harmony_luni_util_PriviAction.h"
+#include "org_apache_harmony_niochar_charset_UTF_8.h"
+
+#include "java_lang_String.h"
+
+#define XMLVM_CURRENT_CLASS_NAME String
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_String
+
+__TIB_DEFINITION_java_lang_String __TIB_java_lang_String = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_String, // classInitializer
+ "java.lang.String", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/Comparable<Ljava/lang/String;>;Ljava/lang/CharSequence;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_String), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_String;
+JAVA_OBJECT __CLASS_java_lang_String_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_String_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_String_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_lang_String_serialVersionUID;
+static JAVA_OBJECT _STATIC_java_lang_String_CASE_INSENSITIVE_ORDER;
+static JAVA_OBJECT _STATIC_java_lang_String_ascii;
+static JAVA_OBJECT _STATIC_java_lang_String_DefaultCharset;
+static JAVA_OBJECT _STATIC_java_lang_String_lastCharset;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_String()
+{
+ staticInitializerLock(&__TIB_java_lang_String);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_String.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_String.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_String);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_String.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_String.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_String.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.String")
+ __INIT_IMPL_java_lang_String();
+ }
+}
+
+void __INIT_IMPL_java_lang_String()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_String.newInstanceFunc = __NEW_INSTANCE_java_lang_String;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_String.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_String.vtable[6] = (VTABLE_PTR) &java_lang_String_charAt___int;
+ __TIB_java_lang_String.vtable[1] = (VTABLE_PTR) &java_lang_String_equals___java_lang_Object;
+ __TIB_java_lang_String.vtable[4] = (VTABLE_PTR) &java_lang_String_hashCode__;
+ __TIB_java_lang_String.vtable[8] = (VTABLE_PTR) &java_lang_String_length__;
+ __TIB_java_lang_String.vtable[5] = (VTABLE_PTR) &java_lang_String_toString__;
+ __TIB_java_lang_String.vtable[9] = (VTABLE_PTR) &java_lang_String_subSequence___int_int;
+ __TIB_java_lang_String.vtable[7] = (VTABLE_PTR) &java_lang_String_compareTo___java_lang_Object;
+ xmlvm_init_native_java_lang_String();
+ // Initialize interface information
+ __TIB_java_lang_String.numImplementedInterfaces = 3;
+ __TIB_java_lang_String.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 3);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_lang_String.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_lang_CharSequence)
+
+ __TIB_java_lang_String.implementedInterfaces[0][1] = &__TIB_java_lang_CharSequence;
+
+ XMLVM_CLASS_INIT(java_lang_Comparable)
+
+ __TIB_java_lang_String.implementedInterfaces[0][2] = &__TIB_java_lang_Comparable;
+ // Initialize itable for this class
+ __TIB_java_lang_String.itableBegin = &__TIB_java_lang_String.itable[0];
+ __TIB_java_lang_String.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_charAt___int] = __TIB_java_lang_String.vtable[6];
+ __TIB_java_lang_String.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__] = __TIB_java_lang_String.vtable[8];
+ __TIB_java_lang_String.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_subSequence___int_int] = __TIB_java_lang_String.vtable[9];
+ __TIB_java_lang_String.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_toString__] = __TIB_java_lang_String.vtable[5];
+ __TIB_java_lang_String.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_lang_String.vtable[7];
+
+ _STATIC_java_lang_String_serialVersionUID = -6849794470754667710;
+ _STATIC_java_lang_String_CASE_INSENSITIVE_ORDER = (java_util_Comparator*) JAVA_NULL;
+ _STATIC_java_lang_String_ascii = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ _STATIC_java_lang_String_DefaultCharset = (java_nio_charset_Charset*) JAVA_NULL;
+ _STATIC_java_lang_String_lastCharset = (java_nio_charset_Charset*) JAVA_NULL;
+
+ __TIB_java_lang_String.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_String.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_String.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_String.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_String.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_String.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_String.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_String.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_String = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_String);
+ __TIB_java_lang_String.clazz = __CLASS_java_lang_String;
+ __TIB_java_lang_String.baseType = JAVA_NULL;
+ __CLASS_java_lang_String_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_String);
+ __CLASS_java_lang_String_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_String_1ARRAY);
+ __CLASS_java_lang_String_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_String_2ARRAY);
+ java_lang_String___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_String]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_String.classInitialized = 1;
+}
+
+void __DELETE_java_lang_String(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_String]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_String(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_String*) me)->fields.java_lang_String.charset_ = (org_apache_harmony_niochar_charset_UTF_8*) JAVA_NULL;
+ ((java_lang_String*) me)->fields.java_lang_String.charset2_ = (java_lang_Object*) JAVA_NULL;
+ ((java_lang_String*) me)->fields.java_lang_String.charset3_ = (java_lang_Object*) JAVA_NULL;
+ ((java_lang_String*) me)->fields.java_lang_String.value_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ ((java_lang_String*) me)->fields.java_lang_String.offset_ = 0;
+ ((java_lang_String*) me)->fields.java_lang_String.count_ = 0;
+ ((java_lang_String*) me)->fields.java_lang_String.hashCode_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_String]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_String()
+{ XMLVM_CLASS_INIT(java_lang_String)
+java_lang_String* me = (java_lang_String*) XMLVM_MALLOC(sizeof(java_lang_String));
+ me->tib = &__TIB_java_lang_String;
+ __INIT_INSTANCE_MEMBERS_java_lang_String(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_String]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_String()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_lang_String();
+ java_lang_String___INIT___(me);
+ return me;
+}
+
+JAVA_LONG java_lang_String_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_lang_String)
+ return _STATIC_java_lang_String_serialVersionUID;
+}
+
+void java_lang_String_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_String)
+_STATIC_java_lang_String_serialVersionUID = v;
+}
+
+JAVA_OBJECT java_lang_String_GET_CASE_INSENSITIVE_ORDER()
+{
+ XMLVM_CLASS_INIT(java_lang_String)
+ return _STATIC_java_lang_String_CASE_INSENSITIVE_ORDER;
+}
+
+void java_lang_String_PUT_CASE_INSENSITIVE_ORDER(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_String)
+_STATIC_java_lang_String_CASE_INSENSITIVE_ORDER = v;
+}
+
+JAVA_OBJECT java_lang_String_GET_ascii()
+{
+ XMLVM_CLASS_INIT(java_lang_String)
+ return _STATIC_java_lang_String_ascii;
+}
+
+void java_lang_String_PUT_ascii(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_String)
+_STATIC_java_lang_String_ascii = v;
+}
+
+JAVA_OBJECT java_lang_String_GET_DefaultCharset()
+{
+ XMLVM_CLASS_INIT(java_lang_String)
+ return _STATIC_java_lang_String_DefaultCharset;
+}
+
+void java_lang_String_PUT_DefaultCharset(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_String)
+_STATIC_java_lang_String_DefaultCharset = v;
+}
+
+JAVA_OBJECT java_lang_String_GET_lastCharset()
+{
+ XMLVM_CLASS_INIT(java_lang_String)
+ return _STATIC_java_lang_String_lastCharset;
+}
+
+void java_lang_String_PUT_lastCharset(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_String)
+_STATIC_java_lang_String_lastCharset = v;
+}
+
+void java_lang_String___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ _r0.o = JAVA_NULL;
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("String.java", 166)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("String.java", 58)
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_String*) _r2.o)->fields.java_lang_String.charset_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 59)
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_String*) _r2.o)->fields.java_lang_String.charset2_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 60)
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_String*) _r2.o)->fields.java_lang_String.charset3_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 167)
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r1.i);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_String*) _r2.o)->fields.java_lang_String.value_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 168)
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_String*) _r2.o)->fields.java_lang_String.offset_ = _r1.i;
+ XMLVM_SOURCE_POSITION("String.java", 169)
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_String*) _r2.o)->fields.java_lang_String.count_ = _r1.i;
+ XMLVM_SOURCE_POSITION("String.java", 170)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_String___INIT____java_lang_String_char(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_CHAR n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____java_lang_String_char]
+ XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r5.o = me;
+ _r6.o = n1;
+ _r7.i = n2;
+ _r4.i = 0;
+ _r0.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("String.java", 176)
+ XMLVM_CHECK_NPE(5)
+ java_lang_Object___INIT___(_r5.o);
+ XMLVM_SOURCE_POSITION("String.java", 58)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.charset_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 59)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.charset2_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 60)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.charset3_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 177)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_ = _r4.i;
+ XMLVM_SOURCE_POSITION("String.java", 178)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.value_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 179)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.count_ = _r0.i;
+ XMLVM_SOURCE_POSITION("String.java", 180)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_lang_String*) _r6.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r2.o, _r4.i, _r3.i);
+ XMLVM_SOURCE_POSITION("String.java", 181)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.i;
+ XMLVM_SOURCE_POSITION("String.java", 182)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_String___INIT____byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____byte_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("String.java", 194)
+ _r0.i = 0;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ XMLVM_CHECK_NPE(2)
+ java_lang_String___INIT____byte_1ARRAY_int_int(_r2.o, _r3.o, _r0.i, _r1.i);
+ XMLVM_SOURCE_POSITION("String.java", 195)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_String___INIT____byte_1ARRAY_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____byte_1ARRAY_int]
+ XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.i = n2;
+ XMLVM_SOURCE_POSITION("String.java", 212)
+ _r0.i = 0;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ XMLVM_CHECK_NPE(2)
+ java_lang_String___INIT____byte_1ARRAY_int_int_int(_r2.o, _r3.o, _r4.i, _r0.i, _r1.i);
+ XMLVM_SOURCE_POSITION("String.java", 213)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_String___INIT____byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____byte_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r5.o = me;
+ _r6.o = n1;
+ _r7.i = n2;
+ _r8.i = n3;
+ _r3.o = JAVA_NULL;
+ _r4.i = 0;
+ XMLVM_SOURCE_POSITION("String.java", 233)
+ XMLVM_CHECK_NPE(5)
+ java_lang_Object___INIT___(_r5.o);
+ XMLVM_SOURCE_POSITION("String.java", 58)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.charset_ = _r3.o;
+ XMLVM_SOURCE_POSITION("String.java", 59)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.charset2_ = _r3.o;
+ XMLVM_SOURCE_POSITION("String.java", 60)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.charset3_ = _r3.o;
+ XMLVM_SOURCE_POSITION("String.java", 235)
+ if (_r7.i < 0) goto label55;
+ if (_r8.i < 0) goto label55;
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ _r3.i = _r3.i - _r7.i;
+ if (_r8.i > _r3.i) goto label55;
+ XMLVM_SOURCE_POSITION("String.java", 236)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_ = _r4.i;
+ XMLVM_SOURCE_POSITION("String.java", 237)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = java_lang_String_defaultCharset__(_r5.o);
+ XMLVM_SOURCE_POSITION("String.java", 239)
+ _r3.o = java_nio_ByteBuffer_wrap___byte_1ARRAY_int_int(_r6.o, _r7.i, _r8.i);
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_nio_charset_Charset_decode___java_nio_ByteBuffer(_r1.o, _r3.o);
+ XMLVM_SOURCE_POSITION("String.java", 241)
+ //java_nio_CharBuffer_length__[22]
+ XMLVM_CHECK_NPE(0)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r0.o)->tib->vtable[22])(_r0.o);
+ if (_r2.i <= 0) goto label48;
+ XMLVM_SOURCE_POSITION("String.java", 242)
+ //java_nio_CharBuffer_array__[7]
+ XMLVM_CHECK_NPE(0)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r0.o)->tib->vtable[7])(_r0.o);
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.value_ = _r3.o;
+ XMLVM_SOURCE_POSITION("String.java", 243)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.count_ = _r2.i;
+ label47:;
+ XMLVM_SOURCE_POSITION("String.java", 251)
+ XMLVM_EXIT_METHOD()
+ return;
+ label48:;
+ XMLVM_SOURCE_POSITION("String.java", 245)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.count_ = _r4.i;
+ XMLVM_SOURCE_POSITION("String.java", 246)
+ XMLVM_CLASS_INIT(char)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_char, _r4.i);
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.value_ = _r3.o;
+ goto label47;
+ label55:;
+ XMLVM_SOURCE_POSITION("String.java", 249)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r3.o)
+ //XMLVM_END_WRAPPER
+}
+
+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)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____byte_1ARRAY_int_int_int]
+ XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r4.o = me;
+ _r5.o = n1;
+ _r6.i = n2;
+ _r7.i = n3;
+ _r8.i = n4;
+ _r2.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("String.java", 274)
+ XMLVM_CHECK_NPE(4)
+ java_lang_Object___INIT___(_r4.o);
+ XMLVM_SOURCE_POSITION("String.java", 58)
+ XMLVM_CHECK_NPE(4)
+ ((java_lang_String*) _r4.o)->fields.java_lang_String.charset_ = _r2.o;
+ XMLVM_SOURCE_POSITION("String.java", 59)
+ XMLVM_CHECK_NPE(4)
+ ((java_lang_String*) _r4.o)->fields.java_lang_String.charset2_ = _r2.o;
+ XMLVM_SOURCE_POSITION("String.java", 60)
+ XMLVM_CHECK_NPE(4)
+ ((java_lang_String*) _r4.o)->fields.java_lang_String.charset3_ = _r2.o;
+ XMLVM_SOURCE_POSITION("String.java", 277)
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ _r2.i = _r2.i - _r7.i;
+ if (_r8.i > _r2.i) goto label50;
+ if (_r7.i < 0) goto label50;
+ if (_r8.i < 0) goto label50;
+ XMLVM_SOURCE_POSITION("String.java", 278)
+ _r2.i = 0;
+ XMLVM_CHECK_NPE(4)
+ ((java_lang_String*) _r4.o)->fields.java_lang_String.offset_ = _r2.i;
+ XMLVM_SOURCE_POSITION("String.java", 279)
+ XMLVM_CLASS_INIT(char)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_char, _r8.i);
+ XMLVM_CHECK_NPE(4)
+ ((java_lang_String*) _r4.o)->fields.java_lang_String.value_ = _r2.o;
+ XMLVM_SOURCE_POSITION("String.java", 280)
+ XMLVM_CHECK_NPE(4)
+ ((java_lang_String*) _r4.o)->fields.java_lang_String.count_ = _r8.i;
+ XMLVM_SOURCE_POSITION("String.java", 281)
+ _r6.i = _r6.i << 8;
+ _r0.i = 0;
+ label30:;
+ XMLVM_SOURCE_POSITION("String.java", 282)
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
+ if (_r0.i >= _r2.i) goto label56;
+ XMLVM_SOURCE_POSITION("String.java", 283)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_lang_String*) _r4.o)->fields.java_lang_String.value_;
+ _r1.i = _r7.i + 1;
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r7.i);
+ _r3.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i];
+ _r3.i = _r3.i & 255;
+ _r3.i = _r3.i + _r6.i;
+ _r3.i = _r3.i & 0xffff;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r3.i;
+ _r0.i = _r0.i + 1;
+ _r7 = _r1;
+ goto label30;
+ label50:;
+ XMLVM_SOURCE_POSITION("String.java", 286)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r2.o)
+ label56:;
+ XMLVM_SOURCE_POSITION("String.java", 288)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+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)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____byte_1ARRAY_int_int_java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ volatile XMLVMElem _r9;
+ volatile XMLVMElem _r10;
+ _r6.o = me;
+ _r7.o = n1;
+ _r8.i = n2;
+ _r9.i = n3;
+ _r10.o = n4;
+ _r4.o = JAVA_NULL;
+ _r5.i = 0;
+ XMLVM_SOURCE_POSITION("String.java", 310)
+ XMLVM_CHECK_NPE(6)
+ java_lang_Object___INIT___(_r6.o);
+ XMLVM_SOURCE_POSITION("String.java", 58)
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_String*) _r6.o)->fields.java_lang_String.charset_ = _r4.o;
+ XMLVM_SOURCE_POSITION("String.java", 59)
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_String*) _r6.o)->fields.java_lang_String.charset2_ = _r4.o;
+ XMLVM_SOURCE_POSITION("String.java", 60)
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_String*) _r6.o)->fields.java_lang_String.charset3_ = _r4.o;
+ XMLVM_SOURCE_POSITION("String.java", 311)
+ if (_r10.o != JAVA_NULL) goto label19;
+ XMLVM_SOURCE_POSITION("String.java", 312)
+ _r4.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(4)
+ java_lang_NullPointerException___INIT___(_r4.o);
+ XMLVM_THROW_CUSTOM(_r4.o)
+ label19:;
+ XMLVM_SOURCE_POSITION("String.java", 315)
+ if (_r8.i < 0) goto label76;
+ if (_r9.i < 0) goto label76;
+ _r4.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r7.o));
+ _r4.i = _r4.i - _r8.i;
+ if (_r9.i > _r4.i) goto label76;
+ XMLVM_SOURCE_POSITION("String.java", 316)
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_String*) _r6.o)->fields.java_lang_String.offset_ = _r5.i;
+ XMLVM_SOURCE_POSITION("String.java", 317)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = java_lang_String_getCharset___java_lang_String(_r6.o, _r10.o);
+ XMLVM_TRY_BEGIN(w3113aaac18b1c33)
+ // Begin try
+ XMLVM_SOURCE_POSITION("String.java", 322)
+ _r4.o = java_nio_ByteBuffer_wrap___byte_1ARRAY_int_int(_r7.o, _r8.i, _r9.i);
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_nio_charset_Charset_decode___java_nio_ByteBuffer(_r1.o, _r4.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3113aaac18b1c33)
+ XMLVM_CATCH_SPECIFIC(w3113aaac18b1c33,java_lang_Exception,56)
+ XMLVM_CATCH_END(w3113aaac18b1c33)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3113aaac18b1c33)
+ label41:;
+ XMLVM_SOURCE_POSITION("String.java", 328)
+ //java_nio_CharBuffer_length__[22]
+ XMLVM_CHECK_NPE(0)
+ _r3.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r0.o)->tib->vtable[22])(_r0.o);
+ if (_r3.i <= 0) goto label69;
+ XMLVM_SOURCE_POSITION("String.java", 329)
+ //java_nio_CharBuffer_array__[7]
+ XMLVM_CHECK_NPE(0)
+ _r4.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r0.o)->tib->vtable[7])(_r0.o);
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_String*) _r6.o)->fields.java_lang_String.value_ = _r4.o;
+ XMLVM_SOURCE_POSITION("String.java", 330)
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_String*) _r6.o)->fields.java_lang_String.count_ = _r3.i;
+ label55:;
+ XMLVM_SOURCE_POSITION("String.java", 338)
+ XMLVM_EXIT_METHOD()
+ return;
+ label56:;
+ XMLVM_SOURCE_POSITION("String.java", 323)
+ java_lang_Thread* curThread_w3113aaac18b1c48 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r4.o = curThread_w3113aaac18b1c48->fields.java_lang_Thread.xmlvmException_;
+ _r2 = _r4;
+ XMLVM_SOURCE_POSITION("String.java", 326)
+ // "?"
+ _r4.o = xmlvm_create_java_string_from_pool(170);
+ XMLVM_CHECK_NPE(4)
+ _r4.o = java_lang_String_toCharArray__(_r4.o);
+ _r0.o = java_nio_CharBuffer_wrap___char_1ARRAY(_r4.o);
+ goto label41;
+ label69:;
+ XMLVM_SOURCE_POSITION("String.java", 332)
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_String*) _r6.o)->fields.java_lang_String.count_ = _r5.i;
+ XMLVM_SOURCE_POSITION("String.java", 333)
+ XMLVM_CLASS_INIT(char)
+ _r4.o = XMLVMArray_createSingleDimension(__CLASS_char, _r5.i);
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_String*) _r6.o)->fields.java_lang_String.value_ = _r4.o;
+ goto label55;
+ label76:;
+ XMLVM_SOURCE_POSITION("String.java", 336)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r4.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_String___INIT____byte_1ARRAY_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____byte_1ARRAY_java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.o = n2;
+ XMLVM_SOURCE_POSITION("String.java", 353)
+ _r0.i = 0;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ XMLVM_CHECK_NPE(2)
+ java_lang_String___INIT____byte_1ARRAY_int_int_java_lang_String(_r2.o, _r3.o, _r0.i, _r1.i, _r4.o);
+ XMLVM_SOURCE_POSITION("String.java", 354)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_String___INIT____char_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____char_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("String.java", 367)
+ _r0.i = 0;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ XMLVM_CHECK_NPE(2)
+ java_lang_String___INIT____char_1ARRAY_int_int(_r2.o, _r3.o, _r0.i, _r1.i);
+ XMLVM_SOURCE_POSITION("String.java", 368)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_String___INIT____char_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____char_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r3.o = me;
+ _r4.o = n1;
+ _r5.i = n2;
+ _r6.i = n3;
+ _r2.i = 0;
+ _r0.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("String.java", 387)
+ XMLVM_CHECK_NPE(3)
+ java_lang_Object___INIT___(_r3.o);
+ XMLVM_SOURCE_POSITION("String.java", 58)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_String*) _r3.o)->fields.java_lang_String.charset_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 59)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_String*) _r3.o)->fields.java_lang_String.charset2_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 60)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_String*) _r3.o)->fields.java_lang_String.charset3_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 390)
+ if (_r5.i < 0) goto label35;
+ if (_r6.i < 0) goto label35;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
+ _r0.i = _r0.i - _r5.i;
+ if (_r6.i > _r0.i) goto label35;
+ XMLVM_SOURCE_POSITION("String.java", 391)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_String*) _r3.o)->fields.java_lang_String.offset_ = _r2.i;
+ XMLVM_SOURCE_POSITION("String.java", 392)
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r6.i);
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_String*) _r3.o)->fields.java_lang_String.value_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 393)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_String*) _r3.o)->fields.java_lang_String.count_ = _r6.i;
+ XMLVM_SOURCE_POSITION("String.java", 394)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_lang_String*) _r3.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.count_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r4.o, _r5.i, _r0.o, _r2.i, _r1.i);
+ XMLVM_SOURCE_POSITION("String.java", 398)
+ XMLVM_EXIT_METHOD()
+ return;
+ label35:;
+ XMLVM_SOURCE_POSITION("String.java", 396)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_String___INIT____int_int_char_1ARRAY(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____int_int_char_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.i = n2;
+ _r4.o = n3;
+ _r0.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("String.java", 404)
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("String.java", 58)
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_String*) _r1.o)->fields.java_lang_String.charset_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 59)
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_String*) _r1.o)->fields.java_lang_String.charset2_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 60)
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_String*) _r1.o)->fields.java_lang_String.charset3_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 405)
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_String*) _r1.o)->fields.java_lang_String.value_ = _r4.o;
+ XMLVM_SOURCE_POSITION("String.java", 406)
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_String*) _r1.o)->fields.java_lang_String.offset_ = _r2.i;
+ XMLVM_SOURCE_POSITION("String.java", 407)
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_String*) _r1.o)->fields.java_lang_String.count_ = _r3.i;
+ XMLVM_SOURCE_POSITION("String.java", 408)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+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)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____char_1ARRAY_int_int_boolean]
+ XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r3.o = me;
+ _r4.o = n1;
+ _r5.i = n2;
+ _r6.i = n3;
+ _r7.i = n4;
+ _r1.i = 0;
+ _r0.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("String.java", 417)
+ XMLVM_CHECK_NPE(3)
+ java_lang_Object___INIT___(_r3.o);
+ XMLVM_SOURCE_POSITION("String.java", 58)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_String*) _r3.o)->fields.java_lang_String.charset_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 59)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_String*) _r3.o)->fields.java_lang_String.charset2_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 60)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_String*) _r3.o)->fields.java_lang_String.charset3_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 418)
+ if (_r5.i >= 0) goto label38;
+ XMLVM_SOURCE_POSITION("String.java", 419)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder___INIT___(_r1.o);
+ // "offset: "
+ _r2.o = xmlvm_create_java_string_from_pool(171);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r2.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___int(_r1.o, _r5.i);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label38:;
+ XMLVM_SOURCE_POSITION("String.java", 420)
+ if (_r6.i >= 0) goto label65;
+ XMLVM_SOURCE_POSITION("String.java", 421)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder___INIT___(_r1.o);
+ // "count: "
+ _r2.o = xmlvm_create_java_string_from_pool(172);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r2.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___int(_r1.o, _r6.i);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label65:;
+ XMLVM_SOURCE_POSITION("String.java", 423)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
+ _r0.i = _r0.i - _r5.i;
+ if (_r0.i >= _r6.i) goto label96;
+ XMLVM_SOURCE_POSITION("String.java", 424)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder___INIT___(_r1.o);
+ // "offset + count: "
+ _r2.o = xmlvm_create_java_string_from_pool(173);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r2.o);
+ _r2.i = _r5.i + _r6.i;
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___int(_r1.o, _r2.i);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label96:;
+ XMLVM_SOURCE_POSITION("String.java", 426)
+ if (_r7.i == 0) goto label105;
+ XMLVM_SOURCE_POSITION("String.java", 428)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_String*) _r3.o)->fields.java_lang_String.value_ = _r4.o;
+ XMLVM_SOURCE_POSITION("String.java", 429)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_String*) _r3.o)->fields.java_lang_String.offset_ = _r5.i;
+ label102:;
+ XMLVM_SOURCE_POSITION("String.java", 437)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_String*) _r3.o)->fields.java_lang_String.count_ = _r6.i;
+ XMLVM_SOURCE_POSITION("String.java", 438)
+ XMLVM_EXIT_METHOD()
+ return;
+ label105:;
+ XMLVM_SOURCE_POSITION("String.java", 433)
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r6.i);
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_String*) _r3.o)->fields.java_lang_String.value_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 434)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_lang_String*) _r3.o)->fields.java_lang_String.value_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r4.o, _r5.i, _r0.o, _r1.i, _r6.i);
+ XMLVM_SOURCE_POSITION("String.java", 435)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_String*) _r3.o)->fields.java_lang_String.offset_ = _r1.i;
+ goto label102;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_String___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ _r0.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("String.java", 446)
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("String.java", 58)
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_String*) _r1.o)->fields.java_lang_String.charset_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 59)
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_String*) _r1.o)->fields.java_lang_String.charset2_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 60)
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_String*) _r1.o)->fields.java_lang_String.charset3_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 447)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_lang_String*) _r2.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_String*) _r1.o)->fields.java_lang_String.value_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 448)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_String*) _r2.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_String*) _r1.o)->fields.java_lang_String.offset_ = _r0.i;
+ XMLVM_SOURCE_POSITION("String.java", 449)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_String*) _r2.o)->fields.java_lang_String.count_;
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_String*) _r1.o)->fields.java_lang_String.count_ = _r0.i;
+ XMLVM_SOURCE_POSITION("String.java", 450)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_String___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r5.o = me;
+ _r6.o = n1;
+ _r7.o = n2;
+ _r4.i = 0;
+ _r0.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("String.java", 456)
+ XMLVM_CHECK_NPE(5)
+ java_lang_Object___INIT___(_r5.o);
+ XMLVM_SOURCE_POSITION("String.java", 58)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.charset_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 59)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.charset2_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 60)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.charset3_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 457)
+ if (_r6.o != JAVA_NULL) goto label15;
+ XMLVM_SOURCE_POSITION("String.java", 458)
+ // "null"
+ _r6.o = xmlvm_create_java_string_from_pool(63);
+ label15:;
+ XMLVM_SOURCE_POSITION("String.java", 460)
+ if (_r7.o != JAVA_NULL) goto label19;
+ XMLVM_SOURCE_POSITION("String.java", 461)
+ // "null"
+ _r7.o = xmlvm_create_java_string_from_pool(63);
+ label19:;
+ XMLVM_SOURCE_POSITION("String.java", 463)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
+ XMLVM_CHECK_NPE(7)
+ _r1.i = ((java_lang_String*) _r7.o)->fields.java_lang_String.count_;
+ _r0.i = _r0.i + _r1.i;
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.count_ = _r0.i;
+ XMLVM_SOURCE_POSITION("String.java", 464)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.count_;
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.value_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 465)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_ = _r4.i;
+ XMLVM_SOURCE_POSITION("String.java", 466)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_lang_String*) _r6.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r2.o, _r4.i, _r3.i);
+ XMLVM_SOURCE_POSITION("String.java", 467)
+ XMLVM_CHECK_NPE(7)
+ _r0.o = ((java_lang_String*) _r7.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(7)
+ _r1.i = ((java_lang_String*) _r7.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
+ XMLVM_CHECK_NPE(7)
+ _r4.i = ((java_lang_String*) _r7.o)->fields.java_lang_String.count_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r2.o, _r3.i, _r4.i);
+ XMLVM_SOURCE_POSITION("String.java", 468)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+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)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____java_lang_String_java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r5.o = me;
+ _r6.o = n1;
+ _r7.o = n2;
+ _r8.o = n3;
+ _r4.i = 0;
+ _r0.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("String.java", 474)
+ XMLVM_CHECK_NPE(5)
+ java_lang_Object___INIT___(_r5.o);
+ XMLVM_SOURCE_POSITION("String.java", 58)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.charset_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 59)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.charset2_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 60)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.charset3_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 475)
+ if (_r6.o != JAVA_NULL) goto label15;
+ XMLVM_SOURCE_POSITION("String.java", 476)
+ // "null"
+ _r6.o = xmlvm_create_java_string_from_pool(63);
+ label15:;
+ XMLVM_SOURCE_POSITION("String.java", 478)
+ if (_r7.o != JAVA_NULL) goto label19;
+ XMLVM_SOURCE_POSITION("String.java", 479)
+ // "null"
+ _r7.o = xmlvm_create_java_string_from_pool(63);
+ label19:;
+ XMLVM_SOURCE_POSITION("String.java", 481)
+ if (_r8.o != JAVA_NULL) goto label23;
+ XMLVM_SOURCE_POSITION("String.java", 482)
+ // "null"
+ _r8.o = xmlvm_create_java_string_from_pool(63);
+ label23:;
+ XMLVM_SOURCE_POSITION("String.java", 484)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
+ XMLVM_CHECK_NPE(7)
+ _r1.i = ((java_lang_String*) _r7.o)->fields.java_lang_String.count_;
+ _r0.i = _r0.i + _r1.i;
+ XMLVM_CHECK_NPE(8)
+ _r1.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.count_;
+ _r0.i = _r0.i + _r1.i;
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.count_ = _r0.i;
+ XMLVM_SOURCE_POSITION("String.java", 485)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.count_;
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.value_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 486)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_ = _r4.i;
+ XMLVM_SOURCE_POSITION("String.java", 487)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_lang_String*) _r6.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r2.o, _r4.i, _r3.i);
+ XMLVM_SOURCE_POSITION("String.java", 488)
+ XMLVM_CHECK_NPE(7)
+ _r0.o = ((java_lang_String*) _r7.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(7)
+ _r1.i = ((java_lang_String*) _r7.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
+ XMLVM_CHECK_NPE(7)
+ _r4.i = ((java_lang_String*) _r7.o)->fields.java_lang_String.count_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r2.o, _r3.i, _r4.i);
+ XMLVM_SOURCE_POSITION("String.java", 489)
+ XMLVM_CHECK_NPE(8)
+ _r0.o = ((java_lang_String*) _r8.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(8)
+ _r1.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
+ XMLVM_CHECK_NPE(7)
+ _r4.i = ((java_lang_String*) _r7.o)->fields.java_lang_String.count_;
+ _r3.i = _r3.i + _r4.i;
+ XMLVM_CHECK_NPE(8)
+ _r4.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.count_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r2.o, _r3.i, _r4.i);
+ XMLVM_SOURCE_POSITION("String.java", 491)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_String___INIT____java_lang_StringBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____java_lang_StringBuffer]
+ XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ _r0.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("String.java", 500)
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("String.java", 58)
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_String*) _r1.o)->fields.java_lang_String.charset_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 59)
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_String*) _r1.o)->fields.java_lang_String.charset2_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 60)
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_String*) _r1.o)->fields.java_lang_String.charset3_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 501)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_String*) _r1.o)->fields.java_lang_String.offset_ = _r0.i;
+ XMLVM_SOURCE_POSITION("String.java", 502)
+ java_lang_Object_acquireLockRecursive__(_r2.o);
+ XMLVM_TRY_BEGIN(w3113aaac27b1c17)
+ // Begin try
+ XMLVM_SOURCE_POSITION("String.java", 503)
+
+
+ // Red class access removed: java.lang.StringBuffer::getValue
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_String*) _r1.o)->fields.java_lang_String.value_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 504)
+
+
+ // Red class access removed: java.lang.StringBuffer::length
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_String*) _r1.o)->fields.java_lang_String.count_ = _r0.i;
+ XMLVM_SOURCE_POSITION("String.java", 505)
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ XMLVM_SOURCE_POSITION("String.java", 506)
+ XMLVM_MEMCPY(curThread_w3113aaac27b1c17->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3113aaac27b1c17, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3113aaac27b1c17)
+ XMLVM_CATCH_SPECIFIC(w3113aaac27b1c17,java_lang_Object,28)
+ XMLVM_CATCH_END(w3113aaac27b1c17)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3113aaac27b1c17)
+ label28:;
+ XMLVM_TRY_BEGIN(w3113aaac27b1c19)
+ // Begin try
+ java_lang_Thread* curThread_w3113aaac27b1c19aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w3113aaac27b1c19aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3113aaac27b1c19)
+ XMLVM_CATCH_SPECIFIC(w3113aaac27b1c19,java_lang_Object,28)
+ XMLVM_CATCH_END(w3113aaac27b1c19)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3113aaac27b1c19)
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_String___INIT____int_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____int_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r5.o = me;
+ _r6.o = n1;
+ _r7.i = n2;
+ _r8.i = n3;
+ _r3.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("String.java", 529)
+ XMLVM_CHECK_NPE(5)
+ java_lang_Object___INIT___(_r5.o);
+ XMLVM_SOURCE_POSITION("String.java", 58)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.charset_ = _r3.o;
+ XMLVM_SOURCE_POSITION("String.java", 59)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.charset2_ = _r3.o;
+ XMLVM_SOURCE_POSITION("String.java", 60)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.charset3_ = _r3.o;
+ XMLVM_SOURCE_POSITION("String.java", 530)
+ if (_r7.i < 0) goto label18;
+ if (_r8.i < 0) goto label18;
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ _r3.i = _r3.i - _r8.i;
+ if (_r7.i <= _r3.i) goto label24;
+ label18:;
+ XMLVM_SOURCE_POSITION("String.java", 531)
+ _r3.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(3)
+ java_lang_IndexOutOfBoundsException___INIT___(_r3.o);
+ XMLVM_THROW_CUSTOM(_r3.o)
+ label24:;
+ XMLVM_SOURCE_POSITION("String.java", 533)
+ _r3.i = 0;
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_ = _r3.i;
+ XMLVM_SOURCE_POSITION("String.java", 534)
+ _r3.i = _r8.i * 2;
+ XMLVM_CLASS_INIT(char)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_char, _r3.i);
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.value_ = _r3.o;
+ XMLVM_SOURCE_POSITION("String.java", 535)
+ _r1.i = _r7.i + _r8.i;
+ _r0.i = 0;
+ _r2 = _r7;
+ label37:;
+ XMLVM_SOURCE_POSITION("String.java", 537)
+ if (_r2.i >= _r1.i) goto label51;
+ XMLVM_SOURCE_POSITION("String.java", 538)
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r2.i);
+ _r3.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(5)
+ _r4.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
+ _r3.i = java_lang_Character_toChars___int_char_1ARRAY_int(_r3.i, _r4.o, _r0.i);
+ _r0.i = _r0.i + _r3.i;
+ _r2.i = _r2.i + 1;
+ goto label37;
+ label51:;
+ XMLVM_SOURCE_POSITION("String.java", 540)
+ XMLVM_CHECK_NPE(5)
+ ((java_lang_String*) _r5.o)->fields.java_lang_String.count_ = _r0.i;
+ XMLVM_SOURCE_POSITION("String.java", 541)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_String___INIT____java_lang_StringBuilder(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____java_lang_StringBuilder]
+ XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ _r0.o = JAVA_NULL;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("String.java", 553)
+ XMLVM_CHECK_NPE(3)
+ java_lang_Object___INIT___(_r3.o);
+ XMLVM_SOURCE_POSITION("String.java", 58)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_String*) _r3.o)->fields.java_lang_String.charset_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 59)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_String*) _r3.o)->fields.java_lang_String.charset2_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 60)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_String*) _r3.o)->fields.java_lang_String.charset3_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 554)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_String*) _r3.o)->fields.java_lang_String.offset_ = _r2.i;
+ XMLVM_SOURCE_POSITION("String.java", 555)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = java_lang_AbstractStringBuilder_length__(_r4.o);
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_String*) _r3.o)->fields.java_lang_String.count_ = _r0.i;
+ XMLVM_SOURCE_POSITION("String.java", 556)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.count_;
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_String*) _r3.o)->fields.java_lang_String.value_ = _r0.o;
+ XMLVM_SOURCE_POSITION("String.java", 557)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.count_;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_lang_String*) _r3.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(4)
+ java_lang_AbstractStringBuilder_getChars___int_int_char_1ARRAY_int(_r4.o, _r2.i, _r0.i, _r1.o, _r2.i);
+ XMLVM_SOURCE_POSITION("String.java", 558)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_String___INIT____java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String___INIT____java_lang_String_int]
+ XMLVM_ENTER_METHOD("java.lang.String", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r7.o = me;
+ _r8.o = n1;
+ _r9.i = n2;
+ _r6.i = 0;
+ _r2.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("String.java", 564)
+ XMLVM_CHECK_NPE(7)
+ java_lang_Object___INIT___(_r7.o);
+ XMLVM_SOURCE_POSITION("String.java", 58)
+ XMLVM_CHECK_NPE(7)
+ ((java_lang_String*) _r7.o)->fields.java_lang_String.charset_ = _r2.o;
+ XMLVM_SOURCE_POSITION("String.java", 59)
+ XMLVM_CHECK_NPE(7)
+ ((java_lang_String*) _r7.o)->fields.java_lang_String.charset2_ = _r2.o;
+ XMLVM_SOURCE_POSITION("String.java", 60)
+ XMLVM_CHECK_NPE(7)
+ ((java_lang_String*) _r7.o)->fields.java_lang_String.charset3_ = _r2.o;
+ XMLVM_SOURCE_POSITION("String.java", 565)
+ if (_r8.o != JAVA_NULL) goto label15;
+ XMLVM_SOURCE_POSITION("String.java", 566)
+ // "null"
+ _r8.o = xmlvm_create_java_string_from_pool(63);
+ label15:;
+ XMLVM_SOURCE_POSITION("String.java", 568)
+ _r1.o = java_lang_String_valueOf___int(_r9.i);
+ XMLVM_SOURCE_POSITION("String.java", 569)
+ XMLVM_CHECK_NPE(8)
+ _r2.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.count_;
+ XMLVM_CHECK_NPE(1)
+ _r3.i = ((java_lang_String*) _r1.o)->fields.java_lang_String.count_;
+ _r0.i = _r2.i + _r3.i;
+ XMLVM_SOURCE_POSITION("String.java", 570)
+ XMLVM_CLASS_INIT(char)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ XMLVM_CHECK_NPE(7)
+ ((java_lang_String*) _r7.o)->fields.java_lang_String.value_ = _r2.o;
+ XMLVM_SOURCE_POSITION("String.java", 571)
+ XMLVM_CHECK_NPE(7)
+ ((java_lang_String*) _r7.o)->fields.java_lang_String.offset_ = _r6.i;
+ XMLVM_SOURCE_POSITION("String.java", 572)
+ XMLVM_CHECK_NPE(8)
+ _r2.o = ((java_lang_String*) _r8.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(8)
+ _r3.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(7)
+ _r4.o = ((java_lang_String*) _r7.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(8)
+ _r5.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.count_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r2.o, _r3.i, _r4.o, _r6.i, _r5.i);
+ XMLVM_SOURCE_POSITION("String.java", 573)
+ XMLVM_CHECK_NPE(1)
+ _r2.o = ((java_lang_String*) _r1.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(1)
+ _r3.i = ((java_lang_String*) _r1.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(7)
+ _r4.o = ((java_lang_String*) _r7.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(8)
+ _r5.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.count_;
+ XMLVM_CHECK_NPE(1)
+ _r6.i = ((java_lang_String*) _r1.o)->fields.java_lang_String.count_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r2.o, _r3.i, _r4.o, _r5.i, _r6.i);
+ XMLVM_SOURCE_POSITION("String.java", 574)
+ XMLVM_CHECK_NPE(7)
+ ((java_lang_String*) _r7.o)->fields.java_lang_String.count_ = _r0.i;
+ XMLVM_SOURCE_POSITION("String.java", 575)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_CHAR java_lang_String_charAt___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_charAt___int]
+ XMLVM_ENTER_METHOD("java.lang.String", "charAt", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.i = n1;
+ XMLVM_SOURCE_POSITION("String.java", 587)
+ if (_r3.i < 0) goto label14;
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_String*) _r2.o)->fields.java_lang_String.count_;
+ if (_r3.i >= _r0.i) goto label14;
+ XMLVM_SOURCE_POSITION("String.java", 588)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_lang_String*) _r2.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_lang_String*) _r2.o)->fields.java_lang_String.offset_;
+ _r1.i = _r1.i + _r3.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label14:;
+ XMLVM_SOURCE_POSITION("String.java", 590)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_CHAR java_lang_String_compareValue___char(JAVA_OBJECT me, JAVA_CHAR n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_compareValue___char]
+ XMLVM_ENTER_METHOD("java.lang.String", "compareValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("String.java", 595)
+ _r0.i = 128;
+ if (_r2.i >= _r0.i) goto label18;
+ XMLVM_SOURCE_POSITION("String.java", 596)
+ _r0.i = 65;
+ if (_r0.i > _r2.i) goto label16;
+ _r0.i = 90;
+ if (_r2.i > _r0.i) goto label16;
+ XMLVM_SOURCE_POSITION("String.java", 597)
+ _r0.i = _r2.i + 32;
+ _r0.i = _r0.i & 0xffff;
+ label15:;
+ XMLVM_SOURCE_POSITION("String.java", 601)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label16:;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("String.java", 599)
+ goto label15;
+ label18:;
+ _r0.i = java_lang_Character_toUpperCase___char(_r2.i);
+ _r0.i = java_lang_Character_toLowerCase___char(_r0.i);
+ goto label15;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_CHAR java_lang_String_toLowerCase___char(JAVA_OBJECT me, JAVA_CHAR n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_toLowerCase___char]
+ XMLVM_ENTER_METHOD("java.lang.String", "toLowerCase", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("String.java", 606)
+ _r0.i = 128;
+ if (_r2.i >= _r0.i) goto label18;
+ XMLVM_SOURCE_POSITION("String.java", 607)
+ _r0.i = 65;
+ if (_r0.i > _r2.i) goto label16;
+ _r0.i = 90;
+ if (_r2.i > _r0.i) goto label16;
+ XMLVM_SOURCE_POSITION("String.java", 608)
+ _r0.i = _r2.i + 32;
+ _r0.i = _r0.i & 0xffff;
+ label15:;
+ XMLVM_SOURCE_POSITION("String.java", 612)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label16:;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("String.java", 610)
+ goto label15;
+ label18:;
+ _r0.i = java_lang_Character_toLowerCase___char(_r2.i);
+ goto label15;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_CHAR java_lang_String_toUpperCase___char(JAVA_OBJECT me, JAVA_CHAR n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_toUpperCase___char]
+ XMLVM_ENTER_METHOD("java.lang.String", "toUpperCase", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("String.java", 617)
+ _r0.i = 128;
+ if (_r2.i >= _r0.i) goto label20;
+ XMLVM_SOURCE_POSITION("String.java", 618)
+ _r0.i = 97;
+ if (_r0.i > _r2.i) goto label18;
+ _r0.i = 122;
+ if (_r2.i > _r0.i) goto label18;
+ XMLVM_SOURCE_POSITION("String.java", 619)
+ _r0.i = 32;
+ _r0.i = _r2.i - _r0.i;
+ _r0.i = _r0.i & 0xffff;
+ label17:;
+ XMLVM_SOURCE_POSITION("String.java", 623)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label18:;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("String.java", 621)
+ goto label17;
+ label20:;
+ _r0.i = java_lang_Character_toUpperCase___char(_r2.i);
+ goto label17;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_String_compareTo___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_compareTo___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.String", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ _r10.o = me;
+ _r11.o = n1;
+ XMLVM_SOURCE_POSITION("String.java", 648)
+ XMLVM_CHECK_NPE(10)
+ _r1.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(11)
+ _r3.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.offset_;
+ XMLVM_SOURCE_POSITION("String.java", 649)
+ XMLVM_CHECK_NPE(10)
+ _r7.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(10)
+ _r8.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.count_;
+ XMLVM_CHECK_NPE(11)
+ _r9.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
+ if (_r8.i >= _r9.i) goto label38;
+ XMLVM_CHECK_NPE(10)
+ _r8.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.count_;
+ label14:;
+ _r0.i = _r7.i + _r8.i;
+ XMLVM_SOURCE_POSITION("String.java", 650)
+ XMLVM_CHECK_NPE(11)
+ _r6.o = ((java_lang_String*) _r11.o)->fields.java_lang_String.value_;
+ _r4 = _r3;
+ _r2 = _r1;
+ label20:;
+ XMLVM_SOURCE_POSITION("String.java", 651)
+ if (_r2.i >= _r0.i) goto label41;
+ XMLVM_SOURCE_POSITION("String.java", 652)
+ XMLVM_CHECK_NPE(10)
+ _r7.o = ((java_lang_String*) _r10.o)->fields.java_lang_String.value_;
+ _r1.i = _r2.i + 1;
+ XMLVM_CHECK_NPE(7)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r2.i);
+ _r7.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ _r3.i = _r4.i + 1;
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r4.i);
+ _r8.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ _r5.i = _r7.i - _r8.i;
+ if (_r5.i == 0) goto label49;
+ _r7 = _r5;
+ label37:;
+ XMLVM_SOURCE_POSITION("String.java", 653)
+ XMLVM_SOURCE_POSITION("String.java", 656)
+ XMLVM_EXIT_METHOD()
+ return _r7.i;
+ label38:;
+ XMLVM_CHECK_NPE(11)
+ _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
+ goto label14;
+ label41:;
+ XMLVM_CHECK_NPE(10)
+ _r7.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.count_;
+ XMLVM_CHECK_NPE(11)
+ _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
+ _r7.i = _r7.i - _r8.i;
+ _r3 = _r4;
+ _r1 = _r2;
+ goto label37;
+ label49:;
+ _r4 = _r3;
+ _r2 = _r1;
+ goto label20;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_String_compareToIgnoreCase___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_compareToIgnoreCase___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.String", "compareToIgnoreCase", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ _r12.o = me;
+ _r13.o = n1;
+ XMLVM_SOURCE_POSITION("String.java", 680)
+ XMLVM_CHECK_NPE(12)
+ _r3.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(13)
+ _r5.i = ((java_lang_String*) _r13.o)->fields.java_lang_String.offset_;
+ XMLVM_SOURCE_POSITION("String.java", 681)
+ XMLVM_CHECK_NPE(12)
+ _r9.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(12)
+ _r10.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.count_;
+ XMLVM_CHECK_NPE(13)
+ _r11.i = ((java_lang_String*) _r13.o)->fields.java_lang_String.count_;
+ if (_r10.i >= _r11.i) goto label37;
+ XMLVM_CHECK_NPE(12)
+ _r10.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.count_;
+ label14:;
+ _r2.i = _r9.i + _r10.i;
+ XMLVM_SOURCE_POSITION("String.java", 683)
+ XMLVM_CHECK_NPE(13)
+ _r8.o = ((java_lang_String*) _r13.o)->fields.java_lang_String.value_;
+ _r6 = _r5;
+ _r4 = _r3;
+ label20:;
+ XMLVM_SOURCE_POSITION("String.java", 684)
+ if (_r4.i >= _r2.i) goto label54;
+ XMLVM_SOURCE_POSITION("String.java", 685)
+ XMLVM_CHECK_NPE(12)
+ _r9.o = ((java_lang_String*) _r12.o)->fields.java_lang_String.value_;
+ _r3.i = _r4.i + 1;
+ XMLVM_CHECK_NPE(9)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r9.o, _r4.i);
+ _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r9.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ _r5.i = _r6.i + 1;
+ XMLVM_CHECK_NPE(8)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r8.o, _r6.i);
+ _r1.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r8.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i];
+ if (_r0.i != _r1.i) goto label40;
+ _r6 = _r5;
+ _r4 = _r3;
+ XMLVM_SOURCE_POSITION("String.java", 686)
+ goto label20;
+ label37:;
+ XMLVM_CHECK_NPE(13)
+ _r10.i = ((java_lang_String*) _r13.o)->fields.java_lang_String.count_;
+ goto label14;
+ label40:;
+ XMLVM_SOURCE_POSITION("String.java", 688)
+ XMLVM_CHECK_NPE(12)
+ _r0.i = java_lang_String_compareValue___char(_r12.o, _r0.i);
+ XMLVM_SOURCE_POSITION("String.java", 689)
+ XMLVM_CHECK_NPE(12)
+ _r1.i = java_lang_String_compareValue___char(_r12.o, _r1.i);
+ _r7.i = _r0.i - _r1.i;
+ if (_r7.i == 0) goto label62;
+ XMLVM_SOURCE_POSITION("String.java", 690)
+ _r9 = _r7;
+ label53:;
+ XMLVM_SOURCE_POSITION("String.java", 691)
+ XMLVM_SOURCE_POSITION("String.java", 694)
+ XMLVM_EXIT_METHOD()
+ return _r9.i;
+ label54:;
+ XMLVM_CHECK_NPE(12)
+ _r9.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.count_;
+ XMLVM_CHECK_NPE(13)
+ _r10.i = ((java_lang_String*) _r13.o)->fields.java_lang_String.count_;
+ _r9.i = _r9.i - _r10.i;
+ _r5 = _r6;
+ _r3 = _r4;
+ goto label53;
+ label62:;
+ _r6 = _r5;
+ _r4 = _r3;
+ goto label20;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_concat___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_concat___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.String", "concat", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ _r5.i = 0;
+ XMLVM_SOURCE_POSITION("String.java", 706)
+ XMLVM_CHECK_NPE(7)
+ _r1.i = ((java_lang_String*) _r7.o)->fields.java_lang_String.count_;
+ if (_r1.i != 0) goto label7;
+ _r1 = _r6;
+ label6:;
+ XMLVM_SOURCE_POSITION("String.java", 707)
+ XMLVM_SOURCE_POSITION("String.java", 716)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label7:;
+ XMLVM_SOURCE_POSITION("String.java", 710)
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
+ XMLVM_CHECK_NPE(7)
+ _r2.i = ((java_lang_String*) _r7.o)->fields.java_lang_String.count_;
+ _r1.i = _r1.i + _r2.i;
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r1.i);
+ XMLVM_SOURCE_POSITION("String.java", 711)
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
+ if (_r1.i <= 0) goto label27;
+ XMLVM_SOURCE_POSITION("String.java", 712)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_lang_String*) _r6.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r2.i, _r0.o, _r5.i, _r3.i);
+ label27:;
+ XMLVM_SOURCE_POSITION("String.java", 714)
+ XMLVM_CHECK_NPE(7)
+ _r1.o = ((java_lang_String*) _r7.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(7)
+ _r2.i = ((java_lang_String*) _r7.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
+ XMLVM_CHECK_NPE(7)
+ _r4.i = ((java_lang_String*) _r7.o)->fields.java_lang_String.count_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r2.i, _r0.o, _r3.i, _r4.i);
+ _r1.o = __NEW_java_lang_String();
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ XMLVM_CHECK_NPE(1)
+ java_lang_String___INIT____int_int_char_1ARRAY(_r1.o, _r5.i, _r2.i, _r0.o);
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_copyValueOf___char_1ARRAY(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_String)
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_copyValueOf___char_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.String", "copyValueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("String.java", 731)
+ _r0.o = __NEW_java_lang_String();
+ _r1.i = 0;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____char_1ARRAY_int_int(_r0.o, _r3.o, _r1.i, _r2.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_copyValueOf___char_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ XMLVM_CLASS_INIT(java_lang_String)
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_copyValueOf___char_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.lang.String", "copyValueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = n1;
+ _r2.i = n2;
+ _r3.i = n3;
+ XMLVM_SOURCE_POSITION("String.java", 753)
+ _r0.o = __NEW_java_lang_String();
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____char_1ARRAY_int_int(_r0.o, _r1.o, _r2.i, _r3.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_defaultCharset__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_defaultCharset__]
+ XMLVM_ENTER_METHOD("java.lang.String", "defaultCharset", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ _r4.o = me;
+ XMLVM_SOURCE_POSITION("String.java", 757)
+ _r1.o = java_lang_String_GET_DefaultCharset();
+ if (_r1.o != JAVA_NULL) goto label37;
+ XMLVM_SOURCE_POSITION("String.java", 758)
+ _r1.o = __NEW_org_apache_harmony_luni_util_PriviAction();
+ // "file.encoding"
+ _r2.o = xmlvm_create_java_string_from_pool(174);
+ // "ISO8859_1"
+ _r3.o = xmlvm_create_java_string_from_pool(116);
+ XMLVM_CHECK_NPE(1)
+ org_apache_harmony_luni_util_PriviAction___INIT____java_lang_String_java_lang_String(_r1.o, _r2.o, _r3.o);
+ _r0.o = java_security_AccessController_doPrivileged___java_security_PrivilegedAction(_r1.o);
+ _r0.o = _r0.o;
+ XMLVM_TRY_BEGIN(w3113aaac40b1c12)
+ // Begin try
+ XMLVM_SOURCE_POSITION("String.java", 764)
+ _r1.o = java_nio_charset_Charset_forName___java_lang_String(_r0.o);
+ java_lang_String_PUT_DefaultCharset( _r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3113aaac40b1c12)
+ XMLVM_CATCH_END(w3113aaac40b1c12)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3113aaac40b1c12)
+ label25:;
+ XMLVM_SOURCE_POSITION("String.java", 771)
+ _r1.o = java_lang_String_GET_DefaultCharset();
+ if (_r1.o != JAVA_NULL) goto label37;
+ XMLVM_SOURCE_POSITION("String.java", 772)
+ // "ISO-8859-1"
+ _r1.o = xmlvm_create_java_string_from_pool(175);
+ _r1.o = java_nio_charset_Charset_forName___java_lang_String(_r1.o);
+ java_lang_String_PUT_DefaultCharset( _r1.o);
+ label37:;
+ XMLVM_SOURCE_POSITION("String.java", 775)
+ _r1.o = java_lang_String_GET_DefaultCharset();
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label40:;
+ XMLVM_SOURCE_POSITION("String.java", 767)
+ java_lang_Thread* curThread_w3113aaac40b1c27 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w3113aaac40b1c27->fields.java_lang_Thread.xmlvmException_;
+ goto label25;
+ label42:;
+ XMLVM_SOURCE_POSITION("String.java", 765)
+ java_lang_Thread* curThread_w3113aaac40b1c31 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w3113aaac40b1c31->fields.java_lang_Thread.xmlvmException_;
+ goto label25;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_String_endsWith___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_endsWith___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.String", "endsWith", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("String.java", 790)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.count_;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
+ _r0.i = _r0.i - _r1.i;
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_lang_String_regionMatches___int_java_lang_String_int_int(_r3.o, _r0.i, _r4.o, _r1.i, _r2.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_String_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.String", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ _r10.o = me;
+ _r11.o = n1;
+ _r9.i = 1;
+ _r8.i = 0;
+ XMLVM_SOURCE_POSITION("String.java", 806)
+ if (_r11.o != _r10.o) goto label6;
+ _r5 = _r9;
+ label5:;
+ XMLVM_SOURCE_POSITION("String.java", 807)
+ XMLVM_SOURCE_POSITION("String.java", 823)
+ XMLVM_EXIT_METHOD()
+ return _r5.i;
+ label6:;
+ XMLVM_SOURCE_POSITION("String.java", 809)
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r5.i = XMLVM_ISA(_r11.o, __CLASS_java_lang_String);
+ if (_r5.i == 0) goto label60;
+ XMLVM_SOURCE_POSITION("String.java", 810)
+ _r0 = _r11;
+ _r0.o = _r0.o;
+ _r3 = _r0;
+ XMLVM_SOURCE_POSITION("String.java", 811)
+ XMLVM_CHECK_NPE(10)
+ _r1.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.hashCode_;
+ XMLVM_SOURCE_POSITION("String.java", 812)
+ XMLVM_CHECK_NPE(3)
+ _r4.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.hashCode_;
+ XMLVM_SOURCE_POSITION("String.java", 813)
+ XMLVM_CHECK_NPE(10)
+ _r5.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.count_;
+ XMLVM_CHECK_NPE(3)
+ _r6.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.count_;
+ if (_r5.i != _r6.i) goto label30;
+ if (_r1.i == _r4.i) goto label32;
+ if (_r1.i == 0) goto label32;
+ if (_r4.i == 0) goto label32;
+ label30:;
+ _r5 = _r8;
+ XMLVM_SOURCE_POSITION("String.java", 814)
+ goto label5;
+ label32:;
+ XMLVM_SOURCE_POSITION("String.java", 816)
+ _r2.i = 0;
+ label33:;
+ XMLVM_CHECK_NPE(10)
+ _r5.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.count_;
+ if (_r2.i >= _r5.i) goto label58;
+ XMLVM_SOURCE_POSITION("String.java", 817)
+ XMLVM_CHECK_NPE(10)
+ _r5.o = ((java_lang_String*) _r10.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(10)
+ _r6.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.offset_;
+ _r6.i = _r6.i + _r2.i;
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r6.i);
+ _r5.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i];
+ XMLVM_CHECK_NPE(3)
+ _r6.o = ((java_lang_String*) _r3.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(3)
+ _r7.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.offset_;
+ _r7.i = _r7.i + _r2.i;
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r7.i);
+ _r6.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i];
+ if (_r5.i == _r6.i) goto label55;
+ _r5 = _r8;
+ XMLVM_SOURCE_POSITION("String.java", 818)
+ goto label5;
+ label55:;
+ _r2.i = _r2.i + 1;
+ goto label33;
+ label58:;
+ _r5 = _r9;
+ XMLVM_SOURCE_POSITION("String.java", 821)
+ goto label5;
+ label60:;
+ _r5 = _r8;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_String_equalsIgnoreCase___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_equalsIgnoreCase___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.String", "equalsIgnoreCase", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ _r12.o = me;
+ _r13.o = n1;
+ _r11.i = 1;
+ _r10.i = 0;
+ XMLVM_SOURCE_POSITION("String.java", 836)
+ if (_r13.o != _r12.o) goto label6;
+ _r8 = _r11;
+ label5:;
+ XMLVM_SOURCE_POSITION("String.java", 837)
+ XMLVM_SOURCE_POSITION("String.java", 855)
+ XMLVM_EXIT_METHOD()
+ return _r8.i;
+ label6:;
+ XMLVM_SOURCE_POSITION("String.java", 839)
+ if (_r13.o == JAVA_NULL) goto label14;
+ XMLVM_CHECK_NPE(12)
+ _r8.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.count_;
+ XMLVM_CHECK_NPE(13)
+ _r9.i = ((java_lang_String*) _r13.o)->fields.java_lang_String.count_;
+ if (_r8.i == _r9.i) goto label16;
+ label14:;
+ _r8 = _r10;
+ XMLVM_SOURCE_POSITION("String.java", 840)
+ goto label5;
+ label16:;
+ XMLVM_SOURCE_POSITION("String.java", 843)
+ XMLVM_CHECK_NPE(12)
+ _r3.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(13)
+ _r5.i = ((java_lang_String*) _r13.o)->fields.java_lang_String.offset_;
+ XMLVM_SOURCE_POSITION("String.java", 844)
+ XMLVM_CHECK_NPE(12)
+ _r8.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(12)
+ _r9.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.count_;
+ _r2.i = _r8.i + _r9.i;
+ XMLVM_SOURCE_POSITION("String.java", 846)
+ XMLVM_CHECK_NPE(13)
+ _r7.o = ((java_lang_String*) _r13.o)->fields.java_lang_String.value_;
+ _r6 = _r5;
+ _r4 = _r3;
+ label30:;
+ XMLVM_SOURCE_POSITION("String.java", 847)
+ if (_r4.i >= _r2.i) goto label66;
+ XMLVM_SOURCE_POSITION("String.java", 848)
+ XMLVM_CHECK_NPE(12)
+ _r8.o = ((java_lang_String*) _r12.o)->fields.java_lang_String.value_;
+ _r3.i = _r4.i + 1;
+ XMLVM_CHECK_NPE(8)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r8.o, _r4.i);
+ _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r8.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ _r5.i = _r6.i + 1;
+ XMLVM_CHECK_NPE(7)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r6.i);
+ _r1.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i];
+ if (_r0.i == _r1.i) goto label68;
+ XMLVM_CHECK_NPE(12)
+ _r8.i = java_lang_String_toUpperCase___char(_r12.o, _r0.i);
+ XMLVM_CHECK_NPE(12)
+ _r9.i = java_lang_String_toUpperCase___char(_r12.o, _r1.i);
+ if (_r8.i == _r9.i) goto label68;
+ XMLVM_CHECK_NPE(12)
+ _r8.i = java_lang_String_toLowerCase___char(_r12.o, _r0.i);
+ XMLVM_CHECK_NPE(12)
+ _r9.i = java_lang_String_toLowerCase___char(_r12.o, _r1.i);
+ if (_r8.i == _r9.i) goto label68;
+ _r8 = _r10;
+ XMLVM_SOURCE_POSITION("String.java", 852)
+ goto label5;
+ label66:;
+ _r8 = _r11;
+ goto label5;
+ label68:;
+ _r6 = _r5;
+ _r4 = _r3;
+ goto label30;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_getBytes__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_getBytes__]
+ XMLVM_ENTER_METHOD("java.lang.String", "getBytes", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r6.o = me;
+ XMLVM_SOURCE_POSITION("String.java", 867)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = java_lang_String_defaultCharset__(_r6.o);
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_lang_String*) _r6.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(6)
+ _r4.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(6)
+ _r5.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
+ _r3.o = java_nio_CharBuffer_wrap___char_1ARRAY_int_int(_r3.o, _r4.i, _r5.i);
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_nio_charset_Charset_encode___java_nio_CharBuffer(_r2.o, _r3.o);
+ XMLVM_SOURCE_POSITION("String.java", 869)
+ XMLVM_CHECK_NPE(0)
+ _r2.i = java_nio_Buffer_limit__(_r0.o);
+ XMLVM_CLASS_INIT(byte)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r2.i);
+ XMLVM_SOURCE_POSITION("String.java", 870)
+ XMLVM_CHECK_NPE(0)
+ java_nio_ByteBuffer_get___byte_1ARRAY(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("String.java", 871)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+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)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_getBytes___int_int_byte_1ARRAY_int]
+ XMLVM_ENTER_METHOD("java.lang.String", "getBytes", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ _r4.o = me;
+ _r5.i = n1;
+ _r6.i = n2;
+ _r7.o = n3;
+ _r8.i = n4;
+ XMLVM_SOURCE_POSITION("String.java", 895)
+ if (_r5.i < 0) goto label39;
+ if (_r5.i > _r6.i) goto label39;
+ XMLVM_CHECK_NPE(4)
+ _r3.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
+ if (_r6.i > _r3.i) goto label39;
+ XMLVM_SOURCE_POSITION("String.java", 896)
+ XMLVM_CHECK_NPE(4)
+ _r3.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.offset_;
+ _r6.i = _r6.i + _r3.i;
+ XMLVM_TRY_BEGIN(w3113aaac45b1c14)
+ // Begin try
+ XMLVM_SOURCE_POSITION("String.java", 898)
+ XMLVM_CHECK_NPE(4)
+ _r3.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.offset_;
+ _r1.i = _r3.i + _r5.i;
+ _r2 = _r8;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3113aaac45b1c14)
+ XMLVM_CATCH_END(w3113aaac45b1c14)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3113aaac45b1c14)
+ label16:;
+ XMLVM_TRY_BEGIN(w3113aaac45b1c16)
+ // Begin try
+ if (_r1.i >= _r6.i) { XMLVM_MEMCPY(curThread_w3113aaac45b1c16->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3113aaac45b1c16, sizeof(XMLVM_JMP_BUF)); goto label45; };
+ XMLVM_SOURCE_POSITION("String.java", 899)
+ _r8.i = _r2.i + 1;
+ XMLVM_CHECK_NPE(4)
+ _r3.o = ((java_lang_String*) _r4.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r1.i);
+ _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ _r3.i = (_r3.i << 24) >> 24;
+ XMLVM_CHECK_NPE(7)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r2.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r3.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3113aaac45b1c16)
+ XMLVM_CATCH_END(w3113aaac45b1c16)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3113aaac45b1c16)
+ _r1.i = _r1.i + 1;
+ _r2 = _r8;
+ goto label16;
+ label31:;
+ XMLVM_SOURCE_POSITION("String.java", 901)
+ java_lang_Thread* curThread_w3113aaac45b1c22 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r3.o = curThread_w3113aaac45b1c22->fields.java_lang_Thread.xmlvmException_;
+ _r0 = _r3;
+ XMLVM_SOURCE_POSITION("String.java", 902)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r3.o)
+ label39:;
+ XMLVM_SOURCE_POSITION("String.java", 905)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r3.o)
+ label45:;
+ XMLVM_SOURCE_POSITION("String.java", 907)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_getBytes___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_getBytes___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.String", "getBytes", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ XMLVM_SOURCE_POSITION("String.java", 919)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = java_lang_String_getCharset___java_lang_String(_r6.o, _r7.o);
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_lang_String*) _r6.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(6)
+ _r4.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(6)
+ _r5.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
+ _r3.o = java_nio_CharBuffer_wrap___char_1ARRAY_int_int(_r3.o, _r4.i, _r5.i);
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_nio_charset_Charset_encode___java_nio_CharBuffer(_r2.o, _r3.o);
+ XMLVM_SOURCE_POSITION("String.java", 921)
+ XMLVM_CHECK_NPE(0)
+ _r2.i = java_nio_Buffer_limit__(_r0.o);
+ XMLVM_CLASS_INIT(byte)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r2.i);
+ XMLVM_SOURCE_POSITION("String.java", 922)
+ XMLVM_CHECK_NPE(0)
+ java_nio_ByteBuffer_get___byte_1ARRAY(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("String.java", 923)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_getBytes___java_nio_charset_Charset(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_getBytes___java_nio_charset_Charset]
+ XMLVM_ENTER_METHOD("java.lang.String", "getBytes", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r5.o = me;
+ _r6.o = n1;
+ XMLVM_SOURCE_POSITION("String.java", 945)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(5)
+ _r3.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(5)
+ _r4.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.count_;
+ _r2.o = java_nio_CharBuffer_wrap___char_1ARRAY_int_int(_r2.o, _r3.i, _r4.i);
+ XMLVM_CHECK_NPE(6)
+ _r0.o = java_nio_charset_Charset_encode___java_nio_CharBuffer(_r6.o, _r2.o);
+ XMLVM_SOURCE_POSITION("String.java", 947)
+ XMLVM_CHECK_NPE(0)
+ _r2.i = java_nio_Buffer_limit__(_r0.o);
+ XMLVM_CLASS_INIT(byte)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r2.i);
+ XMLVM_SOURCE_POSITION("String.java", 948)
+ XMLVM_CHECK_NPE(0)
+ java_nio_ByteBuffer_get___byte_1ARRAY(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("String.java", 949)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_getCharset___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_getCharset___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.String", "getCharset", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("String.java", 954)
+ _r0.o = java_lang_String_GET_lastCharset();
+ if (_r0.o == JAVA_NULL) goto label14;
+ XMLVM_SOURCE_POSITION("String.java", 955)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = java_nio_charset_Charset_name__(_r0.o);
+ XMLVM_CHECK_NPE(4)
+ _r2.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r4.o, _r2.o);
+ if (_r2.i != 0) goto label20;
+ label14:;
+ XMLVM_TRY_BEGIN(w3113aaac48b1c11)
+ // Begin try
+ XMLVM_SOURCE_POSITION("String.java", 957)
+ _r0.o = java_nio_charset_Charset_forName___java_lang_String(_r4.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3113aaac48b1c11)
+ XMLVM_CATCH_END(w3113aaac48b1c11)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3113aaac48b1c11)
+ XMLVM_SOURCE_POSITION("String.java", 965)
+ java_lang_String_PUT_lastCharset( _r0.o);
+ label20:;
+ XMLVM_SOURCE_POSITION("String.java", 967)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label21:;
+ XMLVM_SOURCE_POSITION("String.java", 958)
+ java_lang_Thread* curThread_w3113aaac48b1c19 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w3113aaac48b1c19->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_SOURCE_POSITION("String.java", 959)
+
+
+ // Red class access removed: java.io.UnsupportedEncodingException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.io.UnsupportedEncodingException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.io.UnsupportedEncodingException::initCause
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.io.UnsupportedEncodingException::check-cast
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.io.UnsupportedEncodingException::check-cast
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r3.o)
+ label36:;
+ XMLVM_SOURCE_POSITION("String.java", 961)
+ java_lang_Thread* curThread_w3113aaac48b1c29 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w3113aaac48b1c29->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_SOURCE_POSITION("String.java", 962)
+
+
+ // Red class access removed: java.io.UnsupportedEncodingException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.io.UnsupportedEncodingException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.io.UnsupportedEncodingException::initCause
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.io.UnsupportedEncodingException::check-cast
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.io.UnsupportedEncodingException::check-cast
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r3.o)
+ //XMLVM_END_WRAPPER
+}
+
+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)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_getChars___int_int_char_1ARRAY_int]
+ XMLVM_ENTER_METHOD("java.lang.String", "getChars", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r3.o = me;
+ _r4.i = n1;
+ _r5.i = n2;
+ _r6.o = n3;
+ _r7.i = n4;
+ XMLVM_SOURCE_POSITION("String.java", 992)
+ if (_r4.i < 0) goto label19;
+ if (_r4.i > _r5.i) goto label19;
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.count_;
+ if (_r5.i > _r0.i) goto label19;
+ XMLVM_SOURCE_POSITION("String.java", 993)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_lang_String*) _r3.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.offset_;
+ _r1.i = _r1.i + _r4.i;
+ _r2.i = _r5.i - _r4.i;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r6.o, _r7.i, _r2.i);
+ XMLVM_SOURCE_POSITION("String.java", 997)
+ XMLVM_EXIT_METHOD()
+ return;
+ label19:;
+ XMLVM_SOURCE_POSITION("String.java", 995)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_String_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_hashCode__]
+ XMLVM_ENTER_METHOD("java.lang.String", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ XMLVM_SOURCE_POSITION("String.java", 1001)
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.hashCode_;
+ if (_r2.i != 0) goto label34;
+ XMLVM_SOURCE_POSITION("String.java", 1002)
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
+ if (_r2.i != 0) goto label10;
+ XMLVM_SOURCE_POSITION("String.java", 1003)
+ _r2.i = 0;
+ label9:;
+ XMLVM_SOURCE_POSITION("String.java", 1011)
+ XMLVM_EXIT_METHOD()
+ return _r2.i;
+ label10:;
+ XMLVM_SOURCE_POSITION("String.java", 1005)
+ _r0.i = 0;
+ XMLVM_SOURCE_POSITION("String.java", 1006)
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.offset_;
+ label13:;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
+ XMLVM_CHECK_NPE(4)
+ _r3.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.offset_;
+ _r2.i = _r2.i + _r3.i;
+ if (_r1.i >= _r2.i) goto label32;
+ XMLVM_SOURCE_POSITION("String.java", 1007)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_lang_String*) _r4.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
+ _r2.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ _r3.i = _r0.i << 5;
+ _r3.i = _r3.i - _r0.i;
+ _r0.i = _r2.i + _r3.i;
+ _r1.i = _r1.i + 1;
+ goto label13;
+ label32:;
+ XMLVM_SOURCE_POSITION("String.java", 1009)
+ XMLVM_CHECK_NPE(4)
+ ((java_lang_String*) _r4.o)->fields.java_lang_String.hashCode_ = _r0.i;
+ label34:;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.hashCode_;
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_String_indexOf___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_indexOf___int]
+ XMLVM_ENTER_METHOD("java.lang.String", "indexOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("String.java", 1025)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_String_indexOf___int_int(_r1.o, _r2.i, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_String_indexOf___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_indexOf___int_int]
+ XMLVM_ENTER_METHOD("java.lang.String", "indexOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r4.o = me;
+ _r5.i = n1;
+ _r6.i = n2;
+ _r3.i = 65535;
+ XMLVM_SOURCE_POSITION("String.java", 1041)
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
+ if (_r6.i >= _r2.i) goto label68;
+ XMLVM_SOURCE_POSITION("String.java", 1042)
+ if (_r6.i >= 0) goto label10;
+ XMLVM_SOURCE_POSITION("String.java", 1043)
+ _r6.i = 0;
+ label10:;
+ XMLVM_SOURCE_POSITION("String.java", 1045)
+ if (_r5.i < 0) goto label39;
+ if (_r5.i > _r3.i) goto label39;
+ XMLVM_SOURCE_POSITION("String.java", 1046)
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.offset_;
+ _r1.i = _r2.i + _r6.i;
+ label18:;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(4)
+ _r3.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
+ _r2.i = _r2.i + _r3.i;
+ if (_r1.i >= _r2.i) goto label68;
+ XMLVM_SOURCE_POSITION("String.java", 1047)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_lang_String*) _r4.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
+ _r2.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ if (_r2.i != _r5.i) goto label36;
+ XMLVM_SOURCE_POSITION("String.java", 1048)
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.offset_;
+ _r2.i = _r1.i - _r2.i;
+ label35:;
+ XMLVM_SOURCE_POSITION("String.java", 1062)
+ XMLVM_EXIT_METHOD()
+ return _r2.i;
+ label36:;
+ _r1.i = _r1.i + 1;
+ goto label18;
+ label39:;
+ XMLVM_SOURCE_POSITION("String.java", 1051)
+ if (_r5.i <= _r3.i) goto label68;
+ _r2.i = 1114111;
+ if (_r5.i > _r2.i) goto label68;
+ XMLVM_SOURCE_POSITION("String.java", 1052)
+ _r1 = _r6;
+ label47:;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
+ if (_r1.i >= _r2.i) goto label68;
+ XMLVM_SOURCE_POSITION("String.java", 1053)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = java_lang_String_codePointAt___int(_r4.o, _r1.i);
+ if (_r0.i != _r5.i) goto label59;
+ XMLVM_SOURCE_POSITION("String.java", 1054)
+ _r2 = _r1;
+ XMLVM_SOURCE_POSITION("String.java", 1055)
+ goto label35;
+ label59:;
+ XMLVM_SOURCE_POSITION("String.java", 1056)
+ _r2.i = 65536;
+ if (_r0.i < _r2.i) goto label65;
+ XMLVM_SOURCE_POSITION("String.java", 1057)
+ _r1.i = _r1.i + 1;
+ label65:;
+ _r1.i = _r1.i + 1;
+ goto label47;
+ label68:;
+ _r2.i = -1;
+ goto label35;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_String_indexOf___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_indexOf___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.String", "indexOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("String.java", 1078)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_String_indexOf___java_lang_String_int(_r1.o, _r2.o, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_String_indexOf___java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_indexOf___java_lang_String_int]
+ XMLVM_ENTER_METHOD("java.lang.String", "indexOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ _r11.o = me;
+ _r12.o = n1;
+ _r13.i = n2;
+ _r10.i = -1;
+ XMLVM_SOURCE_POSITION("String.java", 1096)
+ if (_r13.i >= 0) goto label4;
+ XMLVM_SOURCE_POSITION("String.java", 1097)
+ _r13.i = 0;
+ label4:;
+ XMLVM_SOURCE_POSITION("String.java", 1099)
+ XMLVM_CHECK_NPE(12)
+ _r5.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.count_;
+ if (_r5.i <= 0) goto label64;
+ XMLVM_SOURCE_POSITION("String.java", 1100)
+ XMLVM_SOURCE_POSITION("String.java", 1101)
+ _r8.i = _r5.i + _r13.i;
+ XMLVM_CHECK_NPE(11)
+ _r9.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
+ if (_r8.i <= _r9.i) goto label16;
+ _r8 = _r10;
+ label15:;
+ XMLVM_SOURCE_POSITION("String.java", 1102)
+ XMLVM_SOURCE_POSITION("String.java", 1123)
+ XMLVM_EXIT_METHOD()
+ return _r8.i;
+ label16:;
+ XMLVM_SOURCE_POSITION("String.java", 1104)
+ XMLVM_CHECK_NPE(12)
+ _r7.o = ((java_lang_String*) _r12.o)->fields.java_lang_String.value_;
+ XMLVM_SOURCE_POSITION("String.java", 1105)
+ XMLVM_CHECK_NPE(12)
+ _r6.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.offset_;
+ XMLVM_SOURCE_POSITION("String.java", 1106)
+ XMLVM_CHECK_NPE(7)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r6.i);
+ _r1.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i];
+ _r0.i = _r6.i + _r5.i;
+ label24:;
+ XMLVM_SOURCE_POSITION("String.java", 1107)
+ XMLVM_SOURCE_POSITION("String.java", 1109)
+ XMLVM_CHECK_NPE(11)
+ _r2.i = java_lang_String_indexOf___int_int(_r11.o, _r1.i, _r13.i);
+ if (_r2.i == _r10.i) goto label36;
+ XMLVM_SOURCE_POSITION("String.java", 1110)
+ _r8.i = _r5.i + _r2.i;
+ XMLVM_CHECK_NPE(11)
+ _r9.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
+ if (_r8.i <= _r9.i) goto label38;
+ label36:;
+ _r8 = _r10;
+ XMLVM_SOURCE_POSITION("String.java", 1111)
+ goto label15;
+ label38:;
+ XMLVM_SOURCE_POSITION("String.java", 1113)
+ XMLVM_CHECK_NPE(11)
+ _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.offset_;
+ _r3.i = _r8.i + _r2.i;
+ _r4 = _r6;
+ label43:;
+ XMLVM_SOURCE_POSITION("String.java", 1114)
+ _r4.i = _r4.i + 1;
+ if (_r4.i >= _r0.i) goto label57;
+ XMLVM_CHECK_NPE(11)
+ _r8.o = ((java_lang_String*) _r11.o)->fields.java_lang_String.value_;
+ _r3.i = _r3.i + 1;
+ XMLVM_CHECK_NPE(8)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r8.o, _r3.i);
+ _r8.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r8.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ XMLVM_CHECK_NPE(7)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r4.i);
+ _r9.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ if (_r8.i == _r9.i) goto label43;
+ label57:;
+ XMLVM_SOURCE_POSITION("String.java", 1117)
+ if (_r4.i != _r0.i) goto label61;
+ _r8 = _r2;
+ XMLVM_SOURCE_POSITION("String.java", 1118)
+ goto label15;
+ label61:;
+ XMLVM_SOURCE_POSITION("String.java", 1120)
+ _r13.i = _r2.i + 1;
+ XMLVM_SOURCE_POSITION("String.java", 1121)
+ goto label24;
+ label64:;
+ XMLVM_CHECK_NPE(11)
+ _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
+ if (_r13.i >= _r8.i) goto label70;
+ _r8 = _r13;
+ goto label15;
+ label70:;
+ XMLVM_CHECK_NPE(11)
+ _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
+ goto label15;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_intern__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_intern__]
+ XMLVM_ENTER_METHOD("java.lang.String", "intern", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("String.java", 1136)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_String_lastIndexOf___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_lastIndexOf___int]
+ XMLVM_ENTER_METHOD("java.lang.String", "lastIndexOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.i = n1;
+ XMLVM_SOURCE_POSITION("String.java", 1150)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_String*) _r2.o)->fields.java_lang_String.count_;
+ _r1.i = 1;
+ _r0.i = _r0.i - _r1.i;
+ XMLVM_CHECK_NPE(2)
+ _r0.i = java_lang_String_lastIndexOf___int_int(_r2.o, _r3.i, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_String_lastIndexOf___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_lastIndexOf___int_int]
+ XMLVM_ENTER_METHOD("java.lang.String", "lastIndexOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r5.o = me;
+ _r6.i = n1;
+ _r7.i = n2;
+ _r4.i = 65535;
+ XMLVM_SOURCE_POSITION("String.java", 1166)
+ if (_r7.i < 0) goto label67;
+ XMLVM_SOURCE_POSITION("String.java", 1167)
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.count_;
+ if (_r7.i < _r2.i) goto label14;
+ XMLVM_SOURCE_POSITION("String.java", 1168)
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.count_;
+ _r3.i = 1;
+ _r7.i = _r2.i - _r3.i;
+ label14:;
+ XMLVM_SOURCE_POSITION("String.java", 1170)
+ if (_r6.i < 0) goto label40;
+ if (_r6.i > _r4.i) goto label40;
+ XMLVM_SOURCE_POSITION("String.java", 1171)
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_;
+ _r1.i = _r2.i + _r7.i;
+ label22:;
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_;
+ if (_r1.i < _r2.i) goto label67;
+ XMLVM_SOURCE_POSITION("String.java", 1172)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
+ _r2.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ if (_r2.i != _r6.i) goto label37;
+ XMLVM_SOURCE_POSITION("String.java", 1173)
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_;
+ _r2.i = _r1.i - _r2.i;
+ label36:;
+ XMLVM_SOURCE_POSITION("String.java", 1187)
+ XMLVM_EXIT_METHOD()
+ return _r2.i;
+ label37:;
+ _r1.i = _r1.i + -1;
+ goto label22;
+ label40:;
+ XMLVM_SOURCE_POSITION("String.java", 1176)
+ if (_r6.i <= _r4.i) goto label67;
+ _r2.i = 1114111;
+ if (_r6.i > _r2.i) goto label67;
+ XMLVM_SOURCE_POSITION("String.java", 1177)
+ _r1 = _r7;
+ label48:;
+ if (_r1.i < 0) goto label67;
+ XMLVM_SOURCE_POSITION("String.java", 1178)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = java_lang_String_codePointAt___int(_r5.o, _r1.i);
+ if (_r0.i != _r6.i) goto label58;
+ XMLVM_SOURCE_POSITION("String.java", 1179)
+ _r2 = _r1;
+ XMLVM_SOURCE_POSITION("String.java", 1180)
+ goto label36;
+ label58:;
+ XMLVM_SOURCE_POSITION("String.java", 1181)
+ _r2.i = 65536;
+ if (_r0.i < _r2.i) goto label64;
+ XMLVM_SOURCE_POSITION("String.java", 1182)
+ _r1.i = _r1.i + -1;
+ label64:;
+ _r1.i = _r1.i + -1;
+ goto label48;
+ label67:;
+ _r2.i = -1;
+ goto label36;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_String_lastIndexOf___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_lastIndexOf___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.String", "lastIndexOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("String.java", 1204)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_String*) _r1.o)->fields.java_lang_String.count_;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_String_lastIndexOf___java_lang_String_int(_r1.o, _r2.o, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_String_lastIndexOf___java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_lastIndexOf___java_lang_String_int]
+ XMLVM_ENTER_METHOD("java.lang.String", "lastIndexOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ _r11.o = me;
+ _r12.o = n1;
+ _r13.i = n2;
+ _r10.i = -1;
+ XMLVM_SOURCE_POSITION("String.java", 1222)
+ XMLVM_CHECK_NPE(12)
+ _r5.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.count_;
+ XMLVM_SOURCE_POSITION("String.java", 1223)
+ XMLVM_CHECK_NPE(11)
+ _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
+ if (_r5.i > _r8.i) goto label72;
+ if (_r13.i < 0) goto label72;
+ XMLVM_SOURCE_POSITION("String.java", 1224)
+ if (_r5.i <= 0) goto label63;
+ XMLVM_SOURCE_POSITION("String.java", 1225)
+ XMLVM_CHECK_NPE(11)
+ _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
+ _r8.i = _r8.i - _r5.i;
+ if (_r13.i <= _r8.i) goto label20;
+ XMLVM_SOURCE_POSITION("String.java", 1226)
+ XMLVM_CHECK_NPE(11)
+ _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
+ _r13.i = _r8.i - _r5.i;
+ label20:;
+ XMLVM_SOURCE_POSITION("String.java", 1229)
+ XMLVM_CHECK_NPE(12)
+ _r7.o = ((java_lang_String*) _r12.o)->fields.java_lang_String.value_;
+ XMLVM_SOURCE_POSITION("String.java", 1230)
+ XMLVM_CHECK_NPE(12)
+ _r6.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.offset_;
+ XMLVM_SOURCE_POSITION("String.java", 1231)
+ XMLVM_CHECK_NPE(7)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r6.i);
+ _r1.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i];
+ _r0.i = _r6.i + _r5.i;
+ label28:;
+ XMLVM_SOURCE_POSITION("String.java", 1232)
+ XMLVM_SOURCE_POSITION("String.java", 1234)
+ XMLVM_CHECK_NPE(11)
+ _r2.i = java_lang_String_lastIndexOf___int_int(_r11.o, _r1.i, _r13.i);
+ if (_r2.i != _r10.i) goto label36;
+ XMLVM_SOURCE_POSITION("String.java", 1235)
+ _r8 = _r10;
+ label35:;
+ XMLVM_SOURCE_POSITION("String.java", 1236)
+ XMLVM_SOURCE_POSITION("String.java", 1250)
+ XMLVM_EXIT_METHOD()
+ return _r8.i;
+ label36:;
+ XMLVM_SOURCE_POSITION("String.java", 1238)
+ XMLVM_CHECK_NPE(11)
+ _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.offset_;
+ _r3.i = _r8.i + _r2.i;
+ _r4 = _r6;
+ label41:;
+ XMLVM_SOURCE_POSITION("String.java", 1239)
+ _r4.i = _r4.i + 1;
+ if (_r4.i >= _r0.i) goto label55;
+ XMLVM_CHECK_NPE(11)
+ _r8.o = ((java_lang_String*) _r11.o)->fields.java_lang_String.value_;
+ _r3.i = _r3.i + 1;
+ XMLVM_CHECK_NPE(8)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r8.o, _r3.i);
+ _r8.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r8.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ XMLVM_CHECK_NPE(7)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r4.i);
+ _r9.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ if (_r8.i == _r9.i) goto label41;
+ label55:;
+ XMLVM_SOURCE_POSITION("String.java", 1242)
+ if (_r4.i != _r0.i) goto label59;
+ _r8 = _r2;
+ XMLVM_SOURCE_POSITION("String.java", 1243)
+ goto label35;
+ label59:;
+ XMLVM_SOURCE_POSITION("String.java", 1245)
+ _r8.i = 1;
+ _r13.i = _r2.i - _r8.i;
+ XMLVM_SOURCE_POSITION("String.java", 1246)
+ goto label28;
+ label63:;
+ XMLVM_SOURCE_POSITION("String.java", 1248)
+ XMLVM_CHECK_NPE(11)
+ _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
+ if (_r13.i >= _r8.i) goto label69;
+ _r8 = _r13;
+ goto label35;
+ label69:;
+ XMLVM_CHECK_NPE(11)
+ _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
+ goto label35;
+ label72:;
+ _r8 = _r10;
+ goto label35;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_String_length__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_length__]
+ XMLVM_ENTER_METHOD("java.lang.String", "length", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("String.java", 1259)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_String*) _r1.o)->fields.java_lang_String.count_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+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)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_regionMatches___int_java_lang_String_int_int]
+ XMLVM_ENTER_METHOD("java.lang.String", "regionMatches", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ _r8.o = me;
+ _r9.i = n1;
+ _r10.o = n2;
+ _r11.i = n3;
+ _r12.i = n4;
+ _r7.i = 1;
+ _r6.i = 0;
+ XMLVM_SOURCE_POSITION("String.java", 1281)
+ XMLVM_CHECK_NPE(10)
+ _r3.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.count_;
+ _r3.i = _r3.i - _r11.i;
+ if (_r3.i < _r12.i) goto label9;
+ if (_r11.i >= 0) goto label11;
+ label9:;
+ _r3 = _r6;
+ label10:;
+ XMLVM_SOURCE_POSITION("String.java", 1282)
+ XMLVM_SOURCE_POSITION("String.java", 1296)
+ XMLVM_EXIT_METHOD()
+ return _r3.i;
+ label11:;
+ XMLVM_SOURCE_POSITION("String.java", 1284)
+ if (_r9.i < 0) goto label18;
+ XMLVM_CHECK_NPE(8)
+ _r3.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.count_;
+ _r3.i = _r3.i - _r9.i;
+ if (_r3.i >= _r12.i) goto label20;
+ label18:;
+ _r3 = _r6;
+ XMLVM_SOURCE_POSITION("String.java", 1285)
+ goto label10;
+ label20:;
+ XMLVM_SOURCE_POSITION("String.java", 1287)
+ if (_r12.i > 0) goto label24;
+ _r3 = _r7;
+ XMLVM_SOURCE_POSITION("String.java", 1288)
+ goto label10;
+ label24:;
+ XMLVM_SOURCE_POSITION("String.java", 1290)
+ XMLVM_CHECK_NPE(8)
+ _r3.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.offset_;
+ _r1.i = _r3.i + _r9.i;
+ XMLVM_CHECK_NPE(10)
+ _r3.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.offset_;
+ _r2.i = _r3.i + _r11.i;
+ _r0.i = 0;
+ label33:;
+ XMLVM_SOURCE_POSITION("String.java", 1291)
+ if (_r0.i >= _r12.i) goto label54;
+ XMLVM_SOURCE_POSITION("String.java", 1292)
+ XMLVM_CHECK_NPE(8)
+ _r3.o = ((java_lang_String*) _r8.o)->fields.java_lang_String.value_;
+ _r4.i = _r1.i + _r0.i;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ XMLVM_CHECK_NPE(10)
+ _r4.o = ((java_lang_String*) _r10.o)->fields.java_lang_String.value_;
+ _r5.i = _r2.i + _r0.i;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r5.i);
+ _r4.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i];
+ if (_r3.i == _r4.i) goto label51;
+ _r3 = _r6;
+ XMLVM_SOURCE_POSITION("String.java", 1293)
+ goto label10;
+ label51:;
+ _r0.i = _r0.i + 1;
+ goto label33;
+ label54:;
+ _r3 = _r7;
+ goto label10;
+ //XMLVM_END_WRAPPER
+}
+
+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)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_regionMatches___boolean_int_java_lang_String_int_int]
+ XMLVM_ENTER_METHOD("java.lang.String", "regionMatches", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ XMLVMElem _r14;
+ _r9.o = me;
+ _r10.i = n1;
+ _r11.i = n2;
+ _r12.o = n3;
+ _r13.i = n4;
+ _r14.i = n5;
+ _r8.i = 0;
+ XMLVM_SOURCE_POSITION("String.java", 1321)
+ if (_r10.i != 0) goto label8;
+ XMLVM_SOURCE_POSITION("String.java", 1322)
+ XMLVM_CHECK_NPE(9)
+ _r6.i = java_lang_String_regionMatches___int_java_lang_String_int_int(_r9.o, _r11.i, _r12.o, _r13.i, _r14.i);
+ label7:;
+ XMLVM_SOURCE_POSITION("String.java", 1346)
+ XMLVM_EXIT_METHOD()
+ return _r6.i;
+ label8:;
+ XMLVM_SOURCE_POSITION("String.java", 1325)
+ if (_r12.o == JAVA_NULL) goto label80;
+ XMLVM_SOURCE_POSITION("String.java", 1326)
+ if (_r11.i < 0) goto label17;
+ XMLVM_CHECK_NPE(9)
+ _r6.i = ((java_lang_String*) _r9.o)->fields.java_lang_String.count_;
+ _r6.i = _r6.i - _r11.i;
+ if (_r14.i <= _r6.i) goto label19;
+ label17:;
+ _r6 = _r8;
+ XMLVM_SOURCE_POSITION("String.java", 1327)
+ goto label7;
+ label19:;
+ XMLVM_SOURCE_POSITION("String.java", 1329)
+ if (_r13.i < 0) goto label26;
+ XMLVM_CHECK_NPE(12)
+ _r6.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.count_;
+ _r6.i = _r6.i - _r13.i;
+ if (_r14.i <= _r6.i) goto label28;
+ label26:;
+ _r6 = _r8;
+ XMLVM_SOURCE_POSITION("String.java", 1330)
+ goto label7;
+ label28:;
+ XMLVM_SOURCE_POSITION("String.java", 1333)
+ XMLVM_CHECK_NPE(9)
+ _r6.i = ((java_lang_String*) _r9.o)->fields.java_lang_String.offset_;
+ _r11.i = _r11.i + _r6.i;
+ XMLVM_SOURCE_POSITION("String.java", 1334)
+ XMLVM_CHECK_NPE(12)
+ _r6.i = ((java_lang_String*) _r12.o)->fields.java_lang_String.offset_;
+ _r13.i = _r13.i + _r6.i;
+ _r2.i = _r11.i + _r14.i;
+ XMLVM_SOURCE_POSITION("String.java", 1337)
+ XMLVM_CHECK_NPE(12)
+ _r4.o = ((java_lang_String*) _r12.o)->fields.java_lang_String.value_;
+ _r3 = _r13;
+ _r5 = _r11;
+ label40:;
+ XMLVM_SOURCE_POSITION("String.java", 1338)
+ if (_r5.i >= _r2.i) goto label76;
+ XMLVM_SOURCE_POSITION("String.java", 1339)
+ XMLVM_CHECK_NPE(9)
+ _r6.o = ((java_lang_String*) _r9.o)->fields.java_lang_String.value_;
+ _r11.i = _r5.i + 1;
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r5.i);
+ _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i];
+ _r13.i = _r3.i + 1;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r3.i);
+ _r1.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ if (_r0.i == _r1.i) goto label86;
+ XMLVM_CHECK_NPE(9)
+ _r6.i = java_lang_String_toUpperCase___char(_r9.o, _r0.i);
+ XMLVM_CHECK_NPE(9)
+ _r7.i = java_lang_String_toUpperCase___char(_r9.o, _r1.i);
+ if (_r6.i == _r7.i) goto label86;
+ XMLVM_CHECK_NPE(9)
+ _r6.i = java_lang_String_toLowerCase___char(_r9.o, _r0.i);
+ XMLVM_CHECK_NPE(9)
+ _r7.i = java_lang_String_toLowerCase___char(_r9.o, _r1.i);
+ if (_r6.i == _r7.i) goto label86;
+ _r6 = _r8;
+ XMLVM_SOURCE_POSITION("String.java", 1343)
+ goto label7;
+ label76:;
+ _r6.i = 1;
+ _r13 = _r3;
+ _r11 = _r5;
+ goto label7;
+ label80:;
+ XMLVM_SOURCE_POSITION("String.java", 1348)
+ _r6.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(6)
+ java_lang_NullPointerException___INIT___(_r6.o);
+ XMLVM_THROW_CUSTOM(_r6.o)
+ label86:;
+ _r3 = _r13;
+ _r5 = _r11;
+ goto label40;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_replace___char_char(JAVA_OBJECT me, JAVA_CHAR n1, JAVA_CHAR n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_replace___char_char]
+ XMLVM_ENTER_METHOD("java.lang.String", "replace", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ _r8.o = me;
+ _r9.i = n1;
+ _r10.i = n2;
+ _r7.i = -1;
+ _r6.i = 0;
+ XMLVM_SOURCE_POSITION("String.java", 1362)
+ XMLVM_CHECK_NPE(8)
+ _r1.i = java_lang_String_indexOf___int_int(_r8.o, _r9.i, _r6.i);
+ if (_r1.i != _r7.i) goto label10;
+ XMLVM_SOURCE_POSITION("String.java", 1363)
+ _r3 = _r8;
+ label9:;
+ XMLVM_SOURCE_POSITION("String.java", 1364)
+ XMLVM_SOURCE_POSITION("String.java", 1372)
+ XMLVM_EXIT_METHOD()
+ return _r3.o;
+ label10:;
+ XMLVM_SOURCE_POSITION("String.java", 1367)
+ XMLVM_CHECK_NPE(8)
+ _r3.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.count_;
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r3.i);
+ XMLVM_SOURCE_POSITION("String.java", 1368)
+ XMLVM_CHECK_NPE(8)
+ _r3.o = ((java_lang_String*) _r8.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(8)
+ _r4.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(8)
+ _r5.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.count_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r3.o, _r4.i, _r0.o, _r6.i, _r5.i);
+ label23:;
+ XMLVM_SOURCE_POSITION("String.java", 1370)
+ _r2.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r10.i;
+ XMLVM_SOURCE_POSITION("String.java", 1371)
+ XMLVM_CHECK_NPE(8)
+ _r1.i = java_lang_String_indexOf___int_int(_r8.o, _r9.i, _r2.i);
+ if (_r1.i != _r7.i) goto label23;
+ _r3.o = __NEW_java_lang_String();
+ XMLVM_CHECK_NPE(8)
+ _r4.i = ((java_lang_String*) _r8.o)->fields.java_lang_String.count_;
+ XMLVM_CHECK_NPE(3)
+ java_lang_String___INIT____int_int_char_1ARRAY(_r3.o, _r6.i, _r4.i, _r0.o);
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_replace___java_lang_CharSequence_java_lang_CharSequence(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_replace___java_lang_CharSequence_java_lang_CharSequence]
+ XMLVM_ENTER_METHOD("java.lang.String", "replace", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ _r11.o = me;
+ _r12.o = n1;
+ _r13.o = n2;
+ _r10.i = -1;
+ XMLVM_SOURCE_POSITION("String.java", 1389)
+ if (_r12.o != JAVA_NULL) goto label11;
+ XMLVM_SOURCE_POSITION("String.java", 1390)
+ _r7.o = __NEW_java_lang_NullPointerException();
+ // "target should not be null"
+ _r8.o = xmlvm_create_java_string_from_pool(176);
+ XMLVM_CHECK_NPE(7)
+ java_lang_NullPointerException___INIT____java_lang_String(_r7.o, _r8.o);
+ XMLVM_THROW_CUSTOM(_r7.o)
+ label11:;
+ XMLVM_SOURCE_POSITION("String.java", 1392)
+ if (_r13.o != JAVA_NULL) goto label21;
+ XMLVM_SOURCE_POSITION("String.java", 1393)
+ _r7.o = __NEW_java_lang_NullPointerException();
+ // "replacement should not be null"
+ _r8.o = xmlvm_create_java_string_from_pool(177);
+ XMLVM_CHECK_NPE(7)
+ java_lang_NullPointerException___INIT____java_lang_String(_r7.o, _r8.o);
+ XMLVM_THROW_CUSTOM(_r7.o)
+ label21:;
+ XMLVM_SOURCE_POSITION("String.java", 1395)
+ //java_lang_Object_toString__[5]
+ XMLVM_CHECK_NPE(12)
+ _r6.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r12.o)->tib->vtable[5])(_r12.o);
+ _r7.i = 0;
+ XMLVM_SOURCE_POSITION("String.java", 1396)
+ XMLVM_CHECK_NPE(11)
+ _r2.i = java_lang_String_indexOf___java_lang_String_int(_r11.o, _r6.o, _r7.i);
+ if (_r2.i != _r10.i) goto label34;
+ XMLVM_SOURCE_POSITION("String.java", 1398)
+ _r7 = _r11;
+ label33:;
+ XMLVM_SOURCE_POSITION("String.java", 1399)
+ XMLVM_SOURCE_POSITION("String.java", 1426)
+ XMLVM_EXIT_METHOD()
+ return _r7.o;
+ label34:;
+ XMLVM_SOURCE_POSITION("String.java", 1401)
+ //java_lang_Object_toString__[5]
+ XMLVM_CHECK_NPE(13)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r13.o)->tib->vtable[5])(_r13.o);
+ XMLVM_SOURCE_POSITION("String.java", 1405)
+ // ""
+ _r7.o = xmlvm_create_java_string_from_pool(21);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(7)
+ _r7.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r7.o)->tib->vtable[1])(_r7.o, _r6.o);
+ if (_r7.i == 0) goto label92;
+ XMLVM_SOURCE_POSITION("String.java", 1406)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(11)
+ _r7.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(3)
+ _r8.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r3.o)->tib->vtable[8])(_r3.o);
+ XMLVM_CHECK_NPE(11)
+ _r9.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
+ _r9.i = _r9.i + 1;
+ _r8.i = _r8.i * _r9.i;
+ _r7.i = _r7.i + _r8.i;
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____int(_r0.o, _r7.i);
+ XMLVM_SOURCE_POSITION("String.java", 1407)
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r3.o);
+ XMLVM_SOURCE_POSITION("String.java", 1408)
+ _r1.i = 0;
+ label67:;
+ XMLVM_CHECK_NPE(11)
+ _r7.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
+ if (_r1.i >= _r7.i) goto label87;
+ XMLVM_SOURCE_POSITION("String.java", 1409)
+ XMLVM_CHECK_NPE(11)
+ _r7.o = ((java_lang_String*) _r11.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(11)
+ _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.offset_;
+ _r8.i = _r8.i + _r1.i;
+ XMLVM_CHECK_NPE(7)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r8.i);
+ _r7.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i];
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r7.i);
+ XMLVM_SOURCE_POSITION("String.java", 1410)
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r3.o);
+ _r1.i = _r1.i + 1;
+ goto label67;
+ label87:;
+ XMLVM_SOURCE_POSITION("String.java", 1412)
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r7.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ goto label33;
+ label92:;
+ XMLVM_SOURCE_POSITION("String.java", 1415)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(11)
+ _r7.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(3)
+ _r8.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r3.o)->tib->vtable[8])(_r3.o);
+ _r7.i = _r7.i + _r8.i;
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____int(_r0.o, _r7.i);
+ XMLVM_SOURCE_POSITION("String.java", 1416)
+ XMLVM_CHECK_NPE(12)
+ _r5.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r12.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__])(_r12.o);
+ _r4.i = 0;
+ label109:;
+ XMLVM_SOURCE_POSITION("String.java", 1417)
+ XMLVM_SOURCE_POSITION("String.java", 1419)
+ XMLVM_CHECK_NPE(11)
+ _r7.o = ((java_lang_String*) _r11.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(11)
+ _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.offset_;
+ _r8.i = _r8.i + _r4.i;
+ _r9.i = _r2.i - _r4.i;
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___char_1ARRAY_int_int(_r0.o, _r7.o, _r8.i, _r9.i);
+ XMLVM_SOURCE_POSITION("String.java", 1420)
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r3.o);
+ XMLVM_SOURCE_POSITION("String.java", 1421)
+ _r4.i = _r2.i + _r5.i;
+ XMLVM_SOURCE_POSITION("String.java", 1422)
+ XMLVM_CHECK_NPE(11)
+ _r2.i = java_lang_String_indexOf___java_lang_String_int(_r11.o, _r6.o, _r4.i);
+ if (_r2.i != _r10.i) goto label109;
+ XMLVM_SOURCE_POSITION("String.java", 1424)
+ XMLVM_CHECK_NPE(11)
+ _r7.o = ((java_lang_String*) _r11.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(11)
+ _r8.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.offset_;
+ _r8.i = _r8.i + _r4.i;
+ XMLVM_CHECK_NPE(11)
+ _r9.i = ((java_lang_String*) _r11.o)->fields.java_lang_String.count_;
+ _r9.i = _r9.i - _r4.i;
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___char_1ARRAY_int_int(_r0.o, _r7.o, _r8.i, _r9.i);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r7.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ goto label33;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_String_startsWith___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_startsWith___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.String", "startsWith", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("String.java", 1441)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_String_startsWith___java_lang_String_int(_r1.o, _r2.o, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_String_startsWith___java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_startsWith___java_lang_String_int]
+ XMLVM_ENTER_METHOD("java.lang.String", "startsWith", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.i = n2;
+ XMLVM_SOURCE_POSITION("String.java", 1458)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.count_;
+ XMLVM_CHECK_NPE(2)
+ _r0.i = java_lang_String_regionMatches___int_java_lang_String_int_int(_r2.o, _r4.i, _r3.o, _r0.i, _r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_substring___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_substring___int]
+ XMLVM_ENTER_METHOD("java.lang.String", "substring", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.i = n1;
+ XMLVM_SOURCE_POSITION("String.java", 1472)
+ if (_r5.i != 0) goto label4;
+ _r0 = _r4;
+ label3:;
+ XMLVM_SOURCE_POSITION("String.java", 1473)
+ XMLVM_SOURCE_POSITION("String.java", 1476)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label4:;
+ XMLVM_SOURCE_POSITION("String.java", 1475)
+ if (_r5.i < 0) goto label24;
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
+ if (_r5.i > _r0.i) goto label24;
+ _r0.o = __NEW_java_lang_String();
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.offset_;
+ _r1.i = _r1.i + _r5.i;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
+ _r2.i = _r2.i - _r5.i;
+ XMLVM_CHECK_NPE(4)
+ _r3.o = ((java_lang_String*) _r4.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____int_int_char_1ARRAY(_r0.o, _r1.i, _r2.i, _r3.o);
+ goto label3;
+ label24:;
+ XMLVM_SOURCE_POSITION("String.java", 1478)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_substring___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_substring___int_int]
+ XMLVM_ENTER_METHOD("java.lang.String", "substring", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r4.o = me;
+ _r5.i = n1;
+ _r6.i = n2;
+ XMLVM_SOURCE_POSITION("String.java", 1494)
+ if (_r5.i != 0) goto label8;
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
+ if (_r6.i != _r0.i) goto label8;
+ _r0 = _r4;
+ label7:;
+ XMLVM_SOURCE_POSITION("String.java", 1495)
+ XMLVM_SOURCE_POSITION("String.java", 1505)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label8:;
+ XMLVM_SOURCE_POSITION("String.java", 1497)
+ if (_r5.i >= 0) goto label16;
+ XMLVM_SOURCE_POSITION("String.java", 1498)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label16:;
+ XMLVM_SOURCE_POSITION("String.java", 1499)
+ if (_r5.i <= _r6.i) goto label26;
+ XMLVM_SOURCE_POSITION("String.java", 1500)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.i = _r6.i - _r5.i;
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label26:;
+ XMLVM_SOURCE_POSITION("String.java", 1501)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
+ if (_r6.i <= _r0.i) goto label36;
+ XMLVM_SOURCE_POSITION("String.java", 1502)
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.StringIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label36:;
+ _r0.o = __NEW_java_lang_String();
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.offset_;
+ _r1.i = _r1.i + _r5.i;
+ _r2.i = _r6.i - _r5.i;
+ XMLVM_CHECK_NPE(4)
+ _r3.o = ((java_lang_String*) _r4.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____int_int_char_1ARRAY(_r0.o, _r1.i, _r2.i, _r3.o);
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_toCharArray__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_toCharArray__]
+ XMLVM_ENTER_METHOD("java.lang.String", "toCharArray", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.o = me;
+ XMLVM_SOURCE_POSITION("String.java", 1514)
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.count_;
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r1.i);
+ XMLVM_SOURCE_POSITION("String.java", 1515)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_;
+ _r3.i = 0;
+ XMLVM_CHECK_NPE(5)
+ _r4.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.count_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r2.i, _r0.o, _r3.i, _r4.i);
+ XMLVM_SOURCE_POSITION("String.java", 1516)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_toLowerCase__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_toLowerCase__]
+ XMLVM_ENTER_METHOD("java.lang.String", "toLowerCase", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("String.java", 1527)
+ _r0.o = java_util_Locale_getDefault__();
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_String_toLowerCase___java_util_Locale(_r1.o, _r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_toLowerCase___java_util_Locale(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_toLowerCase___java_util_Locale]
+ XMLVM_ENTER_METHOD("java.lang.String", "toLowerCase", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r5.o = me;
+ _r6.o = n1;
+ XMLVM_SOURCE_POSITION("String.java", 1541)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("String.java", 1542)
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_;
+ label7:;
+ XMLVM_CHECK_NPE(5)
+ _r3.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(5)
+ _r4.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.count_;
+ _r3.i = _r3.i + _r4.i;
+ if (_r1.i >= _r3.i) goto label29;
+ XMLVM_SOURCE_POSITION("String.java", 1543)
+ XMLVM_CHECK_NPE(5)
+ _r3.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r1.i);
+ _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_CHECK_NPE(5)
+ _r3.i = java_lang_String_toLowerCaseImpl___int(_r5.o, _r3.i);
+ _r3.i = _r3.i & 0xffff;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r3.i);
+ _r1.i = _r1.i + 1;
+ goto label7;
+ label29:;
+ XMLVM_SOURCE_POSITION("String.java", 1546)
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_SOURCE_POSITION("String.java", 1547)
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(5)
+ _r3.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r5.o)->tib->vtable[1])(_r5.o, _r2.o);
+ if (_r3.i == 0) goto label41;
+ _r3 = _r5;
+ label40:;
+ XMLVM_SOURCE_POSITION("String.java", 1548)
+ XMLVM_SOURCE_POSITION("String.java", 1550)
+ XMLVM_EXIT_METHOD()
+ return _r3.o;
+ label41:;
+ _r3 = _r2;
+ goto label40;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_INT java_lang_String_toLowerCaseImpl___int(JAVA_OBJECT me, JAVA_INT n1)]
+
+JAVA_OBJECT java_lang_String_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_toString__]
+ XMLVM_ENTER_METHOD("java.lang.String", "toString", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("String.java", 1563)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_toUpperCase__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_toUpperCase__]
+ XMLVM_ENTER_METHOD("java.lang.String", "toUpperCase", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("String.java", 1574)
+ _r0.o = java_util_Locale_getDefault__();
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_String_toUpperCase___java_util_Locale(_r1.o, _r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_toUpperCase___java_util_Locale(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_toUpperCase___java_util_Locale]
+ XMLVM_ENTER_METHOD("java.lang.String", "toUpperCase", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r5.o = me;
+ _r6.o = n1;
+ XMLVM_SOURCE_POSITION("String.java", 1588)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("String.java", 1589)
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_;
+ label7:;
+ XMLVM_CHECK_NPE(5)
+ _r3.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(5)
+ _r4.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.count_;
+ _r3.i = _r3.i + _r4.i;
+ if (_r1.i >= _r3.i) goto label29;
+ XMLVM_SOURCE_POSITION("String.java", 1590)
+ XMLVM_CHECK_NPE(5)
+ _r3.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r1.i);
+ _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_CHECK_NPE(5)
+ _r3.i = java_lang_String_toUpperCaseImpl___int(_r5.o, _r3.i);
+ _r3.i = _r3.i & 0xffff;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r3.i);
+ _r1.i = _r1.i + 1;
+ goto label7;
+ label29:;
+ XMLVM_SOURCE_POSITION("String.java", 1593)
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_SOURCE_POSITION("String.java", 1594)
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(5)
+ _r3.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r5.o)->tib->vtable[1])(_r5.o, _r2.o);
+ if (_r3.i == 0) goto label41;
+ _r3 = _r5;
+ label40:;
+ XMLVM_SOURCE_POSITION("String.java", 1595)
+ XMLVM_SOURCE_POSITION("String.java", 1597)
+ XMLVM_EXIT_METHOD()
+ return _r3.o;
+ label41:;
+ _r3 = _r2;
+ goto label40;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_INT java_lang_String_toUpperCaseImpl___int(JAVA_OBJECT me, JAVA_INT n1)]
+
+JAVA_OBJECT java_lang_String_trim__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_trim__]
+ XMLVM_ENTER_METHOD("java.lang.String", "trim", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r6.o = me;
+ _r5.i = 32;
+ XMLVM_SOURCE_POSITION("String.java", 1611)
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(6)
+ _r4.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.count_;
+ _r3.i = _r3.i + _r4.i;
+ _r4.i = 1;
+ _r1.i = _r3.i - _r4.i;
+ _r0 = _r1;
+ label13:;
+ XMLVM_SOURCE_POSITION("String.java", 1612)
+ XMLVM_SOURCE_POSITION("String.java", 1613)
+ if (_r2.i > _r0.i) goto label24;
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_lang_String*) _r6.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
+ _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ if (_r3.i > _r5.i) goto label24;
+ XMLVM_SOURCE_POSITION("String.java", 1614)
+ _r2.i = _r2.i + 1;
+ goto label13;
+ label24:;
+ XMLVM_SOURCE_POSITION("String.java", 1616)
+ if (_r0.i < _r2.i) goto label35;
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_lang_String*) _r6.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ if (_r3.i > _r5.i) goto label35;
+ XMLVM_SOURCE_POSITION("String.java", 1617)
+ _r0.i = _r0.i + -1;
+ goto label24;
+ label35:;
+ XMLVM_SOURCE_POSITION("String.java", 1619)
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_lang_String*) _r6.o)->fields.java_lang_String.offset_;
+ if (_r2.i != _r3.i) goto label43;
+ if (_r0.i != _r1.i) goto label43;
+ _r3 = _r6;
+ label42:;
+ XMLVM_SOURCE_POSITION("String.java", 1620)
+ XMLVM_SOURCE_POSITION("String.java", 1622)
+ XMLVM_EXIT_METHOD()
+ return _r3.o;
+ label43:;
+ _r3.o = __NEW_java_lang_String();
+ _r4.i = _r0.i - _r2.i;
+ _r4.i = _r4.i + 1;
+ XMLVM_CHECK_NPE(6)
+ _r5.o = ((java_lang_String*) _r6.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(3)
+ java_lang_String___INIT____int_int_char_1ARRAY(_r3.o, _r2.i, _r4.i, _r5.o);
+ goto label42;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_valueOf___char_1ARRAY(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_String)
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_valueOf___char_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.String", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("String.java", 1637)
+ _r0.o = __NEW_java_lang_String();
+ _r1.i = 0;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____char_1ARRAY_int_int(_r0.o, _r3.o, _r1.i, _r2.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_valueOf___char_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ XMLVM_CLASS_INIT(java_lang_String)
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_valueOf___char_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.lang.String", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = n1;
+ _r2.i = n2;
+ _r3.i = n3;
+ XMLVM_SOURCE_POSITION("String.java", 1659)
+ _r0.o = __NEW_java_lang_String();
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____char_1ARRAY_int_int(_r0.o, _r1.o, _r2.i, _r3.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_valueOf___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_lang_String)
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_valueOf___char]
+ XMLVM_ENTER_METHOD("java.lang.String", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.i = n1;
+ _r3.i = 0;
+ _r2.i = 1;
+ XMLVM_SOURCE_POSITION("String.java", 1671)
+ _r1.i = 128;
+ if (_r4.i >= _r1.i) goto label16;
+ XMLVM_SOURCE_POSITION("String.java", 1672)
+ _r0.o = __NEW_java_lang_String();
+ _r1.o = java_lang_String_GET_ascii();
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____int_int_char_1ARRAY(_r0.o, _r4.i, _r2.i, _r1.o);
+ label13:;
+ XMLVM_SOURCE_POSITION("String.java", 1676)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_String*) _r0.o)->fields.java_lang_String.hashCode_ = _r4.i;
+ XMLVM_SOURCE_POSITION("String.java", 1677)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label16:;
+ XMLVM_SOURCE_POSITION("String.java", 1674)
+ _r0.o = __NEW_java_lang_String();
+ XMLVM_CLASS_INIT(char)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_char, _r2.i);
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r3.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.i;
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____int_int_char_1ARRAY(_r0.o, _r3.i, _r2.i, _r1.o);
+ goto label13;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_valueOf___double(JAVA_DOUBLE n1)
+{
+ XMLVM_CLASS_INIT(java_lang_String)
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_valueOf___double]
+ XMLVM_ENTER_METHOD("java.lang.String", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.d = n1;
+ XMLVM_SOURCE_POSITION("String.java", 1688)
+ _r0.o = java_lang_Double_toString___double(_r1.d);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_valueOf___float(JAVA_FLOAT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_String)
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_valueOf___float]
+ XMLVM_ENTER_METHOD("java.lang.String", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.f = n1;
+ XMLVM_SOURCE_POSITION("String.java", 1699)
+ _r0.o = java_lang_Float_toString___float(_r1.f);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_valueOf___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_String)
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_valueOf___int]
+ XMLVM_ENTER_METHOD("java.lang.String", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("String.java", 1710)
+ _r0.o = java_lang_Integer_toString___int(_r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_valueOf___long(JAVA_LONG n1)
+{
+ XMLVM_CLASS_INIT(java_lang_String)
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_valueOf___long]
+ XMLVM_ENTER_METHOD("java.lang.String", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.l = n1;
+ XMLVM_SOURCE_POSITION("String.java", 1721)
+ _r0.o = java_lang_Long_toString___long(_r1.l);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_valueOf___java_lang_Object(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_String)
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_valueOf___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.String", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("String.java", 1734)
+ if (_r1.o == JAVA_NULL) goto label7;
+ //java_lang_Object_toString__[5]
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r1.o)->tib->vtable[5])(_r1.o);
+ label6:;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label7:;
+ // "null"
+ _r0.o = xmlvm_create_java_string_from_pool(63);
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_valueOf___boolean(JAVA_BOOLEAN n1)
+{
+ XMLVM_CLASS_INIT(java_lang_String)
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_valueOf___boolean]
+ XMLVM_ENTER_METHOD("java.lang.String", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("String.java", 1747)
+ if (_r1.i == 0) goto label5;
+ // "true"
+ _r0.o = xmlvm_create_java_string_from_pool(4);
+ label4:;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label5:;
+ // "false"
+ _r0.o = xmlvm_create_java_string_from_pool(178);
+ goto label4;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_String_contentEquals___java_lang_StringBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_contentEquals___java_lang_StringBuffer]
+ XMLVM_ENTER_METHOD("java.lang.String", "contentEquals", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ _r5.o = me;
+ _r6.o = n1;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("String.java", 1764)
+ java_lang_Object_acquireLockRecursive__(_r6.o);
+ XMLVM_TRY_BEGIN(w3113aaac87b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("String.java", 1765)
+
+
+ // Red class access removed: java.lang.StringBuffer::length
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("String.java", 1766)
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.count_;
+ if (_r1.i == _r0.i) { XMLVM_MEMCPY(curThread_w3113aaac87b1b6->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3113aaac87b1b6, sizeof(XMLVM_JMP_BUF)); goto label13; };
+ XMLVM_SOURCE_POSITION("String.java", 1767)
+ java_lang_Object_releaseLockRecursive__(_r6.o);
+ _r1 = _r2;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3113aaac87b1b6)
+ XMLVM_CATCH_SPECIFIC(w3113aaac87b1b6,java_lang_Object,31)
+ XMLVM_CATCH_END(w3113aaac87b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3113aaac87b1b6)
+ label12:;
+ XMLVM_TRY_BEGIN(w3113aaac87b1b8)
+ // Begin try
+ XMLVM_SOURCE_POSITION("String.java", 1769)
+ XMLVM_MEMCPY(curThread_w3113aaac87b1b8->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3113aaac87b1b8, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3113aaac87b1b8)
+ XMLVM_CATCH_SPECIFIC(w3113aaac87b1b8,java_lang_Object,31)
+ XMLVM_CATCH_END(w3113aaac87b1b8)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3113aaac87b1b8)
+ label13:;
+ XMLVM_TRY_BEGIN(w3113aaac87b1c10)
+ // Begin try
+ _r1.i = 0;
+ _r2.o = __NEW_java_lang_String();
+ _r3.i = 0;
+
+
+ // Red class access removed: java.lang.StringBuffer::getValue
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(2)
+ java_lang_String___INIT____int_int_char_1ARRAY(_r2.o, _r3.i, _r0.i, _r4.o);
+ _r3.i = 0;
+ XMLVM_CHECK_NPE(5)
+ _r1.i = java_lang_String_regionMatches___int_java_lang_String_int_int(_r5.o, _r1.i, _r2.o, _r3.i, _r0.i);
+ java_lang_Object_releaseLockRecursive__(_r6.o);
+ { XMLVM_MEMCPY(curThread_w3113aaac87b1c10->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3113aaac87b1c10, sizeof(XMLVM_JMP_BUF)); goto label12; };
+ XMLVM_SOURCE_POSITION("String.java", 1771)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3113aaac87b1c10)
+ XMLVM_CATCH_SPECIFIC(w3113aaac87b1c10,java_lang_Object,31)
+ XMLVM_CATCH_END(w3113aaac87b1c10)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3113aaac87b1c10)
+ label31:;
+ XMLVM_TRY_BEGIN(w3113aaac87b1c12)
+ // Begin try
+ java_lang_Thread* curThread_w3113aaac87b1c12aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w3113aaac87b1c12aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r6.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3113aaac87b1c12)
+ XMLVM_CATCH_SPECIFIC(w3113aaac87b1c12,java_lang_Object,31)
+ XMLVM_CATCH_END(w3113aaac87b1c12)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3113aaac87b1c12)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_String_contentEquals___java_lang_CharSequence(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_contentEquals___java_lang_CharSequence]
+ XMLVM_ENTER_METHOD("java.lang.String", "contentEquals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("String.java", 1784)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__])(_r4.o);
+ XMLVM_SOURCE_POSITION("String.java", 1786)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.count_;
+ if (_r0.i == _r1.i) goto label11;
+ _r1 = _r2;
+ label10:;
+ XMLVM_SOURCE_POSITION("String.java", 1787)
+ XMLVM_SOURCE_POSITION("String.java", 1794)
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ label11:;
+ XMLVM_SOURCE_POSITION("String.java", 1790)
+ if (_r0.i != 0) goto label19;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.count_;
+ if (_r1.i != 0) goto label19;
+ XMLVM_SOURCE_POSITION("String.java", 1791)
+ _r1.i = 1;
+ goto label10;
+ label19:;
+ //java_lang_Object_toString__[5]
+ XMLVM_CHECK_NPE(4)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r4.o)->tib->vtable[5])(_r4.o);
+ XMLVM_CHECK_NPE(3)
+ _r1.i = java_lang_String_regionMatches___int_java_lang_String_int_int(_r3.o, _r2.i, _r1.o, _r2.i, _r0.i);
+ goto label10;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_String_matches___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_matches___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.String", "matches", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("String.java", 1811)
+
+
+ // Red class access removed: java.util.regex.Pattern::matches
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_replaceAll___java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_replaceAll___java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.String", "replaceAll", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("String.java", 1830)
+
+
+ // Red class access removed: java.util.regex.Pattern::compile
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.regex.Pattern::matcher
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.regex.Matcher::replaceAll
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_replaceFirst___java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_replaceFirst___java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.String", "replaceFirst", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("String.java", 1851)
+
+
+ // Red class access removed: java.util.regex.Pattern::compile
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.regex.Pattern::matcher
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.regex.Matcher::replaceFirst
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_split___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_split___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.String", "split", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("String.java", 1870)
+
+
+ // Red class access removed: java.util.regex.Pattern::compile
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.regex.Pattern::split
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_split___java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_split___java_lang_String_int]
+ XMLVM_ENTER_METHOD("java.lang.String", "split", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.i = n2;
+ XMLVM_SOURCE_POSITION("String.java", 1893)
+
+
+ // Red class access removed: java.util.regex.Pattern::compile
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.regex.Pattern::split
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_subSequence___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_subSequence___int_int]
+ XMLVM_ENTER_METHOD("java.lang.String", "subSequence", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.i = n2;
+ XMLVM_SOURCE_POSITION("String.java", 1912)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_String_substring___int_int(_r1.o, _r2.i, _r3.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_String_codePointAt___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_codePointAt___int]
+ XMLVM_ENTER_METHOD("java.lang.String", "codePointAt", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.i = n1;
+ XMLVM_SOURCE_POSITION("String.java", 1929)
+ if (_r5.i < 0) goto label6;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
+ if (_r5.i < _r1.i) goto label12;
+ label6:;
+ XMLVM_SOURCE_POSITION("String.java", 1930)
+ _r1.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(1)
+ java_lang_IndexOutOfBoundsException___INIT___(_r1.o);
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label12:;
+ XMLVM_SOURCE_POSITION("String.java", 1932)
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.offset_;
+ _r0.i = _r5.i + _r1.i;
+ XMLVM_SOURCE_POSITION("String.java", 1933)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_lang_String*) _r4.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(4)
+ _r3.i = ((java_lang_String*) _r4.o)->fields.java_lang_String.count_;
+ _r2.i = _r2.i + _r3.i;
+ _r1.i = java_lang_Character_codePointAt___char_1ARRAY_int_int(_r1.o, _r0.i, _r2.i);
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_String_codePointBefore___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_codePointBefore___int]
+ XMLVM_ENTER_METHOD("java.lang.String", "codePointBefore", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.i = n1;
+ XMLVM_SOURCE_POSITION("String.java", 1950)
+ _r1.i = 1;
+ if (_r3.i < _r1.i) goto label7;
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_lang_String*) _r2.o)->fields.java_lang_String.count_;
+ if (_r3.i <= _r1.i) goto label13;
+ label7:;
+ XMLVM_SOURCE_POSITION("String.java", 1951)
+ _r1.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(1)
+ java_lang_IndexOutOfBoundsException___INIT___(_r1.o);
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label13:;
+ XMLVM_SOURCE_POSITION("String.java", 1953)
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_lang_String*) _r2.o)->fields.java_lang_String.offset_;
+ _r0.i = _r3.i + _r1.i;
+ XMLVM_SOURCE_POSITION("String.java", 1954)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_lang_String*) _r2.o)->fields.java_lang_String.value_;
+ _r1.i = java_lang_Character_codePointBefore___char_1ARRAY_int(_r1.o, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_String_codePointCount___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_codePointCount___int_int]
+ XMLVM_ENTER_METHOD("java.lang.String", "codePointCount", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r3.o = me;
+ _r4.i = n1;
+ _r5.i = n2;
+ XMLVM_SOURCE_POSITION("String.java", 1974)
+ if (_r4.i < 0) goto label8;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.count_;
+ if (_r5.i > _r1.i) goto label8;
+ if (_r4.i <= _r5.i) goto label14;
+ label8:;
+ XMLVM_SOURCE_POSITION("String.java", 1975)
+ _r1.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(1)
+ java_lang_IndexOutOfBoundsException___INIT___(_r1.o);
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label14:;
+ XMLVM_SOURCE_POSITION("String.java", 1977)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_String*) _r3.o)->fields.java_lang_String.offset_;
+ _r0.i = _r4.i + _r1.i;
+ XMLVM_SOURCE_POSITION("String.java", 1978)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_lang_String*) _r3.o)->fields.java_lang_String.value_;
+ _r2.i = _r5.i - _r4.i;
+ _r1.i = java_lang_Character_codePointCount___char_1ARRAY_int_int(_r1.o, _r0.i, _r2.i);
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_String_contains___java_lang_CharSequence(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_contains___java_lang_CharSequence]
+ XMLVM_ENTER_METHOD("java.lang.String", "contains", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("String.java", 1992)
+ //java_lang_Object_toString__[5]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r2.o)->tib->vtable[5])(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_String_indexOf___java_lang_String(_r1.o, _r0.o);
+ if (_r0.i < 0) goto label12;
+ _r0.i = 1;
+ label11:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label12:;
+ _r0.i = 0;
+ goto label11;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_String_offsetByCodePoints___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_offsetByCodePoints___int_int]
+ XMLVM_ENTER_METHOD("java.lang.String", "offsetByCodePoints", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r5.o = me;
+ _r6.i = n1;
+ _r7.i = n2;
+ XMLVM_SOURCE_POSITION("String.java", 2011)
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_;
+ _r1.i = _r6.i + _r2.i;
+ XMLVM_SOURCE_POSITION("String.java", 2012)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_lang_String*) _r5.o)->fields.java_lang_String.value_;
+ XMLVM_CHECK_NPE(5)
+ _r3.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_;
+ XMLVM_CHECK_NPE(5)
+ _r4.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.count_;
+ _r0.i = java_lang_Character_offsetByCodePoints___char_1ARRAY_int_int_int_int(_r2.o, _r3.i, _r4.i, _r1.i, _r7.i);
+ XMLVM_SOURCE_POSITION("String.java", 2014)
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_lang_String*) _r5.o)->fields.java_lang_String.offset_;
+ _r2.i = _r0.i - _r2.i;
+ XMLVM_EXIT_METHOD()
+ return _r2.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_format___java_lang_String_java_lang_Object_1ARRAY(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_String)
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_format___java_lang_String_java_lang_Object_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.String", "format", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("String.java", 2034)
+ _r0.o = java_util_Locale_getDefault__();
+ _r0.o = java_lang_String_format___java_util_Locale_java_lang_String_java_lang_Object_1ARRAY(_r0.o, _r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+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)
+{
+ XMLVM_CLASS_INIT(java_lang_String)
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_format___java_util_Locale_java_lang_String_java_lang_Object_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.String", "format", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r4.o = n1;
+ _r5.o = n2;
+ _r6.o = n3;
+ XMLVM_SOURCE_POSITION("String.java", 2063)
+ if (_r5.o != JAVA_NULL) goto label10;
+ XMLVM_SOURCE_POSITION("String.java", 2064)
+ _r2.o = __NEW_java_lang_NullPointerException();
+ // "null format argument"
+ _r3.o = xmlvm_create_java_string_from_pool(179);
+ XMLVM_CHECK_NPE(2)
+ java_lang_NullPointerException___INIT____java_lang_String(_r2.o, _r3.o);
+ XMLVM_THROW_CUSTOM(_r2.o)
+ label10:;
+ XMLVM_SOURCE_POSITION("String.java", 2066)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(5)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r5.o)->tib->vtable[8])(_r5.o);
+ if (_r6.o != JAVA_NULL) goto label38;
+ _r3.i = 0;
+ label17:;
+ _r0.i = _r2.i + _r3.i;
+ XMLVM_SOURCE_POSITION("String.java", 2068)
+
+
+ // Red class access removed: java.util.Formatter::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r2.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(2)
+ java_lang_StringBuilder___INIT____int(_r2.o, _r0.i);
+
+
+ // Red class access removed: java.util.Formatter::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("String.java", 2069)
+
+
+ // Red class access removed: java.util.Formatter::format
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Formatter::toString
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ label38:;
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ _r3.i = _r3.i * 10;
+ goto label17;
+ //XMLVM_END_WRAPPER
+}
+
+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)
+{
+ XMLVM_CLASS_INIT(java_lang_String)
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_indexOf___java_lang_String_java_lang_String_int_int_char]
+ XMLVM_ENTER_METHOD("java.lang.String", "indexOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ _r9.o = n1;
+ _r10.o = n2;
+ _r11.i = n3;
+ _r12.i = n4;
+ _r13.i = n5;
+ XMLVM_SOURCE_POSITION("String.java", 2084)
+ XMLVM_CHECK_NPE(9)
+ _r0.o = ((java_lang_String*) _r9.o)->fields.java_lang_String.value_;
+ XMLVM_SOURCE_POSITION("String.java", 2085)
+ XMLVM_CHECK_NPE(9)
+ _r1.i = ((java_lang_String*) _r9.o)->fields.java_lang_String.offset_;
+ XMLVM_SOURCE_POSITION("String.java", 2086)
+ XMLVM_CHECK_NPE(9)
+ _r9.i = ((java_lang_String*) _r9.o)->fields.java_lang_String.count_;
+ XMLVM_SOURCE_POSITION("String.java", 2087)
+ XMLVM_CHECK_NPE(10)
+ _r3.o = ((java_lang_String*) _r10.o)->fields.java_lang_String.value_;
+ XMLVM_SOURCE_POSITION("String.java", 2088)
+ XMLVM_CHECK_NPE(10)
+ _r5.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.offset_;
+ XMLVM_SOURCE_POSITION("String.java", 2089)
+ XMLVM_CHECK_NPE(10)
+ _r10.i = ((java_lang_String*) _r10.o)->fields.java_lang_String.count_;
+ _r2.i = 1;
+ _r4.i = _r10.i - _r2.i;
+ _r9.i = _r9.i + _r1.i;
+ _r10.i = _r1.i + _r4.i;
+ label18:;
+ XMLVM_SOURCE_POSITION("String.java", 2092)
+ if (_r10.i >= _r9.i) goto label71;
+ XMLVM_SOURCE_POSITION("String.java", 2093)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r10.i);
+ _r2.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r10.i];
+ if (_r13.i != _r2.i) goto label60;
+ XMLVM_SOURCE_POSITION("String.java", 2094)
+ _r2.i = 0;
+ label25:;
+ if (_r2.i >= _r4.i) goto label56;
+ XMLVM_SOURCE_POSITION("String.java", 2095)
+ _r6.i = _r2.i + _r5.i;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ _r6.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i];
+ _r7.i = _r10.i + _r2.i;
+ _r7.i = _r7.i - _r4.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r7.i);
+ _r7.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i];
+ if (_r6.i == _r7.i) goto label53;
+ XMLVM_SOURCE_POSITION("String.java", 2097)
+ _r6.i = 1;
+ _r7.i = 1;
+ XMLVM_SOURCE_POSITION("String.java", 2098)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r10.i);
+ _r8.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r10.i];
+ _r7.i = _r7.i << _r8.i;
+ _r7.i = _r7.i & _r11.i;
+ if (_r7.i != 0) goto label73;
+ XMLVM_SOURCE_POSITION("String.java", 2099)
+ _r2.i = _r2.i + _r6.i;
+ label47:;
+ XMLVM_SOURCE_POSITION("String.java", 2101)
+ _r2.i = java_lang_Math_max___int_int(_r12.i, _r2.i);
+ _r10.i = _r10.i + _r2.i;
+ XMLVM_SOURCE_POSITION("String.java", 2102)
+ goto label18;
+ label53:;
+ _r2.i = _r2.i + 1;
+ goto label25;
+ label56:;
+ XMLVM_SOURCE_POSITION("String.java", 2105)
+ _r9.i = _r10.i - _r4.i;
+ _r9.i = _r9.i - _r1.i;
+ label59:;
+ XMLVM_SOURCE_POSITION("String.java", 2113)
+ XMLVM_EXIT_METHOD()
+ return _r9.i;
+ label60:;
+ XMLVM_SOURCE_POSITION("String.java", 2108)
+ _r2.i = 1;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r10.i);
+ _r6.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r10.i];
+ _r2.i = _r2.i << _r6.i;
+ _r2.i = _r2.i & _r11.i;
+ if (_r2.i != 0) goto label68;
+ XMLVM_SOURCE_POSITION("String.java", 2109)
+ _r10.i = _r10.i + _r4.i;
+ label68:;
+ XMLVM_SOURCE_POSITION("String.java", 2111)
+ _r10.i = _r10.i + 1;
+ goto label18;
+ label71:;
+ _r9.i = -1;
+ goto label59;
+ label73:;
+ _r2 = _r6;
+ goto label47;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_String_getValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_getValue__]
+ XMLVM_ENTER_METHOD("java.lang.String", "getValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("String.java", 2120)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_String*) _r1.o)->fields.java_lang_String.value_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_String_isEmpty__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_isEmpty__]
+ XMLVM_ENTER_METHOD("java.lang.String", "isEmpty", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("String.java", 2124)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
+ if (_r0.i != 0) goto label8;
+ _r0.i = 1;
+ label7:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label8:;
+ _r0.i = 0;
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_String_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_compareTo___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.String", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("String.java", 53)
+ _r2.o = _r2.o;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_String_compareTo___java_lang_String(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_String___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String___CLINIT___]
+ XMLVM_ENTER_METHOD("java.lang.String", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVM_SOURCE_POSITION("String.java", 140)
+ _r1.o = __NEW_java_lang_String_CaseInsensitiveComparator();
+ _r2.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(1)
+ java_lang_String_CaseInsensitiveComparator___INIT____java_lang_String_1(_r1.o, _r2.o);
+ java_lang_String_PUT_CASE_INSENSITIVE_ORDER( _r1.o);
+ XMLVM_SOURCE_POSITION("String.java", 157)
+ _r1.i = 128;
+ XMLVM_CLASS_INIT(char)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_char, _r1.i);
+ java_lang_String_PUT_ascii( _r1.o);
+ XMLVM_SOURCE_POSITION("String.java", 158)
+ _r0.i = 0;
+ label15:;
+ _r1.o = java_lang_String_GET_ascii();
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ if (_r0.i >= _r1.i) goto label28;
+ XMLVM_SOURCE_POSITION("String.java", 159)
+ _r1.o = java_lang_String_GET_ascii();
+ _r2.i = _r0.i & 0xffff;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r2.i;
+ _r0.i = _r0.i + 1;
+ goto label15;
+ label28:;
+ XMLVM_SOURCE_POSITION("String.java", 161)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_String.h b/tests/nbody-java/java_lang_String.h
new file mode 100644
index 00000000..7bdebaf5
--- /dev/null
+++ b/tests/nbody-java/java_lang_String.h
@@ -0,0 +1,268 @@
+#ifndef __JAVA_LANG_STRING__
+#define __JAVA_LANG_STRING__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_String 8
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+#include "java_lang_CharSequence.h"
+#include "java_lang_Comparable.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Character
+#define XMLVM_FORWARD_DECL_java_lang_Character
+XMLVM_FORWARD_DECL(java_lang_Character)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Double
+#define XMLVM_FORWARD_DECL_java_lang_Double
+XMLVM_FORWARD_DECL(java_lang_Double)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Exception
+#define XMLVM_FORWARD_DECL_java_lang_Exception
+XMLVM_FORWARD_DECL(java_lang_Exception)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Float
+#define XMLVM_FORWARD_DECL_java_lang_Float
+XMLVM_FORWARD_DECL(java_lang_Float)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+#define XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+XMLVM_FORWARD_DECL(java_lang_IndexOutOfBoundsException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Integer
+#define XMLVM_FORWARD_DECL_java_lang_Integer
+XMLVM_FORWARD_DECL(java_lang_Integer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Long
+#define XMLVM_FORWARD_DECL_java_lang_Long
+XMLVM_FORWARD_DECL(java_lang_Long)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Math
+#define XMLVM_FORWARD_DECL_java_lang_Math
+XMLVM_FORWARD_DECL(java_lang_Math)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String_CaseInsensitiveComparator
+#define XMLVM_FORWARD_DECL_java_lang_String_CaseInsensitiveComparator
+XMLVM_FORWARD_DECL(java_lang_String_CaseInsensitiveComparator)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Throwable
+#define XMLVM_FORWARD_DECL_java_lang_Throwable
+XMLVM_FORWARD_DECL(java_lang_Throwable)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_ByteBuffer
+#define XMLVM_FORWARD_DECL_java_nio_ByteBuffer
+XMLVM_FORWARD_DECL(java_nio_ByteBuffer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_CharBuffer
+#define XMLVM_FORWARD_DECL_java_nio_CharBuffer
+XMLVM_FORWARD_DECL(java_nio_CharBuffer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_Charset
+#define XMLVM_FORWARD_DECL_java_nio_charset_Charset
+XMLVM_FORWARD_DECL(java_nio_charset_Charset)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_security_AccessController
+#define XMLVM_FORWARD_DECL_java_security_AccessController
+XMLVM_FORWARD_DECL(java_security_AccessController)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Comparator
+#define XMLVM_FORWARD_DECL_java_util_Comparator
+XMLVM_FORWARD_DECL(java_util_Comparator)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Locale
+#define XMLVM_FORWARD_DECL_java_util_Locale
+XMLVM_FORWARD_DECL(java_util_Locale)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_PriviAction
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_PriviAction
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_util_PriviAction)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_niochar_charset_UTF_8
+#define XMLVM_FORWARD_DECL_org_apache_harmony_niochar_charset_UTF_8
+XMLVM_FORWARD_DECL(org_apache_harmony_niochar_charset_UTF_8)
+#endif
+// Class declarations for java.lang.String
+XMLVM_DEFINE_CLASS(java_lang_String, 10, XMLVM_ITABLE_SIZE_java_lang_String)
+
+extern JAVA_OBJECT __CLASS_java_lang_String;
+extern JAVA_OBJECT __CLASS_java_lang_String_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_String_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_String_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_String
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_String \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT charset_; \
+ JAVA_OBJECT charset2_; \
+ JAVA_OBJECT charset3_; \
+ JAVA_OBJECT value_; \
+ JAVA_INT offset_; \
+ JAVA_INT count_; \
+ JAVA_INT hashCode_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_String \
+ } java_lang_String
+
+struct java_lang_String {
+ __TIB_DEFINITION_java_lang_String* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_String;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+typedef struct java_lang_String java_lang_String;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_String 10
+#define XMLVM_VTABLE_IDX_java_lang_String_charAt___int 6
+#define XMLVM_VTABLE_IDX_java_lang_String_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_lang_String_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_lang_String_length__ 8
+#define XMLVM_VTABLE_IDX_java_lang_String_toString__ 5
+#define XMLVM_VTABLE_IDX_java_lang_String_subSequence___int_int 9
+#define XMLVM_VTABLE_IDX_java_lang_String_compareTo___java_lang_Object 7
+
+void __INIT_java_lang_String();
+void __INIT_IMPL_java_lang_String();
+void __DELETE_java_lang_String(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_String(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_String();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_String();
+void xmlvm_init_native_java_lang_String();
+JAVA_LONG java_lang_String_GET_serialVersionUID();
+void java_lang_String_PUT_serialVersionUID(JAVA_LONG v);
+JAVA_OBJECT java_lang_String_GET_CASE_INSENSITIVE_ORDER();
+void java_lang_String_PUT_CASE_INSENSITIVE_ORDER(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_String_GET_ascii();
+void java_lang_String_PUT_ascii(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_String_GET_DefaultCharset();
+void java_lang_String_PUT_DefaultCharset(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_String_GET_lastCharset();
+void java_lang_String_PUT_lastCharset(JAVA_OBJECT v);
+void java_lang_String___INIT___(JAVA_OBJECT me);
+void java_lang_String___INIT____java_lang_String_char(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_CHAR n2);
+void java_lang_String___INIT____byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_String___INIT____byte_1ARRAY_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2);
+void java_lang_String___INIT____byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+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);
+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);
+void java_lang_String___INIT____byte_1ARRAY_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_lang_String___INIT____char_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_String___INIT____char_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+void java_lang_String___INIT____int_int_char_1ARRAY(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2, JAVA_OBJECT n3);
+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);
+void java_lang_String___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_String___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+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);
+void java_lang_String___INIT____java_lang_StringBuffer(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_String___INIT____int_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+void java_lang_String___INIT____java_lang_StringBuilder(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_String___INIT____java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2);
+// Vtable index: 6
+JAVA_CHAR java_lang_String_charAt___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_CHAR java_lang_String_compareValue___char(JAVA_OBJECT me, JAVA_CHAR n1);
+JAVA_CHAR java_lang_String_toLowerCase___char(JAVA_OBJECT me, JAVA_CHAR n1);
+JAVA_CHAR java_lang_String_toUpperCase___char(JAVA_OBJECT me, JAVA_CHAR n1);
+JAVA_INT java_lang_String_compareTo___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_INT java_lang_String_compareToIgnoreCase___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_String_concat___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_String_copyValueOf___char_1ARRAY(JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_String_copyValueOf___char_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+JAVA_OBJECT java_lang_String_defaultCharset__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_String_endsWith___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 1
+JAVA_BOOLEAN java_lang_String_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_lang_String_equalsIgnoreCase___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_String_getBytes__(JAVA_OBJECT me);
+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);
+JAVA_OBJECT java_lang_String_getBytes___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_String_getBytes___java_nio_charset_Charset(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_String_getCharset___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+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);
+// Vtable index: 4
+JAVA_INT java_lang_String_hashCode__(JAVA_OBJECT me);
+JAVA_INT java_lang_String_indexOf___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_INT java_lang_String_indexOf___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2);
+JAVA_INT java_lang_String_indexOf___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_INT java_lang_String_indexOf___java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_OBJECT java_lang_String_intern__(JAVA_OBJECT me);
+JAVA_INT java_lang_String_lastIndexOf___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_INT java_lang_String_lastIndexOf___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2);
+JAVA_INT java_lang_String_lastIndexOf___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_INT java_lang_String_lastIndexOf___java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2);
+// Vtable index: 8
+JAVA_INT java_lang_String_length__(JAVA_OBJECT me);
+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);
+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);
+JAVA_OBJECT java_lang_String_replace___char_char(JAVA_OBJECT me, JAVA_CHAR n1, JAVA_CHAR n2);
+JAVA_OBJECT java_lang_String_replace___java_lang_CharSequence_java_lang_CharSequence(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_BOOLEAN java_lang_String_startsWith___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_lang_String_startsWith___java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_OBJECT java_lang_String_substring___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_OBJECT java_lang_String_substring___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2);
+JAVA_OBJECT java_lang_String_toCharArray__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_String_toLowerCase__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_String_toLowerCase___java_util_Locale(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_INT java_lang_String_toLowerCaseImpl___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 5
+JAVA_OBJECT java_lang_String_toString__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_String_toUpperCase__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_String_toUpperCase___java_util_Locale(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_INT java_lang_String_toUpperCaseImpl___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_OBJECT java_lang_String_trim__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_String_valueOf___char_1ARRAY(JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_String_valueOf___char_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+JAVA_OBJECT java_lang_String_valueOf___char(JAVA_CHAR n1);
+JAVA_OBJECT java_lang_String_valueOf___double(JAVA_DOUBLE n1);
+JAVA_OBJECT java_lang_String_valueOf___float(JAVA_FLOAT n1);
+JAVA_OBJECT java_lang_String_valueOf___int(JAVA_INT n1);
+JAVA_OBJECT java_lang_String_valueOf___long(JAVA_LONG n1);
+JAVA_OBJECT java_lang_String_valueOf___java_lang_Object(JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_String_valueOf___boolean(JAVA_BOOLEAN n1);
+JAVA_BOOLEAN java_lang_String_contentEquals___java_lang_StringBuffer(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_lang_String_contentEquals___java_lang_CharSequence(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_lang_String_matches___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_String_replaceAll___java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_lang_String_replaceFirst___java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_lang_String_split___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_String_split___java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2);
+// Vtable index: 9
+JAVA_OBJECT java_lang_String_subSequence___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2);
+JAVA_INT java_lang_String_codePointAt___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_INT java_lang_String_codePointBefore___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_INT java_lang_String_codePointCount___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2);
+JAVA_BOOLEAN java_lang_String_contains___java_lang_CharSequence(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_INT java_lang_String_offsetByCodePoints___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2);
+JAVA_OBJECT java_lang_String_format___java_lang_String_java_lang_Object_1ARRAY(JAVA_OBJECT n1, JAVA_OBJECT n2);
+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);
+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);
+JAVA_OBJECT java_lang_String_getValue__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_String_isEmpty__(JAVA_OBJECT me);
+// Vtable index: 7
+JAVA_INT java_lang_String_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_String___CLINIT_();
+
+#endif
diff --git a/tests/nbody-java/java_lang_StringBuilder.c b/tests/nbody-java/java_lang_StringBuilder.c
new file mode 100644
index 00000000..605524d1
--- /dev/null
+++ b/tests/nbody-java/java_lang_StringBuilder.c
@@ -0,0 +1,999 @@
+#include "xmlvm.h"
+#include "java_lang_Character.h"
+#include "java_lang_Double.h"
+#include "java_lang_Float.h"
+#include "java_lang_Integer.h"
+#include "java_lang_Long.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+
+#include "java_lang_StringBuilder.h"
+
+#define XMLVM_CURRENT_CLASS_NAME StringBuilder
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_StringBuilder
+
+__TIB_DEFINITION_java_lang_StringBuilder __TIB_java_lang_StringBuilder = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_StringBuilder, // classInitializer
+ "java.lang.StringBuilder", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_AbstractStringBuilder, // extends
+ sizeof(java_lang_StringBuilder), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_StringBuilder;
+JAVA_OBJECT __CLASS_java_lang_StringBuilder_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_StringBuilder_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_StringBuilder_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_lang_StringBuilder_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_StringBuilder()
+{
+ staticInitializerLock(&__TIB_java_lang_StringBuilder);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_StringBuilder.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_StringBuilder.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_StringBuilder);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_StringBuilder.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_StringBuilder.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_StringBuilder.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.StringBuilder")
+ __INIT_IMPL_java_lang_StringBuilder();
+ }
+}
+
+void __INIT_IMPL_java_lang_StringBuilder()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_AbstractStringBuilder)
+ __TIB_java_lang_StringBuilder.newInstanceFunc = __NEW_INSTANCE_java_lang_StringBuilder;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_StringBuilder.vtable, __TIB_java_lang_AbstractStringBuilder.vtable, sizeof(__TIB_java_lang_AbstractStringBuilder.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_StringBuilder.vtable[6] = (VTABLE_PTR) &java_lang_StringBuilder_append___char;
+ __TIB_java_lang_StringBuilder.vtable[7] = (VTABLE_PTR) &java_lang_StringBuilder_append___java_lang_CharSequence;
+ __TIB_java_lang_StringBuilder.vtable[8] = (VTABLE_PTR) &java_lang_StringBuilder_append___java_lang_CharSequence_int_int;
+ __TIB_java_lang_StringBuilder.vtable[5] = (VTABLE_PTR) &java_lang_StringBuilder_toString__;
+ // Initialize interface information
+ __TIB_java_lang_StringBuilder.numImplementedInterfaces = 3;
+ __TIB_java_lang_StringBuilder.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 3);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_lang_StringBuilder.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_lang_Appendable)
+
+ __TIB_java_lang_StringBuilder.implementedInterfaces[0][1] = &__TIB_java_lang_Appendable;
+
+ XMLVM_CLASS_INIT(java_lang_CharSequence)
+
+ __TIB_java_lang_StringBuilder.implementedInterfaces[0][2] = &__TIB_java_lang_CharSequence;
+ // Initialize itable for this class
+ __TIB_java_lang_StringBuilder.itableBegin = &__TIB_java_lang_StringBuilder.itable[0];
+ __TIB_java_lang_StringBuilder.itable[XMLVM_ITABLE_IDX_java_lang_Appendable_append___char] = __TIB_java_lang_StringBuilder.vtable[6];
+ __TIB_java_lang_StringBuilder.itable[XMLVM_ITABLE_IDX_java_lang_Appendable_append___java_lang_CharSequence] = __TIB_java_lang_StringBuilder.vtable[7];
+ __TIB_java_lang_StringBuilder.itable[XMLVM_ITABLE_IDX_java_lang_Appendable_append___java_lang_CharSequence_int_int] = __TIB_java_lang_StringBuilder.vtable[8];
+ __TIB_java_lang_StringBuilder.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_toString__] = __TIB_java_lang_StringBuilder.vtable[5];
+ __TIB_java_lang_StringBuilder.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_charAt___int] = (VTABLE_PTR) &java_lang_AbstractStringBuilder_charAt___int;
+ __TIB_java_lang_StringBuilder.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__] = (VTABLE_PTR) &java_lang_AbstractStringBuilder_length__;
+ __TIB_java_lang_StringBuilder.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_subSequence___int_int] = (VTABLE_PTR) &java_lang_AbstractStringBuilder_subSequence___int_int;
+
+ _STATIC_java_lang_StringBuilder_serialVersionUID = 4383685877147921099;
+
+ __TIB_java_lang_StringBuilder.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_StringBuilder.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_StringBuilder.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_StringBuilder.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_StringBuilder.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_StringBuilder.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_StringBuilder.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_StringBuilder.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_StringBuilder = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_StringBuilder);
+ __TIB_java_lang_StringBuilder.clazz = __CLASS_java_lang_StringBuilder;
+ __TIB_java_lang_StringBuilder.baseType = JAVA_NULL;
+ __CLASS_java_lang_StringBuilder_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_StringBuilder);
+ __CLASS_java_lang_StringBuilder_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_StringBuilder_1ARRAY);
+ __CLASS_java_lang_StringBuilder_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_StringBuilder_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_StringBuilder]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_StringBuilder.classInitialized = 1;
+}
+
+void __DELETE_java_lang_StringBuilder(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_StringBuilder]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_StringBuilder(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_AbstractStringBuilder(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_StringBuilder]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_StringBuilder()
+{ XMLVM_CLASS_INIT(java_lang_StringBuilder)
+java_lang_StringBuilder* me = (java_lang_StringBuilder*) XMLVM_MALLOC(sizeof(java_lang_StringBuilder));
+ me->tib = &__TIB_java_lang_StringBuilder;
+ __INIT_INSTANCE_MEMBERS_java_lang_StringBuilder(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_StringBuilder]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_StringBuilder()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_lang_StringBuilder();
+ java_lang_StringBuilder___INIT___(me);
+ return me;
+}
+
+JAVA_LONG java_lang_StringBuilder_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_lang_StringBuilder)
+ return _STATIC_java_lang_StringBuilder_serialVersionUID;
+}
+
+void java_lang_StringBuilder_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_StringBuilder)
+_STATIC_java_lang_StringBuilder_serialVersionUID = v;
+}
+
+void java_lang_StringBuilder___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 54)
+ XMLVM_CHECK_NPE(0)
+ java_lang_AbstractStringBuilder___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 55)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_StringBuilder___INIT____int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder___INIT____int]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 67)
+ XMLVM_CHECK_NPE(0)
+ java_lang_AbstractStringBuilder___INIT____int(_r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 68)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_StringBuilder___INIT____java_lang_CharSequence(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder___INIT____java_lang_CharSequence]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 81)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_toString__])(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ java_lang_AbstractStringBuilder___INIT____java_lang_String(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 82)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_StringBuilder___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 95)
+ XMLVM_CHECK_NPE(0)
+ java_lang_AbstractStringBuilder___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 96)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_append___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_append___boolean]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "append", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 109)
+ if (_r2.i == 0) goto label8;
+ // "true"
+ _r0.o = xmlvm_create_java_string_from_pool(4);
+ label4:;
+ XMLVM_CHECK_NPE(1)
+ java_lang_AbstractStringBuilder_append0___java_lang_String(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 110)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label8:;
+ // "false"
+ _r0.o = xmlvm_create_java_string_from_pool(178);
+ goto label4;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_append___char(JAVA_OBJECT me, JAVA_CHAR n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_append___char]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "append", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 124)
+ XMLVM_CHECK_NPE(0)
+ java_lang_AbstractStringBuilder_append0___char(_r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 125)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_append___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_append___int]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "append", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 139)
+ _r0.o = java_lang_Integer_toString___int(_r2.i);
+ XMLVM_CHECK_NPE(1)
+ java_lang_AbstractStringBuilder_append0___java_lang_String(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 140)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_append___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_append___long]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "append", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.l = n1;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 154)
+ _r0.o = java_lang_Long_toString___long(_r2.l);
+ XMLVM_CHECK_NPE(1)
+ java_lang_AbstractStringBuilder_append0___java_lang_String(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 155)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_append___float(JAVA_OBJECT me, JAVA_FLOAT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_append___float]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "append", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.f = n1;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 169)
+ _r0.o = java_lang_Float_toString___float(_r2.f);
+ XMLVM_CHECK_NPE(1)
+ java_lang_AbstractStringBuilder_append0___java_lang_String(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 170)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_append___double(JAVA_OBJECT me, JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_append___double]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "append", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.d = n1;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 184)
+ _r0.o = java_lang_Double_toString___double(_r2.d);
+ XMLVM_CHECK_NPE(1)
+ java_lang_AbstractStringBuilder_append0___java_lang_String(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 185)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_append___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_append___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "append", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 199)
+ if (_r2.o != JAVA_NULL) goto label6;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 200)
+ XMLVM_CHECK_NPE(1)
+ java_lang_AbstractStringBuilder_appendNull__(_r1.o);
+ label5:;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 204)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label6:;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 202)
+ //java_lang_Object_toString__[5]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r2.o)->tib->vtable[5])(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ java_lang_AbstractStringBuilder_append0___java_lang_String(_r1.o, _r0.o);
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_append___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_append___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "append", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 216)
+ XMLVM_CHECK_NPE(0)
+ java_lang_AbstractStringBuilder_append0___java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 217)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_append___java_lang_StringBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_append___java_lang_StringBuffer]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "append", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 230)
+ if (_r4.o != JAVA_NULL) goto label6;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 231)
+ XMLVM_CHECK_NPE(3)
+ java_lang_AbstractStringBuilder_appendNull__(_r3.o);
+ label5:;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 235)
+ XMLVM_EXIT_METHOD()
+ return _r3.o;
+ label6:;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 233)
+
+
+ // Red class access removed: java.lang.StringBuffer::getValue
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.i = 0;
+
+
+ // Red class access removed: java.lang.StringBuffer::length
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(3)
+ java_lang_AbstractStringBuilder_append0___char_1ARRAY_int_int(_r3.o, _r0.o, _r1.i, _r2.i);
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_append___char_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_append___char_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "append", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 249)
+ XMLVM_CHECK_NPE(0)
+ java_lang_AbstractStringBuilder_append0___char_1ARRAY(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 250)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_append___char_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_append___char_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "append", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.i = n2;
+ _r3.i = n3;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 271)
+ XMLVM_CHECK_NPE(0)
+ java_lang_AbstractStringBuilder_append0___char_1ARRAY_int_int(_r0.o, _r1.o, _r2.i, _r3.i);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 272)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_append___java_lang_CharSequence(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_append___java_lang_CharSequence]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "append", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 285)
+ if (_r2.o != JAVA_NULL) goto label6;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 286)
+ XMLVM_CHECK_NPE(1)
+ java_lang_AbstractStringBuilder_appendNull__(_r1.o);
+ label5:;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 290)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label6:;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 288)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_toString__])(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ java_lang_AbstractStringBuilder_append0___java_lang_String(_r1.o, _r0.o);
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_append___java_lang_CharSequence_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_append___java_lang_CharSequence_int_int]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "append", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.i = n2;
+ _r3.i = n3;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 311)
+ XMLVM_CHECK_NPE(0)
+ java_lang_AbstractStringBuilder_append0___java_lang_CharSequence_int_int(_r0.o, _r1.o, _r2.i, _r3.i);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 312)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_appendCodePoint___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_appendCodePoint___int]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "appendCodePoint", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 325)
+ _r0.o = java_lang_Character_toChars___int(_r2.i);
+ XMLVM_CHECK_NPE(1)
+ java_lang_AbstractStringBuilder_append0___char_1ARRAY(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 326)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_delete___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_delete___int_int]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "delete", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.i = n1;
+ _r2.i = n2;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 343)
+ XMLVM_CHECK_NPE(0)
+ java_lang_AbstractStringBuilder_delete0___int_int(_r0.o, _r1.i, _r2.i);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 344)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_deleteCharAt___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_deleteCharAt___int]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "deleteCharAt", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 359)
+ XMLVM_CHECK_NPE(0)
+ java_lang_AbstractStringBuilder_deleteCharAt0___int(_r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 360)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_insert___int_boolean(JAVA_OBJECT me, JAVA_INT n1, JAVA_BOOLEAN n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_insert___int_boolean]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "insert", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.i = n2;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 380)
+ if (_r3.i == 0) goto label8;
+ // "true"
+ _r0.o = xmlvm_create_java_string_from_pool(4);
+ label4:;
+ XMLVM_CHECK_NPE(1)
+ java_lang_AbstractStringBuilder_insert0___int_java_lang_String(_r1.o, _r2.i, _r0.o);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 381)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label8:;
+ // "false"
+ _r0.o = xmlvm_create_java_string_from_pool(178);
+ goto label4;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_insert___int_char(JAVA_OBJECT me, JAVA_INT n1, JAVA_CHAR n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_insert___int_char]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "insert", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.i = n1;
+ _r2.i = n2;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 400)
+ XMLVM_CHECK_NPE(0)
+ java_lang_AbstractStringBuilder_insert0___int_char(_r0.o, _r1.i, _r2.i);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 401)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_insert___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_insert___int_int]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "insert", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.i = n2;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 420)
+ _r0.o = java_lang_Integer_toString___int(_r3.i);
+ XMLVM_CHECK_NPE(1)
+ java_lang_AbstractStringBuilder_insert0___int_java_lang_String(_r1.o, _r2.i, _r0.o);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 421)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_insert___int_long(JAVA_OBJECT me, JAVA_INT n1, JAVA_LONG n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_insert___int_long]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "insert", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.l = n2;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 440)
+ _r0.o = java_lang_Long_toString___long(_r3.l);
+ XMLVM_CHECK_NPE(1)
+ java_lang_AbstractStringBuilder_insert0___int_java_lang_String(_r1.o, _r2.i, _r0.o);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 441)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_insert___int_float(JAVA_OBJECT me, JAVA_INT n1, JAVA_FLOAT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_insert___int_float]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "insert", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.f = n2;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 460)
+ _r0.o = java_lang_Float_toString___float(_r3.f);
+ XMLVM_CHECK_NPE(1)
+ java_lang_AbstractStringBuilder_insert0___int_java_lang_String(_r1.o, _r2.i, _r0.o);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 461)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_insert___int_double(JAVA_OBJECT me, JAVA_INT n1, JAVA_DOUBLE n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_insert___int_double]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "insert", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.d = n2;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 481)
+ _r0.o = java_lang_Double_toString___double(_r3.d);
+ XMLVM_CHECK_NPE(1)
+ java_lang_AbstractStringBuilder_insert0___int_java_lang_String(_r1.o, _r2.i, _r0.o);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 482)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_insert___int_java_lang_Object(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_insert___int_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "insert", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 501)
+ if (_r3.o != JAVA_NULL) goto label8;
+ // "null"
+ _r0.o = xmlvm_create_java_string_from_pool(63);
+ label4:;
+ XMLVM_CHECK_NPE(1)
+ java_lang_AbstractStringBuilder_insert0___int_java_lang_String(_r1.o, _r2.i, _r0.o);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 502)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label8:;
+ //java_lang_Object_toString__[5]
+ XMLVM_CHECK_NPE(3)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r3.o)->tib->vtable[5])(_r3.o);
+ goto label4;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_insert___int_java_lang_String(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_insert___int_java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "insert", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.i = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 519)
+ XMLVM_CHECK_NPE(0)
+ java_lang_AbstractStringBuilder_insert0___int_java_lang_String(_r0.o, _r1.i, _r2.o);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 520)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_insert___int_char_1ARRAY(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_insert___int_char_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "insert", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.i = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 539)
+ XMLVM_CHECK_NPE(0)
+ java_lang_AbstractStringBuilder_insert0___int_char_1ARRAY(_r0.o, _r1.i, _r2.o);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 540)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_insert___int_char_1ARRAY_int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_insert___int_char_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "insert", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r0.o = me;
+ _r1.i = n1;
+ _r2.o = n2;
+ _r3.i = n3;
+ _r4.i = n4;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 566)
+ XMLVM_CHECK_NPE(0)
+ java_lang_AbstractStringBuilder_insert0___int_char_1ARRAY_int_int(_r0.o, _r1.i, _r2.o, _r3.i, _r4.i);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 567)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_insert___int_java_lang_CharSequence(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_insert___int_java_lang_CharSequence]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "insert", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 587)
+ if (_r3.o != JAVA_NULL) goto label8;
+ // "null"
+ _r0.o = xmlvm_create_java_string_from_pool(63);
+ label4:;
+ XMLVM_CHECK_NPE(1)
+ java_lang_AbstractStringBuilder_insert0___int_java_lang_String(_r1.o, _r2.i, _r0.o);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 588)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label8:;
+ XMLVM_CHECK_NPE(3)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_toString__])(_r3.o);
+ goto label4;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_insert___int_java_lang_CharSequence_int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_insert___int_java_lang_CharSequence_int_int]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "insert", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r0.o = me;
+ _r1.i = n1;
+ _r2.o = n2;
+ _r3.i = n3;
+ _r4.i = n4;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 615)
+ XMLVM_CHECK_NPE(0)
+ java_lang_AbstractStringBuilder_insert0___int_java_lang_CharSequence_int_int(_r0.o, _r1.i, _r2.o, _r3.i, _r4.i);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 616)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_replace___int_int_java_lang_String(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_replace___int_int_java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "replace", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r0.o = me;
+ _r1.i = n1;
+ _r2.i = n2;
+ _r3.o = n3;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 637)
+ XMLVM_CHECK_NPE(0)
+ java_lang_AbstractStringBuilder_replace0___int_int_java_lang_String(_r0.o, _r1.i, _r2.i, _r3.o);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 638)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_reverse__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_reverse__]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "reverse", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 647)
+ XMLVM_CHECK_NPE(0)
+ java_lang_AbstractStringBuilder_reverse0__(_r0.o);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 648)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_StringBuilder_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_toString__]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 663)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_AbstractStringBuilder_toString__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_StringBuilder_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_readObject___java_io_ObjectInputStream]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "readObject", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 679)
+
+
+ // Red class access removed: java.io.ObjectInputStream::defaultReadObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 680)
+
+
+ // Red class access removed: java.io.ObjectInputStream::readInt
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 681)
+
+
+ // Red class access removed: java.io.ObjectInputStream::readObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 682)
+ XMLVM_CHECK_NPE(2)
+ java_lang_AbstractStringBuilder_set___char_1ARRAY_int(_r2.o, _r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 683)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_StringBuilder_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_StringBuilder_writeObject___java_io_ObjectOutputStream]
+ XMLVM_ENTER_METHOD("java.lang.StringBuilder", "writeObject", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 697)
+
+
+ // Red class access removed: java.io.ObjectOutputStream::defaultWriteObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 698)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_AbstractStringBuilder_length__(_r1.o);
+
+
+ // Red class access removed: java.io.ObjectOutputStream::writeInt
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 699)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_AbstractStringBuilder_getValue__(_r1.o);
+
+
+ // Red class access removed: java.io.ObjectOutputStream::writeObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("StringBuilder.java", 700)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_StringBuilder.h b/tests/nbody-java/java_lang_StringBuilder.h
new file mode 100644
index 00000000..4a92b845
--- /dev/null
+++ b/tests/nbody-java/java_lang_StringBuilder.h
@@ -0,0 +1,128 @@
+#ifndef __JAVA_LANG_STRINGBUILDER__
+#define __JAVA_LANG_STRINGBUILDER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_StringBuilder 7
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+#include "java_lang_Appendable.h"
+#include "java_lang_CharSequence.h"
+// Super Class:
+#include "java_lang_AbstractStringBuilder.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Character
+#define XMLVM_FORWARD_DECL_java_lang_Character
+XMLVM_FORWARD_DECL(java_lang_Character)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Double
+#define XMLVM_FORWARD_DECL_java_lang_Double
+XMLVM_FORWARD_DECL(java_lang_Double)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Float
+#define XMLVM_FORWARD_DECL_java_lang_Float
+XMLVM_FORWARD_DECL(java_lang_Float)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Integer
+#define XMLVM_FORWARD_DECL_java_lang_Integer
+XMLVM_FORWARD_DECL(java_lang_Integer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Long
+#define XMLVM_FORWARD_DECL_java_lang_Long
+XMLVM_FORWARD_DECL(java_lang_Long)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+// Class declarations for java.lang.StringBuilder
+XMLVM_DEFINE_CLASS(java_lang_StringBuilder, 9, XMLVM_ITABLE_SIZE_java_lang_StringBuilder)
+
+extern JAVA_OBJECT __CLASS_java_lang_StringBuilder;
+extern JAVA_OBJECT __CLASS_java_lang_StringBuilder_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_StringBuilder_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_StringBuilder_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_StringBuilder
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_StringBuilder \
+ __INSTANCE_FIELDS_java_lang_AbstractStringBuilder; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_StringBuilder \
+ } java_lang_StringBuilder
+
+struct java_lang_StringBuilder {
+ __TIB_DEFINITION_java_lang_StringBuilder* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_StringBuilder;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+typedef struct java_lang_StringBuilder java_lang_StringBuilder;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_StringBuilder 9
+#define XMLVM_VTABLE_IDX_java_lang_StringBuilder_append___char 6
+#define XMLVM_VTABLE_IDX_java_lang_StringBuilder_append___java_lang_CharSequence 7
+#define XMLVM_VTABLE_IDX_java_lang_StringBuilder_append___java_lang_CharSequence_int_int 8
+#define XMLVM_VTABLE_IDX_java_lang_StringBuilder_toString__ 5
+
+void __INIT_java_lang_StringBuilder();
+void __INIT_IMPL_java_lang_StringBuilder();
+void __DELETE_java_lang_StringBuilder(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_StringBuilder(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_StringBuilder();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_StringBuilder();
+JAVA_LONG java_lang_StringBuilder_GET_serialVersionUID();
+void java_lang_StringBuilder_PUT_serialVersionUID(JAVA_LONG v);
+void java_lang_StringBuilder___INIT___(JAVA_OBJECT me);
+void java_lang_StringBuilder___INIT____int(JAVA_OBJECT me, JAVA_INT n1);
+void java_lang_StringBuilder___INIT____java_lang_CharSequence(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_StringBuilder___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_StringBuilder_append___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1);
+// Vtable index: 6
+JAVA_OBJECT java_lang_StringBuilder_append___char(JAVA_OBJECT me, JAVA_CHAR n1);
+JAVA_OBJECT java_lang_StringBuilder_append___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_OBJECT java_lang_StringBuilder_append___long(JAVA_OBJECT me, JAVA_LONG n1);
+JAVA_OBJECT java_lang_StringBuilder_append___float(JAVA_OBJECT me, JAVA_FLOAT n1);
+JAVA_OBJECT java_lang_StringBuilder_append___double(JAVA_OBJECT me, JAVA_DOUBLE n1);
+JAVA_OBJECT java_lang_StringBuilder_append___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_StringBuilder_append___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_StringBuilder_append___java_lang_StringBuffer(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_StringBuilder_append___char_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_StringBuilder_append___char_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+// Vtable index: 7
+JAVA_OBJECT java_lang_StringBuilder_append___java_lang_CharSequence(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 8
+JAVA_OBJECT java_lang_StringBuilder_append___java_lang_CharSequence_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+JAVA_OBJECT java_lang_StringBuilder_appendCodePoint___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_OBJECT java_lang_StringBuilder_delete___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2);
+JAVA_OBJECT java_lang_StringBuilder_deleteCharAt___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_OBJECT java_lang_StringBuilder_insert___int_boolean(JAVA_OBJECT me, JAVA_INT n1, JAVA_BOOLEAN n2);
+JAVA_OBJECT java_lang_StringBuilder_insert___int_char(JAVA_OBJECT me, JAVA_INT n1, JAVA_CHAR n2);
+JAVA_OBJECT java_lang_StringBuilder_insert___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2);
+JAVA_OBJECT java_lang_StringBuilder_insert___int_long(JAVA_OBJECT me, JAVA_INT n1, JAVA_LONG n2);
+JAVA_OBJECT java_lang_StringBuilder_insert___int_float(JAVA_OBJECT me, JAVA_INT n1, JAVA_FLOAT n2);
+JAVA_OBJECT java_lang_StringBuilder_insert___int_double(JAVA_OBJECT me, JAVA_INT n1, JAVA_DOUBLE n2);
+JAVA_OBJECT java_lang_StringBuilder_insert___int_java_lang_Object(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_lang_StringBuilder_insert___int_java_lang_String(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_lang_StringBuilder_insert___int_char_1ARRAY(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_lang_StringBuilder_insert___int_char_1ARRAY_int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4);
+JAVA_OBJECT java_lang_StringBuilder_insert___int_java_lang_CharSequence(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_lang_StringBuilder_insert___int_java_lang_CharSequence_int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4);
+JAVA_OBJECT java_lang_StringBuilder_replace___int_int_java_lang_String(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2, JAVA_OBJECT n3);
+JAVA_OBJECT java_lang_StringBuilder_reverse__(JAVA_OBJECT me);
+// Vtable index: 5
+JAVA_OBJECT java_lang_StringBuilder_toString__(JAVA_OBJECT me);
+void java_lang_StringBuilder_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_StringBuilder_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_lang_String_CaseInsensitiveComparator.c b/tests/nbody-java/java_lang_String_CaseInsensitiveComparator.c
new file mode 100644
index 00000000..28339b9d
--- /dev/null
+++ b/tests/nbody-java/java_lang_String_CaseInsensitiveComparator.c
@@ -0,0 +1,240 @@
+#include "xmlvm.h"
+#include "java_lang_String.h"
+
+#include "java_lang_String_CaseInsensitiveComparator.h"
+
+#define XMLVM_CURRENT_CLASS_NAME String_CaseInsensitiveComparator
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_String_CaseInsensitiveComparator
+
+__TIB_DEFINITION_java_lang_String_CaseInsensitiveComparator __TIB_java_lang_String_CaseInsensitiveComparator = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_String_CaseInsensitiveComparator, // classInitializer
+ "java.lang.String$CaseInsensitiveComparator", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "Ljava/lang/Object;Ljava/util/Comparator<Ljava/lang/String;>;Ljava/io/Serializable;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_String_CaseInsensitiveComparator), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_String_CaseInsensitiveComparator;
+JAVA_OBJECT __CLASS_java_lang_String_CaseInsensitiveComparator_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_String_CaseInsensitiveComparator_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_String_CaseInsensitiveComparator_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_lang_String_CaseInsensitiveComparator_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_String_CaseInsensitiveComparator()
+{
+ staticInitializerLock(&__TIB_java_lang_String_CaseInsensitiveComparator);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_String_CaseInsensitiveComparator.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_String_CaseInsensitiveComparator.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_String_CaseInsensitiveComparator);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_String_CaseInsensitiveComparator.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_String_CaseInsensitiveComparator.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_String_CaseInsensitiveComparator.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.String$CaseInsensitiveComparator")
+ __INIT_IMPL_java_lang_String_CaseInsensitiveComparator();
+ }
+}
+
+void __INIT_IMPL_java_lang_String_CaseInsensitiveComparator()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_String_CaseInsensitiveComparator.newInstanceFunc = __NEW_INSTANCE_java_lang_String_CaseInsensitiveComparator;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_String_CaseInsensitiveComparator.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_String_CaseInsensitiveComparator.vtable[6] = (VTABLE_PTR) &java_lang_String_CaseInsensitiveComparator_compare___java_lang_Object_java_lang_Object;
+ // Initialize interface information
+ __TIB_java_lang_String_CaseInsensitiveComparator.numImplementedInterfaces = 2;
+ __TIB_java_lang_String_CaseInsensitiveComparator.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_lang_String_CaseInsensitiveComparator.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_util_Comparator)
+
+ __TIB_java_lang_String_CaseInsensitiveComparator.implementedInterfaces[0][1] = &__TIB_java_util_Comparator;
+ // Initialize itable for this class
+ __TIB_java_lang_String_CaseInsensitiveComparator.itableBegin = &__TIB_java_lang_String_CaseInsensitiveComparator.itable[0];
+ __TIB_java_lang_String_CaseInsensitiveComparator.itable[XMLVM_ITABLE_IDX_java_util_Comparator_compare___java_lang_Object_java_lang_Object] = __TIB_java_lang_String_CaseInsensitiveComparator.vtable[6];
+ __TIB_java_lang_String_CaseInsensitiveComparator.itable[XMLVM_ITABLE_IDX_java_util_Comparator_equals___java_lang_Object] = __TIB_java_lang_String_CaseInsensitiveComparator.vtable[1];
+
+ _STATIC_java_lang_String_CaseInsensitiveComparator_serialVersionUID = 8575799808933029326;
+
+ __TIB_java_lang_String_CaseInsensitiveComparator.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_String_CaseInsensitiveComparator.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_String_CaseInsensitiveComparator.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_String_CaseInsensitiveComparator.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_String_CaseInsensitiveComparator.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_String_CaseInsensitiveComparator.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_String_CaseInsensitiveComparator.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_String_CaseInsensitiveComparator.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_String_CaseInsensitiveComparator = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_String_CaseInsensitiveComparator);
+ __TIB_java_lang_String_CaseInsensitiveComparator.clazz = __CLASS_java_lang_String_CaseInsensitiveComparator;
+ __TIB_java_lang_String_CaseInsensitiveComparator.baseType = JAVA_NULL;
+ __CLASS_java_lang_String_CaseInsensitiveComparator_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_String_CaseInsensitiveComparator);
+ __CLASS_java_lang_String_CaseInsensitiveComparator_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_String_CaseInsensitiveComparator_1ARRAY);
+ __CLASS_java_lang_String_CaseInsensitiveComparator_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_String_CaseInsensitiveComparator_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_String_CaseInsensitiveComparator]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_String_CaseInsensitiveComparator.classInitialized = 1;
+}
+
+void __DELETE_java_lang_String_CaseInsensitiveComparator(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_String_CaseInsensitiveComparator]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_String_CaseInsensitiveComparator(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_String_CaseInsensitiveComparator]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_String_CaseInsensitiveComparator()
+{ XMLVM_CLASS_INIT(java_lang_String_CaseInsensitiveComparator)
+java_lang_String_CaseInsensitiveComparator* me = (java_lang_String_CaseInsensitiveComparator*) XMLVM_MALLOC(sizeof(java_lang_String_CaseInsensitiveComparator));
+ me->tib = &__TIB_java_lang_String_CaseInsensitiveComparator;
+ __INIT_INSTANCE_MEMBERS_java_lang_String_CaseInsensitiveComparator(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_String_CaseInsensitiveComparator]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_String_CaseInsensitiveComparator()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_lang_String_CaseInsensitiveComparator_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_lang_String_CaseInsensitiveComparator)
+ return _STATIC_java_lang_String_CaseInsensitiveComparator_serialVersionUID;
+}
+
+void java_lang_String_CaseInsensitiveComparator_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_String_CaseInsensitiveComparator)
+_STATIC_java_lang_String_CaseInsensitiveComparator_serialVersionUID = v;
+}
+
+void java_lang_String_CaseInsensitiveComparator___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_CaseInsensitiveComparator___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.String$CaseInsensitiveComparator", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("String.java", 115)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_String_CaseInsensitiveComparator_compare___java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_CaseInsensitiveComparator_compare___java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.String$CaseInsensitiveComparator", "compare", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("String.java", 133)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = java_lang_String_compareToIgnoreCase___java_lang_String(_r2.o, _r3.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_String_CaseInsensitiveComparator_compare___java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_CaseInsensitiveComparator_compare___java_lang_Object_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.String$CaseInsensitiveComparator", "compare", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("String.java", 115)
+ _r2.o = _r2.o;
+ _r3.o = _r3.o;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_String_CaseInsensitiveComparator_compare___java_lang_String_java_lang_String(_r1.o, _r2.o, _r3.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_String_CaseInsensitiveComparator___INIT____java_lang_String_1(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_String_CaseInsensitiveComparator___INIT____java_lang_String_1]
+ XMLVM_ENTER_METHOD("java.lang.String$CaseInsensitiveComparator", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("String.java", 115)
+ XMLVM_CHECK_NPE(0)
+ java_lang_String_CaseInsensitiveComparator___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_String_CaseInsensitiveComparator.h b/tests/nbody-java/java_lang_String_CaseInsensitiveComparator.h
new file mode 100644
index 00000000..633c20f9
--- /dev/null
+++ b/tests/nbody-java/java_lang_String_CaseInsensitiveComparator.h
@@ -0,0 +1,64 @@
+#ifndef __JAVA_LANG_STRING_CASEINSENSITIVECOMPARATOR__
+#define __JAVA_LANG_STRING_CASEINSENSITIVECOMPARATOR__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_String_CaseInsensitiveComparator 2
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+#include "java_util_Comparator.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+// Class declarations for java.lang.String$CaseInsensitiveComparator
+XMLVM_DEFINE_CLASS(java_lang_String_CaseInsensitiveComparator, 7, XMLVM_ITABLE_SIZE_java_lang_String_CaseInsensitiveComparator)
+
+extern JAVA_OBJECT __CLASS_java_lang_String_CaseInsensitiveComparator;
+extern JAVA_OBJECT __CLASS_java_lang_String_CaseInsensitiveComparator_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_String_CaseInsensitiveComparator_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_String_CaseInsensitiveComparator_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_String_CaseInsensitiveComparator
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_String_CaseInsensitiveComparator \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_String_CaseInsensitiveComparator \
+ } java_lang_String_CaseInsensitiveComparator
+
+struct java_lang_String_CaseInsensitiveComparator {
+ __TIB_DEFINITION_java_lang_String_CaseInsensitiveComparator* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_String_CaseInsensitiveComparator;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_String_CaseInsensitiveComparator
+#define XMLVM_FORWARD_DECL_java_lang_String_CaseInsensitiveComparator
+typedef struct java_lang_String_CaseInsensitiveComparator java_lang_String_CaseInsensitiveComparator;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_String_CaseInsensitiveComparator 7
+#define XMLVM_VTABLE_IDX_java_lang_String_CaseInsensitiveComparator_compare___java_lang_Object_java_lang_Object 6
+
+void __INIT_java_lang_String_CaseInsensitiveComparator();
+void __INIT_IMPL_java_lang_String_CaseInsensitiveComparator();
+void __DELETE_java_lang_String_CaseInsensitiveComparator(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_String_CaseInsensitiveComparator(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_String_CaseInsensitiveComparator();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_String_CaseInsensitiveComparator();
+JAVA_LONG java_lang_String_CaseInsensitiveComparator_GET_serialVersionUID();
+void java_lang_String_CaseInsensitiveComparator_PUT_serialVersionUID(JAVA_LONG v);
+void java_lang_String_CaseInsensitiveComparator___INIT___(JAVA_OBJECT me);
+JAVA_INT java_lang_String_CaseInsensitiveComparator_compare___java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+// Vtable index: 6
+JAVA_INT java_lang_String_CaseInsensitiveComparator_compare___java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_lang_String_CaseInsensitiveComparator___INIT____java_lang_String_1(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_lang_System.c b/tests/nbody-java/java_lang_System.c
new file mode 100644
index 00000000..2c2e7a62
--- /dev/null
+++ b/tests/nbody-java/java_lang_System.c
@@ -0,0 +1,2057 @@
+#include "xmlvm.h"
+#include "java_io_PrintStream.h"
+#include "java_lang_Boolean.h"
+#include "java_lang_Byte.h"
+#include "java_lang_Character.h"
+#include "java_lang_Class.h"
+#include "java_lang_Double.h"
+#include "java_lang_Float.h"
+#include "java_lang_Integer.h"
+#include "java_lang_Long.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_Runtime.h"
+#include "java_lang_RuntimePermission.h"
+#include "java_lang_SecurityManager.h"
+#include "java_lang_Short.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_util_Map.h"
+#include "java_util_Properties.h"
+#include "java_util_PropertyPermission.h"
+#include "org_xmlvm_runtime_XMLVMUtil.h"
+
+#include "java_lang_System.h"
+
+#define XMLVM_CURRENT_CLASS_NAME System
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_System
+
+__TIB_DEFINITION_java_lang_System __TIB_java_lang_System = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_System, // classInitializer
+ "java.lang.System", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_System), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_System;
+JAVA_OBJECT __CLASS_java_lang_System_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_System_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_System_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_OBJECT _STATIC_java_lang_System_in;
+static JAVA_OBJECT _STATIC_java_lang_System_out;
+static JAVA_OBJECT _STATIC_java_lang_System_err;
+static JAVA_OBJECT _STATIC_java_lang_System_RUNTIME;
+static JAVA_OBJECT _STATIC_java_lang_System_systemProperties;
+static JAVA_OBJECT _STATIC_java_lang_System_security;
+static JAVA_INT _STATIC_java_lang_System_InitLocale;
+static JAVA_INT _STATIC_java_lang_System_PlatformEncoding;
+static JAVA_INT _STATIC_java_lang_System_FileEncoding;
+static JAVA_INT _STATIC_java_lang_System_OSEncoding;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_System()
+{
+ staticInitializerLock(&__TIB_java_lang_System);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_System.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_System.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_System);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_System.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_System.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_System.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.System")
+ __INIT_IMPL_java_lang_System();
+ }
+}
+
+void __INIT_IMPL_java_lang_System()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_System.newInstanceFunc = __NEW_INSTANCE_java_lang_System;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_System.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_lang_System.numImplementedInterfaces = 0;
+ __TIB_java_lang_System.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_java_lang_System_in = (java_lang_Object*) JAVA_NULL;
+ _STATIC_java_lang_System_out = (java_io_PrintStream*) JAVA_NULL;
+ _STATIC_java_lang_System_err = (java_io_PrintStream*) JAVA_NULL;
+ _STATIC_java_lang_System_RUNTIME = (java_lang_Runtime*) JAVA_NULL;
+ _STATIC_java_lang_System_systemProperties = (java_util_Properties*) JAVA_NULL;
+ _STATIC_java_lang_System_security = (java_lang_SecurityManager*) JAVA_NULL;
+ _STATIC_java_lang_System_InitLocale = 0;
+ _STATIC_java_lang_System_PlatformEncoding = 1;
+ _STATIC_java_lang_System_FileEncoding = 2;
+ _STATIC_java_lang_System_OSEncoding = 3;
+
+ __TIB_java_lang_System.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_System.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_System.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_System.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_System.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_System.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_System.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_System.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_System = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_System);
+ __TIB_java_lang_System.clazz = __CLASS_java_lang_System;
+ __TIB_java_lang_System.baseType = JAVA_NULL;
+ __CLASS_java_lang_System_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_System);
+ __CLASS_java_lang_System_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_System_1ARRAY);
+ __CLASS_java_lang_System_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_System_2ARRAY);
+ java_lang_System___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_System]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_System.classInitialized = 1;
+}
+
+void __DELETE_java_lang_System(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_System]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_System(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_System]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_System()
+{ XMLVM_CLASS_INIT(java_lang_System)
+java_lang_System* me = (java_lang_System*) XMLVM_MALLOC(sizeof(java_lang_System));
+ me->tib = &__TIB_java_lang_System;
+ __INIT_INSTANCE_MEMBERS_java_lang_System(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_System]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_System()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_OBJECT java_lang_System_GET_in()
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ return _STATIC_java_lang_System_in;
+}
+
+void java_lang_System_PUT_in(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+_STATIC_java_lang_System_in = v;
+}
+
+JAVA_OBJECT java_lang_System_GET_out()
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ return _STATIC_java_lang_System_out;
+}
+
+void java_lang_System_PUT_out(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+_STATIC_java_lang_System_out = v;
+}
+
+JAVA_OBJECT java_lang_System_GET_err()
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ return _STATIC_java_lang_System_err;
+}
+
+void java_lang_System_PUT_err(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+_STATIC_java_lang_System_err = v;
+}
+
+JAVA_OBJECT java_lang_System_GET_RUNTIME()
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ return _STATIC_java_lang_System_RUNTIME;
+}
+
+void java_lang_System_PUT_RUNTIME(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+_STATIC_java_lang_System_RUNTIME = v;
+}
+
+JAVA_OBJECT java_lang_System_GET_systemProperties()
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ return _STATIC_java_lang_System_systemProperties;
+}
+
+void java_lang_System_PUT_systemProperties(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+_STATIC_java_lang_System_systemProperties = v;
+}
+
+JAVA_OBJECT java_lang_System_GET_security()
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ return _STATIC_java_lang_System_security;
+}
+
+void java_lang_System_PUT_security(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+_STATIC_java_lang_System_security = v;
+}
+
+JAVA_INT java_lang_System_GET_InitLocale()
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ return _STATIC_java_lang_System_InitLocale;
+}
+
+void java_lang_System_PUT_InitLocale(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+_STATIC_java_lang_System_InitLocale = v;
+}
+
+JAVA_INT java_lang_System_GET_PlatformEncoding()
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ return _STATIC_java_lang_System_PlatformEncoding;
+}
+
+void java_lang_System_PUT_PlatformEncoding(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+_STATIC_java_lang_System_PlatformEncoding = v;
+}
+
+JAVA_INT java_lang_System_GET_FileEncoding()
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ return _STATIC_java_lang_System_FileEncoding;
+}
+
+void java_lang_System_PUT_FileEncoding(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+_STATIC_java_lang_System_FileEncoding = v;
+}
+
+JAVA_INT java_lang_System_GET_OSEncoding()
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ return _STATIC_java_lang_System_OSEncoding;
+}
+
+void java_lang_System_PUT_OSEncoding(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+_STATIC_java_lang_System_OSEncoding = v;
+}
+
+//XMLVM_NATIVE[void java_lang_System_initNativeLayer__()]
+
+void java_lang_System_setIn___java_io_InputStream(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_setIn___java_io_InputStream]
+ XMLVM_ENTER_METHOD("java.lang.System", "setIn", "?")
+ XMLVMElem _r0;
+ _r0.o = n1;
+ XMLVM_SOURCE_POSITION("System.java", 108)
+ java_lang_System_PUT_in( _r0.o);
+ XMLVM_SOURCE_POSITION("System.java", 109)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_System_setOut___java_io_PrintStream(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_setOut___java_io_PrintStream]
+ XMLVM_ENTER_METHOD("java.lang.System", "setOut", "?")
+ XMLVMElem _r0;
+ _r0.o = n1;
+ XMLVM_SOURCE_POSITION("System.java", 126)
+ java_lang_System_PUT_out( _r0.o);
+ XMLVM_SOURCE_POSITION("System.java", 127)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_System_setErr___java_io_PrintStream(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_setErr___java_io_PrintStream]
+ XMLVM_ENTER_METHOD("java.lang.System", "setErr", "?")
+ XMLVMElem _r0;
+ _r0.o = n1;
+ XMLVM_SOURCE_POSITION("System.java", 144)
+ java_lang_System_PUT_err( _r0.o);
+ XMLVM_SOURCE_POSITION("System.java", 145)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_System___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_System___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.System", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("System.java", 150)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("System.java", 151)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int]
+ XMLVM_ENTER_METHOD("java.lang.System", "arraycopy", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r5.o = n1;
+ _r6.i = n2;
+ _r7.o = n3;
+ _r8.i = n4;
+ _r9.i = n5;
+ XMLVM_SOURCE_POSITION("System.java", 173)
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(5)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r5.o)->tib->vtable[3])(_r5.o);
+ XMLVM_SOURCE_POSITION("System.java", 174)
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(7)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r7.o)->tib->vtable[3])(_r7.o);
+ XMLVM_SOURCE_POSITION("System.java", 175)
+ XMLVM_CHECK_NPE(2)
+ _r4.i = java_lang_Class_isArray__(_r2.o);
+ if (_r4.i == 0) goto label20;
+ XMLVM_CHECK_NPE(3)
+ _r4.i = java_lang_Class_isArray__(_r3.o);
+ if (_r4.i != 0) goto label26;
+ label20:;
+ XMLVM_SOURCE_POSITION("System.java", 176)
+
+
+ // Red class access removed: java.lang.ArrayStoreException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.ArrayStoreException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r4.o)
+ label26:;
+ XMLVM_SOURCE_POSITION("System.java", 178)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_lang_Class_getComponentType__(_r2.o);
+ XMLVM_SOURCE_POSITION("System.java", 179)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_lang_Class_getComponentType__(_r3.o);
+ XMLVM_SOURCE_POSITION("System.java", 180)
+ XMLVM_CHECK_NPE(0)
+ _r4.i = java_lang_Class_isPrimitive__(_r0.o);
+ if (_r4.i != 0) goto label64;
+ XMLVM_SOURCE_POSITION("System.java", 181)
+ XMLVM_CHECK_NPE(1)
+ _r4.i = java_lang_Class_isPrimitive__(_r1.o);
+ if (_r4.i == 0) goto label52;
+ XMLVM_SOURCE_POSITION("System.java", 182)
+
+
+ // Red class access removed: java.lang.ArrayStoreException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.ArrayStoreException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r4.o)
+ label52:;
+ XMLVM_SOURCE_POSITION("System.java", 184)
+ _r5.o = _r5.o;
+ _r5.o = _r5.o;
+ _r7.o = _r7.o;
+ _r7.o = _r7.o;
+ java_lang_System_arraycopy___java_lang_Object_1ARRAY_int_java_lang_Object_1ARRAY_int_int(_r5.o, _r6.i, _r7.o, _r8.i, _r9.i);
+ label63:;
+ XMLVM_SOURCE_POSITION("System.java", 207)
+ XMLVM_EXIT_METHOD()
+ return;
+ label64:;
+ XMLVM_SOURCE_POSITION("System.java", 186)
+ if (_r1.o == _r0.o) goto label72;
+ XMLVM_SOURCE_POSITION("System.java", 187)
+
+
+ // Red class access removed: java.lang.ArrayStoreException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.ArrayStoreException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r4.o)
+ label72:;
+ XMLVM_SOURCE_POSITION("System.java", 189)
+ _r4.o = java_lang_Integer_GET_TYPE();
+ if (_r0.o != _r4.o) goto label88;
+ XMLVM_SOURCE_POSITION("System.java", 190)
+ _r5.o = _r5.o;
+ _r5.o = _r5.o;
+ _r7.o = _r7.o;
+ _r7.o = _r7.o;
+ java_lang_System_arraycopy___int_1ARRAY_int_int_1ARRAY_int_int(_r5.o, _r6.i, _r7.o, _r8.i, _r9.i);
+ goto label63;
+ label88:;
+ XMLVM_SOURCE_POSITION("System.java", 191)
+ _r4.o = java_lang_Byte_GET_TYPE();
+ if (_r0.o != _r4.o) goto label104;
+ XMLVM_SOURCE_POSITION("System.java", 192)
+ _r5.o = _r5.o;
+ _r5.o = _r5.o;
+ _r7.o = _r7.o;
+ _r7.o = _r7.o;
+ java_lang_System_arraycopy___byte_1ARRAY_int_byte_1ARRAY_int_int(_r5.o, _r6.i, _r7.o, _r8.i, _r9.i);
+ goto label63;
+ label104:;
+ XMLVM_SOURCE_POSITION("System.java", 193)
+ _r4.o = java_lang_Long_GET_TYPE();
+ if (_r0.o != _r4.o) goto label120;
+ XMLVM_SOURCE_POSITION("System.java", 194)
+ _r5.o = _r5.o;
+ _r5.o = _r5.o;
+ _r7.o = _r7.o;
+ _r7.o = _r7.o;
+ java_lang_System_arraycopy___long_1ARRAY_int_long_1ARRAY_int_int(_r5.o, _r6.i, _r7.o, _r8.i, _r9.i);
+ goto label63;
+ label120:;
+ XMLVM_SOURCE_POSITION("System.java", 195)
+ _r4.o = java_lang_Short_GET_TYPE();
+ if (_r0.o != _r4.o) goto label136;
+ XMLVM_SOURCE_POSITION("System.java", 196)
+ _r5.o = _r5.o;
+ _r5.o = _r5.o;
+ _r7.o = _r7.o;
+ _r7.o = _r7.o;
+ java_lang_System_arraycopy___short_1ARRAY_int_short_1ARRAY_int_int(_r5.o, _r6.i, _r7.o, _r8.i, _r9.i);
+ goto label63;
+ label136:;
+ XMLVM_SOURCE_POSITION("System.java", 197)
+ _r4.o = java_lang_Character_GET_TYPE();
+ if (_r0.o != _r4.o) goto label152;
+ XMLVM_SOURCE_POSITION("System.java", 198)
+ _r5.o = _r5.o;
+ _r5.o = _r5.o;
+ _r7.o = _r7.o;
+ _r7.o = _r7.o;
+ java_lang_System_arraycopy___char_1ARRAY_int_char_1ARRAY_int_int(_r5.o, _r6.i, _r7.o, _r8.i, _r9.i);
+ goto label63;
+ label152:;
+ XMLVM_SOURCE_POSITION("System.java", 199)
+ _r4.o = java_lang_Boolean_GET_TYPE();
+ if (_r0.o != _r4.o) goto label168;
+ XMLVM_SOURCE_POSITION("System.java", 200)
+ _r5.o = _r5.o;
+ _r5.o = _r5.o;
+ _r7.o = _r7.o;
+ _r7.o = _r7.o;
+ java_lang_System_arraycopy___boolean_1ARRAY_int_boolean_1ARRAY_int_int(_r5.o, _r6.i, _r7.o, _r8.i, _r9.i);
+ goto label63;
+ label168:;
+ XMLVM_SOURCE_POSITION("System.java", 201)
+ _r4.o = java_lang_Double_GET_TYPE();
+ if (_r0.o != _r4.o) goto label184;
+ XMLVM_SOURCE_POSITION("System.java", 202)
+ _r5.o = _r5.o;
+ _r5.o = _r5.o;
+ _r7.o = _r7.o;
+ _r7.o = _r7.o;
+ java_lang_System_arraycopy___double_1ARRAY_int_double_1ARRAY_int_int(_r5.o, _r6.i, _r7.o, _r8.i, _r9.i);
+ goto label63;
+ label184:;
+ XMLVM_SOURCE_POSITION("System.java", 203)
+ _r4.o = java_lang_Float_GET_TYPE();
+ if (_r0.o != _r4.o) goto label63;
+ XMLVM_SOURCE_POSITION("System.java", 204)
+ _r5.o = _r5.o;
+ _r5.o = _r5.o;
+ _r7.o = _r7.o;
+ _r7.o = _r7.o;
+ java_lang_System_arraycopy___float_1ARRAY_int_float_1ARRAY_int_int(_r5.o, _r6.i, _r7.o, _r8.i, _r9.i);
+ goto label63;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_System_arraycopy___java_lang_Object_1ARRAY_int_java_lang_Object_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_arraycopy___java_lang_Object_1ARRAY_int_java_lang_Object_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.lang.System", "arraycopy", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r3.o = n1;
+ _r4.i = n2;
+ _r5.o = n3;
+ _r6.i = n4;
+ _r7.i = n5;
+ XMLVM_SOURCE_POSITION("System.java", 214)
+ if (_r4.i < 0) goto label52;
+ if (_r6.i < 0) goto label52;
+ if (_r7.i < 0) goto label52;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ _r1.i = _r1.i - _r4.i;
+ if (_r7.i > _r1.i) goto label52;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ _r1.i = _r1.i - _r6.i;
+ if (_r7.i > _r1.i) goto label52;
+ XMLVM_SOURCE_POSITION("System.java", 217)
+ if (_r3.o != _r5.o) goto label22;
+ if (_r4.i > _r6.i) goto label22;
+ _r1.i = _r4.i + _r7.i;
+ if (_r1.i > _r6.i) goto label36;
+ label22:;
+ XMLVM_SOURCE_POSITION("System.java", 218)
+ _r0.i = 0;
+ label23:;
+ if (_r0.i >= _r7.i) goto label58;
+ XMLVM_SOURCE_POSITION("System.java", 219)
+ _r1.i = _r6.i + _r0.i;
+ _r2.i = _r4.i + _r0.i;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r0.i = _r0.i + 1;
+ goto label23;
+ label36:;
+ XMLVM_SOURCE_POSITION("System.java", 222)
+ _r1.i = 1;
+ _r0.i = _r7.i - _r1.i;
+ label39:;
+ if (_r0.i < 0) goto label58;
+ XMLVM_SOURCE_POSITION("System.java", 223)
+ _r1.i = _r6.i + _r0.i;
+ _r2.i = _r4.i + _r0.i;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r0.i = _r0.i + -1;
+ goto label39;
+ label52:;
+ XMLVM_SOURCE_POSITION("System.java", 227)
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label58:;
+ XMLVM_SOURCE_POSITION("System.java", 229)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_System_arraycopy___int_1ARRAY_int_int_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_arraycopy___int_1ARRAY_int_int_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.lang.System", "arraycopy", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r3.o = n1;
+ _r4.i = n2;
+ _r5.o = n3;
+ _r6.i = n4;
+ _r7.i = n5;
+ XMLVM_SOURCE_POSITION("System.java", 243)
+ if (_r4.i < 0) goto label52;
+ if (_r6.i < 0) goto label52;
+ if (_r7.i < 0) goto label52;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ _r1.i = _r1.i - _r4.i;
+ if (_r7.i > _r1.i) goto label52;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ _r1.i = _r1.i - _r6.i;
+ if (_r7.i > _r1.i) goto label52;
+ XMLVM_SOURCE_POSITION("System.java", 246)
+ if (_r3.o != _r5.o) goto label22;
+ if (_r4.i > _r6.i) goto label22;
+ _r1.i = _r4.i + _r7.i;
+ if (_r1.i > _r6.i) goto label36;
+ label22:;
+ XMLVM_SOURCE_POSITION("System.java", 247)
+ _r0.i = 0;
+ label23:;
+ if (_r0.i >= _r7.i) goto label58;
+ XMLVM_SOURCE_POSITION("System.java", 248)
+ _r1.i = _r6.i + _r0.i;
+ _r2.i = _r4.i + _r0.i;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
+ _r2.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r0.i = _r0.i + 1;
+ goto label23;
+ label36:;
+ XMLVM_SOURCE_POSITION("System.java", 251)
+ _r1.i = 1;
+ _r0.i = _r7.i - _r1.i;
+ label39:;
+ if (_r0.i < 0) goto label58;
+ XMLVM_SOURCE_POSITION("System.java", 252)
+ _r1.i = _r6.i + _r0.i;
+ _r2.i = _r4.i + _r0.i;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
+ _r2.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r0.i = _r0.i + -1;
+ goto label39;
+ label52:;
+ XMLVM_SOURCE_POSITION("System.java", 256)
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label58:;
+ XMLVM_SOURCE_POSITION("System.java", 258)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_System_arraycopy___byte_1ARRAY_int_byte_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_arraycopy___byte_1ARRAY_int_byte_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.lang.System", "arraycopy", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r3.o = n1;
+ _r4.i = n2;
+ _r5.o = n3;
+ _r6.i = n4;
+ _r7.i = n5;
+ XMLVM_SOURCE_POSITION("System.java", 272)
+ if (_r4.i < 0) goto label52;
+ if (_r6.i < 0) goto label52;
+ if (_r7.i < 0) goto label52;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ _r1.i = _r1.i - _r4.i;
+ if (_r7.i > _r1.i) goto label52;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ _r1.i = _r1.i - _r6.i;
+ if (_r7.i > _r1.i) goto label52;
+ XMLVM_SOURCE_POSITION("System.java", 275)
+ if (_r3.o != _r5.o) goto label22;
+ if (_r4.i > _r6.i) goto label22;
+ _r1.i = _r4.i + _r7.i;
+ if (_r1.i > _r6.i) goto label36;
+ label22:;
+ XMLVM_SOURCE_POSITION("System.java", 276)
+ _r0.i = 0;
+ label23:;
+ if (_r0.i >= _r7.i) goto label58;
+ XMLVM_SOURCE_POSITION("System.java", 277)
+ _r1.i = _r6.i + _r0.i;
+ _r2.i = _r4.i + _r0.i;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
+ _r2.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r1.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r0.i = _r0.i + 1;
+ goto label23;
+ label36:;
+ XMLVM_SOURCE_POSITION("System.java", 280)
+ _r1.i = 1;
+ _r0.i = _r7.i - _r1.i;
+ label39:;
+ if (_r0.i < 0) goto label58;
+ XMLVM_SOURCE_POSITION("System.java", 281)
+ _r1.i = _r6.i + _r0.i;
+ _r2.i = _r4.i + _r0.i;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
+ _r2.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r1.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r0.i = _r0.i + -1;
+ goto label39;
+ label52:;
+ XMLVM_SOURCE_POSITION("System.java", 285)
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label58:;
+ XMLVM_SOURCE_POSITION("System.java", 287)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_System_arraycopy___short_1ARRAY_int_short_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_arraycopy___short_1ARRAY_int_short_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.lang.System", "arraycopy", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r3.o = n1;
+ _r4.i = n2;
+ _r5.o = n3;
+ _r6.i = n4;
+ _r7.i = n5;
+ XMLVM_SOURCE_POSITION("System.java", 301)
+ if (_r4.i < 0) goto label52;
+ if (_r6.i < 0) goto label52;
+ if (_r7.i < 0) goto label52;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ _r1.i = _r1.i - _r4.i;
+ if (_r7.i > _r1.i) goto label52;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ _r1.i = _r1.i - _r6.i;
+ if (_r7.i > _r1.i) goto label52;
+ XMLVM_SOURCE_POSITION("System.java", 304)
+ if (_r3.o != _r5.o) goto label22;
+ if (_r4.i > _r6.i) goto label22;
+ _r1.i = _r4.i + _r7.i;
+ if (_r1.i > _r6.i) goto label36;
+ label22:;
+ XMLVM_SOURCE_POSITION("System.java", 305)
+ _r0.i = 0;
+ label23:;
+ if (_r0.i >= _r7.i) goto label58;
+ XMLVM_SOURCE_POSITION("System.java", 306)
+ _r1.i = _r6.i + _r0.i;
+ _r2.i = _r4.i + _r0.i;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
+ _r2.i = ((JAVA_ARRAY_SHORT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r1.i);
+ ((JAVA_ARRAY_SHORT*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r0.i = _r0.i + 1;
+ goto label23;
+ label36:;
+ XMLVM_SOURCE_POSITION("System.java", 309)
+ _r1.i = 1;
+ _r0.i = _r7.i - _r1.i;
+ label39:;
+ if (_r0.i < 0) goto label58;
+ XMLVM_SOURCE_POSITION("System.java", 310)
+ _r1.i = _r6.i + _r0.i;
+ _r2.i = _r4.i + _r0.i;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
+ _r2.i = ((JAVA_ARRAY_SHORT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r1.i);
+ ((JAVA_ARRAY_SHORT*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r0.i = _r0.i + -1;
+ goto label39;
+ label52:;
+ XMLVM_SOURCE_POSITION("System.java", 314)
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label58:;
+ XMLVM_SOURCE_POSITION("System.java", 316)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_System_arraycopy___long_1ARRAY_int_long_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_arraycopy___long_1ARRAY_int_long_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.lang.System", "arraycopy", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r4.o = n1;
+ _r5.i = n2;
+ _r6.o = n3;
+ _r7.i = n4;
+ _r8.i = n5;
+ XMLVM_SOURCE_POSITION("System.java", 330)
+ if (_r5.i < 0) goto label52;
+ if (_r7.i < 0) goto label52;
+ if (_r8.i < 0) goto label52;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
+ _r1.i = _r1.i - _r5.i;
+ if (_r8.i > _r1.i) goto label52;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ _r1.i = _r1.i - _r7.i;
+ if (_r8.i > _r1.i) goto label52;
+ XMLVM_SOURCE_POSITION("System.java", 333)
+ if (_r4.o != _r6.o) goto label22;
+ if (_r5.i > _r7.i) goto label22;
+ _r1.i = _r5.i + _r8.i;
+ if (_r1.i > _r7.i) goto label36;
+ label22:;
+ XMLVM_SOURCE_POSITION("System.java", 334)
+ _r0.i = 0;
+ label23:;
+ if (_r0.i >= _r8.i) goto label58;
+ XMLVM_SOURCE_POSITION("System.java", 335)
+ _r1.i = _r7.i + _r0.i;
+ _r2.i = _r5.i + _r0.i;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r2.i);
+ _r2.l = ((JAVA_ARRAY_LONG*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r1.i);
+ ((JAVA_ARRAY_LONG*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.l;
+ _r0.i = _r0.i + 1;
+ goto label23;
+ label36:;
+ XMLVM_SOURCE_POSITION("System.java", 338)
+ _r1.i = 1;
+ _r0.i = _r8.i - _r1.i;
+ label39:;
+ if (_r0.i < 0) goto label58;
+ XMLVM_SOURCE_POSITION("System.java", 339)
+ _r1.i = _r7.i + _r0.i;
+ _r2.i = _r5.i + _r0.i;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r2.i);
+ _r2.l = ((JAVA_ARRAY_LONG*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r1.i);
+ ((JAVA_ARRAY_LONG*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.l;
+ _r0.i = _r0.i + -1;
+ goto label39;
+ label52:;
+ XMLVM_SOURCE_POSITION("System.java", 343)
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label58:;
+ XMLVM_SOURCE_POSITION("System.java", 345)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_System_arraycopy___char_1ARRAY_int_char_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_arraycopy___char_1ARRAY_int_char_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.lang.System", "arraycopy", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r3.o = n1;
+ _r4.i = n2;
+ _r5.o = n3;
+ _r6.i = n4;
+ _r7.i = n5;
+ XMLVM_SOURCE_POSITION("System.java", 359)
+ if (_r4.i < 0) goto label52;
+ if (_r6.i < 0) goto label52;
+ if (_r7.i < 0) goto label52;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ _r1.i = _r1.i - _r4.i;
+ if (_r7.i > _r1.i) goto label52;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ _r1.i = _r1.i - _r6.i;
+ if (_r7.i > _r1.i) goto label52;
+ XMLVM_SOURCE_POSITION("System.java", 362)
+ if (_r3.o != _r5.o) goto label22;
+ if (_r4.i > _r6.i) goto label22;
+ _r1.i = _r4.i + _r7.i;
+ if (_r1.i > _r6.i) goto label36;
+ label22:;
+ XMLVM_SOURCE_POSITION("System.java", 363)
+ _r0.i = 0;
+ label23:;
+ if (_r0.i >= _r7.i) goto label58;
+ XMLVM_SOURCE_POSITION("System.java", 364)
+ _r1.i = _r6.i + _r0.i;
+ _r2.i = _r4.i + _r0.i;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
+ _r2.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r1.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r0.i = _r0.i + 1;
+ goto label23;
+ label36:;
+ XMLVM_SOURCE_POSITION("System.java", 367)
+ _r1.i = 1;
+ _r0.i = _r7.i - _r1.i;
+ label39:;
+ if (_r0.i < 0) goto label58;
+ XMLVM_SOURCE_POSITION("System.java", 368)
+ _r1.i = _r6.i + _r0.i;
+ _r2.i = _r4.i + _r0.i;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
+ _r2.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r1.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r0.i = _r0.i + -1;
+ goto label39;
+ label52:;
+ XMLVM_SOURCE_POSITION("System.java", 372)
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label58:;
+ XMLVM_SOURCE_POSITION("System.java", 374)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_System_arraycopy___boolean_1ARRAY_int_boolean_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_arraycopy___boolean_1ARRAY_int_boolean_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.lang.System", "arraycopy", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r3.o = n1;
+ _r4.i = n2;
+ _r5.o = n3;
+ _r6.i = n4;
+ _r7.i = n5;
+ XMLVM_SOURCE_POSITION("System.java", 389)
+ if (_r4.i < 0) goto label52;
+ if (_r6.i < 0) goto label52;
+ if (_r7.i < 0) goto label52;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ _r1.i = _r1.i - _r4.i;
+ if (_r7.i > _r1.i) goto label52;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ _r1.i = _r1.i - _r6.i;
+ if (_r7.i > _r1.i) goto label52;
+ XMLVM_SOURCE_POSITION("System.java", 392)
+ if (_r3.o != _r5.o) goto label22;
+ if (_r4.i > _r6.i) goto label22;
+ _r1.i = _r4.i + _r7.i;
+ if (_r1.i > _r6.i) goto label36;
+ label22:;
+ XMLVM_SOURCE_POSITION("System.java", 393)
+ _r0.i = 0;
+ label23:;
+ if (_r0.i >= _r7.i) goto label58;
+ XMLVM_SOURCE_POSITION("System.java", 394)
+ _r1.i = _r6.i + _r0.i;
+ _r2.i = _r4.i + _r0.i;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
+ _r2.i = ((JAVA_ARRAY_BOOLEAN*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r1.i);
+ ((JAVA_ARRAY_BOOLEAN*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r0.i = _r0.i + 1;
+ goto label23;
+ label36:;
+ XMLVM_SOURCE_POSITION("System.java", 397)
+ _r1.i = 1;
+ _r0.i = _r7.i - _r1.i;
+ label39:;
+ if (_r0.i < 0) goto label58;
+ XMLVM_SOURCE_POSITION("System.java", 398)
+ _r1.i = _r6.i + _r0.i;
+ _r2.i = _r4.i + _r0.i;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
+ _r2.i = ((JAVA_ARRAY_BOOLEAN*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r1.i);
+ ((JAVA_ARRAY_BOOLEAN*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r0.i = _r0.i + -1;
+ goto label39;
+ label52:;
+ XMLVM_SOURCE_POSITION("System.java", 402)
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label58:;
+ XMLVM_SOURCE_POSITION("System.java", 404)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_System_arraycopy___double_1ARRAY_int_double_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_arraycopy___double_1ARRAY_int_double_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.lang.System", "arraycopy", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r4.o = n1;
+ _r5.i = n2;
+ _r6.o = n3;
+ _r7.i = n4;
+ _r8.i = n5;
+ XMLVM_SOURCE_POSITION("System.java", 418)
+ if (_r5.i < 0) goto label52;
+ if (_r7.i < 0) goto label52;
+ if (_r8.i < 0) goto label52;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
+ _r1.i = _r1.i - _r5.i;
+ if (_r8.i > _r1.i) goto label52;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ _r1.i = _r1.i - _r7.i;
+ if (_r8.i > _r1.i) goto label52;
+ XMLVM_SOURCE_POSITION("System.java", 421)
+ if (_r4.o != _r6.o) goto label22;
+ if (_r5.i > _r7.i) goto label22;
+ _r1.i = _r5.i + _r8.i;
+ if (_r1.i > _r7.i) goto label36;
+ label22:;
+ XMLVM_SOURCE_POSITION("System.java", 422)
+ _r0.i = 0;
+ label23:;
+ if (_r0.i >= _r8.i) goto label58;
+ XMLVM_SOURCE_POSITION("System.java", 423)
+ _r1.i = _r7.i + _r0.i;
+ _r2.i = _r5.i + _r0.i;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r2.i);
+ _r2.d = ((JAVA_ARRAY_DOUBLE*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r1.i);
+ ((JAVA_ARRAY_DOUBLE*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.d;
+ _r0.i = _r0.i + 1;
+ goto label23;
+ label36:;
+ XMLVM_SOURCE_POSITION("System.java", 426)
+ _r1.i = 1;
+ _r0.i = _r8.i - _r1.i;
+ label39:;
+ if (_r0.i < 0) goto label58;
+ XMLVM_SOURCE_POSITION("System.java", 427)
+ _r1.i = _r7.i + _r0.i;
+ _r2.i = _r5.i + _r0.i;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r2.i);
+ _r2.d = ((JAVA_ARRAY_DOUBLE*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r1.i);
+ ((JAVA_ARRAY_DOUBLE*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.d;
+ _r0.i = _r0.i + -1;
+ goto label39;
+ label52:;
+ XMLVM_SOURCE_POSITION("System.java", 431)
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label58:;
+ XMLVM_SOURCE_POSITION("System.java", 433)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_System_arraycopy___float_1ARRAY_int_float_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_arraycopy___float_1ARRAY_int_float_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.lang.System", "arraycopy", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r3.o = n1;
+ _r4.i = n2;
+ _r5.o = n3;
+ _r6.i = n4;
+ _r7.i = n5;
+ XMLVM_SOURCE_POSITION("System.java", 447)
+ if (_r4.i < 0) goto label52;
+ if (_r6.i < 0) goto label52;
+ if (_r7.i < 0) goto label52;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ _r1.i = _r1.i - _r4.i;
+ if (_r7.i > _r1.i) goto label52;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ _r1.i = _r1.i - _r6.i;
+ if (_r7.i > _r1.i) goto label52;
+ XMLVM_SOURCE_POSITION("System.java", 450)
+ if (_r3.o != _r5.o) goto label22;
+ if (_r4.i > _r6.i) goto label22;
+ _r1.i = _r4.i + _r7.i;
+ if (_r1.i > _r6.i) goto label36;
+ label22:;
+ XMLVM_SOURCE_POSITION("System.java", 451)
+ _r0.i = 0;
+ label23:;
+ if (_r0.i >= _r7.i) goto label58;
+ XMLVM_SOURCE_POSITION("System.java", 452)
+ _r1.i = _r6.i + _r0.i;
+ _r2.i = _r4.i + _r0.i;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
+ _r2.f = ((JAVA_ARRAY_FLOAT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r1.i);
+ ((JAVA_ARRAY_FLOAT*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.f;
+ _r0.i = _r0.i + 1;
+ goto label23;
+ label36:;
+ XMLVM_SOURCE_POSITION("System.java", 455)
+ _r1.i = 1;
+ _r0.i = _r7.i - _r1.i;
+ label39:;
+ if (_r0.i < 0) goto label58;
+ XMLVM_SOURCE_POSITION("System.java", 456)
+ _r1.i = _r6.i + _r0.i;
+ _r2.i = _r4.i + _r0.i;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
+ _r2.f = ((JAVA_ARRAY_FLOAT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r1.i);
+ ((JAVA_ARRAY_FLOAT*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.f;
+ _r0.i = _r0.i + -1;
+ goto label39;
+ label52:;
+ XMLVM_SOURCE_POSITION("System.java", 460)
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label58:;
+ XMLVM_SOURCE_POSITION("System.java", 462)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG java_lang_System_currentTimeMillis__()]
+
+//XMLVM_NATIVE[JAVA_LONG java_lang_System_nanoTime__()]
+
+void java_lang_System_ensureProperties__()
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_ensureProperties__]
+ XMLVM_ENTER_METHOD("java.lang.System", "ensureProperties", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ _r12.i = 1;
+ // "console.encoding"
+ _r13.o = xmlvm_create_java_string_from_pool(673);
+ XMLVM_SOURCE_POSITION("System.java", 497)
+ _r9.o = __NEW_java_util_Properties();
+ XMLVM_CHECK_NPE(9)
+ java_util_Properties___INIT___(_r9.o);
+ java_lang_System_PUT_systemProperties( _r9.o);
+ XMLVM_SOURCE_POSITION("System.java", 499)
+ _r8.o = JAVA_NULL;
+ _r7.o = JAVA_NULL;
+ _r9.i = 2;
+ XMLVM_SOURCE_POSITION("System.java", 501)
+ _r1.o = java_lang_System_getEncoding___int(_r9.i);
+ _r9.i = 3;
+ XMLVM_SOURCE_POSITION("System.java", 502)
+ _r2.o = java_lang_System_getEncoding___int(_r9.i);
+ if (_r1.o == JAVA_NULL) goto label149;
+ XMLVM_SOURCE_POSITION("System.java", 503)
+ XMLVM_SOURCE_POSITION("System.java", 504)
+ _r3 = _r1;
+ if (_r2.o != JAVA_NULL) goto label144;
+ XMLVM_SOURCE_POSITION("System.java", 508)
+ XMLVM_SOURCE_POSITION("System.java", 509)
+ _r8.o = java_lang_System_getEncoding___int(_r12.i);
+ _r7 = _r8;
+ label32:;
+ XMLVM_SOURCE_POSITION("System.java", 510)
+ XMLVM_SOURCE_POSITION("System.java", 519)
+ if (_r7.o != JAVA_NULL) goto label35;
+ XMLVM_SOURCE_POSITION("System.java", 520)
+ _r7 = _r2;
+ label35:;
+ XMLVM_SOURCE_POSITION("System.java", 522)
+ if (_r7.o == JAVA_NULL) goto label44;
+ XMLVM_SOURCE_POSITION("System.java", 523)
+ _r9.o = java_lang_System_GET_systemProperties();
+ // "os.encoding"
+ _r10.o = xmlvm_create_java_string_from_pool(674);
+ //java_util_Properties_put___java_lang_Object_java_lang_Object[10]
+ XMLVM_CHECK_NPE(9)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_Properties*) _r9.o)->tib->vtable[10])(_r9.o, _r10.o, _r7.o);
+ label44:;
+ XMLVM_SOURCE_POSITION("System.java", 526)
+ _r9.o = java_lang_System_GET_systemProperties();
+ // "file.encoding"
+ _r10.o = xmlvm_create_java_string_from_pool(174);
+ //java_util_Properties_put___java_lang_Object_java_lang_Object[10]
+ XMLVM_CHECK_NPE(9)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_Properties*) _r9.o)->tib->vtable[10])(_r9.o, _r10.o, _r3.o);
+ XMLVM_SOURCE_POSITION("System.java", 528)
+ _r9.o = java_lang_System_GET_systemProperties();
+ // "java.version"
+ _r10.o = xmlvm_create_java_string_from_pool(675);
+ // "1.5 subset"
+ _r11.o = xmlvm_create_java_string_from_pool(676);
+ //java_util_Properties_put___java_lang_Object_java_lang_Object[10]
+ XMLVM_CHECK_NPE(9)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_Properties*) _r9.o)->tib->vtable[10])(_r9.o, _r10.o, _r11.o);
+ XMLVM_SOURCE_POSITION("System.java", 529)
+ _r9.o = java_lang_System_GET_systemProperties();
+ // "java.specification.version"
+ _r10.o = xmlvm_create_java_string_from_pool(677);
+ // "1.5"
+ _r11.o = xmlvm_create_java_string_from_pool(678);
+ //java_util_Properties_put___java_lang_Object_java_lang_Object[10]
+ XMLVM_CHECK_NPE(9)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_Properties*) _r9.o)->tib->vtable[10])(_r9.o, _r10.o, _r11.o);
+ XMLVM_SOURCE_POSITION("System.java", 531)
+ _r9.o = java_lang_System_GET_systemProperties();
+ // "java.specification.vendor"
+ _r10.o = xmlvm_create_java_string_from_pool(679);
+ // "Sun Microsystems Inc."
+ _r11.o = xmlvm_create_java_string_from_pool(680);
+ //java_util_Properties_put___java_lang_Object_java_lang_Object[10]
+ XMLVM_CHECK_NPE(9)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_Properties*) _r9.o)->tib->vtable[10])(_r9.o, _r10.o, _r11.o);
+ XMLVM_SOURCE_POSITION("System.java", 532)
+ _r9.o = java_lang_System_GET_systemProperties();
+ // "java.specification.name"
+ _r10.o = xmlvm_create_java_string_from_pool(681);
+ // "Java Platform API Specification"
+ _r11.o = xmlvm_create_java_string_from_pool(682);
+ //java_util_Properties_put___java_lang_Object_java_lang_Object[10]
+ XMLVM_CHECK_NPE(9)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_Properties*) _r9.o)->tib->vtable[10])(_r9.o, _r10.o, _r11.o);
+ XMLVM_SOURCE_POSITION("System.java", 534)
+ _r9.o = java_lang_System_GET_systemProperties();
+ // "com.ibm.oti.configuration"
+ _r10.o = xmlvm_create_java_string_from_pool(683);
+ // "clear"
+ _r11.o = xmlvm_create_java_string_from_pool(684);
+ //java_util_Properties_put___java_lang_Object_java_lang_Object[10]
+ XMLVM_CHECK_NPE(9)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_Properties*) _r9.o)->tib->vtable[10])(_r9.o, _r10.o, _r11.o);
+ XMLVM_SOURCE_POSITION("System.java", 535)
+ _r9.o = java_lang_System_GET_systemProperties();
+ // "com.ibm.oti.configuration.dir"
+ _r10.o = xmlvm_create_java_string_from_pool(685);
+ // "jclClear"
+ _r11.o = xmlvm_create_java_string_from_pool(686);
+ //java_util_Properties_put___java_lang_Object_java_lang_Object[10]
+ XMLVM_CHECK_NPE(9)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_Properties*) _r9.o)->tib->vtable[10])(_r9.o, _r10.o, _r11.o);
+ XMLVM_SOURCE_POSITION("System.java", 537)
+ _r6.o = java_lang_System_getPropertyList__();
+ _r4.i = 0;
+ label110:;
+ XMLVM_SOURCE_POSITION("System.java", 538)
+ _r9.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ if (_r4.i >= _r9.i) goto label117;
+ XMLVM_SOURCE_POSITION("System.java", 539)
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r4.i);
+ _r5.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ if (_r5.o != JAVA_NULL) goto label155;
+ label117:;
+ XMLVM_SOURCE_POSITION("System.java", 540)
+ XMLVM_SOURCE_POSITION("System.java", 546)
+ _r9.o = java_lang_System_GET_systemProperties();
+ // "console.encoding"
+ _r10.o = xmlvm_create_java_string_from_pool(673);
+ //java_util_Properties_get___java_lang_Object[7]
+ XMLVM_CHECK_NPE(9)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_Properties*) _r9.o)->tib->vtable[7])(_r9.o, _r13.o);
+ _r0.o = _r0.o;
+ if (_r0.o != JAVA_NULL) goto label143;
+ XMLVM_SOURCE_POSITION("System.java", 547)
+ XMLVM_SOURCE_POSITION("System.java", 548)
+ if (_r8.o != JAVA_NULL) goto label135;
+ XMLVM_SOURCE_POSITION("System.java", 549)
+ _r8.o = java_lang_System_getEncoding___int(_r12.i);
+ label135:;
+ XMLVM_SOURCE_POSITION("System.java", 551)
+ _r0 = _r8;
+ XMLVM_SOURCE_POSITION("System.java", 552)
+ _r9.o = java_lang_System_GET_systemProperties();
+ // "console.encoding"
+ _r10.o = xmlvm_create_java_string_from_pool(673);
+ //java_util_Properties_put___java_lang_Object_java_lang_Object[10]
+ XMLVM_CHECK_NPE(9)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_Properties*) _r9.o)->tib->vtable[10])(_r9.o, _r13.o, _r0.o);
+ label143:;
+ XMLVM_SOURCE_POSITION("System.java", 555)
+ XMLVM_EXIT_METHOD()
+ return;
+ label144:;
+ XMLVM_SOURCE_POSITION("System.java", 512)
+ _r9.i = 0;
+ java_lang_System_getEncoding___int(_r9.i);
+ goto label32;
+ label149:;
+ XMLVM_SOURCE_POSITION("System.java", 515)
+ _r8.o = java_lang_System_getEncoding___int(_r12.i);
+ _r3 = _r8;
+ XMLVM_SOURCE_POSITION("System.java", 516)
+ goto label32;
+ label155:;
+ XMLVM_SOURCE_POSITION("System.java", 543)
+ _r9.o = java_lang_System_GET_systemProperties();
+ _r10.i = _r4.i + 1;
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r10.i);
+ _r10.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r10.i];
+ //java_util_Properties_put___java_lang_Object_java_lang_Object[10]
+ XMLVM_CHECK_NPE(9)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_Properties*) _r9.o)->tib->vtable[10])(_r9.o, _r5.o, _r10.o);
+ _r4.i = _r4.i + 2;
+ goto label110;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_System_exit___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_exit___int]
+ XMLVM_ENTER_METHOD("java.lang.System", "exit", "?")
+ XMLVMElem _r0;
+ _r0.i = n1;
+ XMLVM_SOURCE_POSITION("System.java", 572)
+ java_lang_System_nativeExit___int(_r0.i);
+ XMLVM_SOURCE_POSITION("System.java", 573)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void java_lang_System_nativeExit___int(JAVA_INT n1)]
+
+void java_lang_System_gc__()
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_gc__]
+ XMLVM_ENTER_METHOD("java.lang.System", "gc", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("System.java", 589)
+ _r0.o = java_lang_Runtime_getRuntime__();
+ XMLVM_CHECK_NPE(0)
+ java_lang_Runtime_gc__(_r0.o);
+ XMLVM_SOURCE_POSITION("System.java", 590)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_System_getenv___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_getenv___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.System", "getenv", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("System.java", 606)
+ if (_r4.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("System.java", 607)
+ _r1.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(1)
+ java_lang_NullPointerException___INIT___(_r1.o);
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("System.java", 609)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label41;
+ XMLVM_SOURCE_POSITION("System.java", 610)
+ XMLVM_SOURCE_POSITION("System.java", 611)
+ _r1.o = __NEW_java_lang_RuntimePermission();
+ _r2.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(2)
+ java_lang_StringBuilder___INIT___(_r2.o);
+ // "getenv."
+ _r3.o = xmlvm_create_java_string_from_pool(687);
+ XMLVM_CHECK_NPE(2)
+ _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r3.o);
+ XMLVM_CHECK_NPE(2)
+ _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r4.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(2)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r2.o)->tib->vtable[5])(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r1.o, _r2.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r0.o, _r1.o);
+ label41:;
+ XMLVM_SOURCE_POSITION("System.java", 613)
+
+
+ // Red class access removed: java.lang.Error::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.Error::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_System_getenv__()
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_getenv__]
+ XMLVM_ENTER_METHOD("java.lang.System", "getenv", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVM_SOURCE_POSITION("System.java", 626)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label16;
+ XMLVM_SOURCE_POSITION("System.java", 627)
+ XMLVM_SOURCE_POSITION("System.java", 628)
+ _r1.o = __NEW_java_lang_RuntimePermission();
+ // "getenv.*"
+ _r2.o = xmlvm_create_java_string_from_pool(688);
+ XMLVM_CHECK_NPE(1)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r1.o, _r2.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r0.o, _r1.o);
+ label16:;
+ XMLVM_SOURCE_POSITION("System.java", 630)
+
+
+ // Red class access removed: java.lang.Error::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.Error::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_System_inheritedChannel__()
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_inheritedChannel__]
+ XMLVM_ENTER_METHOD("java.lang.System", "inheritedChannel", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("System.java", 644)
+
+
+ // Red class access removed: java.nio.channels.spi.SelectorProvider::provider
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.channels.spi.SelectorProvider::inheritedChannel
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_System_getProperties__()
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_getProperties__]
+ XMLVM_ENTER_METHOD("java.lang.System", "getProperties", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVM_SOURCE_POSITION("System.java", 658)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label9;
+ XMLVM_SOURCE_POSITION("System.java", 659)
+ XMLVM_SOURCE_POSITION("System.java", 660)
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkPropertiesAccess__(_r0.o);
+ label9:;
+ XMLVM_SOURCE_POSITION("System.java", 662)
+ _r1.o = java_lang_System_GET_systemProperties();
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_System_internalGetProperties__()
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_internalGetProperties__]
+ XMLVM_ENTER_METHOD("java.lang.System", "internalGetProperties", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("System.java", 672)
+ _r0.o = java_lang_System_GET_systemProperties();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_System_getProperty___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_getProperty___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.System", "getProperty", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("System.java", 709)
+ _r0.o = JAVA_NULL;
+ _r0.o = java_lang_System_getProperty___java_lang_String_java_lang_String(_r1.o, _r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_System_getProperty___java_lang_String_java_lang_String(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_getProperty___java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.System", "getProperty", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("System.java", 728)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(2)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r2.o)->tib->vtable[8])(_r2.o);
+ if (_r1.i != 0) goto label12;
+ XMLVM_SOURCE_POSITION("System.java", 729)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label12:;
+ XMLVM_SOURCE_POSITION("System.java", 731)
+ // "file.separator"
+ _r1.o = xmlvm_create_java_string_from_pool(689);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(2)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r2.o)->tib->vtable[1])(_r2.o, _r1.o);
+ if (_r1.i == 0) goto label23;
+ XMLVM_SOURCE_POSITION("System.java", 732)
+ // "/"
+ _r1.o = xmlvm_create_java_string_from_pool(54);
+ label22:;
+ XMLVM_SOURCE_POSITION("System.java", 747)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label23:;
+ XMLVM_SOURCE_POSITION("System.java", 734)
+ // "path.separator"
+ _r1.o = xmlvm_create_java_string_from_pool(690);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(2)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r2.o)->tib->vtable[1])(_r2.o, _r1.o);
+ if (_r1.i == 0) goto label34;
+ XMLVM_SOURCE_POSITION("System.java", 735)
+ // ":"
+ _r1.o = xmlvm_create_java_string_from_pool(79);
+ goto label22;
+ label34:;
+ XMLVM_SOURCE_POSITION("System.java", 737)
+ // "user.dir"
+ _r1.o = xmlvm_create_java_string_from_pool(691);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(2)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r2.o)->tib->vtable[1])(_r2.o, _r1.o);
+ if (_r1.i == 0) goto label47;
+ XMLVM_SOURCE_POSITION("System.java", 738)
+ _r1.o = org_xmlvm_runtime_XMLVMUtil_getCurrentWorkingDirectory__();
+ goto label22;
+ label47:;
+ XMLVM_SOURCE_POSITION("System.java", 740)
+ // "javax.xml.parsers.DocumentBuilderFactory"
+ _r1.o = xmlvm_create_java_string_from_pool(692);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(2)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r2.o)->tib->vtable[1])(_r2.o, _r1.o);
+ if (_r1.i == 0) goto label57;
+ XMLVM_SOURCE_POSITION("System.java", 741)
+ _r1.o = JAVA_NULL;
+ goto label22;
+ label57:;
+ XMLVM_SOURCE_POSITION("System.java", 743)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label66;
+ XMLVM_SOURCE_POSITION("System.java", 744)
+ XMLVM_SOURCE_POSITION("System.java", 745)
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkPropertyAccess___java_lang_String(_r0.o, _r2.o);
+ label66:;
+ _r1.o = java_lang_System_GET_systemProperties();
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_util_Properties_getProperty___java_lang_String_java_lang_String(_r1.o, _r2.o, _r3.o);
+ goto label22;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_System_setProperty___java_lang_String_java_lang_String(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_setProperty___java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.System", "setProperty", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = n1;
+ _r4.o = n2;
+ XMLVM_SOURCE_POSITION("System.java", 764)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(3)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r3.o)->tib->vtable[8])(_r3.o);
+ if (_r1.i != 0) goto label12;
+ XMLVM_SOURCE_POSITION("System.java", 765)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label12:;
+ XMLVM_SOURCE_POSITION("System.java", 767)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label28;
+ XMLVM_SOURCE_POSITION("System.java", 768)
+ XMLVM_SOURCE_POSITION("System.java", 769)
+ _r1.o = __NEW_java_util_PropertyPermission();
+ // "write"
+ _r2.o = xmlvm_create_java_string_from_pool(671);
+ XMLVM_CHECK_NPE(1)
+ java_util_PropertyPermission___INIT____java_lang_String_java_lang_String(_r1.o, _r3.o, _r2.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r0.o, _r1.o);
+ label28:;
+ XMLVM_SOURCE_POSITION("System.java", 771)
+ _r1.o = java_lang_System_GET_systemProperties();
+ XMLVM_CHECK_NPE(1)
+ _r3.o = java_util_Properties_setProperty___java_lang_String_java_lang_String(_r1.o, _r3.o, _r4.o);
+ _r3.o = _r3.o;
+ XMLVM_EXIT_METHOD()
+ return _r3.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_System_clearProperty___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_clearProperty___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.System", "clearProperty", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("System.java", 790)
+ if (_r3.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("System.java", 791)
+ _r1.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(1)
+ java_lang_NullPointerException___INIT___(_r1.o);
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("System.java", 793)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(3)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r3.o)->tib->vtable[8])(_r3.o);
+ if (_r1.i != 0) goto label20;
+ XMLVM_SOURCE_POSITION("System.java", 794)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label20:;
+ XMLVM_SOURCE_POSITION("System.java", 797)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label36;
+ XMLVM_SOURCE_POSITION("System.java", 798)
+ XMLVM_SOURCE_POSITION("System.java", 799)
+ _r1.o = __NEW_java_util_PropertyPermission();
+ // "write"
+ _r2.o = xmlvm_create_java_string_from_pool(671);
+ XMLVM_CHECK_NPE(1)
+ java_util_PropertyPermission___INIT____java_lang_String_java_lang_String(_r1.o, _r3.o, _r2.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r0.o, _r1.o);
+ label36:;
+ XMLVM_SOURCE_POSITION("System.java", 801)
+ _r1.o = java_lang_System_GET_systemProperties();
+ //java_util_Properties_remove___java_lang_Object[11]
+ XMLVM_CHECK_NPE(1)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_Properties*) _r1.o)->tib->vtable[11])(_r1.o, _r3.o);
+ _r3.o = _r3.o;
+ XMLVM_EXIT_METHOD()
+ return _r3.o;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_System_getPropertyList__()]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_System_getEncoding___int(JAVA_INT n1)]
+
+JAVA_OBJECT java_lang_System_getSecurityManager__()
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_getSecurityManager__]
+ XMLVM_ENTER_METHOD("java.lang.System", "getSecurityManager", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("System.java", 826)
+ _r0.o = java_lang_System_GET_security();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_INT java_lang_System_identityHashCode___java_lang_Object(JAVA_OBJECT n1)]
+
+void java_lang_System_loadLibrary___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_loadLibrary___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.System", "loadLibrary", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("System.java", 871)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder___INIT___(_r1.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r3.o);
+ // " couldn't be loaded. Library loading is not yet implemented"
+ _r2.o = xmlvm_create_java_string_from_pool(693);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r2.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_System_runFinalization__()
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_runFinalization__]
+ XMLVM_ENTER_METHOD("java.lang.System", "runFinalization", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("System.java", 880)
+ _r0.o = java_lang_System_GET_RUNTIME();
+ XMLVM_CHECK_NPE(0)
+ java_lang_Runtime_runFinalization__(_r0.o);
+ XMLVM_SOURCE_POSITION("System.java", 881)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_System_runFinalizersOnExit___boolean(JAVA_BOOLEAN n1)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_runFinalizersOnExit___boolean]
+ XMLVM_ENTER_METHOD("java.lang.System", "runFinalizersOnExit", "?")
+ XMLVMElem _r0;
+ _r0.i = n1;
+ XMLVM_SOURCE_POSITION("System.java", 895)
+ java_lang_Runtime_runFinalizersOnExit___boolean(_r0.i);
+ XMLVM_SOURCE_POSITION("System.java", 896)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_System_setProperties___java_util_Properties(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_setProperties___java_util_Properties]
+ XMLVM_ENTER_METHOD("java.lang.System", "setProperties", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("System.java", 910)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label9;
+ XMLVM_SOURCE_POSITION("System.java", 911)
+ XMLVM_SOURCE_POSITION("System.java", 912)
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkPropertiesAccess__(_r0.o);
+ label9:;
+ XMLVM_SOURCE_POSITION("System.java", 914)
+ if (_r1.o != JAVA_NULL) goto label15;
+ XMLVM_SOURCE_POSITION("System.java", 915)
+ java_lang_System_ensureProperties__();
+ label14:;
+ XMLVM_SOURCE_POSITION("System.java", 919)
+ XMLVM_EXIT_METHOD()
+ return;
+ label15:;
+ XMLVM_SOURCE_POSITION("System.java", 917)
+ java_lang_System_PUT_systemProperties( _r1.o);
+ goto label14;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_System_setSecurityManager___java_lang_SecurityManager(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_System)
+ //XMLVM_BEGIN_WRAPPER[java_lang_System_setSecurityManager___java_lang_SecurityManager]
+ XMLVM_ENTER_METHOD("java.lang.System", "setSecurityManager", "?")
+ XMLVMElem _r0;
+ _r0.o = n1;
+ XMLVM_SOURCE_POSITION("System.java", 945)
+ java_lang_System_PUT_security( _r0.o);
+ XMLVM_SOURCE_POSITION("System.java", 946)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_System___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_System___CLINIT___]
+ XMLVM_ENTER_METHOD("java.lang.System", "<clinit>", "?")
+ XMLVMElem _r0;
+ _r0.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("System.java", 48)
+ java_lang_System_PUT_in( _r0.o);
+ XMLVM_SOURCE_POSITION("System.java", 53)
+ java_lang_System_PUT_out( _r0.o);
+ XMLVM_SOURCE_POSITION("System.java", 58)
+ java_lang_System_PUT_err( _r0.o);
+ XMLVM_SOURCE_POSITION("System.java", 61)
+ _r0.o = java_lang_Runtime_getRuntime__();
+ java_lang_System_PUT_RUNTIME( _r0.o);
+ XMLVM_SOURCE_POSITION("System.java", 79)
+ java_lang_System_initNativeLayer__();
+ XMLVM_SOURCE_POSITION("System.java", 81)
+ java_lang_System_ensureProperties__();
+ XMLVM_SOURCE_POSITION("System.java", 83)
+ _r0.o = __NEW_java_lang_SecurityManager();
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager___INIT___(_r0.o);
+ java_lang_System_PUT_security( _r0.o);
+ XMLVM_SOURCE_POSITION("System.java", 91)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_System.h b/tests/nbody-java/java_lang_System.h
new file mode 100644
index 00000000..3c55f3a1
--- /dev/null
+++ b/tests/nbody-java/java_lang_System.h
@@ -0,0 +1,190 @@
+#ifndef __JAVA_LANG_SYSTEM__
+#define __JAVA_LANG_SYSTEM__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_System 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_io_PrintStream
+#define XMLVM_FORWARD_DECL_java_io_PrintStream
+XMLVM_FORWARD_DECL(java_io_PrintStream)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Boolean
+#define XMLVM_FORWARD_DECL_java_lang_Boolean
+XMLVM_FORWARD_DECL(java_lang_Boolean)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Byte
+#define XMLVM_FORWARD_DECL_java_lang_Byte
+XMLVM_FORWARD_DECL(java_lang_Byte)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Character
+#define XMLVM_FORWARD_DECL_java_lang_Character
+XMLVM_FORWARD_DECL(java_lang_Character)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Double
+#define XMLVM_FORWARD_DECL_java_lang_Double
+XMLVM_FORWARD_DECL(java_lang_Double)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Float
+#define XMLVM_FORWARD_DECL_java_lang_Float
+XMLVM_FORWARD_DECL(java_lang_Float)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Integer
+#define XMLVM_FORWARD_DECL_java_lang_Integer
+XMLVM_FORWARD_DECL(java_lang_Integer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Long
+#define XMLVM_FORWARD_DECL_java_lang_Long
+XMLVM_FORWARD_DECL(java_lang_Long)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Runtime
+#define XMLVM_FORWARD_DECL_java_lang_Runtime
+XMLVM_FORWARD_DECL(java_lang_Runtime)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_RuntimePermission
+#define XMLVM_FORWARD_DECL_java_lang_RuntimePermission
+XMLVM_FORWARD_DECL(java_lang_RuntimePermission)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_SecurityManager
+#define XMLVM_FORWARD_DECL_java_lang_SecurityManager
+XMLVM_FORWARD_DECL(java_lang_SecurityManager)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Short
+#define XMLVM_FORWARD_DECL_java_lang_Short
+XMLVM_FORWARD_DECL(java_lang_Short)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Map
+#define XMLVM_FORWARD_DECL_java_util_Map
+XMLVM_FORWARD_DECL(java_util_Map)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Properties
+#define XMLVM_FORWARD_DECL_java_util_Properties
+XMLVM_FORWARD_DECL(java_util_Properties)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_PropertyPermission
+#define XMLVM_FORWARD_DECL_java_util_PropertyPermission
+XMLVM_FORWARD_DECL(java_util_PropertyPermission)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_XMLVMUtil
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_XMLVMUtil
+XMLVM_FORWARD_DECL(org_xmlvm_runtime_XMLVMUtil)
+#endif
+// Class declarations for java.lang.System
+XMLVM_DEFINE_CLASS(java_lang_System, 6, XMLVM_ITABLE_SIZE_java_lang_System)
+
+extern JAVA_OBJECT __CLASS_java_lang_System;
+extern JAVA_OBJECT __CLASS_java_lang_System_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_System_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_System_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_System
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_System \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_System \
+ } java_lang_System
+
+struct java_lang_System {
+ __TIB_DEFINITION_java_lang_System* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_System;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+typedef struct java_lang_System java_lang_System;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_System 6
+
+void __INIT_java_lang_System();
+void __INIT_IMPL_java_lang_System();
+void __DELETE_java_lang_System(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_System(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_System();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_System();
+JAVA_OBJECT java_lang_System_GET_in();
+void java_lang_System_PUT_in(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_System_GET_out();
+void java_lang_System_PUT_out(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_System_GET_err();
+void java_lang_System_PUT_err(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_System_GET_RUNTIME();
+void java_lang_System_PUT_RUNTIME(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_System_GET_systemProperties();
+void java_lang_System_PUT_systemProperties(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_System_GET_security();
+void java_lang_System_PUT_security(JAVA_OBJECT v);
+JAVA_INT java_lang_System_GET_InitLocale();
+void java_lang_System_PUT_InitLocale(JAVA_INT v);
+JAVA_INT java_lang_System_GET_PlatformEncoding();
+void java_lang_System_PUT_PlatformEncoding(JAVA_INT v);
+JAVA_INT java_lang_System_GET_FileEncoding();
+void java_lang_System_PUT_FileEncoding(JAVA_INT v);
+JAVA_INT java_lang_System_GET_OSEncoding();
+void java_lang_System_PUT_OSEncoding(JAVA_INT v);
+void java_lang_System_initNativeLayer__();
+void java_lang_System_setIn___java_io_InputStream(JAVA_OBJECT n1);
+void java_lang_System_setOut___java_io_PrintStream(JAVA_OBJECT n1);
+void java_lang_System_setErr___java_io_PrintStream(JAVA_OBJECT n1);
+void java_lang_System___INIT___(JAVA_OBJECT me);
+void java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5);
+void java_lang_System_arraycopy___java_lang_Object_1ARRAY_int_java_lang_Object_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5);
+void java_lang_System_arraycopy___int_1ARRAY_int_int_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5);
+void java_lang_System_arraycopy___byte_1ARRAY_int_byte_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5);
+void java_lang_System_arraycopy___short_1ARRAY_int_short_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5);
+void java_lang_System_arraycopy___long_1ARRAY_int_long_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5);
+void java_lang_System_arraycopy___char_1ARRAY_int_char_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5);
+void java_lang_System_arraycopy___boolean_1ARRAY_int_boolean_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5);
+void java_lang_System_arraycopy___double_1ARRAY_int_double_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5);
+void java_lang_System_arraycopy___float_1ARRAY_int_float_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5);
+JAVA_LONG java_lang_System_currentTimeMillis__();
+JAVA_LONG java_lang_System_nanoTime__();
+void java_lang_System_ensureProperties__();
+void java_lang_System_exit___int(JAVA_INT n1);
+void java_lang_System_nativeExit___int(JAVA_INT n1);
+void java_lang_System_gc__();
+JAVA_OBJECT java_lang_System_getenv___java_lang_String(JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_System_getenv__();
+JAVA_OBJECT java_lang_System_inheritedChannel__();
+JAVA_OBJECT java_lang_System_getProperties__();
+JAVA_OBJECT java_lang_System_internalGetProperties__();
+JAVA_OBJECT java_lang_System_getProperty___java_lang_String(JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_System_getProperty___java_lang_String_java_lang_String(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_lang_System_setProperty___java_lang_String_java_lang_String(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_lang_System_clearProperty___java_lang_String(JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_System_getPropertyList__();
+JAVA_OBJECT java_lang_System_getEncoding___int(JAVA_INT n1);
+JAVA_OBJECT java_lang_System_getSecurityManager__();
+JAVA_INT java_lang_System_identityHashCode___java_lang_Object(JAVA_OBJECT n1);
+void java_lang_System_loadLibrary___java_lang_String(JAVA_OBJECT n1);
+void java_lang_System_runFinalization__();
+void java_lang_System_runFinalizersOnExit___boolean(JAVA_BOOLEAN n1);
+void java_lang_System_setProperties___java_util_Properties(JAVA_OBJECT n1);
+void java_lang_System_setSecurityManager___java_lang_SecurityManager(JAVA_OBJECT n1);
+void java_lang_System___CLINIT_();
+
+#endif
diff --git a/tests/nbody-java/java_lang_Thread.c b/tests/nbody-java/java_lang_Thread.c
new file mode 100644
index 00000000..a2a0fa67
--- /dev/null
+++ b/tests/nbody-java/java_lang_Thread.c
@@ -0,0 +1,2378 @@
+#include "xmlvm.h"
+#include "java_io_PrintStream.h"
+#include "java_lang_Class.h"
+#include "java_lang_ClassLoader.h"
+#include "java_lang_Long.h"
+#include "java_lang_StackTraceElement.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_lang_System.h"
+#include "java_lang_Thread_State.h"
+#include "java_lang_Thread_UncaughtExceptionHandler.h"
+#include "java_lang_ThreadGroup.h"
+#include "java_lang_Throwable.h"
+#include "java_util_HashMap.h"
+#include "java_util_Map.h"
+#include "org_xmlvm_runtime_Condition.h"
+#include "org_xmlvm_runtime_Mutex.h"
+
+#include "java_lang_Thread.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Thread
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Thread
+
+__TIB_DEFINITION_java_lang_Thread __TIB_java_lang_Thread = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Thread, // classInitializer
+ "java.lang.Thread", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_Thread), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_Thread;
+JAVA_OBJECT __CLASS_java_lang_Thread_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Thread_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Thread_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_OBJECT _STATIC_java_lang_Thread_threadSafetyMutex;
+static JAVA_LONG _STATIC_java_lang_Thread_nextThreadId;
+static JAVA_INT _STATIC_java_lang_Thread_numberOfActiveNonDaemonThreads;
+static JAVA_OBJECT _STATIC_java_lang_Thread_threadMap;
+static JAVA_OBJECT _STATIC_java_lang_Thread_mainThreadGroup;
+static JAVA_INT _STATIC_java_lang_Thread_MAX_PRIORITY;
+static JAVA_INT _STATIC_java_lang_Thread_MIN_PRIORITY;
+static JAVA_INT _STATIC_java_lang_Thread_NORM_PRIORITY;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_Thread()
+{
+ staticInitializerLock(&__TIB_java_lang_Thread);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Thread.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Thread.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Thread);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Thread.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Thread.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Thread.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Thread")
+ __INIT_IMPL_java_lang_Thread();
+ }
+}
+
+void __INIT_IMPL_java_lang_Thread()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_Thread.newInstanceFunc = __NEW_INSTANCE_java_lang_Thread;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_Thread.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_Thread.vtable[1] = (VTABLE_PTR) &java_lang_Thread_equals___java_lang_Object;
+ __TIB_java_lang_Thread.vtable[6] = (VTABLE_PTR) &java_lang_Thread_run__;
+ __TIB_java_lang_Thread.vtable[5] = (VTABLE_PTR) &java_lang_Thread_toString__;
+ xmlvm_init_native_java_lang_Thread();
+ // Initialize interface information
+ __TIB_java_lang_Thread.numImplementedInterfaces = 1;
+ __TIB_java_lang_Thread.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_lang_Runnable)
+
+ __TIB_java_lang_Thread.implementedInterfaces[0][0] = &__TIB_java_lang_Runnable;
+ // Initialize itable for this class
+ __TIB_java_lang_Thread.itableBegin = &__TIB_java_lang_Thread.itable[0];
+ __TIB_java_lang_Thread.itable[XMLVM_ITABLE_IDX_java_lang_Runnable_run__] = __TIB_java_lang_Thread.vtable[6];
+
+ _STATIC_java_lang_Thread_threadSafetyMutex = (org_xmlvm_runtime_Mutex*) JAVA_NULL;
+ _STATIC_java_lang_Thread_nextThreadId = 0;
+ _STATIC_java_lang_Thread_numberOfActiveNonDaemonThreads = 0;
+ _STATIC_java_lang_Thread_threadMap = (java_util_Map*) JAVA_NULL;
+ _STATIC_java_lang_Thread_mainThreadGroup = (java_lang_ThreadGroup*) JAVA_NULL;
+ _STATIC_java_lang_Thread_MAX_PRIORITY = 10;
+ _STATIC_java_lang_Thread_MIN_PRIORITY = 1;
+ _STATIC_java_lang_Thread_NORM_PRIORITY = 5;
+
+ __TIB_java_lang_Thread.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Thread.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_Thread.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_Thread.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_Thread.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_Thread.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Thread.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Thread.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_Thread = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Thread);
+ __TIB_java_lang_Thread.clazz = __CLASS_java_lang_Thread;
+ __TIB_java_lang_Thread.baseType = JAVA_NULL;
+ __CLASS_java_lang_Thread_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Thread);
+ __CLASS_java_lang_Thread_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Thread_1ARRAY);
+ __CLASS_java_lang_Thread_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Thread_2ARRAY);
+ java_lang_Thread___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_Thread]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_Thread.classInitialized = 1;
+}
+
+void __DELETE_java_lang_Thread(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_Thread]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_Thread(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_Thread*) me)->fields.java_lang_Thread.xmlvmExceptionEnv_ = (java_lang_Object*) JAVA_NULL;
+ ((java_lang_Thread*) me)->fields.java_lang_Thread.xmlvmException_ = (java_lang_Object*) JAVA_NULL;
+ ((java_lang_Thread*) me)->fields.java_lang_Thread.ptBuffers_ = (java_lang_Object*) JAVA_NULL;
+ ((java_lang_Thread*) me)->fields.java_lang_Thread.threadId_ = 0;
+ ((java_lang_Thread*) me)->fields.java_lang_Thread.threadName_ = (java_lang_String*) JAVA_NULL;
+ ((java_lang_Thread*) me)->fields.java_lang_Thread.priority_ = 0;
+ ((java_lang_Thread*) me)->fields.java_lang_Thread.daemon_ = 0;
+ ((java_lang_Thread*) me)->fields.java_lang_Thread.alive_ = 0;
+ ((java_lang_Thread*) me)->fields.java_lang_Thread.targetRunnable_ = (java_lang_Runnable*) JAVA_NULL;
+ ((java_lang_Thread*) me)->fields.java_lang_Thread.threadGroup_ = (java_lang_ThreadGroup*) JAVA_NULL;
+ ((java_lang_Thread*) me)->fields.java_lang_Thread.threadState_ = (java_lang_Thread_State*) JAVA_NULL;
+ ((java_lang_Thread*) me)->fields.java_lang_Thread.interrupted_ = 0;
+ ((java_lang_Thread*) me)->fields.java_lang_Thread.waitingCondition_ = (org_xmlvm_runtime_Condition*) JAVA_NULL;
+ ((java_lang_Thread*) me)->fields.java_lang_Thread.threadLocalMap_ = (java_util_Map*) JAVA_NULL;
+ ((java_lang_Thread*) me)->fields.java_lang_Thread.nativeThreadId_ = 0;
+ ((java_lang_Thread*) me)->fields.java_lang_Thread.action_ = (java_lang_Runnable*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_Thread]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_Thread()
+{ XMLVM_CLASS_INIT(java_lang_Thread)
+java_lang_Thread* me = (java_lang_Thread*) XMLVM_MALLOC(sizeof(java_lang_Thread));
+ me->tib = &__TIB_java_lang_Thread;
+ __INIT_INSTANCE_MEMBERS_java_lang_Thread(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_Thread]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Thread()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_lang_Thread();
+ java_lang_Thread___INIT___(me);
+ return me;
+}
+
+JAVA_OBJECT java_lang_Thread_GET_threadSafetyMutex()
+{
+ XMLVM_CLASS_INIT(java_lang_Thread)
+ return _STATIC_java_lang_Thread_threadSafetyMutex;
+}
+
+void java_lang_Thread_PUT_threadSafetyMutex(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Thread)
+_STATIC_java_lang_Thread_threadSafetyMutex = v;
+}
+
+JAVA_LONG java_lang_Thread_GET_nextThreadId()
+{
+ XMLVM_CLASS_INIT(java_lang_Thread)
+ return _STATIC_java_lang_Thread_nextThreadId;
+}
+
+void java_lang_Thread_PUT_nextThreadId(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_Thread)
+_STATIC_java_lang_Thread_nextThreadId = v;
+}
+
+JAVA_INT java_lang_Thread_GET_numberOfActiveNonDaemonThreads()
+{
+ XMLVM_CLASS_INIT(java_lang_Thread)
+ return _STATIC_java_lang_Thread_numberOfActiveNonDaemonThreads;
+}
+
+void java_lang_Thread_PUT_numberOfActiveNonDaemonThreads(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Thread)
+_STATIC_java_lang_Thread_numberOfActiveNonDaemonThreads = v;
+}
+
+JAVA_OBJECT java_lang_Thread_GET_threadMap()
+{
+ XMLVM_CLASS_INIT(java_lang_Thread)
+ return _STATIC_java_lang_Thread_threadMap;
+}
+
+void java_lang_Thread_PUT_threadMap(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Thread)
+_STATIC_java_lang_Thread_threadMap = v;
+}
+
+JAVA_OBJECT java_lang_Thread_GET_mainThreadGroup()
+{
+ XMLVM_CLASS_INIT(java_lang_Thread)
+ return _STATIC_java_lang_Thread_mainThreadGroup;
+}
+
+void java_lang_Thread_PUT_mainThreadGroup(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Thread)
+_STATIC_java_lang_Thread_mainThreadGroup = v;
+}
+
+JAVA_INT java_lang_Thread_GET_MAX_PRIORITY()
+{
+ XMLVM_CLASS_INIT(java_lang_Thread)
+ return _STATIC_java_lang_Thread_MAX_PRIORITY;
+}
+
+void java_lang_Thread_PUT_MAX_PRIORITY(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Thread)
+_STATIC_java_lang_Thread_MAX_PRIORITY = v;
+}
+
+JAVA_INT java_lang_Thread_GET_MIN_PRIORITY()
+{
+ XMLVM_CLASS_INIT(java_lang_Thread)
+ return _STATIC_java_lang_Thread_MIN_PRIORITY;
+}
+
+void java_lang_Thread_PUT_MIN_PRIORITY(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Thread)
+_STATIC_java_lang_Thread_MIN_PRIORITY = v;
+}
+
+JAVA_INT java_lang_Thread_GET_NORM_PRIORITY()
+{
+ XMLVM_CLASS_INIT(java_lang_Thread)
+ return _STATIC_java_lang_Thread_NORM_PRIORITY;
+}
+
+void java_lang_Thread_PUT_NORM_PRIORITY(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Thread)
+_STATIC_java_lang_Thread_NORM_PRIORITY = v;
+}
+
+JAVA_LONG java_lang_Thread_getNextThreadId__()
+{
+ XMLVM_CLASS_INIT(java_lang_Thread)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_getNextThreadId__]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "getNextThreadId", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVM_SOURCE_POSITION("Thread.java", 120)
+ _r2.o = java_lang_Thread_GET_threadSafetyMutex();
+ XMLVM_CHECK_NPE(2)
+ org_xmlvm_runtime_Mutex_lock__(_r2.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 121)
+ _r0.l = java_lang_Thread_GET_nextThreadId();
+ _r2.l = 1;
+ _r2.l = _r2.l + _r0.l;
+ java_lang_Thread_PUT_nextThreadId( _r2.l);
+ XMLVM_SOURCE_POSITION("Thread.java", 122)
+ _r2.o = java_lang_Thread_GET_threadSafetyMutex();
+ XMLVM_CHECK_NPE(2)
+ org_xmlvm_runtime_Mutex_unlock__(_r2.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 123)
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Thread_addSelfToMap__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_addSelfToMap__]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "addSelfToMap", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("Thread.java", 159)
+ _r0.o = java_lang_Thread_GET_threadSafetyMutex();
+ XMLVM_CHECK_NPE(0)
+ org_xmlvm_runtime_Mutex_lock__(_r0.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 161)
+ _r0.o = java_lang_Thread_GET_threadMap();
+ XMLVM_CHECK_NPE(3)
+ _r1.l = ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.nativeThreadId_;
+ _r1.o = java_lang_Long_valueOf___long(_r1.l);
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_put___java_lang_Object_java_lang_Object])(_r0.o, _r1.o, _r3.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 163)
+ _r0.o = java_lang_Thread_GET_threadSafetyMutex();
+ XMLVM_CHECK_NPE(0)
+ org_xmlvm_runtime_Mutex_unlock__(_r0.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 164)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Thread_removeSelfFromMap__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_removeSelfFromMap__]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "removeSelfFromMap", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("Thread.java", 167)
+ _r0.o = java_lang_Thread_GET_threadSafetyMutex();
+ XMLVM_CHECK_NPE(0)
+ org_xmlvm_runtime_Mutex_lock__(_r0.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 169)
+ _r0.o = java_lang_Thread_GET_threadMap();
+ XMLVM_CHECK_NPE(3)
+ _r1.l = ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.nativeThreadId_;
+ _r1.o = java_lang_Long_valueOf___long(_r1.l);
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_remove___java_lang_Object])(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 171)
+ _r0.o = java_lang_Thread_GET_threadSafetyMutex();
+ XMLVM_CHECK_NPE(0)
+ org_xmlvm_runtime_Mutex_unlock__(_r0.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 172)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_lang_Thread_getNativeThreadId__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_getNativeThreadId__]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "getNativeThreadId", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Thread.java", 177)
+ XMLVM_CHECK_NPE(2)
+ _r0.l = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.nativeThreadId_;
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Thread___INIT____long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread___INIT____long]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.l = n1;
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("Thread.java", 186)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 131)
+ _r0.i = 5;
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.priority_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 132)
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.daemon_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 133)
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.alive_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 137)
+ _r0.o = java_lang_Thread_State_GET_NEW();
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadState_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 143)
+ _r0.o = __NEW_java_util_HashMap();
+ XMLVM_CHECK_NPE(0)
+ java_util_HashMap___INIT___(_r0.o);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadLocalMap_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 187)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Thread_initMainThread__(_r2.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 189)
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.nativeThreadId_ = _r3.l;
+ XMLVM_SOURCE_POSITION("Thread.java", 192)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Thread_addSelfToMap__(_r2.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 194)
+ _r0.l = 1;
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadId_ = _r0.l;
+ XMLVM_SOURCE_POSITION("Thread.java", 195)
+ // "main"
+ _r0.o = xmlvm_create_java_string_from_pool(663);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadName_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 197)
+ _r0.o = java_lang_Thread_GET_mainThreadGroup();
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadGroup_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 198)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadGroup_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_ThreadGroup_add___java_lang_Thread(_r0.o, _r2.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 199)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void java_lang_Thread_initMainThread__(JAVA_OBJECT me)]
+
+JAVA_OBJECT java_lang_Thread_getThread___long(JAVA_LONG n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Thread)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_getThread___long]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "getThread", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.l = n1;
+ XMLVM_SOURCE_POSITION("Thread.java", 211)
+ _r0.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("Thread.java", 212)
+ _r1.o = java_lang_Thread_GET_threadSafetyMutex();
+ XMLVM_CHECK_NPE(1)
+ org_xmlvm_runtime_Mutex_lock__(_r1.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 214)
+ _r1.o = java_lang_Thread_GET_threadMap();
+ _r2.o = java_lang_Long_valueOf___long(_r3.l);
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_get___java_lang_Object])(_r1.o, _r2.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 216)
+ _r1.o = java_lang_Thread_GET_threadSafetyMutex();
+ XMLVM_CHECK_NPE(1)
+ org_xmlvm_runtime_Mutex_unlock__(_r1.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 218)
+ if (_r0.o != JAVA_NULL) goto label30;
+ XMLVM_SOURCE_POSITION("Thread.java", 221)
+ _r0.o = __NEW_java_lang_Thread();
+ XMLVM_CHECK_NPE(0)
+ java_lang_Thread___INIT____long(_r0.o, _r3.l);
+ label30:;
+ XMLVM_SOURCE_POSITION("Thread.java", 223)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Thread_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r7.o = me;
+ _r8.o = n1;
+ XMLVM_SOURCE_POSITION("Thread.java", 227)
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("Thread.java", 228)
+ XMLVM_CLASS_INIT(java_lang_Thread)
+ _r3.i = XMLVM_ISA(_r8.o, __CLASS_java_lang_Thread);
+ if (_r3.i == 0) goto label19;
+ XMLVM_SOURCE_POSITION("Thread.java", 229)
+ _r0 = _r8;
+ _r0.o = _r0.o;
+ _r2 = _r0;
+ XMLVM_SOURCE_POSITION("Thread.java", 230)
+ XMLVM_CHECK_NPE(7)
+ _r3.l = ((java_lang_Thread*) _r7.o)->fields.java_lang_Thread.nativeThreadId_;
+ XMLVM_CHECK_NPE(2)
+ _r5.l = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.nativeThreadId_;
+ _r3.i = _r3.l > _r5.l ? 1 : (_r3.l == _r5.l ? 0 : -1);
+ if (_r3.i != 0) goto label20;
+ _r3.i = 1;
+ _r1 = _r3;
+ label19:;
+ XMLVM_SOURCE_POSITION("Thread.java", 232)
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ label20:;
+ _r3.i = 0;
+ _r1 = _r3;
+ goto label19;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Thread_initThread___java_lang_ThreadGroup_java_lang_Runnable_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_initThread___java_lang_ThreadGroup_java_lang_Runnable_java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "initThread", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r3.o = me;
+ _r4.o = n1;
+ _r5.o = n2;
+ _r6.o = n3;
+ XMLVM_SOURCE_POSITION("Thread.java", 259)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.targetRunnable_ = _r5.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 260)
+ _r0.l = java_lang_Thread_getNextThreadId__();
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadId_ = _r0.l;
+ XMLVM_SOURCE_POSITION("Thread.java", 262)
+ if (_r6.o != JAVA_NULL) goto label46;
+ XMLVM_SOURCE_POSITION("Thread.java", 263)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT___(_r0.o);
+ // "Thread-"
+ _r1.o = xmlvm_create_java_string_from_pool(802);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ XMLVM_CHECK_NPE(3)
+ _r1.l = ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadId_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___long(_r0.o, _r1.l);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadName_ = _r0.o;
+ label33:;
+ XMLVM_SOURCE_POSITION("Thread.java", 268)
+ if (_r4.o != JAVA_NULL) goto label49;
+ XMLVM_SOURCE_POSITION("Thread.java", 270)
+ _r0.o = java_lang_Thread_currentThread__();
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_Thread_getThreadGroup__(_r0.o);
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadGroup_ = _r0.o;
+ label45:;
+ XMLVM_SOURCE_POSITION("Thread.java", 274)
+ XMLVM_EXIT_METHOD()
+ return;
+ label46:;
+ XMLVM_SOURCE_POSITION("Thread.java", 265)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadName_ = _r6.o;
+ goto label33;
+ label49:;
+ XMLVM_SOURCE_POSITION("Thread.java", 272)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadGroup_ = _r4.o;
+ goto label45;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Thread___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ _r2.i = 0;
+ _r1.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("Thread.java", 283)
+ XMLVM_CHECK_NPE(3)
+ java_lang_Object___INIT___(_r3.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 131)
+ _r0.i = 5;
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.priority_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 132)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.daemon_ = _r2.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 133)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.alive_ = _r2.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 137)
+ _r0.o = java_lang_Thread_State_GET_NEW();
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadState_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 143)
+ _r0.o = __NEW_java_util_HashMap();
+ XMLVM_CHECK_NPE(0)
+ java_util_HashMap___INIT___(_r0.o);
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadLocalMap_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 284)
+ XMLVM_CHECK_NPE(3)
+ java_lang_Thread_initThread___java_lang_ThreadGroup_java_lang_Runnable_java_lang_String(_r3.o, _r1.o, _r1.o, _r1.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 285)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Thread___INIT____java_lang_Runnable(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread___INIT____java_lang_Runnable]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ _r2.o = JAVA_NULL;
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("Thread.java", 297)
+ XMLVM_CHECK_NPE(3)
+ java_lang_Object___INIT___(_r3.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 131)
+ _r0.i = 5;
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.priority_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 132)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.daemon_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 133)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.alive_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 137)
+ _r0.o = java_lang_Thread_State_GET_NEW();
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadState_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 143)
+ _r0.o = __NEW_java_util_HashMap();
+ XMLVM_CHECK_NPE(0)
+ java_util_HashMap___INIT___(_r0.o);
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadLocalMap_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 298)
+ XMLVM_CHECK_NPE(3)
+ java_lang_Thread_initThread___java_lang_ThreadGroup_java_lang_Runnable_java_lang_String(_r3.o, _r2.o, _r4.o, _r2.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 299)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Thread___INIT____java_lang_Runnable_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread___INIT____java_lang_Runnable_java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.o = n2;
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("Thread.java", 312)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 131)
+ _r0.i = 5;
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.priority_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 132)
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.daemon_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 133)
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.alive_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 137)
+ _r0.o = java_lang_Thread_State_GET_NEW();
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadState_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 143)
+ _r0.o = __NEW_java_util_HashMap();
+ XMLVM_CHECK_NPE(0)
+ java_util_HashMap___INIT___(_r0.o);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadLocalMap_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 313)
+ _r0.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(2)
+ java_lang_Thread_initThread___java_lang_ThreadGroup_java_lang_Runnable_java_lang_String(_r2.o, _r0.o, _r3.o, _r4.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 314)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Thread___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ _r2.o = JAVA_NULL;
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("Thread.java", 325)
+ XMLVM_CHECK_NPE(3)
+ java_lang_Object___INIT___(_r3.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 131)
+ _r0.i = 5;
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.priority_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 132)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.daemon_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 133)
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.alive_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 137)
+ _r0.o = java_lang_Thread_State_GET_NEW();
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadState_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 143)
+ _r0.o = __NEW_java_util_HashMap();
+ XMLVM_CHECK_NPE(0)
+ java_util_HashMap___INIT___(_r0.o);
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadLocalMap_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 326)
+ XMLVM_CHECK_NPE(3)
+ java_lang_Thread_initThread___java_lang_ThreadGroup_java_lang_Runnable_java_lang_String(_r3.o, _r2.o, _r2.o, _r4.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 327)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Thread___INIT____java_lang_ThreadGroup_java_lang_Runnable(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread___INIT____java_lang_ThreadGroup_java_lang_Runnable]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.o = n2;
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("Thread.java", 345)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 131)
+ _r0.i = 5;
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.priority_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 132)
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.daemon_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 133)
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.alive_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 137)
+ _r0.o = java_lang_Thread_State_GET_NEW();
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadState_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 143)
+ _r0.o = __NEW_java_util_HashMap();
+ XMLVM_CHECK_NPE(0)
+ java_util_HashMap___INIT___(_r0.o);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadLocalMap_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 346)
+ _r0.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(2)
+ java_lang_Thread_initThread___java_lang_ThreadGroup_java_lang_Runnable_java_lang_String(_r2.o, _r3.o, _r4.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 347)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Thread___INIT____java_lang_ThreadGroup_java_lang_Runnable_java_lang_String_long(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_LONG n4)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread___INIT____java_lang_ThreadGroup_java_lang_Runnable_java_lang_String_long]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.o = n2;
+ _r5.o = n3;
+ _r6.l = n4;
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("Thread.java", 367)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 131)
+ _r0.i = 5;
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.priority_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 132)
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.daemon_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 133)
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.alive_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 137)
+ _r0.o = java_lang_Thread_State_GET_NEW();
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadState_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 143)
+ _r0.o = __NEW_java_util_HashMap();
+ XMLVM_CHECK_NPE(0)
+ java_util_HashMap___INIT___(_r0.o);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadLocalMap_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 368)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Thread_initThread___java_lang_ThreadGroup_java_lang_Runnable_java_lang_String(_r2.o, _r3.o, _r4.o, _r5.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 369)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Thread___INIT____java_lang_ThreadGroup_java_lang_Runnable_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread___INIT____java_lang_ThreadGroup_java_lang_Runnable_java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.o = n2;
+ _r5.o = n3;
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("Thread.java", 388)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 131)
+ _r0.i = 5;
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.priority_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 132)
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.daemon_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 133)
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.alive_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 137)
+ _r0.o = java_lang_Thread_State_GET_NEW();
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadState_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 143)
+ _r0.o = __NEW_java_util_HashMap();
+ XMLVM_CHECK_NPE(0)
+ java_util_HashMap___INIT___(_r0.o);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadLocalMap_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 389)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Thread_initThread___java_lang_ThreadGroup_java_lang_Runnable_java_lang_String(_r2.o, _r3.o, _r4.o, _r5.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 390)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Thread___INIT____java_lang_ThreadGroup_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread___INIT____java_lang_ThreadGroup_java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.o = n2;
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("Thread.java", 406)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 131)
+ _r0.i = 5;
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.priority_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 132)
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.daemon_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 133)
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.alive_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 137)
+ _r0.o = java_lang_Thread_State_GET_NEW();
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadState_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 143)
+ _r0.o = __NEW_java_util_HashMap();
+ XMLVM_CHECK_NPE(0)
+ java_util_HashMap___INIT___(_r0.o);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadLocalMap_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 407)
+ _r0.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(2)
+ java_lang_Thread_initThread___java_lang_ThreadGroup_java_lang_Runnable_java_lang_String(_r2.o, _r3.o, _r0.o, _r4.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 408)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Thread_setInterruptAction___java_lang_Runnable(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_setInterruptAction___java_lang_Runnable]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "setInterruptAction", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Thread.java", 423)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_Thread*) _r0.o)->fields.java_lang_Thread.action_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 424)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_INT java_lang_Thread_activeCount__()]
+
+//XMLVM_NATIVE[void java_lang_Thread_checkAccess__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_INT java_lang_Thread_countStackFrames__(JAVA_OBJECT me)]
+
+JAVA_OBJECT java_lang_Thread_currentThread__()
+{
+ XMLVM_CLASS_INIT(java_lang_Thread)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_currentThread__]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "currentThread", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVM_SOURCE_POSITION("Thread.java", 466)
+ _r0.l = java_lang_Thread_getCurrentThreadNativeId__();
+ _r0.o = java_lang_Thread_getThread___long(_r0.l);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG java_lang_Thread_getCurrentThreadNativeId__()]
+
+//XMLVM_NATIVE[void java_lang_Thread_destroy__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[void java_lang_Thread_dumpStack__()]
+
+//XMLVM_NATIVE[JAVA_INT java_lang_Thread_enumerate___java_lang_Thread_1ARRAY(JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Thread_getAllStackTraces__()]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Thread_getContextClassLoader__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Thread_getDefaultUncaughtExceptionHandler__()]
+
+JAVA_LONG java_lang_Thread_getId__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_getId__]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "getId", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Thread.java", 566)
+ XMLVM_CHECK_NPE(2)
+ _r0.l = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadId_;
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Thread_getName__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_getName__]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "getName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Thread.java", 575)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_Thread*) _r1.o)->fields.java_lang_Thread.threadName_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Thread_getPriority__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_getPriority__]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "getPriority", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Thread.java", 585)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Thread*) _r1.o)->fields.java_lang_Thread.priority_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Thread_getStackTrace__(JAVA_OBJECT me)]
+
+JAVA_OBJECT java_lang_Thread_getState__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_getState__]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "getState", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Thread.java", 612)
+ java_lang_Object_acquireLockRecursive__(_r2.o);
+ XMLVM_TRY_BEGIN(w5666aaac57b1b4)
+ // Begin try
+ _r0.o = java_lang_System_GET_out();
+ // "Thread.getState() is not fully implemented. Specifically, you will not currently find BLOCKED, WAITING and TIMED_WAITING."
+ _r1.o = xmlvm_create_java_string_from_pool(803);
+ XMLVM_CHECK_NPE(0)
+ java_io_PrintStream_println___java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 613)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadState_;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac57b1b4)
+ XMLVM_CATCH_SPECIFIC(w5666aaac57b1b4,java_lang_Object,12)
+ XMLVM_CATCH_END(w5666aaac57b1b4)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac57b1b4)
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label12:;
+ java_lang_Thread* curThread_w5666aaac57b1b8 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w5666aaac57b1b8->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Thread_getThreadGroup__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_getThreadGroup__]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "getThreadGroup", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Thread.java", 622)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_Thread*) _r1.o)->fields.java_lang_Thread.threadGroup_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Thread_getThreadLocal___java_lang_ThreadLocal(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_getThreadLocal___java_lang_ThreadLocal]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "getThreadLocal", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Thread.java", 636)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_Thread*) _r1.o)->fields.java_lang_Thread.threadLocalMap_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_get___java_lang_Object])(_r0.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Thread_getUncaughtExceptionHandler__(JAVA_OBJECT me)]
+
+void java_lang_Thread_interrupt__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_interrupt__]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "interrupt", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Thread.java", 680)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.action_;
+ if (_r1.o == JAVA_NULL) goto label9;
+ XMLVM_SOURCE_POSITION("Thread.java", 681)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.action_;
+ XMLVM_CHECK_NPE(1)
+ (*(void (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_Runnable_run__])(_r1.o);
+ label9:;
+ XMLVM_SOURCE_POSITION("Thread.java", 684)
+ _r0.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("Thread.java", 685)
+ java_lang_Object_acquireLockRecursive__(_r2.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 686)
+ _r1.i = 1;
+ XMLVM_TRY_BEGIN(w5666aaac61b1c15)
+ // Begin try
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.interrupted_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 688)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.waitingCondition_;
+ if (_r1.o == JAVA_NULL) { XMLVM_MEMCPY(curThread_w5666aaac61b1c15->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac61b1c15, sizeof(XMLVM_JMP_BUF)); goto label20; };
+ XMLVM_SOURCE_POSITION("Thread.java", 689)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.waitingCondition_;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac61b1c15)
+ XMLVM_CATCH_SPECIFIC(w5666aaac61b1c15,java_lang_Object,31)
+ XMLVM_CATCH_END(w5666aaac61b1c15)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac61b1c15)
+ label20:;
+ XMLVM_TRY_BEGIN(w5666aaac61b1c17)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Thread.java", 691)
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac61b1c17)
+ XMLVM_CATCH_SPECIFIC(w5666aaac61b1c17,java_lang_Object,31)
+ XMLVM_CATCH_END(w5666aaac61b1c17)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac61b1c17)
+ XMLVM_SOURCE_POSITION("Thread.java", 695)
+ if (_r0.o == JAVA_NULL) goto label30;
+ XMLVM_SOURCE_POSITION("Thread.java", 696)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = org_xmlvm_runtime_Condition_getSynchronizedObject__(_r0.o);
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object_interruptWait___org_xmlvm_runtime_Condition(_r1.o, _r0.o);
+ label30:;
+ XMLVM_SOURCE_POSITION("Thread.java", 698)
+ XMLVM_EXIT_METHOD()
+ return;
+ label31:;
+ java_lang_Thread* curThread_w5666aaac61b1c27 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w5666aaac61b1c27->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_TRY_BEGIN(w5666aaac61b1c28)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac61b1c28)
+ XMLVM_CATCH_SPECIFIC(w5666aaac61b1c28,java_lang_Object,31)
+ XMLVM_CATCH_END(w5666aaac61b1c28)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac61b1c28)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Thread_interrupted__()
+{
+ XMLVM_CLASS_INIT(java_lang_Thread)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_interrupted__]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "interrupted", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ XMLVM_SOURCE_POSITION("Thread.java", 712)
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("Thread.java", 713)
+ _r0.o = java_lang_Thread_currentThread__();
+ XMLVM_SOURCE_POSITION("Thread.java", 714)
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_TRY_BEGIN(w5666aaac62b1b7)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Thread.java", 715)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = java_lang_Thread_isInterrupted__(_r0.o);
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("Thread.java", 716)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_Thread*) _r0.o)->fields.java_lang_Thread.interrupted_ = _r2.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 717)
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 718)
+ XMLVM_MEMCPY(curThread_w5666aaac62b1b7->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac62b1b7, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac62b1b7)
+ XMLVM_CATCH_SPECIFIC(w5666aaac62b1b7,java_lang_Object,15)
+ XMLVM_CATCH_END(w5666aaac62b1b7)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac62b1b7)
+ label15:;
+ XMLVM_TRY_BEGIN(w5666aaac62b1b9)
+ // Begin try
+ java_lang_Thread* curThread_w5666aaac62b1b9aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r2.o = curThread_w5666aaac62b1b9aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac62b1b9)
+ XMLVM_CATCH_SPECIFIC(w5666aaac62b1b9,java_lang_Object,15)
+ XMLVM_CATCH_END(w5666aaac62b1b9)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac62b1b9)
+ XMLVM_THROW_CUSTOM(_r2.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Thread_isAlive__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_isAlive__]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "isAlive", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Thread.java", 731)
+ java_lang_Object_acquireLockRecursive__(_r1.o);
+ XMLVM_TRY_BEGIN(w5666aaac63b1b4)
+ // Begin try
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Thread*) _r1.o)->fields.java_lang_Thread.alive_;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac63b1b4)
+ XMLVM_CATCH_SPECIFIC(w5666aaac63b1b4,java_lang_Object,5)
+ XMLVM_CATCH_END(w5666aaac63b1b4)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac63b1b4)
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label5:;
+ java_lang_Thread* curThread_w5666aaac63b1b8 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w5666aaac63b1b8->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Thread_isDaemon__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_isDaemon__]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "isDaemon", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Thread.java", 745)
+ java_lang_Object_acquireLockRecursive__(_r1.o);
+ XMLVM_TRY_BEGIN(w5666aaac64b1b4)
+ // Begin try
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_Thread*) _r1.o)->fields.java_lang_Thread.daemon_;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac64b1b4)
+ XMLVM_CATCH_SPECIFIC(w5666aaac64b1b4,java_lang_Object,5)
+ XMLVM_CATCH_END(w5666aaac64b1b4)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac64b1b4)
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label5:;
+ java_lang_Thread* curThread_w5666aaac64b1b8 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w5666aaac64b1b8->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_Thread_isInterrupted__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_isInterrupted__]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "isInterrupted", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Thread.java", 758)
+ _r0.i = 0;
+ XMLVM_SOURCE_POSITION("Thread.java", 759)
+ java_lang_Object_acquireLockRecursive__(_r2.o);
+ XMLVM_TRY_BEGIN(w5666aaac65b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Thread.java", 760)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.interrupted_;
+ XMLVM_SOURCE_POSITION("Thread.java", 761)
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 762)
+ XMLVM_MEMCPY(curThread_w5666aaac65b1b6->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac65b1b6, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac65b1b6)
+ XMLVM_CATCH_SPECIFIC(w5666aaac65b1b6,java_lang_Object,6)
+ XMLVM_CATCH_END(w5666aaac65b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac65b1b6)
+ label6:;
+ XMLVM_TRY_BEGIN(w5666aaac65b1b8)
+ // Begin try
+ java_lang_Thread* curThread_w5666aaac65b1b8aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w5666aaac65b1b8aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac65b1b8)
+ XMLVM_CATCH_SPECIFIC(w5666aaac65b1b8,java_lang_Object,6)
+ XMLVM_CATCH_END(w5666aaac65b1b8)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac65b1b8)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Thread_join__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_join__]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "join", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Thread.java", 775)
+ _r0.l = 0;
+ XMLVM_CHECK_NPE(2)
+ java_lang_Thread_join___long(_r2.o, _r0.l);
+ XMLVM_SOURCE_POSITION("Thread.java", 776)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Thread_join___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_join___long]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "join", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ volatile XMLVMElem _r9;
+ volatile XMLVMElem _r10;
+ volatile XMLVMElem _r11;
+ volatile XMLVMElem _r12;
+ volatile XMLVMElem _r13;
+ _r11.o = me;
+ _r12.l = n1;
+ _r9.l = 0;
+ XMLVM_SOURCE_POSITION("Thread.java", 790)
+ java_lang_Object_acquireLockRecursive__(_r11.o);
+ XMLVM_TRY_BEGIN(w5666aaac67b1b6)
+ // Begin try
+ _r0.l = java_lang_System_currentTimeMillis__();
+ _r5.l = 0;
+ _r7.i = _r12.l > _r9.l ? 1 : (_r12.l == _r9.l ? 0 : -1);
+ if (_r7.i >= 0) { XMLVM_MEMCPY(curThread_w5666aaac67b1b6->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac67b1b6, sizeof(XMLVM_JMP_BUF)); goto label24; };
+ XMLVM_SOURCE_POSITION("Thread.java", 793)
+ XMLVM_SOURCE_POSITION("Thread.java", 794)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "timeout value is negative"
+ _r8.o = xmlvm_create_java_string_from_pool(804);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r7.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac67b1b6)
+ XMLVM_CATCH_SPECIFIC(w5666aaac67b1b6,java_lang_Object,21)
+ XMLVM_CATCH_END(w5666aaac67b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac67b1b6)
+ label21:;
+ java_lang_Thread* curThread_w5666aaac67b1b8 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r7.o = curThread_w5666aaac67b1b8->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r11.o);
+ XMLVM_THROW_CUSTOM(_r7.o)
+ label24:;
+ XMLVM_SOURCE_POSITION("Thread.java", 797)
+ _r7.i = _r12.l > _r9.l ? 1 : (_r12.l == _r9.l ? 0 : -1);
+ if (_r7.i != 0) goto label38;
+ label28:;
+ XMLVM_TRY_BEGIN(w5666aaac67b1c16)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Thread.java", 798)
+ XMLVM_CHECK_NPE(11)
+ _r7.i = java_lang_Thread_isAlive__(_r11.o);
+ if (_r7.i == 0) { XMLVM_MEMCPY(curThread_w5666aaac67b1c16->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac67b1c16, sizeof(XMLVM_JMP_BUF)); goto label65; };
+ XMLVM_SOURCE_POSITION("Thread.java", 800)
+ XMLVM_CHECK_NPE(11)
+ java_lang_Object_wait__(_r11.o);
+ { XMLVM_MEMCPY(curThread_w5666aaac67b1c16->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac67b1c16, sizeof(XMLVM_JMP_BUF)); goto label28; };
+ XMLVM_SOURCE_POSITION("Thread.java", 803)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac67b1c16)
+ XMLVM_CATCH_SPECIFIC(w5666aaac67b1c16,java_lang_Object,21)
+ XMLVM_CATCH_END(w5666aaac67b1c16)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac67b1c16)
+ label38:;
+ XMLVM_TRY_BEGIN(w5666aaac67b1c18)
+ // Begin try
+ _r4.i = 0;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac67b1c18)
+ XMLVM_CATCH_SPECIFIC(w5666aaac67b1c18,java_lang_Object,21)
+ XMLVM_CATCH_END(w5666aaac67b1c18)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac67b1c18)
+ label39:;
+ XMLVM_TRY_BEGIN(w5666aaac67b1c20)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Thread.java", 804)
+ if (_r4.i != 0) { XMLVM_MEMCPY(curThread_w5666aaac67b1c20->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac67b1c20, sizeof(XMLVM_JMP_BUF)); goto label65; };
+ XMLVM_CHECK_NPE(11)
+ _r7.i = java_lang_Thread_isAlive__(_r11.o);
+ if (_r7.i == 0) { XMLVM_MEMCPY(curThread_w5666aaac67b1c20->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac67b1c20, sizeof(XMLVM_JMP_BUF)); goto label65; };
+ XMLVM_SOURCE_POSITION("Thread.java", 805)
+ _r2.l = _r12.l - _r5.l;
+ _r7.i = _r2.l > _r9.l ? 1 : (_r2.l == _r9.l ? 0 : -1);
+ if (_r7.i > 0) { XMLVM_MEMCPY(curThread_w5666aaac67b1c20->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac67b1c20, sizeof(XMLVM_JMP_BUF)); goto label55; };
+ XMLVM_SOURCE_POSITION("Thread.java", 806)
+ XMLVM_SOURCE_POSITION("Thread.java", 807)
+ _r4.i = 1;
+ { XMLVM_MEMCPY(curThread_w5666aaac67b1c20->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac67b1c20, sizeof(XMLVM_JMP_BUF)); goto label39; };
+ XMLVM_SOURCE_POSITION("Thread.java", 810)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac67b1c20)
+ XMLVM_CATCH_SPECIFIC(w5666aaac67b1c20,java_lang_Object,21)
+ XMLVM_CATCH_END(w5666aaac67b1c20)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac67b1c20)
+ label55:;
+ XMLVM_TRY_BEGIN(w5666aaac67b1c22)
+ // Begin try
+ XMLVM_CHECK_NPE(11)
+ java_lang_Object_wait___long(_r11.o, _r2.l);
+ XMLVM_SOURCE_POSITION("Thread.java", 811)
+ _r7.l = java_lang_System_currentTimeMillis__();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac67b1c22)
+ XMLVM_CATCH_SPECIFIC(w5666aaac67b1c22,java_lang_Object,21)
+ XMLVM_CATCH_END(w5666aaac67b1c22)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac67b1c22)
+ _r5.l = _r7.l - _r0.l;
+ goto label39;
+ label65:;
+ XMLVM_SOURCE_POSITION("Thread.java", 815)
+ java_lang_Object_releaseLockRecursive__(_r11.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void java_lang_Thread_join___long_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_INT n2)]
+
+//XMLVM_NATIVE[void java_lang_Thread_resume__(JAVA_OBJECT me)]
+
+void java_lang_Thread_run0___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_run0___long]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "run0", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ _r6.o = me;
+ _r7.l = n1;
+ // "Exception in thread \042"
+ _r5.o = xmlvm_create_java_string_from_pool(805);
+ // "\042 "
+ _r4.o = xmlvm_create_java_string_from_pool(806);
+ XMLVM_SOURCE_POSITION("Thread.java", 854)
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_Thread*) _r6.o)->fields.java_lang_Thread.nativeThreadId_ = _r7.l;
+ XMLVM_SOURCE_POSITION("Thread.java", 855)
+ XMLVM_CHECK_NPE(6)
+ java_lang_Thread_addSelfToMap__(_r6.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 857)
+ java_lang_Object_acquireLockRecursive__(_r6.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 858)
+ _r1.i = 1;
+ XMLVM_TRY_BEGIN(w5666aaac70b1c13)
+ // Begin try
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_Thread*) _r6.o)->fields.java_lang_Thread.alive_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 859)
+ java_lang_Object_releaseLockRecursive__(_r6.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac70b1c13)
+ XMLVM_CATCH_SPECIFIC(w5666aaac70b1c13,java_lang_Object,41)
+ XMLVM_CATCH_END(w5666aaac70b1c13)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac70b1c13)
+ XMLVM_TRY_BEGIN(w5666aaac70b1c14)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Thread.java", 862)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_lang_Thread*) _r6.o)->fields.java_lang_Thread.targetRunnable_;
+ if (_r1.o != JAVA_NULL) { XMLVM_MEMCPY(curThread_w5666aaac70b1c14->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac70b1c14, sizeof(XMLVM_JMP_BUF)); goto label44; };
+ XMLVM_SOURCE_POSITION("Thread.java", 863)
+ //java_lang_Thread_run__[6]
+ XMLVM_CHECK_NPE(6)
+ (*(void (*)(JAVA_OBJECT)) ((java_lang_Thread*) _r6.o)->tib->vtable[6])(_r6.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac70b1c14)
+ XMLVM_CATCH_SPECIFIC(w5666aaac70b1c14,java_lang_Throwable,50)
+ XMLVM_CATCH_END(w5666aaac70b1c14)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac70b1c14)
+ label21:;
+ XMLVM_SOURCE_POSITION("Thread.java", 877)
+ java_lang_Object_acquireLockRecursive__(_r6.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 878)
+ _r1.i = 0;
+ XMLVM_TRY_BEGIN(w5666aaac70b1c20)
+ // Begin try
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_Thread*) _r6.o)->fields.java_lang_Thread.alive_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Thread.java", 881)
+ XMLVM_CHECK_NPE(6)
+ java_lang_Object_notifyAll__(_r6.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 882)
+ java_lang_Object_releaseLockRecursive__(_r6.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac70b1c20)
+ XMLVM_CATCH_SPECIFIC(w5666aaac70b1c20,java_lang_Object,158)
+ XMLVM_CATCH_END(w5666aaac70b1c20)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac70b1c20)
+ XMLVM_SOURCE_POSITION("Thread.java", 884)
+ XMLVM_CHECK_NPE(6)
+ java_lang_Thread_removeSelfFromMap__(_r6.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 886)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_lang_Thread*) _r6.o)->fields.java_lang_Thread.threadGroup_;
+ XMLVM_CHECK_NPE(1)
+ java_lang_ThreadGroup_remove___java_lang_Thread(_r1.o, _r6.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 888)
+ XMLVM_CHECK_NPE(6)
+ java_lang_Thread_threadTerminating__(_r6.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 889)
+ XMLVM_EXIT_METHOD()
+ return;
+ label41:;
+ java_lang_Thread* curThread_w5666aaac70b1c31 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w5666aaac70b1c31->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_TRY_BEGIN(w5666aaac70b1c32)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r6.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac70b1c32)
+ XMLVM_CATCH_SPECIFIC(w5666aaac70b1c32,java_lang_Object,41)
+ XMLVM_CATCH_END(w5666aaac70b1c32)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac70b1c32)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label44:;
+ XMLVM_TRY_BEGIN(w5666aaac70b1c35)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Thread.java", 865)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_lang_Thread*) _r6.o)->fields.java_lang_Thread.targetRunnable_;
+ XMLVM_CHECK_NPE(1)
+ (*(void (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_Runnable_run__])(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac70b1c35)
+ XMLVM_CATCH_SPECIFIC(w5666aaac70b1c35,java_lang_Throwable,50)
+ XMLVM_CATCH_END(w5666aaac70b1c35)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac70b1c35)
+ goto label21;
+ label50:;
+ XMLVM_SOURCE_POSITION("Thread.java", 867)
+ java_lang_Thread* curThread_w5666aaac70b1c39 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w5666aaac70b1c39->fields.java_lang_Thread.xmlvmException_;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("Thread.java", 868)
+ _r1.i = java_lang_Thread_stackTracesEnabled__();
+ if (_r1.i == 0) goto label96;
+ XMLVM_SOURCE_POSITION("Thread.java", 869)
+ _r1.o = java_lang_System_GET_out();
+ _r2.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(2)
+ java_lang_StringBuilder___INIT___(_r2.o);
+ // "Exception in thread \042"
+ _r3.o = xmlvm_create_java_string_from_pool(805);
+ XMLVM_CHECK_NPE(2)
+ _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r5.o);
+ XMLVM_CHECK_NPE(6)
+ _r3.o = java_lang_Thread_getName__(_r6.o);
+ XMLVM_CHECK_NPE(2)
+ _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r3.o);
+ // "\042 "
+ _r3.o = xmlvm_create_java_string_from_pool(806);
+ XMLVM_CHECK_NPE(2)
+ _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r4.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(2)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r2.o)->tib->vtable[5])(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream_print___java_lang_String(_r1.o, _r2.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 870)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Throwable_printStackTrace__(_r0.o);
+ goto label21;
+ label96:;
+ XMLVM_SOURCE_POSITION("Thread.java", 872)
+ _r1.o = java_lang_System_GET_out();
+ _r2.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(2)
+ java_lang_StringBuilder___INIT___(_r2.o);
+ // "Exception in thread \042"
+ _r3.o = xmlvm_create_java_string_from_pool(805);
+ XMLVM_CHECK_NPE(2)
+ _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r5.o);
+ XMLVM_CHECK_NPE(6)
+ _r3.o = java_lang_Thread_getName__(_r6.o);
+ XMLVM_CHECK_NPE(2)
+ _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r3.o);
+ // "\042 "
+ _r3.o = xmlvm_create_java_string_from_pool(806);
+ XMLVM_CHECK_NPE(2)
+ _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r4.o);
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(0)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r0.o)->tib->vtable[3])(_r0.o);
+ XMLVM_CHECK_NPE(3)
+ _r3.o = java_lang_Class_getName__(_r3.o);
+ XMLVM_CHECK_NPE(2)
+ _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r3.o);
+ // ": "
+ _r3.o = xmlvm_create_java_string_from_pool(49);
+ XMLVM_CHECK_NPE(2)
+ _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r3.o);
+ //java_lang_Throwable_getMessage__[7]
+ XMLVM_CHECK_NPE(0)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Throwable*) _r0.o)->tib->vtable[7])(_r0.o);
+ XMLVM_CHECK_NPE(2)
+ _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r3.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(2)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r2.o)->tib->vtable[5])(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ java_io_PrintStream_println___java_lang_String(_r1.o, _r2.o);
+ goto label21;
+ label158:;
+ java_lang_Thread* curThread_w5666aaac70b1c81 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w5666aaac70b1c81->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_TRY_BEGIN(w5666aaac70b1c82)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r6.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac70b1c82)
+ XMLVM_CATCH_SPECIFIC(w5666aaac70b1c82,java_lang_Object,158)
+ XMLVM_CATCH_END(w5666aaac70b1c82)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac70b1c82)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_Thread_stackTracesEnabled__()]
+
+void java_lang_Thread_threadTerminating__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_threadTerminating__]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "threadTerminating", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("Thread.java", 894)
+ java_lang_Object_acquireLockRecursive__(_r3.o);
+ XMLVM_TRY_BEGIN(w5666aaac72b1b4)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Thread.java", 895)
+ _r0.o = java_lang_Thread_State_GET_TERMINATED();
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadState_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 896)
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac72b1b4)
+ XMLVM_CATCH_SPECIFIC(w5666aaac72b1b4,java_lang_Object,29)
+ XMLVM_CATCH_END(w5666aaac72b1b4)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac72b1b4)
+ XMLVM_SOURCE_POSITION("Thread.java", 900)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.daemon_;
+ if (_r0.i != 0) goto label28;
+ XMLVM_SOURCE_POSITION("Thread.java", 901)
+ XMLVM_CLASS_INIT(java_lang_Thread)
+ _r0.o = __CLASS_java_lang_Thread;
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_TRY_BEGIN(w5666aaac72b1c11)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Thread.java", 902)
+ _r1.i = java_lang_Thread_GET_numberOfActiveNonDaemonThreads();
+ _r2.i = 1;
+ _r1.i = _r1.i - _r2.i;
+ java_lang_Thread_PUT_numberOfActiveNonDaemonThreads( _r1.i);
+ XMLVM_SOURCE_POSITION("Thread.java", 904)
+ _r1.i = java_lang_Thread_GET_numberOfActiveNonDaemonThreads();
+ if (_r1.i != 0) { XMLVM_MEMCPY(curThread_w5666aaac72b1c11->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac72b1c11, sizeof(XMLVM_JMP_BUF)); goto label27; };
+ XMLVM_SOURCE_POSITION("Thread.java", 905)
+ _r1.i = 0;
+ java_lang_System_exit___int(_r1.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac72b1c11)
+ XMLVM_CATCH_SPECIFIC(w5666aaac72b1c11,java_lang_Object,32)
+ XMLVM_CATCH_END(w5666aaac72b1c11)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac72b1c11)
+ label27:;
+ XMLVM_TRY_BEGIN(w5666aaac72b1c13)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Thread.java", 907)
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac72b1c13)
+ XMLVM_CATCH_SPECIFIC(w5666aaac72b1c13,java_lang_Object,32)
+ XMLVM_CATCH_END(w5666aaac72b1c13)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac72b1c13)
+ label28:;
+ XMLVM_SOURCE_POSITION("Thread.java", 909)
+ XMLVM_EXIT_METHOD()
+ return;
+ label29:;
+ java_lang_Thread* curThread_w5666aaac72b1c18 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w5666aaac72b1c18->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_TRY_BEGIN(w5666aaac72b1c19)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac72b1c19)
+ XMLVM_CATCH_SPECIFIC(w5666aaac72b1c19,java_lang_Object,29)
+ XMLVM_CATCH_END(w5666aaac72b1c19)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac72b1c19)
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label32:;
+ java_lang_Thread* curThread_w5666aaac72b1c22 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w5666aaac72b1c22->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_TRY_BEGIN(w5666aaac72b1c23)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac72b1c23)
+ XMLVM_CATCH_SPECIFIC(w5666aaac72b1c23,java_lang_Object,32)
+ XMLVM_CATCH_END(w5666aaac72b1c23)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac72b1c23)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Thread_run__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_run__]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "run", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Thread.java", 919)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void java_lang_Thread_setContextClassLoader___java_lang_ClassLoader(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+void java_lang_Thread_setDaemon___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_setDaemon___boolean]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "setDaemon", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ _r2.o = me;
+ _r3.i = n1;
+ XMLVM_SOURCE_POSITION("Thread.java", 946)
+ java_lang_Object_acquireLockRecursive__(_r2.o);
+ XMLVM_TRY_BEGIN(w5666aaac75b1b5)
+ // Begin try
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadState_;
+ _r1.o = java_lang_Thread_State_GET_NEW();
+ if (_r0.o == _r1.o) { XMLVM_MEMCPY(curThread_w5666aaac75b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac75b1b5, sizeof(XMLVM_JMP_BUF)); goto label16; };
+ XMLVM_SOURCE_POSITION("Thread.java", 947)
+
+
+ // Red class access removed: java.lang.IllegalThreadStateException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalThreadStateException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac75b1b5)
+ XMLVM_CATCH_SPECIFIC(w5666aaac75b1b5,java_lang_Object,13)
+ XMLVM_CATCH_END(w5666aaac75b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac75b1b5)
+ label13:;
+ java_lang_Thread* curThread_w5666aaac75b1b7 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w5666aaac75b1b7->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label16:;
+ XMLVM_TRY_BEGIN(w5666aaac75b1c11)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Thread.java", 949)
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.daemon_ = _r3.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac75b1c11)
+ XMLVM_CATCH_SPECIFIC(w5666aaac75b1c11,java_lang_Object,13)
+ XMLVM_CATCH_END(w5666aaac75b1c11)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac75b1c11)
+ XMLVM_SOURCE_POSITION("Thread.java", 950)
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void java_lang_Thread_setDefaultUncaughtExceptionHandler___java_lang_Thread_UncaughtExceptionHandler(JAVA_OBJECT n1)]
+
+void java_lang_Thread_setName___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_setName___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "setName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Thread.java", 977)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_Thread*) _r0.o)->fields.java_lang_Thread.threadName_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 978)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void java_lang_Thread_setPriority___int(JAVA_OBJECT me, JAVA_INT n1)]
+
+void java_lang_Thread_setThreadLocal___java_lang_ThreadLocal_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_setThreadLocal___java_lang_ThreadLocal_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "setThreadLocal", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("Thread.java", 1008)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_Thread*) _r1.o)->fields.java_lang_Thread.threadLocalMap_;
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_put___java_lang_Object_java_lang_Object])(_r0.o, _r2.o, _r3.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 1009)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void java_lang_Thread_setUncaughtExceptionHandler___java_lang_Thread_UncaughtExceptionHandler(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+void java_lang_Thread_sleep___long(JAVA_LONG n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Thread)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_sleep___long]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "sleep", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ _r3.l = n1;
+ XMLVM_SOURCE_POSITION("Thread.java", 1037)
+ _r1.l = 0;
+ _r1.i = _r3.l > _r1.l ? 1 : (_r3.l == _r1.l ? 0 : -1);
+ if (_r1.i == 0) goto label16;
+ XMLVM_SOURCE_POSITION("Thread.java", 1038)
+ _r0.o = __NEW_java_lang_Object();
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 1039)
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_TRY_BEGIN(w5666aaac81b1c11)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Thread.java", 1040)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object_wait___long(_r0.o, _r3.l);
+ XMLVM_SOURCE_POSITION("Thread.java", 1041)
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac81b1c11)
+ XMLVM_CATCH_SPECIFIC(w5666aaac81b1c11,java_lang_Object,17)
+ XMLVM_CATCH_END(w5666aaac81b1c11)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac81b1c11)
+ label16:;
+ XMLVM_TRY_BEGIN(w5666aaac81b1c13)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Thread.java", 1043)
+ XMLVM_MEMCPY(curThread_w5666aaac81b1c13->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac81b1c13, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac81b1c13)
+ XMLVM_CATCH_SPECIFIC(w5666aaac81b1c13,java_lang_Object,17)
+ XMLVM_CATCH_END(w5666aaac81b1c13)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac81b1c13)
+ label17:;
+ XMLVM_TRY_BEGIN(w5666aaac81b1c15)
+ // Begin try
+ java_lang_Thread* curThread_w5666aaac81b1c15aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w5666aaac81b1c15aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac81b1c15)
+ XMLVM_CATCH_SPECIFIC(w5666aaac81b1c15,java_lang_Object,17)
+ XMLVM_CATCH_END(w5666aaac81b1c15)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac81b1c15)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Thread_sleep___long_int(JAVA_LONG n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Thread)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_sleep___long_int]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "sleep", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r5.l = n1;
+ _r7.i = n2;
+ _r3.l = 1;
+ _r1.l = 0;
+ XMLVM_SOURCE_POSITION("Thread.java", 1060)
+ _r0.i = _r5.l > _r1.l ? 1 : (_r5.l == _r1.l ? 0 : -1);
+ if (_r0.i >= 0) goto label16;
+ XMLVM_SOURCE_POSITION("Thread.java", 1061)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "sleep milliseconds must be greater than or equal to zero"
+ _r1.o = xmlvm_create_java_string_from_pool(807);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label16:;
+ XMLVM_SOURCE_POSITION("Thread.java", 1062)
+ if (_r7.i < 0) goto label23;
+ _r0.i = 1000000;
+ if (_r7.i < _r0.i) goto label31;
+ label23:;
+ XMLVM_SOURCE_POSITION("Thread.java", 1063)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "sleep nanoseconds must be greater than or equal to zero and less than 1000000"
+ _r1.o = xmlvm_create_java_string_from_pool(808);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label31:;
+ XMLVM_SOURCE_POSITION("Thread.java", 1066)
+ _r0.i = _r5.l > _r1.l ? 1 : (_r5.l == _r1.l ? 0 : -1);
+ if (_r0.i != 0) goto label41;
+ if (_r7.i == 0) goto label41;
+ XMLVM_SOURCE_POSITION("Thread.java", 1067)
+ java_lang_Thread_sleep___long(_r3.l);
+ label40:;
+ XMLVM_SOURCE_POSITION("Thread.java", 1074)
+ XMLVM_EXIT_METHOD()
+ return;
+ label41:;
+ XMLVM_SOURCE_POSITION("Thread.java", 1069)
+ _r0.i = 500000;
+ if (_r7.i < _r0.i) goto label47;
+ XMLVM_SOURCE_POSITION("Thread.java", 1070)
+ _r5.l = _r5.l + _r3.l;
+ label47:;
+ XMLVM_SOURCE_POSITION("Thread.java", 1072)
+ java_lang_Thread_sleep___long(_r5.l);
+ goto label40;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Thread_start__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_start__]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "start", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Thread.java", 1085)
+ java_lang_Object_acquireLockRecursive__(_r2.o);
+ XMLVM_TRY_BEGIN(w5666aaac83b1b4)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Thread.java", 1086)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadState_;
+ _r1.o = java_lang_Thread_State_GET_NEW();
+ if (_r0.o == _r1.o) { XMLVM_MEMCPY(curThread_w5666aaac83b1b4->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac83b1b4, sizeof(XMLVM_JMP_BUF)); goto label16; };
+ XMLVM_SOURCE_POSITION("Thread.java", 1087)
+
+
+ // Red class access removed: java.lang.IllegalThreadStateException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalThreadStateException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac83b1b4)
+ XMLVM_CATCH_SPECIFIC(w5666aaac83b1b4,java_lang_Object,13)
+ XMLVM_CATCH_END(w5666aaac83b1b4)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac83b1b4)
+ label13:;
+ XMLVM_TRY_BEGIN(w5666aaac83b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Thread.java", 1090)
+ java_lang_Thread* curThread_w5666aaac83b1b6ab1 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w5666aaac83b1b6ab1->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac83b1b6)
+ XMLVM_CATCH_SPECIFIC(w5666aaac83b1b6,java_lang_Object,13)
+ XMLVM_CATCH_END(w5666aaac83b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac83b1b6)
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label16:;
+ XMLVM_TRY_BEGIN(w5666aaac83b1b9)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Thread.java", 1089)
+ _r0.o = java_lang_Thread_State_GET_RUNNABLE();
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadState_ = _r0.o;
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac83b1b9)
+ XMLVM_CATCH_SPECIFIC(w5666aaac83b1b9,java_lang_Object,13)
+ XMLVM_CATCH_END(w5666aaac83b1b9)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac83b1b9)
+ XMLVM_SOURCE_POSITION("Thread.java", 1094)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.daemon_;
+ if (_r0.i != 0) goto label35;
+ XMLVM_SOURCE_POSITION("Thread.java", 1095)
+ XMLVM_CLASS_INIT(java_lang_Thread)
+ _r0.o = __CLASS_java_lang_Thread;
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_TRY_BEGIN(w5666aaac83b1c16)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Thread.java", 1096)
+ _r1.i = java_lang_Thread_GET_numberOfActiveNonDaemonThreads();
+ _r1.i = _r1.i + 1;
+ java_lang_Thread_PUT_numberOfActiveNonDaemonThreads( _r1.i);
+ XMLVM_SOURCE_POSITION("Thread.java", 1097)
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac83b1c16)
+ XMLVM_CATCH_SPECIFIC(w5666aaac83b1c16,java_lang_Object,44)
+ XMLVM_CATCH_END(w5666aaac83b1c16)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac83b1c16)
+ label35:;
+ XMLVM_SOURCE_POSITION("Thread.java", 1099)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_lang_Thread*) _r2.o)->fields.java_lang_Thread.threadGroup_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_ThreadGroup_add___java_lang_Thread(_r0.o, _r2.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 1100)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Thread_start0__(_r2.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 1101)
+ XMLVM_EXIT_METHOD()
+ return;
+ label44:;
+ java_lang_Thread* curThread_w5666aaac83b1c26 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w5666aaac83b1c26->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_TRY_BEGIN(w5666aaac83b1c27)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac83b1c27)
+ XMLVM_CATCH_SPECIFIC(w5666aaac83b1c27,java_lang_Object,44)
+ XMLVM_CATCH_END(w5666aaac83b1c27)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac83b1c27)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void java_lang_Thread_start0__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[void java_lang_Thread_stop__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[void java_lang_Thread_stop___java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[void java_lang_Thread_suspend__(JAVA_OBJECT me)]
+
+JAVA_OBJECT java_lang_Thread_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_toString__]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ // ","
+ _r2.o = xmlvm_create_java_string_from_pool(24);
+ XMLVM_SOURCE_POSITION("Thread.java", 1158)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT___(_r0.o);
+ // "Thread["
+ _r1.o = xmlvm_create_java_string_from_pool(809);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadName_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ // ","
+ _r1.o = xmlvm_create_java_string_from_pool(24);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r2.o);
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.priority_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___int(_r0.o, _r1.i);
+ // ","
+ _r1.o = xmlvm_create_java_string_from_pool(24);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r2.o);
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadGroup_;
+ if (_r1.o != JAVA_NULL) goto label58;
+ // ""
+ _r1.o = xmlvm_create_java_string_from_pool(21);
+ label43:;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ // "]"
+ _r1.o = xmlvm_create_java_string_from_pool(183);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label58:;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_lang_Thread*) _r3.o)->fields.java_lang_Thread.threadGroup_;
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_ThreadGroup_getName__(_r1.o);
+ goto label43;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void java_lang_Thread_yield__()]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_Thread_holdsLock___java_lang_Object(JAVA_OBJECT n1)]
+
+void java_lang_Thread_setWaitingCondition___org_xmlvm_runtime_Condition(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_setWaitingCondition___org_xmlvm_runtime_Condition]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "setWaitingCondition", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Thread.java", 1201)
+ java_lang_Object_acquireLockRecursive__(_r1.o);
+ XMLVM_TRY_BEGIN(w5666aaac91b1b5)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Thread.java", 1202)
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_Thread*) _r1.o)->fields.java_lang_Thread.waitingCondition_ = _r2.o;
+ XMLVM_SOURCE_POSITION("Thread.java", 1203)
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 1204)
+ XMLVM_MEMCPY(curThread_w5666aaac91b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w5666aaac91b1b5, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac91b1b5)
+ XMLVM_CATCH_SPECIFIC(w5666aaac91b1b5,java_lang_Object,5)
+ XMLVM_CATCH_END(w5666aaac91b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac91b1b5)
+ label5:;
+ XMLVM_TRY_BEGIN(w5666aaac91b1b7)
+ // Begin try
+ java_lang_Thread* curThread_w5666aaac91b1b7aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w5666aaac91b1b7aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5666aaac91b1b7)
+ XMLVM_CATCH_SPECIFIC(w5666aaac91b1b7,java_lang_Object,5)
+ XMLVM_CATCH_END(w5666aaac91b1b7)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5666aaac91b1b7)
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Thread___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread___CLINIT___]
+ XMLVM_ENTER_METHOD("java.lang.Thread", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVM_SOURCE_POSITION("Thread.java", 115)
+ _r0.o = __NEW_org_xmlvm_runtime_Mutex();
+ XMLVM_CHECK_NPE(0)
+ org_xmlvm_runtime_Mutex___INIT___(_r0.o);
+ java_lang_Thread_PUT_threadSafetyMutex( _r0.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 118)
+ _r0.l = 2;
+ java_lang_Thread_PUT_nextThreadId( _r0.l);
+ XMLVM_SOURCE_POSITION("Thread.java", 127)
+ _r0.i = 1;
+ java_lang_Thread_PUT_numberOfActiveNonDaemonThreads( _r0.i);
+ XMLVM_SOURCE_POSITION("Thread.java", 148)
+ _r0.o = __NEW_java_util_HashMap();
+ XMLVM_CHECK_NPE(0)
+ java_util_HashMap___INIT___(_r0.o);
+ java_lang_Thread_PUT_threadMap( _r0.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 153)
+ _r1.o = __NEW_java_lang_ThreadGroup();
+ _r0.o = JAVA_NULL;
+ _r0.o = _r0.o;
+ XMLVM_CHECK_NPE(1)
+ java_lang_ThreadGroup___INIT____java_lang_ThreadGroup(_r1.o, _r0.o);
+ java_lang_Thread_PUT_mainThreadGroup( _r1.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_Thread.h b/tests/nbody-java/java_lang_Thread.h
new file mode 100644
index 00000000..c650168d
--- /dev/null
+++ b/tests/nbody-java/java_lang_Thread.h
@@ -0,0 +1,223 @@
+#ifndef __JAVA_LANG_THREAD__
+#define __JAVA_LANG_THREAD__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_Thread 1
+// Implemented interfaces:
+#include "java_lang_Runnable.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_io_PrintStream
+#define XMLVM_FORWARD_DECL_java_io_PrintStream
+XMLVM_FORWARD_DECL(java_io_PrintStream)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_ClassLoader
+#define XMLVM_FORWARD_DECL_java_lang_ClassLoader
+XMLVM_FORWARD_DECL(java_lang_ClassLoader)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Long
+#define XMLVM_FORWARD_DECL_java_lang_Long
+XMLVM_FORWARD_DECL(java_lang_Long)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StackTraceElement
+#define XMLVM_FORWARD_DECL_java_lang_StackTraceElement
+XMLVM_FORWARD_DECL(java_lang_StackTraceElement)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Thread_State
+#define XMLVM_FORWARD_DECL_java_lang_Thread_State
+XMLVM_FORWARD_DECL(java_lang_Thread_State)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Thread_UncaughtExceptionHandler
+#define XMLVM_FORWARD_DECL_java_lang_Thread_UncaughtExceptionHandler
+XMLVM_FORWARD_DECL(java_lang_Thread_UncaughtExceptionHandler)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_ThreadGroup
+#define XMLVM_FORWARD_DECL_java_lang_ThreadGroup
+XMLVM_FORWARD_DECL(java_lang_ThreadGroup)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Throwable
+#define XMLVM_FORWARD_DECL_java_lang_Throwable
+XMLVM_FORWARD_DECL(java_lang_Throwable)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_HashMap
+#define XMLVM_FORWARD_DECL_java_util_HashMap
+XMLVM_FORWARD_DECL(java_util_HashMap)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Map
+#define XMLVM_FORWARD_DECL_java_util_Map
+XMLVM_FORWARD_DECL(java_util_Map)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_Condition
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_Condition
+XMLVM_FORWARD_DECL(org_xmlvm_runtime_Condition)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_Mutex
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_Mutex
+XMLVM_FORWARD_DECL(org_xmlvm_runtime_Mutex)
+#endif
+// Class declarations for java.lang.Thread
+XMLVM_DEFINE_CLASS(java_lang_Thread, 7, XMLVM_ITABLE_SIZE_java_lang_Thread)
+
+extern JAVA_OBJECT __CLASS_java_lang_Thread;
+extern JAVA_OBJECT __CLASS_java_lang_Thread_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Thread_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Thread_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_Thread
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_Thread \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT xmlvmExceptionEnv_; \
+ JAVA_OBJECT xmlvmException_; \
+ JAVA_OBJECT ptBuffers_; \
+ JAVA_LONG threadId_; \
+ JAVA_OBJECT threadName_; \
+ JAVA_INT priority_; \
+ JAVA_BOOLEAN daemon_; \
+ JAVA_BOOLEAN alive_; \
+ JAVA_OBJECT targetRunnable_; \
+ JAVA_OBJECT threadGroup_; \
+ JAVA_OBJECT threadState_; \
+ JAVA_BOOLEAN interrupted_; \
+ JAVA_OBJECT waitingCondition_; \
+ JAVA_OBJECT threadLocalMap_; \
+ JAVA_LONG nativeThreadId_; \
+ JAVA_OBJECT action_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_Thread \
+ } java_lang_Thread
+
+struct java_lang_Thread {
+ __TIB_DEFINITION_java_lang_Thread* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_Thread;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_Thread
+#define XMLVM_FORWARD_DECL_java_lang_Thread
+typedef struct java_lang_Thread java_lang_Thread;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_Thread 7
+#define XMLVM_VTABLE_IDX_java_lang_Thread_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_lang_Thread_run__ 6
+#define XMLVM_VTABLE_IDX_java_lang_Thread_toString__ 5
+
+void __INIT_java_lang_Thread();
+void __INIT_IMPL_java_lang_Thread();
+void __DELETE_java_lang_Thread(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_Thread(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_Thread();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Thread();
+void xmlvm_init_native_java_lang_Thread();
+JAVA_OBJECT java_lang_Thread_GET_threadSafetyMutex();
+void java_lang_Thread_PUT_threadSafetyMutex(JAVA_OBJECT v);
+JAVA_LONG java_lang_Thread_GET_nextThreadId();
+void java_lang_Thread_PUT_nextThreadId(JAVA_LONG v);
+JAVA_INT java_lang_Thread_GET_numberOfActiveNonDaemonThreads();
+void java_lang_Thread_PUT_numberOfActiveNonDaemonThreads(JAVA_INT v);
+JAVA_OBJECT java_lang_Thread_GET_threadMap();
+void java_lang_Thread_PUT_threadMap(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Thread_GET_mainThreadGroup();
+void java_lang_Thread_PUT_mainThreadGroup(JAVA_OBJECT v);
+JAVA_INT java_lang_Thread_GET_MAX_PRIORITY();
+void java_lang_Thread_PUT_MAX_PRIORITY(JAVA_INT v);
+JAVA_INT java_lang_Thread_GET_MIN_PRIORITY();
+void java_lang_Thread_PUT_MIN_PRIORITY(JAVA_INT v);
+JAVA_INT java_lang_Thread_GET_NORM_PRIORITY();
+void java_lang_Thread_PUT_NORM_PRIORITY(JAVA_INT v);
+JAVA_LONG java_lang_Thread_getNextThreadId__();
+void java_lang_Thread_addSelfToMap__(JAVA_OBJECT me);
+void java_lang_Thread_removeSelfFromMap__(JAVA_OBJECT me);
+JAVA_LONG java_lang_Thread_getNativeThreadId__(JAVA_OBJECT me);
+void java_lang_Thread___INIT____long(JAVA_OBJECT me, JAVA_LONG n1);
+void java_lang_Thread_initMainThread__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Thread_getThread___long(JAVA_LONG n1);
+// Vtable index: 1
+JAVA_BOOLEAN java_lang_Thread_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_Thread_initThread___java_lang_ThreadGroup_java_lang_Runnable_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3);
+void java_lang_Thread___INIT___(JAVA_OBJECT me);
+void java_lang_Thread___INIT____java_lang_Runnable(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_Thread___INIT____java_lang_Runnable_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_lang_Thread___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_Thread___INIT____java_lang_ThreadGroup_java_lang_Runnable(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_lang_Thread___INIT____java_lang_ThreadGroup_java_lang_Runnable_java_lang_String_long(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_LONG n4);
+void java_lang_Thread___INIT____java_lang_ThreadGroup_java_lang_Runnable_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3);
+void java_lang_Thread___INIT____java_lang_ThreadGroup_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_lang_Thread_setInterruptAction___java_lang_Runnable(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_INT java_lang_Thread_activeCount__();
+void java_lang_Thread_checkAccess__(JAVA_OBJECT me);
+JAVA_INT java_lang_Thread_countStackFrames__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Thread_currentThread__();
+JAVA_LONG java_lang_Thread_getCurrentThreadNativeId__();
+void java_lang_Thread_destroy__(JAVA_OBJECT me);
+void java_lang_Thread_dumpStack__();
+JAVA_INT java_lang_Thread_enumerate___java_lang_Thread_1ARRAY(JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Thread_getAllStackTraces__();
+JAVA_OBJECT java_lang_Thread_getContextClassLoader__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Thread_getDefaultUncaughtExceptionHandler__();
+JAVA_LONG java_lang_Thread_getId__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Thread_getName__(JAVA_OBJECT me);
+JAVA_INT java_lang_Thread_getPriority__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Thread_getStackTrace__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Thread_getState__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Thread_getThreadGroup__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Thread_getThreadLocal___java_lang_ThreadLocal(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Thread_getUncaughtExceptionHandler__(JAVA_OBJECT me);
+void java_lang_Thread_interrupt__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_Thread_interrupted__();
+JAVA_BOOLEAN java_lang_Thread_isAlive__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_Thread_isDaemon__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_Thread_isInterrupted__(JAVA_OBJECT me);
+void java_lang_Thread_join__(JAVA_OBJECT me);
+void java_lang_Thread_join___long(JAVA_OBJECT me, JAVA_LONG n1);
+void java_lang_Thread_join___long_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_INT n2);
+void java_lang_Thread_resume__(JAVA_OBJECT me);
+void java_lang_Thread_run0___long(JAVA_OBJECT me, JAVA_LONG n1);
+JAVA_BOOLEAN java_lang_Thread_stackTracesEnabled__();
+void java_lang_Thread_threadTerminating__(JAVA_OBJECT me);
+// Vtable index: 6
+void java_lang_Thread_run__(JAVA_OBJECT me);
+void java_lang_Thread_setContextClassLoader___java_lang_ClassLoader(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_Thread_setDaemon___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1);
+void java_lang_Thread_setDefaultUncaughtExceptionHandler___java_lang_Thread_UncaughtExceptionHandler(JAVA_OBJECT n1);
+void java_lang_Thread_setName___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_Thread_setPriority___int(JAVA_OBJECT me, JAVA_INT n1);
+void java_lang_Thread_setThreadLocal___java_lang_ThreadLocal_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_lang_Thread_setUncaughtExceptionHandler___java_lang_Thread_UncaughtExceptionHandler(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_Thread_sleep___long(JAVA_LONG n1);
+void java_lang_Thread_sleep___long_int(JAVA_LONG n1, JAVA_INT n2);
+void java_lang_Thread_start__(JAVA_OBJECT me);
+void java_lang_Thread_start0__(JAVA_OBJECT me);
+void java_lang_Thread_stop__(JAVA_OBJECT me);
+void java_lang_Thread_stop___java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_Thread_suspend__(JAVA_OBJECT me);
+// Vtable index: 5
+JAVA_OBJECT java_lang_Thread_toString__(JAVA_OBJECT me);
+void java_lang_Thread_yield__();
+JAVA_BOOLEAN java_lang_Thread_holdsLock___java_lang_Object(JAVA_OBJECT n1);
+void java_lang_Thread_setWaitingCondition___org_xmlvm_runtime_Condition(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_Thread___CLINIT_();
+
+#endif
diff --git a/tests/nbody-java/java_lang_ThreadGroup.c b/tests/nbody-java/java_lang_ThreadGroup.c
new file mode 100644
index 00000000..a2114c92
--- /dev/null
+++ b/tests/nbody-java/java_lang_ThreadGroup.c
@@ -0,0 +1,2821 @@
+#include "xmlvm.h"
+#include "java_io_PrintStream.h"
+#include "java_lang_Class.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_SecurityManager.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_lang_System.h"
+#include "java_lang_Thread.h"
+#include "java_lang_ThreadGroup_ChildrenGroupsLock.h"
+#include "java_lang_ThreadGroup_ChildrenThreadsLock.h"
+#include "java_lang_Throwable.h"
+
+#include "java_lang_ThreadGroup.h"
+
+#define XMLVM_CURRENT_CLASS_NAME ThreadGroup
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_ThreadGroup
+
+__TIB_DEFINITION_java_lang_ThreadGroup __TIB_java_lang_ThreadGroup = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_ThreadGroup, // classInitializer
+ "java.lang.ThreadGroup", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_ThreadGroup), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_ThreadGroup;
+JAVA_OBJECT __CLASS_java_lang_ThreadGroup_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_ThreadGroup_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_ThreadGroup_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_ThreadGroup()
+{
+ staticInitializerLock(&__TIB_java_lang_ThreadGroup);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_ThreadGroup.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_ThreadGroup.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_ThreadGroup);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_ThreadGroup.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_ThreadGroup.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_ThreadGroup.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.ThreadGroup")
+ __INIT_IMPL_java_lang_ThreadGroup();
+ }
+}
+
+void __INIT_IMPL_java_lang_ThreadGroup()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_ThreadGroup.newInstanceFunc = __NEW_INSTANCE_java_lang_ThreadGroup;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_ThreadGroup.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_ThreadGroup.vtable[5] = (VTABLE_PTR) &java_lang_ThreadGroup_toString__;
+ __TIB_java_lang_ThreadGroup.vtable[6] = (VTABLE_PTR) &java_lang_ThreadGroup_uncaughtException___java_lang_Thread_java_lang_Throwable;
+ // Initialize interface information
+ __TIB_java_lang_ThreadGroup.numImplementedInterfaces = 1;
+ __TIB_java_lang_ThreadGroup.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_lang_Thread_UncaughtExceptionHandler)
+
+ __TIB_java_lang_ThreadGroup.implementedInterfaces[0][0] = &__TIB_java_lang_Thread_UncaughtExceptionHandler;
+ // Initialize itable for this class
+ __TIB_java_lang_ThreadGroup.itableBegin = &__TIB_java_lang_ThreadGroup.itable[0];
+ __TIB_java_lang_ThreadGroup.itable[XMLVM_ITABLE_IDX_java_lang_Thread_UncaughtExceptionHandler_uncaughtException___java_lang_Thread_java_lang_Throwable] = __TIB_java_lang_ThreadGroup.vtable[6];
+
+
+ __TIB_java_lang_ThreadGroup.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_ThreadGroup.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_ThreadGroup.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_ThreadGroup.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_ThreadGroup.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_ThreadGroup.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_ThreadGroup.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_ThreadGroup.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_ThreadGroup = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_ThreadGroup);
+ __TIB_java_lang_ThreadGroup.clazz = __CLASS_java_lang_ThreadGroup;
+ __TIB_java_lang_ThreadGroup.baseType = JAVA_NULL;
+ __CLASS_java_lang_ThreadGroup_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ThreadGroup);
+ __CLASS_java_lang_ThreadGroup_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ThreadGroup_1ARRAY);
+ __CLASS_java_lang_ThreadGroup_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ThreadGroup_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_ThreadGroup]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_ThreadGroup.classInitialized = 1;
+}
+
+void __DELETE_java_lang_ThreadGroup(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_ThreadGroup]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_ThreadGroup(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_ThreadGroup*) me)->fields.java_lang_ThreadGroup.name_ = (java_lang_String*) JAVA_NULL;
+ ((java_lang_ThreadGroup*) me)->fields.java_lang_ThreadGroup.maxPriority_ = 0;
+ ((java_lang_ThreadGroup*) me)->fields.java_lang_ThreadGroup.parent_ = (java_lang_ThreadGroup*) JAVA_NULL;
+ ((java_lang_ThreadGroup*) me)->fields.java_lang_ThreadGroup.numThreads_ = 0;
+ ((java_lang_ThreadGroup*) me)->fields.java_lang_ThreadGroup.childrenThreads_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ ((java_lang_ThreadGroup*) me)->fields.java_lang_ThreadGroup.numGroups_ = 0;
+ ((java_lang_ThreadGroup*) me)->fields.java_lang_ThreadGroup.childrenGroups_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ ((java_lang_ThreadGroup*) me)->fields.java_lang_ThreadGroup.childrenGroupsLock_ = (java_lang_Object*) JAVA_NULL;
+ ((java_lang_ThreadGroup*) me)->fields.java_lang_ThreadGroup.childrenThreadsLock_ = (java_lang_Object*) JAVA_NULL;
+ ((java_lang_ThreadGroup*) me)->fields.java_lang_ThreadGroup.isDaemon_ = 0;
+ ((java_lang_ThreadGroup*) me)->fields.java_lang_ThreadGroup.isDestroyed_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_ThreadGroup]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_ThreadGroup()
+{ XMLVM_CLASS_INIT(java_lang_ThreadGroup)
+java_lang_ThreadGroup* me = (java_lang_ThreadGroup*) XMLVM_MALLOC(sizeof(java_lang_ThreadGroup));
+ me->tib = &__TIB_java_lang_ThreadGroup;
+ __INIT_INSTANCE_MEMBERS_java_lang_ThreadGroup(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_ThreadGroup]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_ThreadGroup()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+void java_lang_ThreadGroup___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ _r1.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 84)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 50)
+ _r0.i = 10;
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_ThreadGroup*) _r2.o)->fields.java_lang_ThreadGroup.maxPriority_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 58)
+ _r0.i = 5;
+ XMLVM_CLASS_INIT(java_lang_Thread)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Thread, _r0.i);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_ThreadGroup*) _r2.o)->fields.java_lang_ThreadGroup.childrenThreads_ = _r0.o;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 64)
+ _r0.i = 3;
+ XMLVM_CLASS_INIT(java_lang_ThreadGroup)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_ThreadGroup, _r0.i);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_ThreadGroup*) _r2.o)->fields.java_lang_ThreadGroup.childrenGroups_ = _r0.o;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 68)
+ _r0.o = __NEW_java_lang_ThreadGroup_ChildrenGroupsLock();
+ XMLVM_CHECK_NPE(0)
+ java_lang_ThreadGroup_ChildrenGroupsLock___INIT____java_lang_ThreadGroup_java_lang_ThreadGroup_1(_r0.o, _r2.o, _r1.o);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_ThreadGroup*) _r2.o)->fields.java_lang_ThreadGroup.childrenGroupsLock_ = _r0.o;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 72)
+ _r0.o = __NEW_java_lang_ThreadGroup_ChildrenThreadsLock();
+ XMLVM_CHECK_NPE(0)
+ java_lang_ThreadGroup_ChildrenThreadsLock___INIT____java_lang_ThreadGroup_java_lang_ThreadGroup_1(_r0.o, _r2.o, _r1.o);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_ThreadGroup*) _r2.o)->fields.java_lang_ThreadGroup.childrenThreadsLock_ = _r0.o;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 85)
+ // "system"
+ _r0.o = xmlvm_create_java_string_from_pool(662);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_ThreadGroup*) _r2.o)->fields.java_lang_ThreadGroup.name_ = _r0.o;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 86)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ThreadGroup___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 102)
+ _r0.o = java_lang_Thread_currentThread__();
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_Thread_getThreadGroup__(_r0.o);
+ XMLVM_CHECK_NPE(1)
+ java_lang_ThreadGroup___INIT____java_lang_ThreadGroup_java_lang_String(_r1.o, _r0.o, _r2.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 103)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ThreadGroup___INIT____java_lang_ThreadGroup_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup___INIT____java_lang_ThreadGroup_java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.o = n2;
+ _r1.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 120)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 50)
+ _r0.i = 10;
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_ThreadGroup*) _r2.o)->fields.java_lang_ThreadGroup.maxPriority_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 58)
+ _r0.i = 5;
+ XMLVM_CLASS_INIT(java_lang_Thread)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Thread, _r0.i);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_ThreadGroup*) _r2.o)->fields.java_lang_ThreadGroup.childrenThreads_ = _r0.o;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 64)
+ _r0.i = 3;
+ XMLVM_CLASS_INIT(java_lang_ThreadGroup)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_ThreadGroup, _r0.i);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_ThreadGroup*) _r2.o)->fields.java_lang_ThreadGroup.childrenGroups_ = _r0.o;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 68)
+ _r0.o = __NEW_java_lang_ThreadGroup_ChildrenGroupsLock();
+ XMLVM_CHECK_NPE(0)
+ java_lang_ThreadGroup_ChildrenGroupsLock___INIT____java_lang_ThreadGroup_java_lang_ThreadGroup_1(_r0.o, _r2.o, _r1.o);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_ThreadGroup*) _r2.o)->fields.java_lang_ThreadGroup.childrenGroupsLock_ = _r0.o;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 72)
+ _r0.o = __NEW_java_lang_ThreadGroup_ChildrenThreadsLock();
+ XMLVM_CHECK_NPE(0)
+ java_lang_ThreadGroup_ChildrenThreadsLock___INIT____java_lang_ThreadGroup_java_lang_ThreadGroup_1(_r0.o, _r2.o, _r1.o);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_ThreadGroup*) _r2.o)->fields.java_lang_ThreadGroup.childrenThreadsLock_ = _r0.o;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 121)
+ _r0.o = java_lang_Thread_currentThread__();
+ if (_r0.o == JAVA_NULL) goto label49;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 124)
+ if (_r3.o != JAVA_NULL) goto label46;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 130)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label46:;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 132)
+ XMLVM_CHECK_NPE(3)
+ java_lang_ThreadGroup_checkAccess__(_r3.o);
+ label49:;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 136)
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_ThreadGroup*) _r2.o)->fields.java_lang_ThreadGroup.name_ = _r4.o;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 137)
+ XMLVM_CHECK_NPE(2)
+ java_lang_ThreadGroup_setParent___java_lang_ThreadGroup(_r2.o, _r3.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 138)
+ if (_r3.o == JAVA_NULL) goto label73;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 139)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_lang_ThreadGroup_getMaxPriority__(_r3.o);
+ XMLVM_CHECK_NPE(2)
+ java_lang_ThreadGroup_setMaxPriority___int(_r2.o, _r0.i);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 140)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_lang_ThreadGroup_isDaemon__(_r3.o);
+ if (_r0.i == 0) goto label73;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 141)
+ _r0.i = 1;
+ XMLVM_CHECK_NPE(2)
+ java_lang_ThreadGroup_setDaemon___boolean(_r2.o, _r0.i);
+ label73:;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 144)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ThreadGroup___INIT____java_lang_ThreadGroup(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup___INIT____java_lang_ThreadGroup]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ _r1.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 149)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 50)
+ _r0.i = 10;
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_ThreadGroup*) _r2.o)->fields.java_lang_ThreadGroup.maxPriority_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 58)
+ _r0.i = 5;
+ XMLVM_CLASS_INIT(java_lang_Thread)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Thread, _r0.i);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_ThreadGroup*) _r2.o)->fields.java_lang_ThreadGroup.childrenThreads_ = _r0.o;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 64)
+ _r0.i = 3;
+ XMLVM_CLASS_INIT(java_lang_ThreadGroup)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_ThreadGroup, _r0.i);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_ThreadGroup*) _r2.o)->fields.java_lang_ThreadGroup.childrenGroups_ = _r0.o;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 68)
+ _r0.o = __NEW_java_lang_ThreadGroup_ChildrenGroupsLock();
+ XMLVM_CHECK_NPE(0)
+ java_lang_ThreadGroup_ChildrenGroupsLock___INIT____java_lang_ThreadGroup_java_lang_ThreadGroup_1(_r0.o, _r2.o, _r1.o);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_ThreadGroup*) _r2.o)->fields.java_lang_ThreadGroup.childrenGroupsLock_ = _r0.o;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 72)
+ _r0.o = __NEW_java_lang_ThreadGroup_ChildrenThreadsLock();
+ XMLVM_CHECK_NPE(0)
+ java_lang_ThreadGroup_ChildrenThreadsLock___INIT____java_lang_ThreadGroup_java_lang_ThreadGroup_1(_r0.o, _r2.o, _r1.o);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_ThreadGroup*) _r2.o)->fields.java_lang_ThreadGroup.childrenThreadsLock_ = _r0.o;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 150)
+ // "main"
+ _r0.o = xmlvm_create_java_string_from_pool(663);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_ThreadGroup*) _r2.o)->fields.java_lang_ThreadGroup.name_ = _r0.o;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 151)
+ XMLVM_CHECK_NPE(2)
+ java_lang_ThreadGroup_setParent___java_lang_ThreadGroup(_r2.o, _r3.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 152)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_ThreadGroup_activeCount__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_activeCount__]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "activeCount", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ _r4.o = me;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 161)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_lang_ThreadGroup*) _r4.o)->fields.java_lang_ThreadGroup.numThreads_;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 163)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_lang_ThreadGroup*) _r4.o)->fields.java_lang_ThreadGroup.childrenGroupsLock_;
+ java_lang_Object_acquireLockRecursive__(_r2.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 164)
+ _r1.i = 0;
+ label6:;
+ XMLVM_TRY_BEGIN(w3933aaac15b1c10)
+ // Begin try
+ XMLVM_CHECK_NPE(4)
+ _r3.i = ((java_lang_ThreadGroup*) _r4.o)->fields.java_lang_ThreadGroup.numGroups_;
+ if (_r1.i >= _r3.i) { XMLVM_MEMCPY(curThread_w3933aaac15b1c10->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac15b1c10, sizeof(XMLVM_JMP_BUF)); goto label22; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 165)
+ XMLVM_CHECK_NPE(4)
+ _r3.o = ((java_lang_ThreadGroup*) _r4.o)->fields.java_lang_ThreadGroup.childrenGroups_;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r1.i);
+ _r3.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_CHECK_NPE(3)
+ _r3.i = java_lang_ThreadGroup_activeCount__(_r3.o);
+ _r0.i = _r0.i + _r3.i;
+ _r1.i = _r1.i + 1;
+ { XMLVM_MEMCPY(curThread_w3933aaac15b1c10->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac15b1c10, sizeof(XMLVM_JMP_BUF)); goto label6; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 167)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac15b1c10)
+ XMLVM_CATCH_SPECIFIC(w3933aaac15b1c10,java_lang_Object,24)
+ XMLVM_CATCH_END(w3933aaac15b1c10)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac15b1c10)
+ label22:;
+ XMLVM_TRY_BEGIN(w3933aaac15b1c12)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 168)
+ XMLVM_MEMCPY(curThread_w3933aaac15b1c12->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac15b1c12, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac15b1c12)
+ XMLVM_CATCH_SPECIFIC(w3933aaac15b1c12,java_lang_Object,24)
+ XMLVM_CATCH_END(w3933aaac15b1c12)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac15b1c12)
+ label24:;
+ XMLVM_TRY_BEGIN(w3933aaac15b1c14)
+ // Begin try
+ java_lang_Thread* curThread_w3933aaac15b1c14aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r3.o = curThread_w3933aaac15b1c14aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac15b1c14)
+ XMLVM_CATCH_SPECIFIC(w3933aaac15b1c14,java_lang_Object,24)
+ XMLVM_CATCH_END(w3933aaac15b1c14)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac15b1c14)
+ XMLVM_THROW_CUSTOM(_r3.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_ThreadGroup_activeGroupCount__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_activeGroupCount__]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "activeGroupCount", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ _r4.o = me;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 178)
+ _r0.i = 0;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 180)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_lang_ThreadGroup*) _r4.o)->fields.java_lang_ThreadGroup.childrenGroupsLock_;
+ java_lang_Object_acquireLockRecursive__(_r2.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 181)
+ _r1.i = 0;
+ label5:;
+ XMLVM_TRY_BEGIN(w3933aaac16b1c10)
+ // Begin try
+ XMLVM_CHECK_NPE(4)
+ _r3.i = ((java_lang_ThreadGroup*) _r4.o)->fields.java_lang_ThreadGroup.numGroups_;
+ if (_r1.i >= _r3.i) { XMLVM_MEMCPY(curThread_w3933aaac16b1c10->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac16b1c10, sizeof(XMLVM_JMP_BUF)); goto label23; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 183)
+ XMLVM_CHECK_NPE(4)
+ _r3.o = ((java_lang_ThreadGroup*) _r4.o)->fields.java_lang_ThreadGroup.childrenGroups_;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r1.i);
+ _r3.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_CHECK_NPE(3)
+ _r3.i = java_lang_ThreadGroup_activeGroupCount__(_r3.o);
+ _r3.i = _r3.i + 1;
+ _r0.i = _r0.i + _r3.i;
+ _r1.i = _r1.i + 1;
+ { XMLVM_MEMCPY(curThread_w3933aaac16b1c10->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac16b1c10, sizeof(XMLVM_JMP_BUF)); goto label5; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 185)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac16b1c10)
+ XMLVM_CATCH_SPECIFIC(w3933aaac16b1c10,java_lang_Object,25)
+ XMLVM_CATCH_END(w3933aaac16b1c10)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac16b1c10)
+ label23:;
+ XMLVM_TRY_BEGIN(w3933aaac16b1c12)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 186)
+ XMLVM_MEMCPY(curThread_w3933aaac16b1c12->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac16b1c12, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac16b1c12)
+ XMLVM_CATCH_SPECIFIC(w3933aaac16b1c12,java_lang_Object,25)
+ XMLVM_CATCH_END(w3933aaac16b1c12)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac16b1c12)
+ label25:;
+ XMLVM_TRY_BEGIN(w3933aaac16b1c14)
+ // Begin try
+ java_lang_Thread* curThread_w3933aaac16b1c14aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r3.o = curThread_w3933aaac16b1c14aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac16b1c14)
+ XMLVM_CATCH_SPECIFIC(w3933aaac16b1c14,java_lang_Object,25)
+ XMLVM_CATCH_END(w3933aaac16b1c14)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac16b1c14)
+ XMLVM_THROW_CUSTOM(_r3.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ThreadGroup_add___java_lang_Thread(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_add___java_lang_Thread]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "add", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 202)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenThreadsLock_;
+ java_lang_Object_acquireLockRecursive__(_r1.o);
+ XMLVM_TRY_BEGIN(w3933aaac17b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 203)
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.isDestroyed_;
+ if (_r2.i != 0) { XMLVM_MEMCPY(curThread_w3933aaac17b1b6->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac17b1b6, sizeof(XMLVM_JMP_BUF)); goto label56; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 204)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenThreads_;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numThreads_;
+ if (_r2.i != _r3.i) { XMLVM_MEMCPY(curThread_w3933aaac17b1b6->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac17b1b6, sizeof(XMLVM_JMP_BUF)); goto label42; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 205)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenThreads_;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ _r2.i = _r2.i * 2;
+ XMLVM_CLASS_INIT(java_lang_Thread)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Thread, _r2.i);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 206)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenThreads_;
+ _r3.i = 0;
+ _r4.i = 0;
+ XMLVM_CHECK_NPE(6)
+ _r5.i = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numThreads_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r2.o, _r3.i, _r0.o, _r4.i, _r5.i);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 207)
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numThreads_;
+ _r3.i = _r2.i + 1;
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numThreads_ = _r3.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r7.o;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 208)
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenThreads_ = _r0.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac17b1b6)
+ XMLVM_CATCH_SPECIFIC(w3933aaac17b1b6,java_lang_Object,53)
+ XMLVM_CATCH_END(w3933aaac17b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac17b1b6)
+ label40:;
+ XMLVM_TRY_BEGIN(w3933aaac17b1b8)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 215)
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 216)
+ XMLVM_MEMCPY(curThread_w3933aaac17b1b8->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac17b1b8, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac17b1b8)
+ XMLVM_CATCH_SPECIFIC(w3933aaac17b1b8,java_lang_Object,53)
+ XMLVM_CATCH_END(w3933aaac17b1b8)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac17b1b8)
+ label42:;
+ XMLVM_TRY_BEGIN(w3933aaac17b1c10)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 210)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenThreads_;
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numThreads_;
+ _r4.i = _r3.i + 1;
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numThreads_ = _r4.i;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r7.o;
+ { XMLVM_MEMCPY(curThread_w3933aaac17b1c10->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac17b1c10, sizeof(XMLVM_JMP_BUF)); goto label40; };
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac17b1c10)
+ XMLVM_CATCH_SPECIFIC(w3933aaac17b1c10,java_lang_Object,53)
+ XMLVM_CATCH_END(w3933aaac17b1c10)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac17b1c10)
+ label53:;
+ XMLVM_TRY_BEGIN(w3933aaac17b1c12)
+ // Begin try
+ java_lang_Thread* curThread_w3933aaac17b1c12aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r2.o = curThread_w3933aaac17b1c12aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac17b1c12)
+ XMLVM_CATCH_SPECIFIC(w3933aaac17b1c12,java_lang_Object,53)
+ XMLVM_CATCH_END(w3933aaac17b1c12)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac17b1c12)
+ XMLVM_THROW_CUSTOM(_r2.o)
+ label56:;
+ XMLVM_TRY_BEGIN(w3933aaac17b1c15)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 213)
+
+
+ // Red class access removed: java.lang.IllegalThreadStateException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalThreadStateException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r2.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac17b1c15)
+ XMLVM_CATCH_SPECIFIC(w3933aaac17b1c15,java_lang_Object,53)
+ XMLVM_CATCH_END(w3933aaac17b1c15)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac17b1c15)
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ThreadGroup_add___java_lang_ThreadGroup(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_add___java_lang_ThreadGroup]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "add", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 227)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenGroupsLock_;
+ java_lang_Object_acquireLockRecursive__(_r1.o);
+ XMLVM_TRY_BEGIN(w3933aaac18b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 228)
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.isDestroyed_;
+ if (_r2.i != 0) { XMLVM_MEMCPY(curThread_w3933aaac18b1b6->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac18b1b6, sizeof(XMLVM_JMP_BUF)); goto label56; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 229)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenGroups_;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numGroups_;
+ if (_r2.i != _r3.i) { XMLVM_MEMCPY(curThread_w3933aaac18b1b6->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac18b1b6, sizeof(XMLVM_JMP_BUF)); goto label42; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 230)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenGroups_;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ _r2.i = _r2.i * 2;
+ XMLVM_CLASS_INIT(java_lang_ThreadGroup)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_ThreadGroup, _r2.i);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 231)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenGroups_;
+ _r3.i = 0;
+ _r4.i = 0;
+ XMLVM_CHECK_NPE(6)
+ _r5.i = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numGroups_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r2.o, _r3.i, _r0.o, _r4.i, _r5.i);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 232)
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numGroups_;
+ _r3.i = _r2.i + 1;
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numGroups_ = _r3.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r7.o;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 233)
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenGroups_ = _r0.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac18b1b6)
+ XMLVM_CATCH_SPECIFIC(w3933aaac18b1b6,java_lang_Object,53)
+ XMLVM_CATCH_END(w3933aaac18b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac18b1b6)
+ label40:;
+ XMLVM_TRY_BEGIN(w3933aaac18b1b8)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 240)
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 241)
+ XMLVM_MEMCPY(curThread_w3933aaac18b1b8->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac18b1b8, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac18b1b8)
+ XMLVM_CATCH_SPECIFIC(w3933aaac18b1b8,java_lang_Object,53)
+ XMLVM_CATCH_END(w3933aaac18b1b8)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac18b1b8)
+ label42:;
+ XMLVM_TRY_BEGIN(w3933aaac18b1c10)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 235)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenGroups_;
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numGroups_;
+ _r4.i = _r3.i + 1;
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numGroups_ = _r4.i;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r7.o;
+ { XMLVM_MEMCPY(curThread_w3933aaac18b1c10->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac18b1c10, sizeof(XMLVM_JMP_BUF)); goto label40; };
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac18b1c10)
+ XMLVM_CATCH_SPECIFIC(w3933aaac18b1c10,java_lang_Object,53)
+ XMLVM_CATCH_END(w3933aaac18b1c10)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac18b1c10)
+ label53:;
+ XMLVM_TRY_BEGIN(w3933aaac18b1c12)
+ // Begin try
+ java_lang_Thread* curThread_w3933aaac18b1c12aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r2.o = curThread_w3933aaac18b1c12aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac18b1c12)
+ XMLVM_CATCH_SPECIFIC(w3933aaac18b1c12,java_lang_Object,53)
+ XMLVM_CATCH_END(w3933aaac18b1c12)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac18b1c12)
+ XMLVM_THROW_CUSTOM(_r2.o)
+ label56:;
+ XMLVM_TRY_BEGIN(w3933aaac18b1c15)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 238)
+
+
+ // Red class access removed: java.lang.IllegalThreadStateException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalThreadStateException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r2.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac18b1c15)
+ XMLVM_CATCH_SPECIFIC(w3933aaac18b1c15,java_lang_Object,53)
+ XMLVM_CATCH_END(w3933aaac18b1c15)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac18b1c15)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_ThreadGroup_allowThreadSuspension___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_allowThreadSuspension___boolean]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "allowThreadSuspension", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 256)
+ _r0.i = 1;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ThreadGroup_checkAccess__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_checkAccess__]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "checkAccess", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 268)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label9;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 269)
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 270)
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkAccess___java_lang_ThreadGroup(_r0.o, _r1.o);
+ label9:;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 272)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ThreadGroup_destroy__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_destroy__]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "destroy", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ _r6.o = me;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 288)
+ XMLVM_CHECK_NPE(6)
+ java_lang_ThreadGroup_checkAccess__(_r6.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 291)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenThreadsLock_;
+ java_lang_Object_acquireLockRecursive__(_r2.o);
+ XMLVM_TRY_BEGIN(w3933aaac21b1b7)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 292)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenGroupsLock_;
+ java_lang_Object_acquireLockRecursive__(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac21b1b7)
+ XMLVM_CATCH_SPECIFIC(w3933aaac21b1b7,java_lang_Object,43)
+ XMLVM_CATCH_END(w3933aaac21b1b7)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac21b1b7)
+ XMLVM_TRY_BEGIN(w3933aaac21b1b8)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 293)
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numGroups_;
+ _r0.i = 0;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac21b1b8)
+ XMLVM_CATCH_SPECIFIC(w3933aaac21b1b8,java_lang_Object,40)
+ XMLVM_CATCH_END(w3933aaac21b1b8)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac21b1b8)
+ label12:;
+ XMLVM_TRY_BEGIN(w3933aaac21b1c10)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 295)
+ if (_r0.i >= _r1.i) { XMLVM_MEMCPY(curThread_w3933aaac21b1c10->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac21b1c10, sizeof(XMLVM_JMP_BUF)); goto label25; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 299)
+ XMLVM_CHECK_NPE(6)
+ _r4.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenGroups_;
+ _r5.i = 0;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r5.i);
+ _r4.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i];
+ XMLVM_CHECK_NPE(4)
+ java_lang_ThreadGroup_destroy__(_r4.o);
+ _r0.i = _r0.i + 1;
+ { XMLVM_MEMCPY(curThread_w3933aaac21b1c10->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac21b1c10, sizeof(XMLVM_JMP_BUF)); goto label12; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 302)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac21b1c10)
+ XMLVM_CATCH_SPECIFIC(w3933aaac21b1c10,java_lang_Object,40)
+ XMLVM_CATCH_END(w3933aaac21b1c10)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac21b1c10)
+ label25:;
+ XMLVM_TRY_BEGIN(w3933aaac21b1c12)
+ // Begin try
+ XMLVM_CHECK_NPE(6)
+ _r4.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.parent_;
+ if (_r4.o == JAVA_NULL) { XMLVM_MEMCPY(curThread_w3933aaac21b1c12->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac21b1c12, sizeof(XMLVM_JMP_BUF)); goto label34; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 303)
+ XMLVM_CHECK_NPE(6)
+ _r4.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.parent_;
+ XMLVM_CHECK_NPE(4)
+ java_lang_ThreadGroup_remove___java_lang_ThreadGroup(_r4.o, _r6.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac21b1c12)
+ XMLVM_CATCH_SPECIFIC(w3933aaac21b1c12,java_lang_Object,40)
+ XMLVM_CATCH_END(w3933aaac21b1c12)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac21b1c12)
+ label34:;
+ XMLVM_TRY_BEGIN(w3933aaac21b1c14)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 308)
+ _r4.i = 1;
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.isDestroyed_ = _r4.i;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 309)
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac21b1c14)
+ XMLVM_CATCH_SPECIFIC(w3933aaac21b1c14,java_lang_Object,40)
+ XMLVM_CATCH_END(w3933aaac21b1c14)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac21b1c14)
+ XMLVM_TRY_BEGIN(w3933aaac21b1c15)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 310)
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac21b1c15)
+ XMLVM_CATCH_SPECIFIC(w3933aaac21b1c15,java_lang_Object,43)
+ XMLVM_CATCH_END(w3933aaac21b1c15)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac21b1c15)
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 311)
+ XMLVM_EXIT_METHOD()
+ return;
+ label40:;
+ java_lang_Thread* curThread_w3933aaac21b1c19 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r4.o = curThread_w3933aaac21b1c19->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_TRY_BEGIN(w3933aaac21b1c20)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac21b1c20)
+ XMLVM_CATCH_SPECIFIC(w3933aaac21b1c20,java_lang_Object,40)
+ XMLVM_CATCH_END(w3933aaac21b1c20)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac21b1c20)
+ XMLVM_TRY_BEGIN(w3933aaac21b1c21)
+ // Begin try
+ XMLVM_THROW_CUSTOM(_r4.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac21b1c21)
+ XMLVM_CATCH_SPECIFIC(w3933aaac21b1c21,java_lang_Object,43)
+ XMLVM_CATCH_END(w3933aaac21b1c21)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac21b1c21)
+ label43:;
+ XMLVM_TRY_BEGIN(w3933aaac21b1c23)
+ // Begin try
+ java_lang_Thread* curThread_w3933aaac21b1c23aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r3.o = curThread_w3933aaac21b1c23aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac21b1c23)
+ XMLVM_CATCH_SPECIFIC(w3933aaac21b1c23,java_lang_Object,43)
+ XMLVM_CATCH_END(w3933aaac21b1c23)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac21b1c23)
+ XMLVM_THROW_CUSTOM(_r3.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ThreadGroup_destroyIfEmptyDaemon__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_destroyIfEmptyDaemon__]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "destroyIfEmptyDaemon", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 323)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_lang_ThreadGroup*) _r3.o)->fields.java_lang_ThreadGroup.childrenThreadsLock_;
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_TRY_BEGIN(w3933aaac22b1b5)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 324)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_ThreadGroup*) _r3.o)->fields.java_lang_ThreadGroup.isDaemon_;
+ if (_r1.i == 0) { XMLVM_MEMCPY(curThread_w3933aaac22b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac22b1b5, sizeof(XMLVM_JMP_BUF)); goto label26; };
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_ThreadGroup*) _r3.o)->fields.java_lang_ThreadGroup.isDestroyed_;
+ if (_r1.i != 0) { XMLVM_MEMCPY(curThread_w3933aaac22b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac22b1b5, sizeof(XMLVM_JMP_BUF)); goto label26; };
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_ThreadGroup*) _r3.o)->fields.java_lang_ThreadGroup.numThreads_;
+ if (_r1.i != 0) { XMLVM_MEMCPY(curThread_w3933aaac22b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac22b1b5, sizeof(XMLVM_JMP_BUF)); goto label26; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 325)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_lang_ThreadGroup*) _r3.o)->fields.java_lang_ThreadGroup.childrenGroupsLock_;
+ java_lang_Object_acquireLockRecursive__(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac22b1b5)
+ XMLVM_CATCH_SPECIFIC(w3933aaac22b1b5,java_lang_Object,31)
+ XMLVM_CATCH_END(w3933aaac22b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac22b1b5)
+ XMLVM_TRY_BEGIN(w3933aaac22b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 326)
+ XMLVM_CHECK_NPE(3)
+ _r2.i = ((java_lang_ThreadGroup*) _r3.o)->fields.java_lang_ThreadGroup.numGroups_;
+ if (_r2.i != 0) { XMLVM_MEMCPY(curThread_w3933aaac22b1b6->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac22b1b6, sizeof(XMLVM_JMP_BUF)); goto label25; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 327)
+ XMLVM_CHECK_NPE(3)
+ java_lang_ThreadGroup_destroy__(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac22b1b6)
+ XMLVM_CATCH_SPECIFIC(w3933aaac22b1b6,java_lang_Object,28)
+ XMLVM_CATCH_END(w3933aaac22b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac22b1b6)
+ label25:;
+ XMLVM_TRY_BEGIN(w3933aaac22b1b8)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 329)
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac22b1b8)
+ XMLVM_CATCH_SPECIFIC(w3933aaac22b1b8,java_lang_Object,28)
+ XMLVM_CATCH_END(w3933aaac22b1b8)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac22b1b8)
+ label26:;
+ XMLVM_TRY_BEGIN(w3933aaac22b1c10)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 331)
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac22b1c10)
+ XMLVM_CATCH_SPECIFIC(w3933aaac22b1c10,java_lang_Object,31)
+ XMLVM_CATCH_END(w3933aaac22b1c10)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac22b1c10)
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 332)
+ XMLVM_EXIT_METHOD()
+ return;
+ label28:;
+ java_lang_Thread* curThread_w3933aaac22b1c14 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r2.o = curThread_w3933aaac22b1c14->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_TRY_BEGIN(w3933aaac22b1c15)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac22b1c15)
+ XMLVM_CATCH_SPECIFIC(w3933aaac22b1c15,java_lang_Object,28)
+ XMLVM_CATCH_END(w3933aaac22b1c15)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac22b1c15)
+ XMLVM_TRY_BEGIN(w3933aaac22b1c16)
+ // Begin try
+ XMLVM_THROW_CUSTOM(_r2.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac22b1c16)
+ XMLVM_CATCH_SPECIFIC(w3933aaac22b1c16,java_lang_Object,31)
+ XMLVM_CATCH_END(w3933aaac22b1c16)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac22b1c16)
+ label31:;
+ XMLVM_TRY_BEGIN(w3933aaac22b1c18)
+ // Begin try
+ java_lang_Thread* curThread_w3933aaac22b1c18aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w3933aaac22b1c18aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac22b1c18)
+ XMLVM_CATCH_SPECIFIC(w3933aaac22b1c18,java_lang_Object,31)
+ XMLVM_CATCH_END(w3933aaac22b1c18)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac22b1c18)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_ThreadGroup_enumerate___java_lang_Thread_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_enumerate___java_lang_Thread_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "enumerate", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 343)
+ _r0.i = 1;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_ThreadGroup_enumerate___java_lang_Thread_1ARRAY_boolean(_r1.o, _r2.o, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_ThreadGroup_enumerate___java_lang_Thread_1ARRAY_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_enumerate___java_lang_Thread_1ARRAY_boolean]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "enumerate", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.i = n2;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 357)
+ _r0.i = 0;
+ _r1.i = 1;
+ XMLVM_CHECK_NPE(2)
+ _r0.i = java_lang_ThreadGroup_enumerateGeneric___java_lang_Object_1ARRAY_boolean_int_boolean(_r2.o, _r3.o, _r4.i, _r0.i, _r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_ThreadGroup_enumerate___java_lang_ThreadGroup_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_enumerate___java_lang_ThreadGroup_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "enumerate", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 370)
+ _r0.i = 1;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_ThreadGroup_enumerate___java_lang_ThreadGroup_1ARRAY_boolean(_r1.o, _r2.o, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_ThreadGroup_enumerate___java_lang_ThreadGroup_1ARRAY_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_enumerate___java_lang_ThreadGroup_1ARRAY_boolean]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "enumerate", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.i = n2;
+ _r0.i = 0;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 385)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_ThreadGroup_enumerateGeneric___java_lang_Object_1ARRAY_boolean_int_boolean(_r1.o, _r2.o, _r3.i, _r0.i, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_ThreadGroup_enumerateGeneric___java_lang_Object_1ARRAY_boolean_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2, JAVA_INT n3, JAVA_BOOLEAN n4)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_enumerateGeneric___java_lang_Object_1ARRAY_boolean_int_boolean]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "enumerateGeneric", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ volatile XMLVMElem _r9;
+ volatile XMLVMElem _r10;
+ _r6.o = me;
+ _r7.o = n1;
+ _r8.i = n2;
+ _r9.i = n3;
+ _r10.i = n4;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 407)
+ XMLVM_CHECK_NPE(6)
+ java_lang_ThreadGroup_checkAccess__(_r6.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 409)
+ if (_r10.i == 0) goto label44;
+ XMLVM_CHECK_NPE(6)
+ _r4.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenThreads_;
+ _r4.o = _r4.o;
+ _r2 = _r4;
+ label10:;
+ if (_r10.i == 0) goto label50;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 411)
+ XMLVM_CHECK_NPE(6)
+ _r4.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenThreadsLock_;
+ _r3 = _r4;
+ label15:;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 413)
+ java_lang_Object_acquireLockRecursive__(_r3.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 414)
+ if (_r10.i == 0) goto label54;
+ XMLVM_TRY_BEGIN(w3933aaac27b1c23)
+ // Begin try
+ XMLVM_CHECK_NPE(6)
+ _r4.i = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numThreads_;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac27b1c23)
+ XMLVM_CATCH_SPECIFIC(w3933aaac27b1c23,java_lang_Object,84)
+ XMLVM_CATCH_END(w3933aaac27b1c23)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac27b1c23)
+ _r1 = _r4;
+ label21:;
+ _r0 = _r9;
+ label22:;
+ _r1.i = _r1.i + -1;
+ if (_r1.i < 0) goto label66;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 415)
+ if (_r10.i == 0) goto label38;
+ XMLVM_TRY_BEGIN(w3933aaac27b1c32)
+ // Begin try
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
+ _r4.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ _r4.o = _r4.o;
+ XMLVM_CHECK_NPE(4)
+ _r4.i = java_lang_Thread_isAlive__(_r4.o);
+ if (_r4.i == 0) { XMLVM_MEMCPY(curThread_w3933aaac27b1c32->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac27b1c32, sizeof(XMLVM_JMP_BUF)); goto label22; };
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac27b1c32)
+ XMLVM_CATCH_SPECIFIC(w3933aaac27b1c32,java_lang_Object,104)
+ XMLVM_CATCH_END(w3933aaac27b1c32)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac27b1c32)
+ label38:;
+ XMLVM_TRY_BEGIN(w3933aaac27b1c34)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 416)
+ _r4.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r7.o));
+ if (_r0.i < _r4.i) { XMLVM_MEMCPY(curThread_w3933aaac27b1c34->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac27b1c34, sizeof(XMLVM_JMP_BUF)); goto label58; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 417)
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac27b1c34)
+ XMLVM_CATCH_SPECIFIC(w3933aaac27b1c34,java_lang_Object,104)
+ XMLVM_CATCH_END(w3933aaac27b1c34)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac27b1c34)
+ _r9 = _r0;
+ label43:;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 435)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label44:;
+ XMLVM_CHECK_NPE(6)
+ _r4.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenGroups_;
+ _r4.o = _r4.o;
+ _r2 = _r4;
+ goto label10;
+ label50:;
+ XMLVM_CHECK_NPE(6)
+ _r4.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenGroupsLock_;
+ _r3 = _r4;
+ goto label15;
+ label54:;
+ XMLVM_TRY_BEGIN(w3933aaac27b1c49)
+ // Begin try
+ XMLVM_CHECK_NPE(6)
+ _r4.i = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numGroups_;
+ _r1 = _r4;
+ { XMLVM_MEMCPY(curThread_w3933aaac27b1c49->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac27b1c49, sizeof(XMLVM_JMP_BUF)); goto label21; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 419)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac27b1c49)
+ XMLVM_CATCH_SPECIFIC(w3933aaac27b1c49,java_lang_Object,84)
+ XMLVM_CATCH_END(w3933aaac27b1c49)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac27b1c49)
+ label58:;
+ XMLVM_TRY_BEGIN(w3933aaac27b1c51)
+ // Begin try
+ _r9.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
+ _r4.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_CHECK_NPE(7)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r0.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r4.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac27b1c51)
+ XMLVM_CATCH_SPECIFIC(w3933aaac27b1c51,java_lang_Object,84)
+ XMLVM_CATCH_END(w3933aaac27b1c51)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac27b1c51)
+ _r0 = _r9;
+ goto label22;
+ label66:;
+ XMLVM_TRY_BEGIN(w3933aaac27b1c55)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 422)
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac27b1c55)
+ XMLVM_CATCH_SPECIFIC(w3933aaac27b1c55,java_lang_Object,104)
+ XMLVM_CATCH_END(w3933aaac27b1c55)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac27b1c55)
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 424)
+ if (_r8.i == 0) goto label107;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 425)
+ XMLVM_CHECK_NPE(6)
+ _r4.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenGroupsLock_;
+ java_lang_Object_acquireLockRecursive__(_r4.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 426)
+ _r1.i = 0;
+ _r9 = _r0;
+ label74:;
+ XMLVM_TRY_BEGIN(w3933aaac27b1c65)
+ // Begin try
+ XMLVM_CHECK_NPE(6)
+ _r5.i = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numGroups_;
+ if (_r1.i >= _r5.i) { XMLVM_MEMCPY(curThread_w3933aaac27b1c65->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac27b1c65, sizeof(XMLVM_JMP_BUF)); goto label98; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 427)
+ _r5.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r7.o));
+ if (_r9.i < _r5.i) { XMLVM_MEMCPY(curThread_w3933aaac27b1c65->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac27b1c65, sizeof(XMLVM_JMP_BUF)); goto label87; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 428)
+ java_lang_Object_releaseLockRecursive__(_r4.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac27b1c65)
+ XMLVM_CATCH_SPECIFIC(w3933aaac27b1c65,java_lang_Object,101)
+ XMLVM_CATCH_END(w3933aaac27b1c65)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac27b1c65)
+ _r0 = _r9;
+ goto label43;
+ label84:;
+ java_lang_Thread* curThread_w3933aaac27b1c69 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r4.o = curThread_w3933aaac27b1c69->fields.java_lang_Thread.xmlvmException_;
+ label85:;
+ XMLVM_TRY_BEGIN(w3933aaac27b1c71)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac27b1c71)
+ XMLVM_CATCH_SPECIFIC(w3933aaac27b1c71,java_lang_Object,84)
+ XMLVM_CATCH_END(w3933aaac27b1c71)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac27b1c71)
+ XMLVM_THROW_CUSTOM(_r4.o)
+ label87:;
+ XMLVM_TRY_BEGIN(w3933aaac27b1c74)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 430)
+ XMLVM_CHECK_NPE(6)
+ _r5.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenGroups_;
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r1.i);
+ _r5.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_CHECK_NPE(5)
+ _r9.i = java_lang_ThreadGroup_enumerateGeneric___java_lang_Object_1ARRAY_boolean_int_boolean(_r5.o, _r7.o, _r8.i, _r9.i, _r10.i);
+ _r1.i = _r1.i + 1;
+ { XMLVM_MEMCPY(curThread_w3933aaac27b1c74->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac27b1c74, sizeof(XMLVM_JMP_BUF)); goto label74; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 433)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac27b1c74)
+ XMLVM_CATCH_SPECIFIC(w3933aaac27b1c74,java_lang_Object,101)
+ XMLVM_CATCH_END(w3933aaac27b1c74)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac27b1c74)
+ label98:;
+ XMLVM_TRY_BEGIN(w3933aaac27b1c76)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r4.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac27b1c76)
+ XMLVM_CATCH_SPECIFIC(w3933aaac27b1c76,java_lang_Object,101)
+ XMLVM_CATCH_END(w3933aaac27b1c76)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac27b1c76)
+ label99:;
+ XMLVM_TRY_BEGIN(w3933aaac27b1c78)
+ // Begin try
+ _r0 = _r9;
+ { XMLVM_MEMCPY(curThread_w3933aaac27b1c78->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac27b1c78, sizeof(XMLVM_JMP_BUF)); goto label43; };
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac27b1c78)
+ XMLVM_CATCH_SPECIFIC(w3933aaac27b1c78,java_lang_Object,101)
+ XMLVM_CATCH_END(w3933aaac27b1c78)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac27b1c78)
+ label101:;
+ XMLVM_TRY_BEGIN(w3933aaac27b1c80)
+ // Begin try
+ java_lang_Thread* curThread_w3933aaac27b1c80aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r5.o = curThread_w3933aaac27b1c80aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r4.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac27b1c80)
+ XMLVM_CATCH_SPECIFIC(w3933aaac27b1c80,java_lang_Object,101)
+ XMLVM_CATCH_END(w3933aaac27b1c80)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac27b1c80)
+ XMLVM_THROW_CUSTOM(_r5.o)
+ label104:;
+ java_lang_Thread* curThread_w3933aaac27b1c83 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r4.o = curThread_w3933aaac27b1c83->fields.java_lang_Thread.xmlvmException_;
+ _r9 = _r0;
+ goto label85;
+ label107:;
+ _r9 = _r0;
+ goto label99;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_ThreadGroup_getMaxPriority__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_getMaxPriority__]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "getMaxPriority", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 446)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_ThreadGroup*) _r1.o)->fields.java_lang_ThreadGroup.maxPriority_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ThreadGroup_getName__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_getName__]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "getName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 455)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_ThreadGroup*) _r1.o)->fields.java_lang_ThreadGroup.name_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ThreadGroup_getParent__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_getParent__]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "getParent", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 466)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_ThreadGroup*) _r1.o)->fields.java_lang_ThreadGroup.parent_;
+ if (_r0.o == JAVA_NULL) goto label9;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 467)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_ThreadGroup*) _r1.o)->fields.java_lang_ThreadGroup.parent_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_ThreadGroup_checkAccess__(_r0.o);
+ label9:;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 469)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_ThreadGroup*) _r1.o)->fields.java_lang_ThreadGroup.parent_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ThreadGroup_interrupt__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_interrupt__]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "interrupt", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 482)
+ XMLVM_CHECK_NPE(3)
+ java_lang_ThreadGroup_checkAccess__(_r3.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 484)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_lang_ThreadGroup*) _r3.o)->fields.java_lang_ThreadGroup.childrenThreadsLock_;
+ java_lang_Object_acquireLockRecursive__(_r1.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 485)
+ _r0.i = 0;
+ label7:;
+ XMLVM_TRY_BEGIN(w3933aaac31b1c10)
+ // Begin try
+ XMLVM_CHECK_NPE(3)
+ _r2.i = ((java_lang_ThreadGroup*) _r3.o)->fields.java_lang_ThreadGroup.numThreads_;
+ if (_r0.i >= _r2.i) { XMLVM_MEMCPY(curThread_w3933aaac31b1c10->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac31b1c10, sizeof(XMLVM_JMP_BUF)); goto label21; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 486)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_lang_ThreadGroup*) _r3.o)->fields.java_lang_ThreadGroup.childrenThreads_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_CHECK_NPE(2)
+ java_lang_Thread_interrupt__(_r2.o);
+ _r0.i = _r0.i + 1;
+ { XMLVM_MEMCPY(curThread_w3933aaac31b1c10->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac31b1c10, sizeof(XMLVM_JMP_BUF)); goto label7; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 488)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac31b1c10)
+ XMLVM_CATCH_SPECIFIC(w3933aaac31b1c10,java_lang_Object,40)
+ XMLVM_CATCH_END(w3933aaac31b1c10)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac31b1c10)
+ label21:;
+ XMLVM_TRY_BEGIN(w3933aaac31b1c12)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac31b1c12)
+ XMLVM_CATCH_SPECIFIC(w3933aaac31b1c12,java_lang_Object,40)
+ XMLVM_CATCH_END(w3933aaac31b1c12)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac31b1c12)
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 490)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_lang_ThreadGroup*) _r3.o)->fields.java_lang_ThreadGroup.childrenGroupsLock_;
+ java_lang_Object_acquireLockRecursive__(_r1.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 491)
+ _r0.i = 0;
+ label26:;
+ XMLVM_TRY_BEGIN(w3933aaac31b1c19)
+ // Begin try
+ XMLVM_CHECK_NPE(3)
+ _r2.i = ((java_lang_ThreadGroup*) _r3.o)->fields.java_lang_ThreadGroup.numGroups_;
+ if (_r0.i >= _r2.i) { XMLVM_MEMCPY(curThread_w3933aaac31b1c19->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac31b1c19, sizeof(XMLVM_JMP_BUF)); goto label43; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 492)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_lang_ThreadGroup*) _r3.o)->fields.java_lang_ThreadGroup.childrenGroups_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_CHECK_NPE(2)
+ java_lang_ThreadGroup_interrupt__(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac31b1c19)
+ XMLVM_CATCH_SPECIFIC(w3933aaac31b1c19,java_lang_Object,45)
+ XMLVM_CATCH_END(w3933aaac31b1c19)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac31b1c19)
+ _r0.i = _r0.i + 1;
+ goto label26;
+ label40:;
+ java_lang_Thread* curThread_w3933aaac31b1c23 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r2.o = curThread_w3933aaac31b1c23->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_TRY_BEGIN(w3933aaac31b1c24)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac31b1c24)
+ XMLVM_CATCH_SPECIFIC(w3933aaac31b1c24,java_lang_Object,40)
+ XMLVM_CATCH_END(w3933aaac31b1c24)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac31b1c24)
+ XMLVM_THROW_CUSTOM(_r2.o)
+ label43:;
+ XMLVM_TRY_BEGIN(w3933aaac31b1c27)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 494)
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 495)
+ XMLVM_MEMCPY(curThread_w3933aaac31b1c27->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac31b1c27, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac31b1c27)
+ XMLVM_CATCH_SPECIFIC(w3933aaac31b1c27,java_lang_Object,45)
+ XMLVM_CATCH_END(w3933aaac31b1c27)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac31b1c27)
+ label45:;
+ XMLVM_TRY_BEGIN(w3933aaac31b1c29)
+ // Begin try
+ java_lang_Thread* curThread_w3933aaac31b1c29aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r2.o = curThread_w3933aaac31b1c29aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac31b1c29)
+ XMLVM_CATCH_SPECIFIC(w3933aaac31b1c29,java_lang_Object,45)
+ XMLVM_CATCH_END(w3933aaac31b1c29)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac31b1c29)
+ XMLVM_THROW_CUSTOM(_r2.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_ThreadGroup_isDaemon__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_isDaemon__]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "isDaemon", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 506)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_ThreadGroup*) _r1.o)->fields.java_lang_ThreadGroup.isDaemon_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_ThreadGroup_isDestroyed__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_isDestroyed__]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "isDestroyed", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 517)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_ThreadGroup*) _r1.o)->fields.java_lang_ThreadGroup.isDestroyed_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ThreadGroup_list__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_list__]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "list", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 528)
+ _r0.o = java_lang_System_GET_out();
+ XMLVM_CHECK_NPE(0)
+ java_io_PrintStream_println__(_r0.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 529)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(1)
+ java_lang_ThreadGroup_list___int(_r1.o, _r0.i);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 530)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ThreadGroup_list___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_list___int]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "list", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ _r5.o = me;
+ _r6.i = n1;
+ // " "
+ _r4.o = xmlvm_create_java_string_from_pool(664);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 541)
+ _r0.i = 0;
+ label3:;
+ if (_r0.i >= _r6.i) goto label15;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 542)
+ _r2.o = java_lang_System_GET_out();
+ // " "
+ _r3.o = xmlvm_create_java_string_from_pool(664);
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_print___java_lang_String(_r2.o, _r4.o);
+ _r0.i = _r0.i + 1;
+ goto label3;
+ label15:;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 546)
+ _r2.o = java_lang_System_GET_out();
+ //java_lang_ThreadGroup_toString__[5]
+ XMLVM_CHECK_NPE(5)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_ThreadGroup*) _r5.o)->tib->vtable[5])(_r5.o);
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_println___java_lang_String(_r2.o, _r3.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 549)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_lang_ThreadGroup*) _r5.o)->fields.java_lang_ThreadGroup.childrenThreadsLock_;
+ java_lang_Object_acquireLockRecursive__(_r2.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 550)
+ _r0.i = 0;
+ label28:;
+ XMLVM_TRY_BEGIN(w3933aaac35b1c25)
+ // Begin try
+ XMLVM_CHECK_NPE(5)
+ _r3.i = ((java_lang_ThreadGroup*) _r5.o)->fields.java_lang_ThreadGroup.numThreads_;
+ if (_r0.i >= _r3.i) { XMLVM_MEMCPY(curThread_w3933aaac35b1c25->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac35b1c25, sizeof(XMLVM_JMP_BUF)); goto label57; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 552)
+ _r1.i = 0;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac35b1c25)
+ XMLVM_CATCH_SPECIFIC(w3933aaac35b1c25,java_lang_Object,78)
+ XMLVM_CATCH_END(w3933aaac35b1c25)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac35b1c25)
+ label33:;
+ XMLVM_TRY_BEGIN(w3933aaac35b1c27)
+ // Begin try
+ if (_r1.i > _r6.i) { XMLVM_MEMCPY(curThread_w3933aaac35b1c27->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac35b1c27, sizeof(XMLVM_JMP_BUF)); goto label45; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 553)
+ _r3.o = java_lang_System_GET_out();
+ // " "
+ _r4.o = xmlvm_create_java_string_from_pool(664);
+ XMLVM_CHECK_NPE(3)
+ java_io_PrintStream_print___java_lang_String(_r3.o, _r4.o);
+ _r1.i = _r1.i + 1;
+ { XMLVM_MEMCPY(curThread_w3933aaac35b1c27->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac35b1c27, sizeof(XMLVM_JMP_BUF)); goto label33; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 555)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac35b1c27)
+ XMLVM_CATCH_SPECIFIC(w3933aaac35b1c27,java_lang_Object,78)
+ XMLVM_CATCH_END(w3933aaac35b1c27)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac35b1c27)
+ label45:;
+ XMLVM_TRY_BEGIN(w3933aaac35b1c29)
+ // Begin try
+ _r3.o = java_lang_System_GET_out();
+ XMLVM_CHECK_NPE(5)
+ _r4.o = ((java_lang_ThreadGroup*) _r5.o)->fields.java_lang_ThreadGroup.childrenThreads_;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r0.i);
+ _r4.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_CHECK_NPE(3)
+ java_io_PrintStream_println___java_lang_Object(_r3.o, _r4.o);
+ _r0.i = _r0.i + 1;
+ { XMLVM_MEMCPY(curThread_w3933aaac35b1c29->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac35b1c29, sizeof(XMLVM_JMP_BUF)); goto label28; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 557)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac35b1c29)
+ XMLVM_CATCH_SPECIFIC(w3933aaac35b1c29,java_lang_Object,78)
+ XMLVM_CATCH_END(w3933aaac35b1c29)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac35b1c29)
+ label57:;
+ XMLVM_TRY_BEGIN(w3933aaac35b1c31)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac35b1c31)
+ XMLVM_CATCH_SPECIFIC(w3933aaac35b1c31,java_lang_Object,78)
+ XMLVM_CATCH_END(w3933aaac35b1c31)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac35b1c31)
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 558)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_lang_ThreadGroup*) _r5.o)->fields.java_lang_ThreadGroup.childrenGroupsLock_;
+ java_lang_Object_acquireLockRecursive__(_r2.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 559)
+ _r0.i = 0;
+ label62:;
+ XMLVM_TRY_BEGIN(w3933aaac35b1c38)
+ // Begin try
+ XMLVM_CHECK_NPE(5)
+ _r3.i = ((java_lang_ThreadGroup*) _r5.o)->fields.java_lang_ThreadGroup.numGroups_;
+ if (_r0.i >= _r3.i) { XMLVM_MEMCPY(curThread_w3933aaac35b1c38->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac35b1c38, sizeof(XMLVM_JMP_BUF)); goto label81; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 560)
+ XMLVM_CHECK_NPE(5)
+ _r3.o = ((java_lang_ThreadGroup*) _r5.o)->fields.java_lang_ThreadGroup.childrenGroups_;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ _r3.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ _r4.i = _r6.i + 1;
+ XMLVM_CHECK_NPE(3)
+ java_lang_ThreadGroup_list___int(_r3.o, _r4.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac35b1c38)
+ XMLVM_CATCH_SPECIFIC(w3933aaac35b1c38,java_lang_Object,83)
+ XMLVM_CATCH_END(w3933aaac35b1c38)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac35b1c38)
+ _r0.i = _r0.i + 1;
+ goto label62;
+ label78:;
+ java_lang_Thread* curThread_w3933aaac35b1c42 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r3.o = curThread_w3933aaac35b1c42->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_TRY_BEGIN(w3933aaac35b1c43)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac35b1c43)
+ XMLVM_CATCH_SPECIFIC(w3933aaac35b1c43,java_lang_Object,78)
+ XMLVM_CATCH_END(w3933aaac35b1c43)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac35b1c43)
+ XMLVM_THROW_CUSTOM(_r3.o)
+ label81:;
+ XMLVM_TRY_BEGIN(w3933aaac35b1c46)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 562)
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 563)
+ XMLVM_MEMCPY(curThread_w3933aaac35b1c46->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac35b1c46, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac35b1c46)
+ XMLVM_CATCH_SPECIFIC(w3933aaac35b1c46,java_lang_Object,83)
+ XMLVM_CATCH_END(w3933aaac35b1c46)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac35b1c46)
+ label83:;
+ XMLVM_TRY_BEGIN(w3933aaac35b1c48)
+ // Begin try
+ java_lang_Thread* curThread_w3933aaac35b1c48aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r3.o = curThread_w3933aaac35b1c48aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac35b1c48)
+ XMLVM_CATCH_SPECIFIC(w3933aaac35b1c48,java_lang_Object,83)
+ XMLVM_CATCH_END(w3933aaac35b1c48)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac35b1c48)
+ XMLVM_THROW_CUSTOM(_r3.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_ThreadGroup_parentOf___java_lang_ThreadGroup(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_parentOf___java_lang_ThreadGroup]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "parentOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ label0:;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 575)
+ if (_r2.o == JAVA_NULL) goto label9;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 576)
+ if (_r1.o != _r2.o) goto label6;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 577)
+ _r0.i = 1;
+ label5:;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 581)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 579)
+ XMLVM_CHECK_NPE(2)
+ _r2.o = ((java_lang_ThreadGroup*) _r2.o)->fields.java_lang_ThreadGroup.parent_;
+ goto label0;
+ label9:;
+ _r0.i = 0;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ThreadGroup_remove___java_lang_Thread(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_remove___java_lang_Thread]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "remove", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 593)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenThreadsLock_;
+ java_lang_Object_acquireLockRecursive__(_r1.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 594)
+ _r0.i = 0;
+ label4:;
+ XMLVM_TRY_BEGIN(w3933aaac37b1b9)
+ // Begin try
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numThreads_;
+ if (_r0.i >= _r2.i) { XMLVM_MEMCPY(curThread_w3933aaac37b1b9->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac37b1b9, sizeof(XMLVM_JMP_BUF)); goto label43; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 595)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenThreads_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ //java_lang_Thread_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(2)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Thread*) _r2.o)->tib->vtable[1])(_r2.o, _r7.o);
+ if (_r2.i == 0) { XMLVM_MEMCPY(curThread_w3933aaac37b1b9->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac37b1b9, sizeof(XMLVM_JMP_BUF)); goto label48; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 596)
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numThreads_;
+ _r3.i = 1;
+ _r2.i = _r2.i - _r3.i;
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numThreads_ = _r2.i;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 597)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenThreads_;
+ _r3.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(6)
+ _r4.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenThreads_;
+ XMLVM_CHECK_NPE(6)
+ _r5.i = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numThreads_;
+ _r5.i = _r5.i - _r0.i;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r2.o, _r3.i, _r4.o, _r0.i, _r5.i);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 600)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenThreads_;
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numThreads_;
+ _r4.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac37b1b9)
+ XMLVM_CATCH_SPECIFIC(w3933aaac37b1b9,java_lang_Object,51)
+ XMLVM_CATCH_END(w3933aaac37b1b9)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac37b1b9)
+ label43:;
+ XMLVM_TRY_BEGIN(w3933aaac37b1c11)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 604)
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac37b1c11)
+ XMLVM_CATCH_SPECIFIC(w3933aaac37b1c11,java_lang_Object,51)
+ XMLVM_CATCH_END(w3933aaac37b1c11)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac37b1c11)
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 605)
+ XMLVM_CHECK_NPE(6)
+ java_lang_ThreadGroup_destroyIfEmptyDaemon__(_r6.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 606)
+ XMLVM_EXIT_METHOD()
+ return;
+ label48:;
+ _r0.i = _r0.i + 1;
+ goto label4;
+ label51:;
+ java_lang_Thread* curThread_w3933aaac37b1c20 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r2.o = curThread_w3933aaac37b1c20->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_TRY_BEGIN(w3933aaac37b1c21)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac37b1c21)
+ XMLVM_CATCH_SPECIFIC(w3933aaac37b1c21,java_lang_Object,51)
+ XMLVM_CATCH_END(w3933aaac37b1c21)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac37b1c21)
+ XMLVM_THROW_CUSTOM(_r2.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ThreadGroup_remove___java_lang_ThreadGroup(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_remove___java_lang_ThreadGroup]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "remove", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 617)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenGroupsLock_;
+ java_lang_Object_acquireLockRecursive__(_r1.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 618)
+ _r0.i = 0;
+ label4:;
+ XMLVM_TRY_BEGIN(w3933aaac38b1b9)
+ // Begin try
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numGroups_;
+ if (_r0.i >= _r2.i) { XMLVM_MEMCPY(curThread_w3933aaac38b1b9->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac38b1b9, sizeof(XMLVM_JMP_BUF)); goto label43; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 619)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenGroups_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(2)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r2.o)->tib->vtable[1])(_r2.o, _r7.o);
+ if (_r2.i == 0) { XMLVM_MEMCPY(curThread_w3933aaac38b1b9->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac38b1b9, sizeof(XMLVM_JMP_BUF)); goto label48; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 620)
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numGroups_;
+ _r3.i = 1;
+ _r2.i = _r2.i - _r3.i;
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numGroups_ = _r2.i;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 621)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenGroups_;
+ _r3.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(6)
+ _r4.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenGroups_;
+ XMLVM_CHECK_NPE(6)
+ _r5.i = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numGroups_;
+ _r5.i = _r5.i - _r0.i;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r2.o, _r3.i, _r4.o, _r0.i, _r5.i);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 622)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.childrenGroups_;
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_lang_ThreadGroup*) _r6.o)->fields.java_lang_ThreadGroup.numGroups_;
+ _r4.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac38b1b9)
+ XMLVM_CATCH_SPECIFIC(w3933aaac38b1b9,java_lang_Object,51)
+ XMLVM_CATCH_END(w3933aaac38b1b9)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac38b1b9)
+ label43:;
+ XMLVM_TRY_BEGIN(w3933aaac38b1c11)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 626)
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac38b1c11)
+ XMLVM_CATCH_SPECIFIC(w3933aaac38b1c11,java_lang_Object,51)
+ XMLVM_CATCH_END(w3933aaac38b1c11)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac38b1c11)
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 627)
+ XMLVM_CHECK_NPE(6)
+ java_lang_ThreadGroup_destroyIfEmptyDaemon__(_r6.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 628)
+ XMLVM_EXIT_METHOD()
+ return;
+ label48:;
+ _r0.i = _r0.i + 1;
+ goto label4;
+ label51:;
+ java_lang_Thread* curThread_w3933aaac38b1c20 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r2.o = curThread_w3933aaac38b1c20->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_TRY_BEGIN(w3933aaac38b1c21)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac38b1c21)
+ XMLVM_CATCH_SPECIFIC(w3933aaac38b1c21,java_lang_Object,51)
+ XMLVM_CATCH_END(w3933aaac38b1c21)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac38b1c21)
+ XMLVM_THROW_CUSTOM(_r2.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ThreadGroup_resume__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_resume__]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "resume", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 645)
+ XMLVM_CHECK_NPE(3)
+ java_lang_ThreadGroup_checkAccess__(_r3.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 647)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_lang_ThreadGroup*) _r3.o)->fields.java_lang_ThreadGroup.childrenThreadsLock_;
+ java_lang_Object_acquireLockRecursive__(_r1.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 648)
+ _r0.i = 0;
+ label7:;
+ XMLVM_TRY_BEGIN(w3933aaac39b1c10)
+ // Begin try
+ XMLVM_CHECK_NPE(3)
+ _r2.i = ((java_lang_ThreadGroup*) _r3.o)->fields.java_lang_ThreadGroup.numThreads_;
+ if (_r0.i >= _r2.i) { XMLVM_MEMCPY(curThread_w3933aaac39b1c10->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac39b1c10, sizeof(XMLVM_JMP_BUF)); goto label21; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 649)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_lang_ThreadGroup*) _r3.o)->fields.java_lang_ThreadGroup.childrenThreads_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_CHECK_NPE(2)
+ java_lang_Thread_resume__(_r2.o);
+ _r0.i = _r0.i + 1;
+ { XMLVM_MEMCPY(curThread_w3933aaac39b1c10->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac39b1c10, sizeof(XMLVM_JMP_BUF)); goto label7; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 651)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac39b1c10)
+ XMLVM_CATCH_SPECIFIC(w3933aaac39b1c10,java_lang_Object,40)
+ XMLVM_CATCH_END(w3933aaac39b1c10)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac39b1c10)
+ label21:;
+ XMLVM_TRY_BEGIN(w3933aaac39b1c12)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac39b1c12)
+ XMLVM_CATCH_SPECIFIC(w3933aaac39b1c12,java_lang_Object,40)
+ XMLVM_CATCH_END(w3933aaac39b1c12)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac39b1c12)
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 653)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_lang_ThreadGroup*) _r3.o)->fields.java_lang_ThreadGroup.childrenGroupsLock_;
+ java_lang_Object_acquireLockRecursive__(_r1.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 654)
+ _r0.i = 0;
+ label26:;
+ XMLVM_TRY_BEGIN(w3933aaac39b1c19)
+ // Begin try
+ XMLVM_CHECK_NPE(3)
+ _r2.i = ((java_lang_ThreadGroup*) _r3.o)->fields.java_lang_ThreadGroup.numGroups_;
+ if (_r0.i >= _r2.i) { XMLVM_MEMCPY(curThread_w3933aaac39b1c19->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac39b1c19, sizeof(XMLVM_JMP_BUF)); goto label43; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 655)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_lang_ThreadGroup*) _r3.o)->fields.java_lang_ThreadGroup.childrenGroups_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_CHECK_NPE(2)
+ java_lang_ThreadGroup_resume__(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac39b1c19)
+ XMLVM_CATCH_SPECIFIC(w3933aaac39b1c19,java_lang_Object,45)
+ XMLVM_CATCH_END(w3933aaac39b1c19)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac39b1c19)
+ _r0.i = _r0.i + 1;
+ goto label26;
+ label40:;
+ java_lang_Thread* curThread_w3933aaac39b1c23 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r2.o = curThread_w3933aaac39b1c23->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_TRY_BEGIN(w3933aaac39b1c24)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac39b1c24)
+ XMLVM_CATCH_SPECIFIC(w3933aaac39b1c24,java_lang_Object,40)
+ XMLVM_CATCH_END(w3933aaac39b1c24)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac39b1c24)
+ XMLVM_THROW_CUSTOM(_r2.o)
+ label43:;
+ XMLVM_TRY_BEGIN(w3933aaac39b1c27)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 657)
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 658)
+ XMLVM_MEMCPY(curThread_w3933aaac39b1c27->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac39b1c27, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac39b1c27)
+ XMLVM_CATCH_SPECIFIC(w3933aaac39b1c27,java_lang_Object,45)
+ XMLVM_CATCH_END(w3933aaac39b1c27)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac39b1c27)
+ label45:;
+ XMLVM_TRY_BEGIN(w3933aaac39b1c29)
+ // Begin try
+ java_lang_Thread* curThread_w3933aaac39b1c29aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r2.o = curThread_w3933aaac39b1c29aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac39b1c29)
+ XMLVM_CATCH_SPECIFIC(w3933aaac39b1c29,java_lang_Object,45)
+ XMLVM_CATCH_END(w3933aaac39b1c29)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac39b1c29)
+ XMLVM_THROW_CUSTOM(_r2.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ThreadGroup_setDaemon___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_setDaemon___boolean]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "setDaemon", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 674)
+ XMLVM_CHECK_NPE(0)
+ java_lang_ThreadGroup_checkAccess__(_r0.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 675)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_ThreadGroup*) _r0.o)->fields.java_lang_ThreadGroup.isDaemon_ = _r1.i;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 676)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ThreadGroup_setMaxPriority___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_setMaxPriority___int]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "setMaxPriority", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ _r4.o = me;
+ _r5.i = n1;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 696)
+ XMLVM_CHECK_NPE(4)
+ java_lang_ThreadGroup_checkAccess__(_r4.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 698)
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_lang_ThreadGroup*) _r4.o)->fields.java_lang_ThreadGroup.maxPriority_;
+ if (_r5.i > _r2.i) goto label50;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 699)
+ _r2.i = 1;
+ if (_r5.i >= _r2.i) goto label11;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 700)
+ _r5.i = 1;
+ label11:;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 703)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_lang_ThreadGroup*) _r4.o)->fields.java_lang_ThreadGroup.parent_;
+ if (_r2.o != JAVA_NULL) goto label39;
+ _r1 = _r5;
+ label16:;
+ if (_r1.i > _r5.i) goto label47;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 704)
+ _r2 = _r1;
+ label19:;
+ XMLVM_CHECK_NPE(4)
+ ((java_lang_ThreadGroup*) _r4.o)->fields.java_lang_ThreadGroup.maxPriority_ = _r2.i;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 706)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_lang_ThreadGroup*) _r4.o)->fields.java_lang_ThreadGroup.childrenGroupsLock_;
+ java_lang_Object_acquireLockRecursive__(_r2.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 708)
+ _r0.i = 0;
+ label25:;
+ XMLVM_TRY_BEGIN(w3933aaac41b1c30)
+ // Begin try
+ XMLVM_CHECK_NPE(4)
+ _r3.i = ((java_lang_ThreadGroup*) _r4.o)->fields.java_lang_ThreadGroup.numGroups_;
+ if (_r0.i >= _r3.i) { XMLVM_MEMCPY(curThread_w3933aaac41b1c30->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac41b1c30, sizeof(XMLVM_JMP_BUF)); goto label49; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 709)
+ XMLVM_CHECK_NPE(4)
+ _r3.o = ((java_lang_ThreadGroup*) _r4.o)->fields.java_lang_ThreadGroup.childrenGroups_;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ _r3.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_CHECK_NPE(3)
+ java_lang_ThreadGroup_setMaxPriority___int(_r3.o, _r5.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac41b1c30)
+ XMLVM_CATCH_SPECIFIC(w3933aaac41b1c30,java_lang_Object,51)
+ XMLVM_CATCH_END(w3933aaac41b1c30)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac41b1c30)
+ _r0.i = _r0.i + 1;
+ goto label25;
+ label39:;
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_lang_ThreadGroup*) _r4.o)->fields.java_lang_ThreadGroup.parent_;
+ XMLVM_CHECK_NPE(2)
+ _r2.i = java_lang_ThreadGroup_getMaxPriority__(_r2.o);
+ _r1 = _r2;
+ goto label16;
+ label47:;
+ _r2 = _r5;
+ goto label19;
+ label49:;
+ XMLVM_TRY_BEGIN(w3933aaac41b1c42)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 711)
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac41b1c42)
+ XMLVM_CATCH_SPECIFIC(w3933aaac41b1c42,java_lang_Object,51)
+ XMLVM_CATCH_END(w3933aaac41b1c42)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac41b1c42)
+ label50:;
+ XMLVM_TRY_BEGIN(w3933aaac41b1c44)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 713)
+ XMLVM_MEMCPY(curThread_w3933aaac41b1c44->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac41b1c44, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac41b1c44)
+ XMLVM_CATCH_SPECIFIC(w3933aaac41b1c44,java_lang_Object,51)
+ XMLVM_CATCH_END(w3933aaac41b1c44)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac41b1c44)
+ label51:;
+ XMLVM_TRY_BEGIN(w3933aaac41b1c46)
+ // Begin try
+ java_lang_Thread* curThread_w3933aaac41b1c46aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r3.o = curThread_w3933aaac41b1c46aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac41b1c46)
+ XMLVM_CATCH_SPECIFIC(w3933aaac41b1c46,java_lang_Object,51)
+ XMLVM_CATCH_END(w3933aaac41b1c46)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac41b1c46)
+ XMLVM_THROW_CUSTOM(_r3.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ThreadGroup_setParent___java_lang_ThreadGroup(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_setParent___java_lang_ThreadGroup]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "setParent", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 727)
+ if (_r1.o == JAVA_NULL) goto label5;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 728)
+ XMLVM_CHECK_NPE(1)
+ java_lang_ThreadGroup_add___java_lang_ThreadGroup(_r1.o, _r0.o);
+ label5:;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 730)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_ThreadGroup*) _r0.o)->fields.java_lang_ThreadGroup.parent_ = _r1.o;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 731)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ThreadGroup_stop__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_stop__]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "stop", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 748)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_ThreadGroup_stopHelper__(_r1.o);
+ if (_r0.i == 0) goto label13;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 749)
+ _r0.o = java_lang_Thread_currentThread__();
+ XMLVM_CHECK_NPE(0)
+ java_lang_Thread_stop__(_r0.o);
+ label13:;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 751)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_ThreadGroup_stopHelper__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_stopHelper__]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "stopHelper", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ _r5.o = me;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 759)
+ XMLVM_CHECK_NPE(5)
+ java_lang_ThreadGroup_checkAccess__(_r5.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 761)
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 763)
+ XMLVM_CHECK_NPE(5)
+ _r3.o = ((java_lang_ThreadGroup*) _r5.o)->fields.java_lang_ThreadGroup.childrenThreadsLock_;
+ java_lang_Object_acquireLockRecursive__(_r3.o);
+ XMLVM_TRY_BEGIN(w3933aaac44b1b9)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 764)
+ _r0.o = java_lang_Thread_currentThread__();
+ _r1.i = 0;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac44b1b9)
+ XMLVM_CATCH_SPECIFIC(w3933aaac44b1b9,java_lang_Object,34)
+ XMLVM_CATCH_END(w3933aaac44b1b9)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac44b1b9)
+ label12:;
+ XMLVM_TRY_BEGIN(w3933aaac44b1c11)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 765)
+ XMLVM_CHECK_NPE(5)
+ _r4.i = ((java_lang_ThreadGroup*) _r5.o)->fields.java_lang_ThreadGroup.numThreads_;
+ if (_r1.i >= _r4.i) { XMLVM_MEMCPY(curThread_w3933aaac44b1c11->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac44b1c11, sizeof(XMLVM_JMP_BUF)); goto label37; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 766)
+ XMLVM_CHECK_NPE(5)
+ _r4.o = ((java_lang_ThreadGroup*) _r5.o)->fields.java_lang_ThreadGroup.childrenThreads_;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r1.i);
+ _r4.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ if (_r4.o != _r0.o) { XMLVM_MEMCPY(curThread_w3933aaac44b1c11->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac44b1c11, sizeof(XMLVM_JMP_BUF)); goto label26; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 767)
+ _r2.i = 1;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac44b1c11)
+ XMLVM_CATCH_SPECIFIC(w3933aaac44b1c11,java_lang_Object,34)
+ XMLVM_CATCH_END(w3933aaac44b1c11)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac44b1c11)
+ label23:;
+ XMLVM_TRY_BEGIN(w3933aaac44b1c13)
+ // Begin try
+ _r1.i = _r1.i + 1;
+ { XMLVM_MEMCPY(curThread_w3933aaac44b1c13->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac44b1c13, sizeof(XMLVM_JMP_BUF)); goto label12; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 769)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac44b1c13)
+ XMLVM_CATCH_SPECIFIC(w3933aaac44b1c13,java_lang_Object,34)
+ XMLVM_CATCH_END(w3933aaac44b1c13)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac44b1c13)
+ label26:;
+ XMLVM_TRY_BEGIN(w3933aaac44b1c15)
+ // Begin try
+ XMLVM_CHECK_NPE(5)
+ _r4.o = ((java_lang_ThreadGroup*) _r5.o)->fields.java_lang_ThreadGroup.childrenThreads_;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r1.i);
+ _r4.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_CHECK_NPE(4)
+ java_lang_Thread_stop__(_r4.o);
+ { XMLVM_MEMCPY(curThread_w3933aaac44b1c15->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac44b1c15, sizeof(XMLVM_JMP_BUF)); goto label23; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 772)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac44b1c15)
+ XMLVM_CATCH_SPECIFIC(w3933aaac44b1c15,java_lang_Object,34)
+ XMLVM_CATCH_END(w3933aaac44b1c15)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac44b1c15)
+ label34:;
+ XMLVM_TRY_BEGIN(w3933aaac44b1c17)
+ // Begin try
+ java_lang_Thread* curThread_w3933aaac44b1c17aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r4.o = curThread_w3933aaac44b1c17aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac44b1c17)
+ XMLVM_CATCH_SPECIFIC(w3933aaac44b1c17,java_lang_Object,34)
+ XMLVM_CATCH_END(w3933aaac44b1c17)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac44b1c17)
+ XMLVM_THROW_CUSTOM(_r4.o)
+ label37:;
+ XMLVM_TRY_BEGIN(w3933aaac44b1c20)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac44b1c20)
+ XMLVM_CATCH_SPECIFIC(w3933aaac44b1c20,java_lang_Object,34)
+ XMLVM_CATCH_END(w3933aaac44b1c20)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac44b1c20)
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 774)
+ XMLVM_CHECK_NPE(5)
+ _r3.o = ((java_lang_ThreadGroup*) _r5.o)->fields.java_lang_ThreadGroup.childrenGroupsLock_;
+ java_lang_Object_acquireLockRecursive__(_r3.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 775)
+ _r1.i = 0;
+ label42:;
+ XMLVM_TRY_BEGIN(w3933aaac44b1c27)
+ // Begin try
+ XMLVM_CHECK_NPE(5)
+ _r4.i = ((java_lang_ThreadGroup*) _r5.o)->fields.java_lang_ThreadGroup.numGroups_;
+ if (_r1.i >= _r4.i) { XMLVM_MEMCPY(curThread_w3933aaac44b1c27->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac44b1c27, sizeof(XMLVM_JMP_BUF)); goto label58; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 776)
+ XMLVM_CHECK_NPE(5)
+ _r4.o = ((java_lang_ThreadGroup*) _r5.o)->fields.java_lang_ThreadGroup.childrenGroups_;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r1.i);
+ _r4.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_CHECK_NPE(4)
+ _r4.i = java_lang_ThreadGroup_stopHelper__(_r4.o);
+ _r2.i = _r2.i | _r4.i;
+ _r1.i = _r1.i + 1;
+ { XMLVM_MEMCPY(curThread_w3933aaac44b1c27->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac44b1c27, sizeof(XMLVM_JMP_BUF)); goto label42; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 778)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac44b1c27)
+ XMLVM_CATCH_SPECIFIC(w3933aaac44b1c27,java_lang_Object,60)
+ XMLVM_CATCH_END(w3933aaac44b1c27)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac44b1c27)
+ label58:;
+ XMLVM_TRY_BEGIN(w3933aaac44b1c29)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 779)
+ XMLVM_MEMCPY(curThread_w3933aaac44b1c29->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac44b1c29, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r2.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac44b1c29)
+ XMLVM_CATCH_SPECIFIC(w3933aaac44b1c29,java_lang_Object,60)
+ XMLVM_CATCH_END(w3933aaac44b1c29)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac44b1c29)
+ label60:;
+ XMLVM_TRY_BEGIN(w3933aaac44b1c31)
+ // Begin try
+ java_lang_Thread* curThread_w3933aaac44b1c31aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r4.o = curThread_w3933aaac44b1c31aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac44b1c31)
+ XMLVM_CATCH_SPECIFIC(w3933aaac44b1c31,java_lang_Object,60)
+ XMLVM_CATCH_END(w3933aaac44b1c31)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac44b1c31)
+ XMLVM_THROW_CUSTOM(_r4.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ThreadGroup_suspend__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_suspend__]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "suspend", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 797)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_lang_ThreadGroup_suspendHelper__(_r1.o);
+ if (_r0.i == 0) goto label13;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 798)
+ _r0.o = java_lang_Thread_currentThread__();
+ XMLVM_CHECK_NPE(0)
+ java_lang_Thread_suspend__(_r0.o);
+ label13:;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 800)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_ThreadGroup_suspendHelper__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_suspendHelper__]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "suspendHelper", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ _r5.o = me;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 808)
+ XMLVM_CHECK_NPE(5)
+ java_lang_ThreadGroup_checkAccess__(_r5.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 810)
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 812)
+ XMLVM_CHECK_NPE(5)
+ _r3.o = ((java_lang_ThreadGroup*) _r5.o)->fields.java_lang_ThreadGroup.childrenThreadsLock_;
+ java_lang_Object_acquireLockRecursive__(_r3.o);
+ XMLVM_TRY_BEGIN(w3933aaac46b1b9)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 813)
+ _r0.o = java_lang_Thread_currentThread__();
+ _r1.i = 0;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac46b1b9)
+ XMLVM_CATCH_SPECIFIC(w3933aaac46b1b9,java_lang_Object,34)
+ XMLVM_CATCH_END(w3933aaac46b1b9)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac46b1b9)
+ label12:;
+ XMLVM_TRY_BEGIN(w3933aaac46b1c11)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 814)
+ XMLVM_CHECK_NPE(5)
+ _r4.i = ((java_lang_ThreadGroup*) _r5.o)->fields.java_lang_ThreadGroup.numThreads_;
+ if (_r1.i >= _r4.i) { XMLVM_MEMCPY(curThread_w3933aaac46b1c11->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac46b1c11, sizeof(XMLVM_JMP_BUF)); goto label37; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 815)
+ XMLVM_CHECK_NPE(5)
+ _r4.o = ((java_lang_ThreadGroup*) _r5.o)->fields.java_lang_ThreadGroup.childrenThreads_;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r1.i);
+ _r4.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ if (_r4.o != _r0.o) { XMLVM_MEMCPY(curThread_w3933aaac46b1c11->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac46b1c11, sizeof(XMLVM_JMP_BUF)); goto label26; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 816)
+ _r2.i = 1;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac46b1c11)
+ XMLVM_CATCH_SPECIFIC(w3933aaac46b1c11,java_lang_Object,34)
+ XMLVM_CATCH_END(w3933aaac46b1c11)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac46b1c11)
+ label23:;
+ XMLVM_TRY_BEGIN(w3933aaac46b1c13)
+ // Begin try
+ _r1.i = _r1.i + 1;
+ { XMLVM_MEMCPY(curThread_w3933aaac46b1c13->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac46b1c13, sizeof(XMLVM_JMP_BUF)); goto label12; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 818)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac46b1c13)
+ XMLVM_CATCH_SPECIFIC(w3933aaac46b1c13,java_lang_Object,34)
+ XMLVM_CATCH_END(w3933aaac46b1c13)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac46b1c13)
+ label26:;
+ XMLVM_TRY_BEGIN(w3933aaac46b1c15)
+ // Begin try
+ XMLVM_CHECK_NPE(5)
+ _r4.o = ((java_lang_ThreadGroup*) _r5.o)->fields.java_lang_ThreadGroup.childrenThreads_;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r1.i);
+ _r4.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_CHECK_NPE(4)
+ java_lang_Thread_suspend__(_r4.o);
+ { XMLVM_MEMCPY(curThread_w3933aaac46b1c15->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac46b1c15, sizeof(XMLVM_JMP_BUF)); goto label23; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 821)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac46b1c15)
+ XMLVM_CATCH_SPECIFIC(w3933aaac46b1c15,java_lang_Object,34)
+ XMLVM_CATCH_END(w3933aaac46b1c15)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac46b1c15)
+ label34:;
+ XMLVM_TRY_BEGIN(w3933aaac46b1c17)
+ // Begin try
+ java_lang_Thread* curThread_w3933aaac46b1c17aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r4.o = curThread_w3933aaac46b1c17aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac46b1c17)
+ XMLVM_CATCH_SPECIFIC(w3933aaac46b1c17,java_lang_Object,34)
+ XMLVM_CATCH_END(w3933aaac46b1c17)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac46b1c17)
+ XMLVM_THROW_CUSTOM(_r4.o)
+ label37:;
+ XMLVM_TRY_BEGIN(w3933aaac46b1c20)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac46b1c20)
+ XMLVM_CATCH_SPECIFIC(w3933aaac46b1c20,java_lang_Object,34)
+ XMLVM_CATCH_END(w3933aaac46b1c20)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac46b1c20)
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 823)
+ XMLVM_CHECK_NPE(5)
+ _r3.o = ((java_lang_ThreadGroup*) _r5.o)->fields.java_lang_ThreadGroup.childrenGroupsLock_;
+ java_lang_Object_acquireLockRecursive__(_r3.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 824)
+ _r1.i = 0;
+ label42:;
+ XMLVM_TRY_BEGIN(w3933aaac46b1c27)
+ // Begin try
+ XMLVM_CHECK_NPE(5)
+ _r4.i = ((java_lang_ThreadGroup*) _r5.o)->fields.java_lang_ThreadGroup.numGroups_;
+ if (_r1.i >= _r4.i) { XMLVM_MEMCPY(curThread_w3933aaac46b1c27->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac46b1c27, sizeof(XMLVM_JMP_BUF)); goto label58; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 825)
+ XMLVM_CHECK_NPE(5)
+ _r4.o = ((java_lang_ThreadGroup*) _r5.o)->fields.java_lang_ThreadGroup.childrenGroups_;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r1.i);
+ _r4.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_CHECK_NPE(4)
+ _r4.i = java_lang_ThreadGroup_suspendHelper__(_r4.o);
+ _r2.i = _r2.i | _r4.i;
+ _r1.i = _r1.i + 1;
+ { XMLVM_MEMCPY(curThread_w3933aaac46b1c27->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac46b1c27, sizeof(XMLVM_JMP_BUF)); goto label42; };
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 827)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac46b1c27)
+ XMLVM_CATCH_SPECIFIC(w3933aaac46b1c27,java_lang_Object,60)
+ XMLVM_CATCH_END(w3933aaac46b1c27)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac46b1c27)
+ label58:;
+ XMLVM_TRY_BEGIN(w3933aaac46b1c29)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 828)
+ XMLVM_MEMCPY(curThread_w3933aaac46b1c29->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3933aaac46b1c29, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r2.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac46b1c29)
+ XMLVM_CATCH_SPECIFIC(w3933aaac46b1c29,java_lang_Object,60)
+ XMLVM_CATCH_END(w3933aaac46b1c29)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac46b1c29)
+ label60:;
+ XMLVM_TRY_BEGIN(w3933aaac46b1c31)
+ // Begin try
+ java_lang_Thread* curThread_w3933aaac46b1c31aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r4.o = curThread_w3933aaac46b1c31aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3933aaac46b1c31)
+ XMLVM_CATCH_SPECIFIC(w3933aaac46b1c31,java_lang_Object,60)
+ XMLVM_CATCH_END(w3933aaac46b1c31)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3933aaac46b1c31)
+ XMLVM_THROW_CUSTOM(_r4.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ThreadGroup_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_toString__]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 839)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT___(_r0.o);
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(2)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r2.o)->tib->vtable[3])(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_Class_getName__(_r1.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ // "[name="
+ _r1.o = xmlvm_create_java_string_from_pool(665);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ XMLVM_CHECK_NPE(2)
+ _r1.o = java_lang_ThreadGroup_getName__(_r2.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ // ",maxpri="
+ _r1.o = xmlvm_create_java_string_from_pool(666);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ XMLVM_CHECK_NPE(2)
+ _r1.i = java_lang_ThreadGroup_getMaxPriority__(_r2.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___int(_r0.o, _r1.i);
+ // "]"
+ _r1.o = xmlvm_create_java_string_from_pool(183);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ThreadGroup_uncaughtException___java_lang_Thread_java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_uncaughtException___java_lang_Thread_java_lang_Throwable]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup", "uncaughtException", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 858)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_ThreadGroup*) _r1.o)->fields.java_lang_ThreadGroup.parent_;
+ if (_r0.o == JAVA_NULL) goto label10;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 859)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_ThreadGroup*) _r1.o)->fields.java_lang_ThreadGroup.parent_;
+ //java_lang_ThreadGroup_uncaughtException___java_lang_Thread_java_lang_Throwable[6]
+ XMLVM_CHECK_NPE(0)
+ (*(void (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_ThreadGroup*) _r0.o)->tib->vtable[6])(_r0.o, _r2.o, _r3.o);
+ label9:;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 864)
+ XMLVM_EXIT_METHOD()
+ return;
+ label10:;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 860)
+
+
+ // Red class access removed: java.lang.ThreadDeath::instance-of
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r0.i != 0) goto label9;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 862)
+ _r0.o = java_lang_System_GET_err();
+ XMLVM_CHECK_NPE(3)
+ java_lang_Throwable_printStackTrace___java_io_PrintStream(_r3.o, _r0.o);
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_ThreadGroup.h b/tests/nbody-java/java_lang_ThreadGroup.h
new file mode 100644
index 00000000..2047efd9
--- /dev/null
+++ b/tests/nbody-java/java_lang_ThreadGroup.h
@@ -0,0 +1,148 @@
+#ifndef __JAVA_LANG_THREADGROUP__
+#define __JAVA_LANG_THREADGROUP__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_ThreadGroup 1
+// Implemented interfaces:
+#include "java_lang_Thread_UncaughtExceptionHandler.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_io_PrintStream
+#define XMLVM_FORWARD_DECL_java_io_PrintStream
+XMLVM_FORWARD_DECL(java_io_PrintStream)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_SecurityManager
+#define XMLVM_FORWARD_DECL_java_lang_SecurityManager
+XMLVM_FORWARD_DECL(java_lang_SecurityManager)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Thread
+#define XMLVM_FORWARD_DECL_java_lang_Thread
+XMLVM_FORWARD_DECL(java_lang_Thread)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_ThreadGroup_ChildrenGroupsLock
+#define XMLVM_FORWARD_DECL_java_lang_ThreadGroup_ChildrenGroupsLock
+XMLVM_FORWARD_DECL(java_lang_ThreadGroup_ChildrenGroupsLock)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_ThreadGroup_ChildrenThreadsLock
+#define XMLVM_FORWARD_DECL_java_lang_ThreadGroup_ChildrenThreadsLock
+XMLVM_FORWARD_DECL(java_lang_ThreadGroup_ChildrenThreadsLock)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Throwable
+#define XMLVM_FORWARD_DECL_java_lang_Throwable
+XMLVM_FORWARD_DECL(java_lang_Throwable)
+#endif
+// Class declarations for java.lang.ThreadGroup
+XMLVM_DEFINE_CLASS(java_lang_ThreadGroup, 7, XMLVM_ITABLE_SIZE_java_lang_ThreadGroup)
+
+extern JAVA_OBJECT __CLASS_java_lang_ThreadGroup;
+extern JAVA_OBJECT __CLASS_java_lang_ThreadGroup_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_ThreadGroup_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_ThreadGroup_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_ThreadGroup
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_ThreadGroup \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT name_; \
+ JAVA_INT maxPriority_; \
+ JAVA_OBJECT parent_; \
+ JAVA_INT numThreads_; \
+ JAVA_OBJECT childrenThreads_; \
+ JAVA_INT numGroups_; \
+ JAVA_OBJECT childrenGroups_; \
+ JAVA_OBJECT childrenGroupsLock_; \
+ JAVA_OBJECT childrenThreadsLock_; \
+ JAVA_BOOLEAN isDaemon_; \
+ JAVA_BOOLEAN isDestroyed_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_ThreadGroup \
+ } java_lang_ThreadGroup
+
+struct java_lang_ThreadGroup {
+ __TIB_DEFINITION_java_lang_ThreadGroup* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_ThreadGroup;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_ThreadGroup
+#define XMLVM_FORWARD_DECL_java_lang_ThreadGroup
+typedef struct java_lang_ThreadGroup java_lang_ThreadGroup;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_ThreadGroup 7
+#define XMLVM_VTABLE_IDX_java_lang_ThreadGroup_toString__ 5
+#define XMLVM_VTABLE_IDX_java_lang_ThreadGroup_uncaughtException___java_lang_Thread_java_lang_Throwable 6
+
+void __INIT_java_lang_ThreadGroup();
+void __INIT_IMPL_java_lang_ThreadGroup();
+void __DELETE_java_lang_ThreadGroup(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_ThreadGroup(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_ThreadGroup();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_ThreadGroup();
+void java_lang_ThreadGroup___INIT___(JAVA_OBJECT me);
+void java_lang_ThreadGroup___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_ThreadGroup___INIT____java_lang_ThreadGroup_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_lang_ThreadGroup___INIT____java_lang_ThreadGroup(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_INT java_lang_ThreadGroup_activeCount__(JAVA_OBJECT me);
+JAVA_INT java_lang_ThreadGroup_activeGroupCount__(JAVA_OBJECT me);
+void java_lang_ThreadGroup_add___java_lang_Thread(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_ThreadGroup_add___java_lang_ThreadGroup(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_lang_ThreadGroup_allowThreadSuspension___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1);
+void java_lang_ThreadGroup_checkAccess__(JAVA_OBJECT me);
+void java_lang_ThreadGroup_destroy__(JAVA_OBJECT me);
+void java_lang_ThreadGroup_destroyIfEmptyDaemon__(JAVA_OBJECT me);
+JAVA_INT java_lang_ThreadGroup_enumerate___java_lang_Thread_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_INT java_lang_ThreadGroup_enumerate___java_lang_Thread_1ARRAY_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2);
+JAVA_INT java_lang_ThreadGroup_enumerate___java_lang_ThreadGroup_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_INT java_lang_ThreadGroup_enumerate___java_lang_ThreadGroup_1ARRAY_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2);
+JAVA_INT java_lang_ThreadGroup_enumerateGeneric___java_lang_Object_1ARRAY_boolean_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2, JAVA_INT n3, JAVA_BOOLEAN n4);
+JAVA_INT java_lang_ThreadGroup_getMaxPriority__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_ThreadGroup_getName__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_ThreadGroup_getParent__(JAVA_OBJECT me);
+void java_lang_ThreadGroup_interrupt__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_ThreadGroup_isDaemon__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_ThreadGroup_isDestroyed__(JAVA_OBJECT me);
+void java_lang_ThreadGroup_list__(JAVA_OBJECT me);
+void java_lang_ThreadGroup_list___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_BOOLEAN java_lang_ThreadGroup_parentOf___java_lang_ThreadGroup(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_ThreadGroup_remove___java_lang_Thread(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_ThreadGroup_remove___java_lang_ThreadGroup(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_ThreadGroup_resume__(JAVA_OBJECT me);
+void java_lang_ThreadGroup_setDaemon___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1);
+void java_lang_ThreadGroup_setMaxPriority___int(JAVA_OBJECT me, JAVA_INT n1);
+void java_lang_ThreadGroup_setParent___java_lang_ThreadGroup(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_ThreadGroup_stop__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_ThreadGroup_stopHelper__(JAVA_OBJECT me);
+void java_lang_ThreadGroup_suspend__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_ThreadGroup_suspendHelper__(JAVA_OBJECT me);
+// Vtable index: 5
+JAVA_OBJECT java_lang_ThreadGroup_toString__(JAVA_OBJECT me);
+// Vtable index: 6
+void java_lang_ThreadGroup_uncaughtException___java_lang_Thread_java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+
+#endif
diff --git a/tests/nbody-java/java_lang_ThreadGroup_ChildrenGroupsLock.c b/tests/nbody-java/java_lang_ThreadGroup_ChildrenGroupsLock.c
new file mode 100644
index 00000000..6c19e8d0
--- /dev/null
+++ b/tests/nbody-java/java_lang_ThreadGroup_ChildrenGroupsLock.c
@@ -0,0 +1,179 @@
+#include "xmlvm.h"
+#include "java_lang_ThreadGroup.h"
+
+#include "java_lang_ThreadGroup_ChildrenGroupsLock.h"
+
+#define XMLVM_CURRENT_CLASS_NAME ThreadGroup_ChildrenGroupsLock
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_ThreadGroup_ChildrenGroupsLock
+
+__TIB_DEFINITION_java_lang_ThreadGroup_ChildrenGroupsLock __TIB_java_lang_ThreadGroup_ChildrenGroupsLock = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_ThreadGroup_ChildrenGroupsLock, // classInitializer
+ "java.lang.ThreadGroup$ChildrenGroupsLock", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_ThreadGroup_ChildrenGroupsLock), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_ThreadGroup_ChildrenGroupsLock;
+JAVA_OBJECT __CLASS_java_lang_ThreadGroup_ChildrenGroupsLock_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_ThreadGroup_ChildrenGroupsLock_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_ThreadGroup_ChildrenGroupsLock_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_ThreadGroup_ChildrenGroupsLock()
+{
+ staticInitializerLock(&__TIB_java_lang_ThreadGroup_ChildrenGroupsLock);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_ThreadGroup_ChildrenGroupsLock.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_ThreadGroup_ChildrenGroupsLock.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_ThreadGroup_ChildrenGroupsLock);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_ThreadGroup_ChildrenGroupsLock.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_ThreadGroup_ChildrenGroupsLock.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_ThreadGroup_ChildrenGroupsLock.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.ThreadGroup$ChildrenGroupsLock")
+ __INIT_IMPL_java_lang_ThreadGroup_ChildrenGroupsLock();
+ }
+}
+
+void __INIT_IMPL_java_lang_ThreadGroup_ChildrenGroupsLock()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_ThreadGroup_ChildrenGroupsLock.newInstanceFunc = __NEW_INSTANCE_java_lang_ThreadGroup_ChildrenGroupsLock;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_ThreadGroup_ChildrenGroupsLock.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_lang_ThreadGroup_ChildrenGroupsLock.numImplementedInterfaces = 0;
+ __TIB_java_lang_ThreadGroup_ChildrenGroupsLock.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ __TIB_java_lang_ThreadGroup_ChildrenGroupsLock.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_ThreadGroup_ChildrenGroupsLock.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_ThreadGroup_ChildrenGroupsLock.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_ThreadGroup_ChildrenGroupsLock.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_ThreadGroup_ChildrenGroupsLock.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_ThreadGroup_ChildrenGroupsLock.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_ThreadGroup_ChildrenGroupsLock.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_ThreadGroup_ChildrenGroupsLock.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_ThreadGroup_ChildrenGroupsLock = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_ThreadGroup_ChildrenGroupsLock);
+ __TIB_java_lang_ThreadGroup_ChildrenGroupsLock.clazz = __CLASS_java_lang_ThreadGroup_ChildrenGroupsLock;
+ __TIB_java_lang_ThreadGroup_ChildrenGroupsLock.baseType = JAVA_NULL;
+ __CLASS_java_lang_ThreadGroup_ChildrenGroupsLock_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ThreadGroup_ChildrenGroupsLock);
+ __CLASS_java_lang_ThreadGroup_ChildrenGroupsLock_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ThreadGroup_ChildrenGroupsLock_1ARRAY);
+ __CLASS_java_lang_ThreadGroup_ChildrenGroupsLock_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ThreadGroup_ChildrenGroupsLock_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_ThreadGroup_ChildrenGroupsLock]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_ThreadGroup_ChildrenGroupsLock.classInitialized = 1;
+}
+
+void __DELETE_java_lang_ThreadGroup_ChildrenGroupsLock(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_ThreadGroup_ChildrenGroupsLock]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_ThreadGroup_ChildrenGroupsLock(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_ThreadGroup_ChildrenGroupsLock*) me)->fields.java_lang_ThreadGroup_ChildrenGroupsLock.this_0_ = (java_lang_ThreadGroup*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_ThreadGroup_ChildrenGroupsLock]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_ThreadGroup_ChildrenGroupsLock()
+{ XMLVM_CLASS_INIT(java_lang_ThreadGroup_ChildrenGroupsLock)
+java_lang_ThreadGroup_ChildrenGroupsLock* me = (java_lang_ThreadGroup_ChildrenGroupsLock*) XMLVM_MALLOC(sizeof(java_lang_ThreadGroup_ChildrenGroupsLock));
+ me->tib = &__TIB_java_lang_ThreadGroup_ChildrenGroupsLock;
+ __INIT_INSTANCE_MEMBERS_java_lang_ThreadGroup_ChildrenGroupsLock(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_ThreadGroup_ChildrenGroupsLock]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_ThreadGroup_ChildrenGroupsLock()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+void java_lang_ThreadGroup_ChildrenGroupsLock___INIT____java_lang_ThreadGroup(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_ChildrenGroupsLock___INIT____java_lang_ThreadGroup]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup$ChildrenGroupsLock", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 67)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_ThreadGroup_ChildrenGroupsLock*) _r0.o)->fields.java_lang_ThreadGroup_ChildrenGroupsLock.this_0_ = _r1.o;
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ThreadGroup_ChildrenGroupsLock___INIT____java_lang_ThreadGroup_java_lang_ThreadGroup_1(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_ChildrenGroupsLock___INIT____java_lang_ThreadGroup_java_lang_ThreadGroup_1]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup$ChildrenGroupsLock", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 67)
+ XMLVM_CHECK_NPE(0)
+ java_lang_ThreadGroup_ChildrenGroupsLock___INIT____java_lang_ThreadGroup(_r0.o, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_ThreadGroup_ChildrenGroupsLock.h b/tests/nbody-java/java_lang_ThreadGroup_ChildrenGroupsLock.h
new file mode 100644
index 00000000..7ca27ec9
--- /dev/null
+++ b/tests/nbody-java/java_lang_ThreadGroup_ChildrenGroupsLock.h
@@ -0,0 +1,57 @@
+#ifndef __JAVA_LANG_THREADGROUP_CHILDRENGROUPSLOCK__
+#define __JAVA_LANG_THREADGROUP_CHILDRENGROUPSLOCK__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_ThreadGroup_ChildrenGroupsLock 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_ThreadGroup
+#define XMLVM_FORWARD_DECL_java_lang_ThreadGroup
+XMLVM_FORWARD_DECL(java_lang_ThreadGroup)
+#endif
+// Class declarations for java.lang.ThreadGroup$ChildrenGroupsLock
+XMLVM_DEFINE_CLASS(java_lang_ThreadGroup_ChildrenGroupsLock, 6, XMLVM_ITABLE_SIZE_java_lang_ThreadGroup_ChildrenGroupsLock)
+
+extern JAVA_OBJECT __CLASS_java_lang_ThreadGroup_ChildrenGroupsLock;
+extern JAVA_OBJECT __CLASS_java_lang_ThreadGroup_ChildrenGroupsLock_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_ThreadGroup_ChildrenGroupsLock_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_ThreadGroup_ChildrenGroupsLock_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_ThreadGroup_ChildrenGroupsLock
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_ThreadGroup_ChildrenGroupsLock \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT this_0_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_ThreadGroup_ChildrenGroupsLock \
+ } java_lang_ThreadGroup_ChildrenGroupsLock
+
+struct java_lang_ThreadGroup_ChildrenGroupsLock {
+ __TIB_DEFINITION_java_lang_ThreadGroup_ChildrenGroupsLock* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_ThreadGroup_ChildrenGroupsLock;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_ThreadGroup_ChildrenGroupsLock
+#define XMLVM_FORWARD_DECL_java_lang_ThreadGroup_ChildrenGroupsLock
+typedef struct java_lang_ThreadGroup_ChildrenGroupsLock java_lang_ThreadGroup_ChildrenGroupsLock;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_ThreadGroup_ChildrenGroupsLock 6
+
+void __INIT_java_lang_ThreadGroup_ChildrenGroupsLock();
+void __INIT_IMPL_java_lang_ThreadGroup_ChildrenGroupsLock();
+void __DELETE_java_lang_ThreadGroup_ChildrenGroupsLock(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_ThreadGroup_ChildrenGroupsLock(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_ThreadGroup_ChildrenGroupsLock();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_ThreadGroup_ChildrenGroupsLock();
+void java_lang_ThreadGroup_ChildrenGroupsLock___INIT____java_lang_ThreadGroup(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_ThreadGroup_ChildrenGroupsLock___INIT____java_lang_ThreadGroup_java_lang_ThreadGroup_1(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+
+#endif
diff --git a/tests/nbody-java/java_lang_ThreadGroup_ChildrenThreadsLock.c b/tests/nbody-java/java_lang_ThreadGroup_ChildrenThreadsLock.c
new file mode 100644
index 00000000..c2e79757
--- /dev/null
+++ b/tests/nbody-java/java_lang_ThreadGroup_ChildrenThreadsLock.c
@@ -0,0 +1,179 @@
+#include "xmlvm.h"
+#include "java_lang_ThreadGroup.h"
+
+#include "java_lang_ThreadGroup_ChildrenThreadsLock.h"
+
+#define XMLVM_CURRENT_CLASS_NAME ThreadGroup_ChildrenThreadsLock
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_ThreadGroup_ChildrenThreadsLock
+
+__TIB_DEFINITION_java_lang_ThreadGroup_ChildrenThreadsLock __TIB_java_lang_ThreadGroup_ChildrenThreadsLock = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_ThreadGroup_ChildrenThreadsLock, // classInitializer
+ "java.lang.ThreadGroup$ChildrenThreadsLock", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_ThreadGroup_ChildrenThreadsLock), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_ThreadGroup_ChildrenThreadsLock;
+JAVA_OBJECT __CLASS_java_lang_ThreadGroup_ChildrenThreadsLock_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_ThreadGroup_ChildrenThreadsLock_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_ThreadGroup_ChildrenThreadsLock_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_ThreadGroup_ChildrenThreadsLock()
+{
+ staticInitializerLock(&__TIB_java_lang_ThreadGroup_ChildrenThreadsLock);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_ThreadGroup_ChildrenThreadsLock.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_ThreadGroup_ChildrenThreadsLock.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_ThreadGroup_ChildrenThreadsLock);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_ThreadGroup_ChildrenThreadsLock.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_ThreadGroup_ChildrenThreadsLock.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_ThreadGroup_ChildrenThreadsLock.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.ThreadGroup$ChildrenThreadsLock")
+ __INIT_IMPL_java_lang_ThreadGroup_ChildrenThreadsLock();
+ }
+}
+
+void __INIT_IMPL_java_lang_ThreadGroup_ChildrenThreadsLock()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_ThreadGroup_ChildrenThreadsLock.newInstanceFunc = __NEW_INSTANCE_java_lang_ThreadGroup_ChildrenThreadsLock;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_ThreadGroup_ChildrenThreadsLock.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_lang_ThreadGroup_ChildrenThreadsLock.numImplementedInterfaces = 0;
+ __TIB_java_lang_ThreadGroup_ChildrenThreadsLock.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ __TIB_java_lang_ThreadGroup_ChildrenThreadsLock.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_ThreadGroup_ChildrenThreadsLock.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_ThreadGroup_ChildrenThreadsLock.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_ThreadGroup_ChildrenThreadsLock.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_ThreadGroup_ChildrenThreadsLock.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_ThreadGroup_ChildrenThreadsLock.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_ThreadGroup_ChildrenThreadsLock.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_ThreadGroup_ChildrenThreadsLock.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_ThreadGroup_ChildrenThreadsLock = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_ThreadGroup_ChildrenThreadsLock);
+ __TIB_java_lang_ThreadGroup_ChildrenThreadsLock.clazz = __CLASS_java_lang_ThreadGroup_ChildrenThreadsLock;
+ __TIB_java_lang_ThreadGroup_ChildrenThreadsLock.baseType = JAVA_NULL;
+ __CLASS_java_lang_ThreadGroup_ChildrenThreadsLock_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ThreadGroup_ChildrenThreadsLock);
+ __CLASS_java_lang_ThreadGroup_ChildrenThreadsLock_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ThreadGroup_ChildrenThreadsLock_1ARRAY);
+ __CLASS_java_lang_ThreadGroup_ChildrenThreadsLock_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ThreadGroup_ChildrenThreadsLock_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_ThreadGroup_ChildrenThreadsLock]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_ThreadGroup_ChildrenThreadsLock.classInitialized = 1;
+}
+
+void __DELETE_java_lang_ThreadGroup_ChildrenThreadsLock(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_ThreadGroup_ChildrenThreadsLock]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_ThreadGroup_ChildrenThreadsLock(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_ThreadGroup_ChildrenThreadsLock*) me)->fields.java_lang_ThreadGroup_ChildrenThreadsLock.this_0_ = (java_lang_ThreadGroup*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_ThreadGroup_ChildrenThreadsLock]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_ThreadGroup_ChildrenThreadsLock()
+{ XMLVM_CLASS_INIT(java_lang_ThreadGroup_ChildrenThreadsLock)
+java_lang_ThreadGroup_ChildrenThreadsLock* me = (java_lang_ThreadGroup_ChildrenThreadsLock*) XMLVM_MALLOC(sizeof(java_lang_ThreadGroup_ChildrenThreadsLock));
+ me->tib = &__TIB_java_lang_ThreadGroup_ChildrenThreadsLock;
+ __INIT_INSTANCE_MEMBERS_java_lang_ThreadGroup_ChildrenThreadsLock(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_ThreadGroup_ChildrenThreadsLock]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_ThreadGroup_ChildrenThreadsLock()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+void java_lang_ThreadGroup_ChildrenThreadsLock___INIT____java_lang_ThreadGroup(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_ChildrenThreadsLock___INIT____java_lang_ThreadGroup]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup$ChildrenThreadsLock", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 71)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_ThreadGroup_ChildrenThreadsLock*) _r0.o)->fields.java_lang_ThreadGroup_ChildrenThreadsLock.this_0_ = _r1.o;
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ThreadGroup_ChildrenThreadsLock___INIT____java_lang_ThreadGroup_java_lang_ThreadGroup_1(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ThreadGroup_ChildrenThreadsLock___INIT____java_lang_ThreadGroup_java_lang_ThreadGroup_1]
+ XMLVM_ENTER_METHOD("java.lang.ThreadGroup$ChildrenThreadsLock", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("ThreadGroup.java", 71)
+ XMLVM_CHECK_NPE(0)
+ java_lang_ThreadGroup_ChildrenThreadsLock___INIT____java_lang_ThreadGroup(_r0.o, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_ThreadGroup_ChildrenThreadsLock.h b/tests/nbody-java/java_lang_ThreadGroup_ChildrenThreadsLock.h
new file mode 100644
index 00000000..813c47bf
--- /dev/null
+++ b/tests/nbody-java/java_lang_ThreadGroup_ChildrenThreadsLock.h
@@ -0,0 +1,57 @@
+#ifndef __JAVA_LANG_THREADGROUP_CHILDRENTHREADSLOCK__
+#define __JAVA_LANG_THREADGROUP_CHILDRENTHREADSLOCK__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_ThreadGroup_ChildrenThreadsLock 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_ThreadGroup
+#define XMLVM_FORWARD_DECL_java_lang_ThreadGroup
+XMLVM_FORWARD_DECL(java_lang_ThreadGroup)
+#endif
+// Class declarations for java.lang.ThreadGroup$ChildrenThreadsLock
+XMLVM_DEFINE_CLASS(java_lang_ThreadGroup_ChildrenThreadsLock, 6, XMLVM_ITABLE_SIZE_java_lang_ThreadGroup_ChildrenThreadsLock)
+
+extern JAVA_OBJECT __CLASS_java_lang_ThreadGroup_ChildrenThreadsLock;
+extern JAVA_OBJECT __CLASS_java_lang_ThreadGroup_ChildrenThreadsLock_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_ThreadGroup_ChildrenThreadsLock_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_ThreadGroup_ChildrenThreadsLock_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_ThreadGroup_ChildrenThreadsLock
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_ThreadGroup_ChildrenThreadsLock \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT this_0_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_ThreadGroup_ChildrenThreadsLock \
+ } java_lang_ThreadGroup_ChildrenThreadsLock
+
+struct java_lang_ThreadGroup_ChildrenThreadsLock {
+ __TIB_DEFINITION_java_lang_ThreadGroup_ChildrenThreadsLock* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_ThreadGroup_ChildrenThreadsLock;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_ThreadGroup_ChildrenThreadsLock
+#define XMLVM_FORWARD_DECL_java_lang_ThreadGroup_ChildrenThreadsLock
+typedef struct java_lang_ThreadGroup_ChildrenThreadsLock java_lang_ThreadGroup_ChildrenThreadsLock;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_ThreadGroup_ChildrenThreadsLock 6
+
+void __INIT_java_lang_ThreadGroup_ChildrenThreadsLock();
+void __INIT_IMPL_java_lang_ThreadGroup_ChildrenThreadsLock();
+void __DELETE_java_lang_ThreadGroup_ChildrenThreadsLock(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_ThreadGroup_ChildrenThreadsLock(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_ThreadGroup_ChildrenThreadsLock();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_ThreadGroup_ChildrenThreadsLock();
+void java_lang_ThreadGroup_ChildrenThreadsLock___INIT____java_lang_ThreadGroup(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_ThreadGroup_ChildrenThreadsLock___INIT____java_lang_ThreadGroup_java_lang_ThreadGroup_1(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+
+#endif
diff --git a/tests/nbody-java/java_lang_Thread_State.c b/tests/nbody-java/java_lang_Thread_State.c
new file mode 100644
index 00000000..d7820310
--- /dev/null
+++ b/tests/nbody-java/java_lang_Thread_State.c
@@ -0,0 +1,403 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+
+#include "java_lang_Thread_State.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Thread_State
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Thread_State
+
+__TIB_DEFINITION_java_lang_Thread_State __TIB_java_lang_Thread_State = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Thread_State, // classInitializer
+ "java.lang.Thread$State", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "Ljava/lang/Enum<Ljava/lang/Thread$State;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Enum, // extends
+ sizeof(java_lang_Thread_State), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_Thread_State;
+JAVA_OBJECT __CLASS_java_lang_Thread_State_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Thread_State_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Thread_State_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_OBJECT _STATIC_java_lang_Thread_State_NEW;
+static JAVA_OBJECT _STATIC_java_lang_Thread_State_RUNNABLE;
+static JAVA_OBJECT _STATIC_java_lang_Thread_State_BLOCKED;
+static JAVA_OBJECT _STATIC_java_lang_Thread_State_WAITING;
+static JAVA_OBJECT _STATIC_java_lang_Thread_State_TIMED_WAITING;
+static JAVA_OBJECT _STATIC_java_lang_Thread_State_TERMINATED;
+static JAVA_OBJECT _STATIC_java_lang_Thread_State__VALUES;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_Thread_State()
+{
+ staticInitializerLock(&__TIB_java_lang_Thread_State);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Thread_State.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Thread_State.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Thread_State);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Thread_State.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Thread_State.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Thread_State.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Thread$State")
+ __INIT_IMPL_java_lang_Thread_State();
+ }
+}
+
+void __INIT_IMPL_java_lang_Thread_State()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Enum)
+ __TIB_java_lang_Thread_State.newInstanceFunc = __NEW_INSTANCE_java_lang_Thread_State;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_Thread_State.vtable, __TIB_java_lang_Enum.vtable, sizeof(__TIB_java_lang_Enum.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_lang_Thread_State.numImplementedInterfaces = 2;
+ __TIB_java_lang_Thread_State.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_lang_Thread_State.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_lang_Comparable)
+
+ __TIB_java_lang_Thread_State.implementedInterfaces[0][1] = &__TIB_java_lang_Comparable;
+ // Initialize itable for this class
+ __TIB_java_lang_Thread_State.itableBegin = &__TIB_java_lang_Thread_State.itable[0];
+ __TIB_java_lang_Thread_State.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_lang_Thread_State.vtable[6];
+
+ _STATIC_java_lang_Thread_State_NEW = (java_lang_Thread_State*) JAVA_NULL;
+ _STATIC_java_lang_Thread_State_RUNNABLE = (java_lang_Thread_State*) JAVA_NULL;
+ _STATIC_java_lang_Thread_State_BLOCKED = (java_lang_Thread_State*) JAVA_NULL;
+ _STATIC_java_lang_Thread_State_WAITING = (java_lang_Thread_State*) JAVA_NULL;
+ _STATIC_java_lang_Thread_State_TIMED_WAITING = (java_lang_Thread_State*) JAVA_NULL;
+ _STATIC_java_lang_Thread_State_TERMINATED = (java_lang_Thread_State*) JAVA_NULL;
+ _STATIC_java_lang_Thread_State__VALUES = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+
+ __TIB_java_lang_Thread_State.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Thread_State.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_Thread_State.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_Thread_State.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_Thread_State.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_Thread_State.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Thread_State.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Thread_State.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_Thread_State = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Thread_State);
+ __TIB_java_lang_Thread_State.clazz = __CLASS_java_lang_Thread_State;
+ __TIB_java_lang_Thread_State.baseType = JAVA_NULL;
+ __CLASS_java_lang_Thread_State_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Thread_State);
+ __CLASS_java_lang_Thread_State_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Thread_State_1ARRAY);
+ __CLASS_java_lang_Thread_State_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Thread_State_2ARRAY);
+ java_lang_Thread_State___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_Thread_State]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_Thread_State.classInitialized = 1;
+}
+
+void __DELETE_java_lang_Thread_State(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_Thread_State]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_Thread_State(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Enum(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_Thread_State]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_Thread_State()
+{ XMLVM_CLASS_INIT(java_lang_Thread_State)
+java_lang_Thread_State* me = (java_lang_Thread_State*) XMLVM_MALLOC(sizeof(java_lang_Thread_State));
+ me->tib = &__TIB_java_lang_Thread_State;
+ __INIT_INSTANCE_MEMBERS_java_lang_Thread_State(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_Thread_State]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Thread_State()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_OBJECT java_lang_Thread_State_GET_NEW()
+{
+ XMLVM_CLASS_INIT(java_lang_Thread_State)
+ return _STATIC_java_lang_Thread_State_NEW;
+}
+
+void java_lang_Thread_State_PUT_NEW(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Thread_State)
+_STATIC_java_lang_Thread_State_NEW = v;
+}
+
+JAVA_OBJECT java_lang_Thread_State_GET_RUNNABLE()
+{
+ XMLVM_CLASS_INIT(java_lang_Thread_State)
+ return _STATIC_java_lang_Thread_State_RUNNABLE;
+}
+
+void java_lang_Thread_State_PUT_RUNNABLE(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Thread_State)
+_STATIC_java_lang_Thread_State_RUNNABLE = v;
+}
+
+JAVA_OBJECT java_lang_Thread_State_GET_BLOCKED()
+{
+ XMLVM_CLASS_INIT(java_lang_Thread_State)
+ return _STATIC_java_lang_Thread_State_BLOCKED;
+}
+
+void java_lang_Thread_State_PUT_BLOCKED(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Thread_State)
+_STATIC_java_lang_Thread_State_BLOCKED = v;
+}
+
+JAVA_OBJECT java_lang_Thread_State_GET_WAITING()
+{
+ XMLVM_CLASS_INIT(java_lang_Thread_State)
+ return _STATIC_java_lang_Thread_State_WAITING;
+}
+
+void java_lang_Thread_State_PUT_WAITING(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Thread_State)
+_STATIC_java_lang_Thread_State_WAITING = v;
+}
+
+JAVA_OBJECT java_lang_Thread_State_GET_TIMED_WAITING()
+{
+ XMLVM_CLASS_INIT(java_lang_Thread_State)
+ return _STATIC_java_lang_Thread_State_TIMED_WAITING;
+}
+
+void java_lang_Thread_State_PUT_TIMED_WAITING(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Thread_State)
+_STATIC_java_lang_Thread_State_TIMED_WAITING = v;
+}
+
+JAVA_OBJECT java_lang_Thread_State_GET_TERMINATED()
+{
+ XMLVM_CLASS_INIT(java_lang_Thread_State)
+ return _STATIC_java_lang_Thread_State_TERMINATED;
+}
+
+void java_lang_Thread_State_PUT_TERMINATED(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Thread_State)
+_STATIC_java_lang_Thread_State_TERMINATED = v;
+}
+
+JAVA_OBJECT java_lang_Thread_State_GET__VALUES()
+{
+ XMLVM_CLASS_INIT(java_lang_Thread_State)
+ return _STATIC_java_lang_Thread_State__VALUES;
+}
+
+void java_lang_Thread_State_PUT__VALUES(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_Thread_State)
+_STATIC_java_lang_Thread_State__VALUES = v;
+}
+
+JAVA_OBJECT java_lang_Thread_State_values__()
+{
+ XMLVM_CLASS_INIT(java_lang_Thread_State)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_State_values__]
+ XMLVM_ENTER_METHOD("java.lang.Thread$State", "values", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("Thread.java", 74)
+ _r0.o = java_lang_Thread_State_GET__VALUES();
+ //java_lang_Thread_State_1ARRAY_clone__[0]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((org_xmlvm_runtime_XMLVMArray*) _r0.o)->tib->vtable[0])(_r0.o);
+ _r0.o = _r0.o;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Thread_State_valueOf___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_Thread_State)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_State_valueOf___java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Thread$State", "valueOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Thread.java", 74)
+ XMLVM_CLASS_INIT(java_lang_Thread_State)
+ _r0.o = __CLASS_java_lang_Thread_State;
+ _r1.o = java_lang_Enum_valueOf___java_lang_Class_java_lang_String(_r0.o, _r1.o);
+ _r1.o = _r1.o;
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Thread_State___INIT____java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_State___INIT____java_lang_String_int]
+ XMLVM_ENTER_METHOD("java.lang.Thread$State", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.i = n2;
+ XMLVM_SOURCE_POSITION("Thread.java", 74)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Enum___INIT____java_lang_String_int(_r0.o, _r1.o, _r2.i);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Thread_State___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Thread_State___CLINIT___]
+ XMLVM_ENTER_METHOD("java.lang.Thread$State", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r7.i = 4;
+ _r6.i = 3;
+ _r5.i = 2;
+ _r4.i = 1;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("Thread.java", 78)
+ _r0.o = __NEW_java_lang_Thread_State();
+ // "NEW"
+ _r1.o = xmlvm_create_java_string_from_pool(814);
+ XMLVM_CHECK_NPE(0)
+ java_lang_Thread_State___INIT____java_lang_String_int(_r0.o, _r1.o, _r3.i);
+ java_lang_Thread_State_PUT_NEW( _r0.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 82)
+ _r0.o = __NEW_java_lang_Thread_State();
+ // "RUNNABLE"
+ _r1.o = xmlvm_create_java_string_from_pool(815);
+ XMLVM_CHECK_NPE(0)
+ java_lang_Thread_State___INIT____java_lang_String_int(_r0.o, _r1.o, _r4.i);
+ java_lang_Thread_State_PUT_RUNNABLE( _r0.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 86)
+ _r0.o = __NEW_java_lang_Thread_State();
+ // "BLOCKED"
+ _r1.o = xmlvm_create_java_string_from_pool(816);
+ XMLVM_CHECK_NPE(0)
+ java_lang_Thread_State___INIT____java_lang_String_int(_r0.o, _r1.o, _r5.i);
+ java_lang_Thread_State_PUT_BLOCKED( _r0.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 90)
+ _r0.o = __NEW_java_lang_Thread_State();
+ // "WAITING"
+ _r1.o = xmlvm_create_java_string_from_pool(817);
+ XMLVM_CHECK_NPE(0)
+ java_lang_Thread_State___INIT____java_lang_String_int(_r0.o, _r1.o, _r6.i);
+ java_lang_Thread_State_PUT_WAITING( _r0.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 94)
+ _r0.o = __NEW_java_lang_Thread_State();
+ // "TIMED_WAITING"
+ _r1.o = xmlvm_create_java_string_from_pool(818);
+ XMLVM_CHECK_NPE(0)
+ java_lang_Thread_State___INIT____java_lang_String_int(_r0.o, _r1.o, _r7.i);
+ java_lang_Thread_State_PUT_TIMED_WAITING( _r0.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 98)
+ _r0.o = __NEW_java_lang_Thread_State();
+ // "TERMINATED"
+ _r1.o = xmlvm_create_java_string_from_pool(819);
+ _r2.i = 5;
+ XMLVM_CHECK_NPE(0)
+ java_lang_Thread_State___INIT____java_lang_String_int(_r0.o, _r1.o, _r2.i);
+ java_lang_Thread_State_PUT_TERMINATED( _r0.o);
+ XMLVM_SOURCE_POSITION("Thread.java", 74)
+ _r0.i = 6;
+ XMLVM_CLASS_INIT(java_lang_Thread_State)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Thread_State, _r0.i);
+ _r1.o = java_lang_Thread_State_GET_NEW();
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r1.o;
+ _r1.o = java_lang_Thread_State_GET_RUNNABLE();
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r1.o;
+ _r1.o = java_lang_Thread_State_GET_BLOCKED();
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r5.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i] = _r1.o;
+ _r1.o = java_lang_Thread_State_GET_WAITING();
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r1.o;
+ _r1.o = java_lang_Thread_State_GET_TIMED_WAITING();
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r1.o;
+ _r1.i = 5;
+ _r2.o = java_lang_Thread_State_GET_TERMINATED();
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ java_lang_Thread_State_PUT__VALUES( _r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_Thread_State.h b/tests/nbody-java/java_lang_Thread_State.h
new file mode 100644
index 00000000..17af69c3
--- /dev/null
+++ b/tests/nbody-java/java_lang_Thread_State.h
@@ -0,0 +1,80 @@
+#ifndef __JAVA_LANG_THREAD_STATE__
+#define __JAVA_LANG_THREAD_STATE__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_Thread_State 8
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Enum.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+// Class declarations for java.lang.Thread$State
+XMLVM_DEFINE_CLASS(java_lang_Thread_State, 7, XMLVM_ITABLE_SIZE_java_lang_Thread_State)
+
+extern JAVA_OBJECT __CLASS_java_lang_Thread_State;
+extern JAVA_OBJECT __CLASS_java_lang_Thread_State_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Thread_State_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Thread_State_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_Thread_State
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_Thread_State \
+ __INSTANCE_FIELDS_java_lang_Enum; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_Thread_State \
+ } java_lang_Thread_State
+
+struct java_lang_Thread_State {
+ __TIB_DEFINITION_java_lang_Thread_State* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_Thread_State;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_Thread_State
+#define XMLVM_FORWARD_DECL_java_lang_Thread_State
+typedef struct java_lang_Thread_State java_lang_Thread_State;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_Thread_State 7
+
+void __INIT_java_lang_Thread_State();
+void __INIT_IMPL_java_lang_Thread_State();
+void __DELETE_java_lang_Thread_State(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_Thread_State(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_Thread_State();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Thread_State();
+JAVA_OBJECT java_lang_Thread_State_GET_NEW();
+void java_lang_Thread_State_PUT_NEW(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Thread_State_GET_RUNNABLE();
+void java_lang_Thread_State_PUT_RUNNABLE(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Thread_State_GET_BLOCKED();
+void java_lang_Thread_State_PUT_BLOCKED(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Thread_State_GET_WAITING();
+void java_lang_Thread_State_PUT_WAITING(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Thread_State_GET_TIMED_WAITING();
+void java_lang_Thread_State_PUT_TIMED_WAITING(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Thread_State_GET_TERMINATED();
+void java_lang_Thread_State_PUT_TERMINATED(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Thread_State_GET__VALUES();
+void java_lang_Thread_State_PUT__VALUES(JAVA_OBJECT v);
+JAVA_OBJECT java_lang_Thread_State_values__();
+JAVA_OBJECT java_lang_Thread_State_valueOf___java_lang_String(JAVA_OBJECT n1);
+void java_lang_Thread_State___INIT____java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2);
+void java_lang_Thread_State___CLINIT_();
+
+#endif
diff --git a/tests/nbody-java/java_lang_Thread_UncaughtExceptionHandler.c b/tests/nbody-java/java_lang_Thread_UncaughtExceptionHandler.c
new file mode 100644
index 00000000..d3255b9f
--- /dev/null
+++ b/tests/nbody-java/java_lang_Thread_UncaughtExceptionHandler.c
@@ -0,0 +1,78 @@
+#include "xmlvm.h"
+#include "java_lang_Thread.h"
+#include "java_lang_Throwable.h"
+
+#include "java_lang_Thread_UncaughtExceptionHandler.h"
+
+__TIB_DEFINITION_java_lang_Thread_UncaughtExceptionHandler __TIB_java_lang_Thread_UncaughtExceptionHandler = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Thread_UncaughtExceptionHandler, // classInitializer
+ "java.lang.Thread$UncaughtExceptionHandler", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_lang_Thread_UncaughtExceptionHandler;
+JAVA_OBJECT __CLASS_java_lang_Thread_UncaughtExceptionHandler_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Thread_UncaughtExceptionHandler_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Thread_UncaughtExceptionHandler_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_lang_Thread_UncaughtExceptionHandler()
+{
+ staticInitializerLock(&__TIB_java_lang_Thread_UncaughtExceptionHandler);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Thread_UncaughtExceptionHandler.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Thread_UncaughtExceptionHandler.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Thread_UncaughtExceptionHandler);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Thread_UncaughtExceptionHandler.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Thread_UncaughtExceptionHandler.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Thread_UncaughtExceptionHandler.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Thread$UncaughtExceptionHandler")
+ __INIT_IMPL_java_lang_Thread_UncaughtExceptionHandler();
+ }
+}
+
+void __INIT_IMPL_java_lang_Thread_UncaughtExceptionHandler()
+{
+ __TIB_java_lang_Thread_UncaughtExceptionHandler.numInterfaces = 0;
+ __TIB_java_lang_Thread_UncaughtExceptionHandler.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Thread_UncaughtExceptionHandler.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_lang_Thread_UncaughtExceptionHandler.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Thread_UncaughtExceptionHandler.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Thread_UncaughtExceptionHandler.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_lang_Thread_UncaughtExceptionHandler = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Thread_UncaughtExceptionHandler);
+ __TIB_java_lang_Thread_UncaughtExceptionHandler.clazz = __CLASS_java_lang_Thread_UncaughtExceptionHandler;
+ __TIB_java_lang_Thread_UncaughtExceptionHandler.baseType = JAVA_NULL;
+ __CLASS_java_lang_Thread_UncaughtExceptionHandler_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Thread_UncaughtExceptionHandler);
+ __CLASS_java_lang_Thread_UncaughtExceptionHandler_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Thread_UncaughtExceptionHandler_1ARRAY);
+ __CLASS_java_lang_Thread_UncaughtExceptionHandler_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Thread_UncaughtExceptionHandler_2ARRAY);
+
+ __TIB_java_lang_Thread_UncaughtExceptionHandler.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_lang_Thread_UncaughtExceptionHandler.h b/tests/nbody-java/java_lang_Thread_UncaughtExceptionHandler.h
new file mode 100644
index 00000000..1cb41fee
--- /dev/null
+++ b/tests/nbody-java/java_lang_Thread_UncaughtExceptionHandler.h
@@ -0,0 +1,36 @@
+#ifndef __JAVA_LANG_THREAD_UNCAUGHTEXCEPTIONHANDLER__
+#define __JAVA_LANG_THREAD_UNCAUGHTEXCEPTIONHANDLER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_lang_Thread_UncaughtExceptionHandler_uncaughtException___java_lang_Thread_java_lang_Throwable 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Thread
+#define XMLVM_FORWARD_DECL_java_lang_Thread
+XMLVM_FORWARD_DECL(java_lang_Thread)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Throwable
+#define XMLVM_FORWARD_DECL_java_lang_Throwable
+XMLVM_FORWARD_DECL(java_lang_Throwable)
+#endif
+
+XMLVM_DEFINE_CLASS(java_lang_Thread_UncaughtExceptionHandler, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_lang_Thread_UncaughtExceptionHandler;
+extern JAVA_OBJECT __CLASS_java_lang_Thread_UncaughtExceptionHandler_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Thread_UncaughtExceptionHandler_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Thread_UncaughtExceptionHandler_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_lang_Thread_UncaughtExceptionHandler
+#define XMLVM_FORWARD_DECL_java_lang_Thread_UncaughtExceptionHandler
+typedef struct java_lang_Thread_UncaughtExceptionHandler java_lang_Thread_UncaughtExceptionHandler;
+#endif
+
+void __INIT_java_lang_Thread_UncaughtExceptionHandler();
+void __INIT_IMPL_java_lang_Thread_UncaughtExceptionHandler();
+
+#endif
diff --git a/tests/nbody-java/java_lang_Throwable.c b/tests/nbody-java/java_lang_Throwable.c
new file mode 100644
index 00000000..c0a79c82
--- /dev/null
+++ b/tests/nbody-java/java_lang_Throwable.c
@@ -0,0 +1,933 @@
+#include "xmlvm.h"
+#include "java_io_PrintStream.h"
+#include "java_lang_Class.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_StackTraceElement.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_lang_System.h"
+
+#include "java_lang_Throwable.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Throwable
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_Throwable
+
+__TIB_DEFINITION_java_lang_Throwable __TIB_java_lang_Throwable = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_Throwable, // classInitializer
+ "java.lang.Throwable", // className
+ "java.lang", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_Throwable), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_Throwable;
+JAVA_OBJECT __CLASS_java_lang_Throwable_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Throwable_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_Throwable_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_lang_Throwable_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_Throwable()
+{
+ staticInitializerLock(&__TIB_java_lang_Throwable);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_Throwable.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_Throwable.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_Throwable);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_Throwable.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_Throwable.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_Throwable.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.Throwable")
+ __INIT_IMPL_java_lang_Throwable();
+ }
+}
+
+void __INIT_IMPL_java_lang_Throwable()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_Throwable.newInstanceFunc = __NEW_INSTANCE_java_lang_Throwable;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_Throwable.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_Throwable.vtable[7] = (VTABLE_PTR) &java_lang_Throwable_getMessage__;
+ __TIB_java_lang_Throwable.vtable[5] = (VTABLE_PTR) &java_lang_Throwable_toString__;
+ __TIB_java_lang_Throwable.vtable[6] = (VTABLE_PTR) &java_lang_Throwable_getCause__;
+ xmlvm_init_native_java_lang_Throwable();
+ // Initialize interface information
+ __TIB_java_lang_Throwable.numImplementedInterfaces = 1;
+ __TIB_java_lang_Throwable.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_lang_Throwable.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+ // Initialize itable for this class
+ __TIB_java_lang_Throwable.itableBegin = &__TIB_java_lang_Throwable.itable[0];
+
+ _STATIC_java_lang_Throwable_serialVersionUID = -3042686055658047285;
+
+ __TIB_java_lang_Throwable.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_Throwable.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_Throwable.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_Throwable.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_Throwable.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_Throwable.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_Throwable.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_Throwable.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_Throwable = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_Throwable);
+ __TIB_java_lang_Throwable.clazz = __CLASS_java_lang_Throwable;
+ __TIB_java_lang_Throwable.baseType = JAVA_NULL;
+ __CLASS_java_lang_Throwable_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Throwable);
+ __CLASS_java_lang_Throwable_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Throwable_1ARRAY);
+ __CLASS_java_lang_Throwable_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_Throwable_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_Throwable]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_Throwable.classInitialized = 1;
+}
+
+void __DELETE_java_lang_Throwable(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_Throwable]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_Throwable(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_Throwable*) me)->fields.java_lang_Throwable.detailMessage_ = (java_lang_String*) JAVA_NULL;
+ ((java_lang_Throwable*) me)->fields.java_lang_Throwable.cause_ = (java_lang_Throwable*) JAVA_NULL;
+ ((java_lang_Throwable*) me)->fields.java_lang_Throwable.stackTrace_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_Throwable]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_Throwable()
+{ XMLVM_CLASS_INIT(java_lang_Throwable)
+java_lang_Throwable* me = (java_lang_Throwable*) XMLVM_MALLOC(sizeof(java_lang_Throwable));
+ me->tib = &__TIB_java_lang_Throwable;
+ __INIT_INSTANCE_MEMBERS_java_lang_Throwable(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_Throwable]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Throwable()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_lang_Throwable();
+ java_lang_Throwable___INIT___(me);
+ return me;
+}
+
+JAVA_LONG java_lang_Throwable_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_lang_Throwable)
+ return _STATIC_java_lang_Throwable_serialVersionUID;
+}
+
+void java_lang_Throwable_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_lang_Throwable)
+_STATIC_java_lang_Throwable_serialVersionUID = v;
+}
+
+void java_lang_Throwable___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Throwable___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.Throwable", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Throwable.java", 73)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Throwable.java", 62)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_Throwable*) _r0.o)->fields.java_lang_Throwable.cause_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Throwable.java", 74)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Throwable_fillInStackTrace__(_r0.o);
+ XMLVM_SOURCE_POSITION("Throwable.java", 75)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Throwable___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Throwable___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.lang.Throwable", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Throwable.java", 85)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Throwable___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Throwable.java", 86)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_Throwable*) _r0.o)->fields.java_lang_Throwable.detailMessage_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Throwable.java", 87)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Throwable___INIT____java_lang_String_java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Throwable___INIT____java_lang_String_java_lang_Throwable]
+ XMLVM_ENTER_METHOD("java.lang.Throwable", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("Throwable.java", 99)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Throwable___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Throwable.java", 100)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_Throwable*) _r0.o)->fields.java_lang_Throwable.detailMessage_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Throwable.java", 101)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_Throwable*) _r0.o)->fields.java_lang_Throwable.cause_ = _r2.o;
+ XMLVM_SOURCE_POSITION("Throwable.java", 102)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Throwable___INIT____java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Throwable___INIT____java_lang_Throwable]
+ XMLVM_ENTER_METHOD("java.lang.Throwable", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Throwable.java", 112)
+ XMLVM_CHECK_NPE(1)
+ java_lang_Throwable___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("Throwable.java", 113)
+ if (_r2.o != JAVA_NULL) goto label11;
+ _r0.o = JAVA_NULL;
+ label6:;
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_Throwable*) _r1.o)->fields.java_lang_Throwable.detailMessage_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Throwable.java", 114)
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_Throwable*) _r1.o)->fields.java_lang_Throwable.cause_ = _r2.o;
+ XMLVM_SOURCE_POSITION("Throwable.java", 115)
+ XMLVM_EXIT_METHOD()
+ return;
+ label11:;
+ //java_lang_Throwable_toString__[5]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Throwable*) _r2.o)->tib->vtable[5])(_r2.o);
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Throwable_fillInStackTrace__(JAVA_OBJECT me)]
+
+JAVA_OBJECT java_lang_Throwable_getMessage__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_getMessage__]
+ XMLVM_ENTER_METHOD("java.lang.Throwable", "getMessage", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Throwable.java", 139)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_Throwable*) _r1.o)->fields.java_lang_Throwable.detailMessage_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Throwable_getLocalizedMessage__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_getLocalizedMessage__]
+ XMLVM_ENTER_METHOD("java.lang.Throwable", "getLocalizedMessage", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Throwable.java", 152)
+ //java_lang_Throwable_getMessage__[7]
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Throwable*) _r1.o)->tib->vtable[7])(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_Throwable_getStackTraceImpl__(JAVA_OBJECT me)]
+
+JAVA_OBJECT java_lang_Throwable_getStackTrace__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_getStackTrace__]
+ XMLVM_ENTER_METHOD("java.lang.Throwable", "getStackTrace", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Throwable.java", 179)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_Throwable_getInternalStackTrace__(_r1.o);
+ //java_lang_StackTraceElement_1ARRAY_clone__[0]
+ XMLVM_CHECK_NPE(0)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((org_xmlvm_runtime_XMLVMArray*) _r0.o)->tib->vtable[0])(_r0.o);
+ _r1.o = _r1.o;
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Throwable_setStackTrace___java_lang_StackTraceElement_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_setStackTrace___java_lang_StackTraceElement_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.Throwable", "setStackTrace", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.o = n1;
+ XMLVM_SOURCE_POSITION("Throwable.java", 198)
+ //java_lang_StackTraceElement_1ARRAY_clone__[0]
+ XMLVM_CHECK_NPE(5)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((org_xmlvm_runtime_XMLVMArray*) _r5.o)->tib->vtable[0])(_r5.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("Throwable.java", 199)
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ _r2.i = 0;
+ label8:;
+ if (_r2.i < _r1.i) goto label13;
+ XMLVM_SOURCE_POSITION("Throwable.java", 204)
+ XMLVM_CHECK_NPE(4)
+ ((java_lang_Throwable*) _r4.o)->fields.java_lang_Throwable.stackTrace_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Throwable.java", 205)
+ XMLVM_EXIT_METHOD()
+ return;
+ label13:;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ _r3.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_SOURCE_POSITION("Throwable.java", 200)
+ if (_r3.o != JAVA_NULL) goto label23;
+ XMLVM_SOURCE_POSITION("Throwable.java", 201)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label23:;
+ _r2.i = _r2.i + 1;
+ goto label8;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Throwable_printStackTrace__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_printStackTrace__]
+ XMLVM_ENTER_METHOD("java.lang.Throwable", "printStackTrace", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Throwable.java", 212)
+ _r0.o = java_lang_System_GET_err();
+ XMLVM_CHECK_NPE(1)
+ java_lang_Throwable_printStackTrace___java_io_PrintStream(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Throwable.java", 213)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_Throwable_countDuplicates___java_lang_StackTraceElement_1ARRAY_java_lang_StackTraceElement_1ARRAY(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_Throwable)
+ //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_countDuplicates___java_lang_StackTraceElement_1ARRAY_java_lang_StackTraceElement_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.Throwable", "countDuplicates", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r6.o = n1;
+ _r7.o = n2;
+ XMLVM_SOURCE_POSITION("Throwable.java", 226)
+ _r0.i = 0;
+ XMLVM_SOURCE_POSITION("Throwable.java", 227)
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r7.o));
+ XMLVM_SOURCE_POSITION("Throwable.java", 228)
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ _r5 = _r2;
+ _r2 = _r0;
+ _r0 = _r5;
+ label6:;
+ _r0.i = _r0.i + -1;
+ if (_r0.i < 0) goto label14;
+ _r1.i = _r1.i + -1;
+ if (_r1.i >= 0) goto label15;
+ label14:;
+ XMLVM_SOURCE_POSITION("Throwable.java", 236)
+ XMLVM_EXIT_METHOD()
+ return _r2.i;
+ label15:;
+ XMLVM_SOURCE_POSITION("Throwable.java", 229)
+ XMLVM_CHECK_NPE(7)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r1.i);
+ _r3.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_SOURCE_POSITION("Throwable.java", 230)
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r0.i);
+ _r4.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ //java_lang_StackTraceElement_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(3)
+ _r3.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_StackTraceElement*) _r3.o)->tib->vtable[1])(_r3.o, _r4.o);
+ if (_r3.i == 0) goto label14;
+ XMLVM_SOURCE_POSITION("Throwable.java", 231)
+ _r2.i = _r2.i + 1;
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Throwable_getInternalStackTrace__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_getInternalStackTrace__]
+ XMLVM_ENTER_METHOD("java.lang.Throwable", "getInternalStackTrace", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Throwable.java", 247)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_Throwable*) _r1.o)->fields.java_lang_Throwable.stackTrace_;
+ if (_r0.o != JAVA_NULL) goto label10;
+ XMLVM_SOURCE_POSITION("Throwable.java", 248)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_Throwable_getStackTraceImpl__(_r1.o);
+ XMLVM_CHECK_NPE(1)
+ ((java_lang_Throwable*) _r1.o)->fields.java_lang_Throwable.stackTrace_ = _r0.o;
+ label10:;
+ XMLVM_SOURCE_POSITION("Throwable.java", 250)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_Throwable*) _r1.o)->fields.java_lang_Throwable.stackTrace_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Throwable_printStackTrace___java_io_PrintStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_printStackTrace___java_io_PrintStream]
+ XMLVM_ENTER_METHOD("java.lang.Throwable", "printStackTrace", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ _r9.o = me;
+ _r10.o = n1;
+ _r6.i = 0;
+ // "\011at "
+ _r7.o = xmlvm_create_java_string_from_pool(45);
+ XMLVM_SOURCE_POSITION("Throwable.java", 263)
+ //java_lang_Throwable_toString__[5]
+ XMLVM_CHECK_NPE(9)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Throwable*) _r9.o)->tib->vtable[5])(_r9.o);
+ XMLVM_CHECK_NPE(10)
+ java_io_PrintStream_println___java_lang_String(_r10.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Throwable.java", 266)
+ XMLVM_CHECK_NPE(9)
+ _r0.o = java_lang_Throwable_getInternalStackTrace__(_r9.o);
+ XMLVM_SOURCE_POSITION("Throwable.java", 267)
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ _r2 = _r6;
+ label16:;
+ if (_r2.i < _r1.i) goto label28;
+ XMLVM_SOURCE_POSITION("Throwable.java", 272)
+ //java_lang_Throwable_getCause__[6]
+ XMLVM_CHECK_NPE(9)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Throwable*) _r9.o)->tib->vtable[6])(_r9.o);
+ _r8 = _r1;
+ _r1 = _r0;
+ _r0 = _r8;
+ label25:;
+ XMLVM_SOURCE_POSITION("Throwable.java", 273)
+ if (_r0.o != JAVA_NULL) goto label51;
+ XMLVM_SOURCE_POSITION("Throwable.java", 287)
+ XMLVM_EXIT_METHOD()
+ return;
+ label28:;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ _r3.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_SOURCE_POSITION("Throwable.java", 268)
+ _r4.o = __NEW_java_lang_StringBuilder();
+ // "\011at "
+ _r5.o = xmlvm_create_java_string_from_pool(45);
+ XMLVM_CHECK_NPE(4)
+ java_lang_StringBuilder___INIT____java_lang_String(_r4.o, _r7.o);
+ XMLVM_CHECK_NPE(4)
+ _r3.o = java_lang_StringBuilder_append___java_lang_Object(_r4.o, _r3.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(3)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r3.o)->tib->vtable[5])(_r3.o);
+ XMLVM_CHECK_NPE(10)
+ java_io_PrintStream_println___java_lang_String(_r10.o, _r3.o);
+ _r2.i = _r2.i + 1;
+ goto label16;
+ label51:;
+ XMLVM_SOURCE_POSITION("Throwable.java", 274)
+ // "Caused by: "
+ _r2.o = xmlvm_create_java_string_from_pool(46);
+ XMLVM_CHECK_NPE(10)
+ java_io_PrintStream_print___java_lang_String(_r10.o, _r2.o);
+ XMLVM_SOURCE_POSITION("Throwable.java", 275)
+ XMLVM_CHECK_NPE(10)
+ java_io_PrintStream_println___java_lang_Object(_r10.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Throwable.java", 276)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = java_lang_Throwable_getInternalStackTrace__(_r0.o);
+ XMLVM_SOURCE_POSITION("Throwable.java", 277)
+ _r1.i = java_lang_Throwable_countDuplicates___java_lang_StackTraceElement_1ARRAY_java_lang_StackTraceElement_1ARRAY(_r2.o, _r1.o);
+ _r3 = _r6;
+ label68:;
+ XMLVM_SOURCE_POSITION("Throwable.java", 278)
+ _r4.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ _r4.i = _r4.i - _r1.i;
+ if (_r3.i < _r4.i) goto label104;
+ XMLVM_SOURCE_POSITION("Throwable.java", 281)
+ if (_r1.i <= 0) goto label98;
+ XMLVM_SOURCE_POSITION("Throwable.java", 282)
+ _r3.o = __NEW_java_lang_StringBuilder();
+ // "\011... "
+ _r4.o = xmlvm_create_java_string_from_pool(47);
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder___INIT____java_lang_String(_r3.o, _r4.o);
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_lang_StringBuilder_append___int(_r3.o, _r1.i);
+ // " more"
+ _r3.o = xmlvm_create_java_string_from_pool(48);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r3.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
+ XMLVM_CHECK_NPE(10)
+ java_io_PrintStream_println___java_lang_String(_r10.o, _r1.o);
+ label98:;
+ XMLVM_SOURCE_POSITION("Throwable.java", 285)
+ //java_lang_Throwable_getCause__[6]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Throwable*) _r0.o)->tib->vtable[6])(_r0.o);
+ _r1 = _r2;
+ goto label25;
+ label104:;
+ XMLVM_SOURCE_POSITION("Throwable.java", 279)
+ _r4.o = __NEW_java_lang_StringBuilder();
+ // "\011at "
+ _r5.o = xmlvm_create_java_string_from_pool(45);
+ XMLVM_CHECK_NPE(4)
+ java_lang_StringBuilder___INIT____java_lang_String(_r4.o, _r7.o);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ _r5.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ XMLVM_CHECK_NPE(4)
+ _r4.o = java_lang_StringBuilder_append___java_lang_Object(_r4.o, _r5.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(4)
+ _r4.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r4.o)->tib->vtable[5])(_r4.o);
+ XMLVM_CHECK_NPE(10)
+ java_io_PrintStream_println___java_lang_String(_r10.o, _r4.o);
+ _r3.i = _r3.i + 1;
+ goto label68;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Throwable_printStackTrace___java_io_PrintWriter(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_printStackTrace___java_io_PrintWriter]
+ XMLVM_ENTER_METHOD("java.lang.Throwable", "printStackTrace", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ _r9.o = me;
+ _r10.o = n1;
+ _r6.i = 0;
+ // "\011at "
+ _r7.o = xmlvm_create_java_string_from_pool(45);
+ XMLVM_SOURCE_POSITION("Throwable.java", 299)
+ //java_lang_Throwable_toString__[5]
+ XMLVM_CHECK_NPE(9)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Throwable*) _r9.o)->tib->vtable[5])(_r9.o);
+
+
+ // Red class access removed: java.io.PrintWriter::println
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Throwable.java", 302)
+ XMLVM_CHECK_NPE(9)
+ _r0.o = java_lang_Throwable_getInternalStackTrace__(_r9.o);
+ XMLVM_SOURCE_POSITION("Throwable.java", 303)
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ _r2 = _r6;
+ label16:;
+ if (_r2.i < _r1.i) goto label28;
+ XMLVM_SOURCE_POSITION("Throwable.java", 308)
+ //java_lang_Throwable_getCause__[6]
+ XMLVM_CHECK_NPE(9)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Throwable*) _r9.o)->tib->vtable[6])(_r9.o);
+ _r8 = _r1;
+ _r1 = _r0;
+ _r0 = _r8;
+ label25:;
+ XMLVM_SOURCE_POSITION("Throwable.java", 309)
+ if (_r0.o != JAVA_NULL) goto label51;
+ XMLVM_SOURCE_POSITION("Throwable.java", 323)
+ XMLVM_EXIT_METHOD()
+ return;
+ label28:;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ _r3.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_SOURCE_POSITION("Throwable.java", 304)
+ _r4.o = __NEW_java_lang_StringBuilder();
+ // "\011at "
+ _r5.o = xmlvm_create_java_string_from_pool(45);
+ XMLVM_CHECK_NPE(4)
+ java_lang_StringBuilder___INIT____java_lang_String(_r4.o, _r7.o);
+ XMLVM_CHECK_NPE(4)
+ _r3.o = java_lang_StringBuilder_append___java_lang_Object(_r4.o, _r3.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(3)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r3.o)->tib->vtable[5])(_r3.o);
+
+
+ // Red class access removed: java.io.PrintWriter::println
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r2.i = _r2.i + 1;
+ goto label16;
+ label51:;
+ XMLVM_SOURCE_POSITION("Throwable.java", 310)
+ // "Caused by: "
+ _r2.o = xmlvm_create_java_string_from_pool(46);
+
+
+ // Red class access removed: java.io.PrintWriter::print
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Throwable.java", 311)
+
+
+ // Red class access removed: java.io.PrintWriter::println
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Throwable.java", 312)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = java_lang_Throwable_getInternalStackTrace__(_r0.o);
+ XMLVM_SOURCE_POSITION("Throwable.java", 313)
+ _r1.i = java_lang_Throwable_countDuplicates___java_lang_StackTraceElement_1ARRAY_java_lang_StackTraceElement_1ARRAY(_r2.o, _r1.o);
+ _r3 = _r6;
+ label68:;
+ XMLVM_SOURCE_POSITION("Throwable.java", 314)
+ _r4.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ _r4.i = _r4.i - _r1.i;
+ if (_r3.i < _r4.i) goto label104;
+ XMLVM_SOURCE_POSITION("Throwable.java", 317)
+ if (_r1.i <= 0) goto label98;
+ XMLVM_SOURCE_POSITION("Throwable.java", 318)
+ _r3.o = __NEW_java_lang_StringBuilder();
+ // "\011... "
+ _r4.o = xmlvm_create_java_string_from_pool(47);
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder___INIT____java_lang_String(_r3.o, _r4.o);
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_lang_StringBuilder_append___int(_r3.o, _r1.i);
+ // " more"
+ _r3.o = xmlvm_create_java_string_from_pool(48);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r3.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
+
+
+ // Red class access removed: java.io.PrintWriter::println
+ XMLVM_RED_CLASS_DEPENDENCY();
+ label98:;
+ XMLVM_SOURCE_POSITION("Throwable.java", 321)
+ //java_lang_Throwable_getCause__[6]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Throwable*) _r0.o)->tib->vtable[6])(_r0.o);
+ _r1 = _r2;
+ goto label25;
+ label104:;
+ XMLVM_SOURCE_POSITION("Throwable.java", 315)
+ _r4.o = __NEW_java_lang_StringBuilder();
+ // "\011at "
+ _r5.o = xmlvm_create_java_string_from_pool(45);
+ XMLVM_CHECK_NPE(4)
+ java_lang_StringBuilder___INIT____java_lang_String(_r4.o, _r7.o);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ _r5.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ XMLVM_CHECK_NPE(4)
+ _r4.o = java_lang_StringBuilder_append___java_lang_Object(_r4.o, _r5.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(4)
+ _r4.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r4.o)->tib->vtable[5])(_r4.o);
+
+
+ // Red class access removed: java.io.PrintWriter::println
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r3.i = _r3.i + 1;
+ goto label68;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Throwable_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_toString__]
+ XMLVM_ENTER_METHOD("java.lang.Throwable", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.o = me;
+ XMLVM_SOURCE_POSITION("Throwable.java", 327)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = java_lang_Throwable_getLocalizedMessage__(_r5.o);
+ XMLVM_SOURCE_POSITION("Throwable.java", 328)
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(5)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r5.o)->tib->vtable[3])(_r5.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_Class_getName__(_r1.o);
+ XMLVM_SOURCE_POSITION("Throwable.java", 329)
+ if (_r0.o != JAVA_NULL) goto label16;
+ _r0 = _r1;
+ label15:;
+ XMLVM_SOURCE_POSITION("Throwable.java", 330)
+ XMLVM_SOURCE_POSITION("Throwable.java", 332)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label16:;
+ _r2.o = __NEW_java_lang_StringBuilder();
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(1)
+ _r3.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
+ _r3.i = _r3.i + 2;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(0)
+ _r4.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[8])(_r0.o);
+ _r3.i = _r3.i + _r4.i;
+ XMLVM_CHECK_NPE(2)
+ java_lang_StringBuilder___INIT____int(_r2.o, _r3.i);
+ XMLVM_CHECK_NPE(2)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r1.o);
+ // ": "
+ _r2.o = xmlvm_create_java_string_from_pool(49);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r2.o);
+ XMLVM_SOURCE_POSITION("Throwable.java", 333)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r0.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ goto label15;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Throwable_initCause___java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_initCause___java_lang_Throwable]
+ XMLVM_ENTER_METHOD("java.lang.Throwable", "initCause", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Throwable.java", 349)
+ java_lang_Object_acquireLockRecursive__(_r2.o);
+ XMLVM_TRY_BEGIN(w497aaac20b1b5)
+ // Begin try
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_lang_Throwable*) _r2.o)->fields.java_lang_Throwable.cause_;
+ if (_r0.o != _r2.o) { XMLVM_MEMCPY(curThread_w497aaac20b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w497aaac20b1b5, sizeof(XMLVM_JMP_BUF)); goto label22; };
+ XMLVM_SOURCE_POSITION("Throwable.java", 350)
+ if (_r3.o == _r2.o) { XMLVM_MEMCPY(curThread_w497aaac20b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w497aaac20b1b5, sizeof(XMLVM_JMP_BUF)); goto label11; };
+ XMLVM_SOURCE_POSITION("Throwable.java", 351)
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_Throwable*) _r2.o)->fields.java_lang_Throwable.cause_ = _r3.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w497aaac20b1b5)
+ XMLVM_CATCH_SPECIFIC(w497aaac20b1b5,java_lang_Object,19)
+ XMLVM_CATCH_END(w497aaac20b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w497aaac20b1b5)
+ XMLVM_SOURCE_POSITION("Throwable.java", 352)
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ label11:;
+ XMLVM_TRY_BEGIN(w497aaac20b1c10)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Throwable.java", 354)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "Cause cannot be the receiver"
+ _r1.o = xmlvm_create_java_string_from_pool(50);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w497aaac20b1c10)
+ XMLVM_CATCH_SPECIFIC(w497aaac20b1c10,java_lang_Object,19)
+ XMLVM_CATCH_END(w497aaac20b1c10)
+ XMLVM_RESTORE_EXCEPTION_ENV(w497aaac20b1c10)
+ label19:;
+ java_lang_Thread* curThread_w497aaac20b1c12 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w497aaac20b1c12->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label22:;
+ XMLVM_TRY_BEGIN(w497aaac20b1c16)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Throwable.java", 356)
+
+
+ // Red class access removed: java.lang.IllegalStateException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "Cause already initialized"
+ _r1.o = xmlvm_create_java_string_from_pool(51);
+
+
+ // Red class access removed: java.lang.IllegalStateException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w497aaac20b1c16)
+ XMLVM_CATCH_SPECIFIC(w497aaac20b1c16,java_lang_Object,19)
+ XMLVM_CATCH_END(w497aaac20b1c16)
+ XMLVM_RESTORE_EXCEPTION_ENV(w497aaac20b1c16)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_Throwable_getCause__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_getCause__]
+ XMLVM_ENTER_METHOD("java.lang.Throwable", "getCause", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Throwable.java", 366)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_Throwable*) _r1.o)->fields.java_lang_Throwable.cause_;
+ if (_r0.o != _r1.o) goto label6;
+ XMLVM_SOURCE_POSITION("Throwable.java", 367)
+ _r0.o = JAVA_NULL;
+ label5:;
+ XMLVM_SOURCE_POSITION("Throwable.java", 369)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label6:;
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_Throwable*) _r1.o)->fields.java_lang_Throwable.cause_;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_Throwable_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_Throwable_writeObject___java_io_ObjectOutputStream]
+ XMLVM_ENTER_METHOD("java.lang.Throwable", "writeObject", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Throwable.java", 374)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Throwable_getInternalStackTrace__(_r0.o);
+ XMLVM_SOURCE_POSITION("Throwable.java", 375)
+
+
+ // Red class access removed: java.io.ObjectOutputStream::defaultWriteObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Throwable.java", 376)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_Throwable.h b/tests/nbody-java/java_lang_Throwable.h
new file mode 100644
index 00000000..d2db13ae
--- /dev/null
+++ b/tests/nbody-java/java_lang_Throwable.h
@@ -0,0 +1,110 @@
+#ifndef __JAVA_LANG_THROWABLE__
+#define __JAVA_LANG_THROWABLE__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_Throwable 0
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_io_PrintStream
+#define XMLVM_FORWARD_DECL_java_io_PrintStream
+XMLVM_FORWARD_DECL(java_io_PrintStream)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StackTraceElement
+#define XMLVM_FORWARD_DECL_java_lang_StackTraceElement
+XMLVM_FORWARD_DECL(java_lang_StackTraceElement)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+// Class declarations for java.lang.Throwable
+XMLVM_DEFINE_CLASS(java_lang_Throwable, 8, XMLVM_ITABLE_SIZE_java_lang_Throwable)
+
+extern JAVA_OBJECT __CLASS_java_lang_Throwable;
+extern JAVA_OBJECT __CLASS_java_lang_Throwable_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Throwable_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_Throwable_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_Throwable
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_Throwable \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT detailMessage_; \
+ JAVA_OBJECT cause_; \
+ JAVA_OBJECT stackTrace_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_Throwable \
+ } java_lang_Throwable
+
+struct java_lang_Throwable {
+ __TIB_DEFINITION_java_lang_Throwable* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_Throwable;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_Throwable
+#define XMLVM_FORWARD_DECL_java_lang_Throwable
+typedef struct java_lang_Throwable java_lang_Throwable;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_Throwable 8
+#define XMLVM_VTABLE_IDX_java_lang_Throwable_getMessage__ 7
+#define XMLVM_VTABLE_IDX_java_lang_Throwable_toString__ 5
+#define XMLVM_VTABLE_IDX_java_lang_Throwable_getCause__ 6
+
+void __INIT_java_lang_Throwable();
+void __INIT_IMPL_java_lang_Throwable();
+void __DELETE_java_lang_Throwable(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_Throwable(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_Throwable();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_Throwable();
+void xmlvm_init_native_java_lang_Throwable();
+JAVA_LONG java_lang_Throwable_GET_serialVersionUID();
+void java_lang_Throwable_PUT_serialVersionUID(JAVA_LONG v);
+void java_lang_Throwable___INIT___(JAVA_OBJECT me);
+void java_lang_Throwable___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_Throwable___INIT____java_lang_String_java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_lang_Throwable___INIT____java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_Throwable_fillInStackTrace__(JAVA_OBJECT me);
+// Vtable index: 7
+JAVA_OBJECT java_lang_Throwable_getMessage__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Throwable_getLocalizedMessage__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Throwable_getStackTraceImpl__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Throwable_getStackTrace__(JAVA_OBJECT me);
+void java_lang_Throwable_setStackTrace___java_lang_StackTraceElement_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_Throwable_printStackTrace__(JAVA_OBJECT me);
+JAVA_INT java_lang_Throwable_countDuplicates___java_lang_StackTraceElement_1ARRAY_java_lang_StackTraceElement_1ARRAY(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_lang_Throwable_getInternalStackTrace__(JAVA_OBJECT me);
+void java_lang_Throwable_printStackTrace___java_io_PrintStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_Throwable_printStackTrace___java_io_PrintWriter(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 5
+JAVA_OBJECT java_lang_Throwable_toString__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_Throwable_initCause___java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 6
+JAVA_OBJECT java_lang_Throwable_getCause__(JAVA_OBJECT me);
+void java_lang_Throwable_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_lang_ref_Reference.c b/tests/nbody-java/java_lang_ref_Reference.c
new file mode 100644
index 00000000..31b785eb
--- /dev/null
+++ b/tests/nbody-java/java_lang_ref_Reference.c
@@ -0,0 +1,277 @@
+#include "xmlvm.h"
+#include "java_lang_ref_ReferenceQueue.h"
+
+#include "java_lang_ref_Reference.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Reference
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_ref_Reference
+
+__TIB_DEFINITION_java_lang_ref_Reference __TIB_java_lang_ref_Reference = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_ref_Reference, // classInitializer
+ "java.lang.ref.Reference", // className
+ "java.lang.ref", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<T:Ljava/lang/Object;>Ljava/lang/Object;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_ref_Reference), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_ref_Reference;
+JAVA_OBJECT __CLASS_java_lang_ref_Reference_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_ref_Reference_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_ref_Reference_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_ref_Reference()
+{
+ staticInitializerLock(&__TIB_java_lang_ref_Reference);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_ref_Reference.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_ref_Reference.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_ref_Reference);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_ref_Reference.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_ref_Reference.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_ref_Reference.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.ref.Reference")
+ __INIT_IMPL_java_lang_ref_Reference();
+ }
+}
+
+void __INIT_IMPL_java_lang_ref_Reference()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_ref_Reference.newInstanceFunc = __NEW_INSTANCE_java_lang_ref_Reference;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_ref_Reference.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_lang_ref_Reference.numImplementedInterfaces = 0;
+ __TIB_java_lang_ref_Reference.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ __TIB_java_lang_ref_Reference.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_ref_Reference.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_ref_Reference.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_ref_Reference.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_ref_Reference.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_ref_Reference.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_ref_Reference.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_ref_Reference.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_ref_Reference = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_ref_Reference);
+ __TIB_java_lang_ref_Reference.clazz = __CLASS_java_lang_ref_Reference;
+ __TIB_java_lang_ref_Reference.baseType = JAVA_NULL;
+ __CLASS_java_lang_ref_Reference_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ref_Reference);
+ __CLASS_java_lang_ref_Reference_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ref_Reference_1ARRAY);
+ __CLASS_java_lang_ref_Reference_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ref_Reference_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_ref_Reference]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_ref_Reference.classInitialized = 1;
+}
+
+void __DELETE_java_lang_ref_Reference(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_ref_Reference]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_ref_Reference(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_ref_Reference*) me)->fields.java_lang_ref_Reference.obj_ = (java_lang_Object*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_ref_Reference]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_ref_Reference()
+{ XMLVM_CLASS_INIT(java_lang_ref_Reference)
+java_lang_ref_Reference* me = (java_lang_ref_Reference*) XMLVM_MALLOC(sizeof(java_lang_ref_Reference));
+ me->tib = &__TIB_java_lang_ref_Reference;
+ __INIT_INSTANCE_MEMBERS_java_lang_ref_Reference(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_ref_Reference]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_ref_Reference()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_lang_ref_Reference();
+ java_lang_ref_Reference___INIT___(me);
+ return me;
+}
+
+void java_lang_ref_Reference___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ref_Reference___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.ref.Reference", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Reference.java", 48)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Reference.java", 49)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ref_Reference_clear__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ref_Reference_clear__]
+ XMLVM_ENTER_METHOD("java.lang.ref.Reference", "clear", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Reference.java", 56)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_ref_Reference_enqueue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ref_Reference_enqueue__]
+ XMLVM_ENTER_METHOD("java.lang.ref.Reference", "enqueue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Reference.java", 67)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ref_Reference_get__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ref_Reference_get__]
+ XMLVM_ENTER_METHOD("java.lang.ref.Reference", "get", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Reference.java", 77)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_ref_Reference*) _r1.o)->fields.java_lang_ref_Reference.obj_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_ref_Reference_isEnqueued__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ref_Reference_isEnqueued__]
+ XMLVM_ENTER_METHOD("java.lang.ref.Reference", "isEnqueued", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Reference.java", 87)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ref_Reference_initReference___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ref_Reference_initReference___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.ref.Reference", "initReference", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Reference.java", 98)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_ref_Reference*) _r0.o)->fields.java_lang_ref_Reference.obj_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Reference.java", 99)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ref_Reference_initReference___java_lang_Object_java_lang_ref_ReferenceQueue(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ref_Reference_initReference___java_lang_Object_java_lang_ref_ReferenceQueue]
+ XMLVM_ENTER_METHOD("java.lang.ref.Reference", "initReference", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("Reference.java", 110)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_ref_Reference*) _r0.o)->fields.java_lang_ref_Reference.obj_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Reference.java", 111)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_ref_Reference_enqueueImpl__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ref_Reference_enqueueImpl__]
+ XMLVM_ENTER_METHOD("java.lang.ref.Reference", "enqueueImpl", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Reference.java", 120)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ref_Reference_dequeue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ref_Reference_dequeue__]
+ XMLVM_ENTER_METHOD("java.lang.ref.Reference", "dequeue", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Reference.java", 128)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_ref_Reference.h b/tests/nbody-java/java_lang_ref_Reference.h
new file mode 100644
index 00000000..10e09c11
--- /dev/null
+++ b/tests/nbody-java/java_lang_ref_Reference.h
@@ -0,0 +1,64 @@
+#ifndef __JAVA_LANG_REF_REFERENCE__
+#define __JAVA_LANG_REF_REFERENCE__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_ref_Reference 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_ref_ReferenceQueue
+#define XMLVM_FORWARD_DECL_java_lang_ref_ReferenceQueue
+XMLVM_FORWARD_DECL(java_lang_ref_ReferenceQueue)
+#endif
+// Class declarations for java.lang.ref.Reference
+XMLVM_DEFINE_CLASS(java_lang_ref_Reference, 6, XMLVM_ITABLE_SIZE_java_lang_ref_Reference)
+
+extern JAVA_OBJECT __CLASS_java_lang_ref_Reference;
+extern JAVA_OBJECT __CLASS_java_lang_ref_Reference_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_ref_Reference_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_ref_Reference_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_ref_Reference
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_ref_Reference \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT obj_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_ref_Reference \
+ } java_lang_ref_Reference
+
+struct java_lang_ref_Reference {
+ __TIB_DEFINITION_java_lang_ref_Reference* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_ref_Reference;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_ref_Reference
+#define XMLVM_FORWARD_DECL_java_lang_ref_Reference
+typedef struct java_lang_ref_Reference java_lang_ref_Reference;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_ref_Reference 6
+
+void __INIT_java_lang_ref_Reference();
+void __INIT_IMPL_java_lang_ref_Reference();
+void __DELETE_java_lang_ref_Reference(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_ref_Reference(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_ref_Reference();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_ref_Reference();
+void java_lang_ref_Reference___INIT___(JAVA_OBJECT me);
+void java_lang_ref_Reference_clear__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_ref_Reference_enqueue__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_ref_Reference_get__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_ref_Reference_isEnqueued__(JAVA_OBJECT me);
+void java_lang_ref_Reference_initReference___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_ref_Reference_initReference___java_lang_Object_java_lang_ref_ReferenceQueue(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_BOOLEAN java_lang_ref_Reference_enqueueImpl__(JAVA_OBJECT me);
+void java_lang_ref_Reference_dequeue__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_lang_ref_ReferenceQueue.c b/tests/nbody-java/java_lang_ref_ReferenceQueue.c
new file mode 100644
index 00000000..6082dbc4
--- /dev/null
+++ b/tests/nbody-java/java_lang_ref_ReferenceQueue.c
@@ -0,0 +1,673 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_System.h"
+#include "java_lang_ref_Reference.h"
+
+#include "java_lang_ref_ReferenceQueue.h"
+
+#define XMLVM_CURRENT_CLASS_NAME ReferenceQueue
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_ref_ReferenceQueue
+
+__TIB_DEFINITION_java_lang_ref_ReferenceQueue __TIB_java_lang_ref_ReferenceQueue = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_ref_ReferenceQueue, // classInitializer
+ "java.lang.ref.ReferenceQueue", // className
+ "java.lang.ref", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<T:Ljava/lang/Object;>Ljava/lang/Object;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_ref_ReferenceQueue), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_ref_ReferenceQueue;
+JAVA_OBJECT __CLASS_java_lang_ref_ReferenceQueue_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_ref_ReferenceQueue_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_ref_ReferenceQueue_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_INT _STATIC_java_lang_ref_ReferenceQueue_DEFAULT_QUEUE_SIZE;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_ref_ReferenceQueue()
+{
+ staticInitializerLock(&__TIB_java_lang_ref_ReferenceQueue);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_ref_ReferenceQueue.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_ref_ReferenceQueue.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_ref_ReferenceQueue);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_ref_ReferenceQueue.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_ref_ReferenceQueue.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_ref_ReferenceQueue.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.ref.ReferenceQueue")
+ __INIT_IMPL_java_lang_ref_ReferenceQueue();
+ }
+}
+
+void __INIT_IMPL_java_lang_ref_ReferenceQueue()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_ref_ReferenceQueue.newInstanceFunc = __NEW_INSTANCE_java_lang_ref_ReferenceQueue;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_ref_ReferenceQueue.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_lang_ref_ReferenceQueue.numImplementedInterfaces = 0;
+ __TIB_java_lang_ref_ReferenceQueue.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_java_lang_ref_ReferenceQueue_DEFAULT_QUEUE_SIZE = 128;
+
+ __TIB_java_lang_ref_ReferenceQueue.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_ref_ReferenceQueue.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_ref_ReferenceQueue.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_ref_ReferenceQueue.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_ref_ReferenceQueue.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_ref_ReferenceQueue.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_ref_ReferenceQueue.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_ref_ReferenceQueue.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_ref_ReferenceQueue = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_ref_ReferenceQueue);
+ __TIB_java_lang_ref_ReferenceQueue.clazz = __CLASS_java_lang_ref_ReferenceQueue;
+ __TIB_java_lang_ref_ReferenceQueue.baseType = JAVA_NULL;
+ __CLASS_java_lang_ref_ReferenceQueue_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ref_ReferenceQueue);
+ __CLASS_java_lang_ref_ReferenceQueue_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ref_ReferenceQueue_1ARRAY);
+ __CLASS_java_lang_ref_ReferenceQueue_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ref_ReferenceQueue_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_ref_ReferenceQueue]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_ref_ReferenceQueue.classInitialized = 1;
+}
+
+void __DELETE_java_lang_ref_ReferenceQueue(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_ref_ReferenceQueue]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_ref_ReferenceQueue(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_ref_ReferenceQueue*) me)->fields.java_lang_ref_ReferenceQueue.references_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ ((java_lang_ref_ReferenceQueue*) me)->fields.java_lang_ref_ReferenceQueue.head_ = 0;
+ ((java_lang_ref_ReferenceQueue*) me)->fields.java_lang_ref_ReferenceQueue.tail_ = 0;
+ ((java_lang_ref_ReferenceQueue*) me)->fields.java_lang_ref_ReferenceQueue.empty_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_ref_ReferenceQueue]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_ref_ReferenceQueue()
+{ XMLVM_CLASS_INIT(java_lang_ref_ReferenceQueue)
+java_lang_ref_ReferenceQueue* me = (java_lang_ref_ReferenceQueue*) XMLVM_MALLOC(sizeof(java_lang_ref_ReferenceQueue));
+ me->tib = &__TIB_java_lang_ref_ReferenceQueue;
+ __INIT_INSTANCE_MEMBERS_java_lang_ref_ReferenceQueue(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_ref_ReferenceQueue]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_ref_ReferenceQueue()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_lang_ref_ReferenceQueue();
+ java_lang_ref_ReferenceQueue___INIT___(me);
+ return me;
+}
+
+JAVA_INT java_lang_ref_ReferenceQueue_GET_DEFAULT_QUEUE_SIZE()
+{
+ XMLVM_CLASS_INIT(java_lang_ref_ReferenceQueue)
+ return _STATIC_java_lang_ref_ReferenceQueue_DEFAULT_QUEUE_SIZE;
+}
+
+void java_lang_ref_ReferenceQueue_PUT_DEFAULT_QUEUE_SIZE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_ref_ReferenceQueue)
+_STATIC_java_lang_ref_ReferenceQueue_DEFAULT_QUEUE_SIZE = v;
+}
+
+void java_lang_ref_ReferenceQueue___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ref_ReferenceQueue___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.ref.ReferenceQueue", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 43)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 44)
+ _r0.i = 128;
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_lang_ref_ReferenceQueue_newArray___int(_r2.o, _r0.i);
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_ref_ReferenceQueue*) _r2.o)->fields.java_lang_ref_ReferenceQueue.references_ = _r0.o;
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 45)
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_ref_ReferenceQueue*) _r2.o)->fields.java_lang_ref_ReferenceQueue.head_ = _r1.i;
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 46)
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_ref_ReferenceQueue*) _r2.o)->fields.java_lang_ref_ReferenceQueue.tail_ = _r1.i;
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 47)
+ _r0.i = 1;
+ XMLVM_CHECK_NPE(2)
+ ((java_lang_ref_ReferenceQueue*) _r2.o)->fields.java_lang_ref_ReferenceQueue.empty_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 48)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ref_ReferenceQueue_newArray___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ref_ReferenceQueue_newArray___int]
+ XMLVM_ENTER_METHOD("java.lang.ref.ReferenceQueue", "newArray", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 52)
+ XMLVM_CLASS_INIT(java_lang_ref_Reference)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_ref_Reference, _r2.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ref_ReferenceQueue_poll__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ref_ReferenceQueue_poll__]
+ XMLVM_ENTER_METHOD("java.lang.ref.ReferenceQueue", "poll", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 65)
+ java_lang_Object_acquireLockRecursive__(_r3.o);
+ XMLVM_TRY_BEGIN(w1725aaab7b1b4)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 66)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.empty_;
+ if (_r0.i == 0) { XMLVM_MEMCPY(curThread_w1725aaab7b1b4->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaab7b1b4, sizeof(XMLVM_JMP_BUF)); goto label8; };
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 67)
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ _r0.o = JAVA_NULL;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1725aaab7b1b4)
+ XMLVM_CATCH_SPECIFIC(w1725aaab7b1b4,java_lang_Object,42)
+ XMLVM_CATCH_END(w1725aaab7b1b4)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab7b1b4)
+ label7:;
+ XMLVM_TRY_BEGIN(w1725aaab7b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 78)
+ XMLVM_MEMCPY(curThread_w1725aaab7b1b6->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaab7b1b6, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1725aaab7b1b6)
+ XMLVM_CATCH_SPECIFIC(w1725aaab7b1b6,java_lang_Object,42)
+ XMLVM_CATCH_END(w1725aaab7b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab7b1b6)
+ label8:;
+ XMLVM_TRY_BEGIN(w1725aaab7b1b8)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 69)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.references_;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.head_;
+ _r2.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.head_ = _r2.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 70)
+ XMLVM_CHECK_NPE(0)
+ java_lang_ref_Reference_dequeue__(_r0.o);
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 71)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.head_;
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.references_;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ if (_r1.i != _r2.i) { XMLVM_MEMCPY(curThread_w1725aaab7b1b8->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaab7b1b8, sizeof(XMLVM_JMP_BUF)); goto label31; };
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 72)
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.head_ = _r1.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1725aaab7b1b8)
+ XMLVM_CATCH_SPECIFIC(w1725aaab7b1b8,java_lang_Object,42)
+ XMLVM_CATCH_END(w1725aaab7b1b8)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab7b1b8)
+ label31:;
+ XMLVM_TRY_BEGIN(w1725aaab7b1c10)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 74)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.head_;
+ XMLVM_CHECK_NPE(3)
+ _r2.i = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.tail_;
+ if (_r1.i != _r2.i) { XMLVM_MEMCPY(curThread_w1725aaab7b1c10->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaab7b1c10, sizeof(XMLVM_JMP_BUF)); goto label40; };
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 75)
+ _r1.i = 1;
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.empty_ = _r1.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1725aaab7b1c10)
+ XMLVM_CATCH_SPECIFIC(w1725aaab7b1c10,java_lang_Object,42)
+ XMLVM_CATCH_END(w1725aaab7b1c10)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab7b1c10)
+ label40:;
+ XMLVM_TRY_BEGIN(w1725aaab7b1c12)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ { XMLVM_MEMCPY(curThread_w1725aaab7b1c12->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaab7b1c12, sizeof(XMLVM_JMP_BUF)); goto label7; };
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1725aaab7b1c12)
+ XMLVM_CATCH_SPECIFIC(w1725aaab7b1c12,java_lang_Object,42)
+ XMLVM_CATCH_END(w1725aaab7b1c12)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab7b1c12)
+ label42:;
+ XMLVM_TRY_BEGIN(w1725aaab7b1c14)
+ // Begin try
+ java_lang_Thread* curThread_w1725aaab7b1c14aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w1725aaab7b1c14aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1725aaab7b1c14)
+ XMLVM_CATCH_SPECIFIC(w1725aaab7b1c14,java_lang_Object,42)
+ XMLVM_CATCH_END(w1725aaab7b1c14)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab7b1c14)
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ref_ReferenceQueue_remove__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ref_ReferenceQueue_remove__]
+ XMLVM_ENTER_METHOD("java.lang.ref.ReferenceQueue", "remove", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 91)
+ _r0.l = 0;
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_lang_ref_ReferenceQueue_remove___long(_r2.o, _r0.l);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_ref_ReferenceQueue_remove___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ref_ReferenceQueue_remove___long]
+ XMLVM_ENTER_METHOD("java.lang.ref.ReferenceQueue", "remove", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ _r3.o = me;
+ _r4.l = n1;
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 112)
+ _r0.l = 0;
+ _r0.i = _r4.l > _r0.l ? 1 : (_r4.l == _r0.l ? 0 : -1);
+ if (_r0.i >= 0) goto label12;
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 113)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label12:;
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 117)
+ java_lang_Object_acquireLockRecursive__(_r3.o);
+ XMLVM_TRY_BEGIN(w1725aaab9b1c14)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 118)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.empty_;
+ if (_r0.i == 0) { XMLVM_MEMCPY(curThread_w1725aaab9b1c14->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaab9b1c14, sizeof(XMLVM_JMP_BUF)); goto label27; };
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 119)
+ XMLVM_CHECK_NPE(3)
+ java_lang_Object_wait___long(_r3.o, _r4.l);
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 120)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.empty_;
+ if (_r0.i == 0) { XMLVM_MEMCPY(curThread_w1725aaab9b1c14->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaab9b1c14, sizeof(XMLVM_JMP_BUF)); goto label27; };
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 121)
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ _r0.o = JAVA_NULL;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1725aaab9b1c14)
+ XMLVM_CATCH_SPECIFIC(w1725aaab9b1c14,java_lang_Object,61)
+ XMLVM_CATCH_END(w1725aaab9b1c14)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab9b1c14)
+ label26:;
+ XMLVM_TRY_BEGIN(w1725aaab9b1c16)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 135)
+ XMLVM_MEMCPY(curThread_w1725aaab9b1c16->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaab9b1c16, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1725aaab9b1c16)
+ XMLVM_CATCH_SPECIFIC(w1725aaab9b1c16,java_lang_Object,61)
+ XMLVM_CATCH_END(w1725aaab9b1c16)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab9b1c16)
+ label27:;
+ XMLVM_TRY_BEGIN(w1725aaab9b1c18)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 124)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.references_;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.head_;
+ _r2.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.head_ = _r2.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 125)
+ XMLVM_CHECK_NPE(0)
+ java_lang_ref_Reference_dequeue__(_r0.o);
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 126)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.head_;
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.references_;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ if (_r1.i != _r2.i) { XMLVM_MEMCPY(curThread_w1725aaab9b1c18->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaab9b1c18, sizeof(XMLVM_JMP_BUF)); goto label50; };
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 127)
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.head_ = _r1.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1725aaab9b1c18)
+ XMLVM_CATCH_SPECIFIC(w1725aaab9b1c18,java_lang_Object,61)
+ XMLVM_CATCH_END(w1725aaab9b1c18)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab9b1c18)
+ label50:;
+ XMLVM_TRY_BEGIN(w1725aaab9b1c20)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 129)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.head_;
+ XMLVM_CHECK_NPE(3)
+ _r2.i = ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.tail_;
+ if (_r1.i != _r2.i) { XMLVM_MEMCPY(curThread_w1725aaab9b1c20->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaab9b1c20, sizeof(XMLVM_JMP_BUF)); goto label64; };
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 130)
+ _r1.i = 1;
+ XMLVM_CHECK_NPE(3)
+ ((java_lang_ref_ReferenceQueue*) _r3.o)->fields.java_lang_ref_ReferenceQueue.empty_ = _r1.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1725aaab9b1c20)
+ XMLVM_CATCH_SPECIFIC(w1725aaab9b1c20,java_lang_Object,61)
+ XMLVM_CATCH_END(w1725aaab9b1c20)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab9b1c20)
+ label59:;
+ XMLVM_TRY_BEGIN(w1725aaab9b1c22)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ { XMLVM_MEMCPY(curThread_w1725aaab9b1c22->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaab9b1c22, sizeof(XMLVM_JMP_BUF)); goto label26; };
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1725aaab9b1c22)
+ XMLVM_CATCH_SPECIFIC(w1725aaab9b1c22,java_lang_Object,61)
+ XMLVM_CATCH_END(w1725aaab9b1c22)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab9b1c22)
+ label61:;
+ XMLVM_TRY_BEGIN(w1725aaab9b1c24)
+ // Begin try
+ java_lang_Thread* curThread_w1725aaab9b1c24aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w1725aaab9b1c24aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1725aaab9b1c24)
+ XMLVM_CATCH_SPECIFIC(w1725aaab9b1c24,java_lang_Object,61)
+ XMLVM_CATCH_END(w1725aaab9b1c24)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab9b1c24)
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label64:;
+ XMLVM_TRY_BEGIN(w1725aaab9b1c27)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 132)
+ XMLVM_CHECK_NPE(3)
+ java_lang_Object_notifyAll__(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1725aaab9b1c27)
+ XMLVM_CATCH_SPECIFIC(w1725aaab9b1c27,java_lang_Object,61)
+ XMLVM_CATCH_END(w1725aaab9b1c27)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1725aaab9b1c27)
+ goto label59;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_ref_ReferenceQueue_enqueue___java_lang_ref_Reference(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ref_ReferenceQueue_enqueue___java_lang_ref_Reference]
+ XMLVM_ENTER_METHOD("java.lang.ref.ReferenceQueue", "enqueue", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 147)
+ java_lang_Object_acquireLockRecursive__(_r6.o);
+ XMLVM_TRY_BEGIN(w1725aaac10b1b5)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 148)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.empty_;
+ if (_r0.i != 0) { XMLVM_MEMCPY(curThread_w1725aaac10b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaac10b1b5, sizeof(XMLVM_JMP_BUF)); goto label68; };
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.head_;
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.tail_;
+ if (_r0.i != _r1.i) { XMLVM_MEMCPY(curThread_w1725aaac10b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaac10b1b5, sizeof(XMLVM_JMP_BUF)); goto label68; };
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 150)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.references_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ _r0.d = (JAVA_DOUBLE) _r0.i;
+ _r2.d = 1.1;
+ _r0.d = _r0.d * _r2.d;
+ _r0.i = (JAVA_INT) _r0.d;
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 151)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = java_lang_ref_ReferenceQueue_newArray___int(_r6.o, _r0.i);
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 152)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.references_;
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.head_;
+ _r3.i = 0;
+ XMLVM_CHECK_NPE(6)
+ _r4.o = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.references_;
+ _r4.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
+ XMLVM_CHECK_NPE(6)
+ _r5.i = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.head_;
+ _r4.i = _r4.i - _r5.i;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r2.i, _r0.o, _r3.i, _r4.i);
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 153)
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.tail_;
+ if (_r1.i <= 0) { XMLVM_MEMCPY(curThread_w1725aaac10b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaac10b1b5, sizeof(XMLVM_JMP_BUF)); goto label58; };
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 154)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.references_;
+ _r2.i = 0;
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.references_;
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ XMLVM_CHECK_NPE(6)
+ _r4.i = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.head_;
+ _r3.i = _r3.i - _r4.i;
+ XMLVM_CHECK_NPE(6)
+ _r4.i = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.tail_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r2.i, _r0.o, _r3.i, _r4.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1725aaac10b1b5)
+ XMLVM_CATCH_SPECIFIC(w1725aaac10b1b5,java_lang_Object,97)
+ XMLVM_CATCH_END(w1725aaac10b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1725aaac10b1b5)
+ label58:;
+ XMLVM_TRY_BEGIN(w1725aaac10b1b7)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 156)
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.head_ = _r1.i;
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 157)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.references_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.tail_ = _r1.i;
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 158)
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.references_ = _r0.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1725aaac10b1b7)
+ XMLVM_CATCH_SPECIFIC(w1725aaac10b1b7,java_lang_Object,97)
+ XMLVM_CATCH_END(w1725aaac10b1b7)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1725aaac10b1b7)
+ label68:;
+ XMLVM_TRY_BEGIN(w1725aaac10b1b9)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 160)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.references_;
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.tail_;
+ _r2.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.tail_ = _r2.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.o;
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 161)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.tail_;
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.references_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ if (_r0.i != _r1.i) { XMLVM_MEMCPY(curThread_w1725aaac10b1b9->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaac10b1b9, sizeof(XMLVM_JMP_BUF)); goto label88; };
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 162)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.tail_ = _r0.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1725aaac10b1b9)
+ XMLVM_CATCH_SPECIFIC(w1725aaac10b1b9,java_lang_Object,97)
+ XMLVM_CATCH_END(w1725aaac10b1b9)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1725aaac10b1b9)
+ label88:;
+ XMLVM_TRY_BEGIN(w1725aaac10b1c11)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 164)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(6)
+ ((java_lang_ref_ReferenceQueue*) _r6.o)->fields.java_lang_ref_ReferenceQueue.empty_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 165)
+ XMLVM_CHECK_NPE(6)
+ java_lang_Object_notifyAll__(_r6.o);
+ java_lang_Object_releaseLockRecursive__(_r6.o);
+ XMLVM_SOURCE_POSITION("ReferenceQueue.java", 167)
+ _r0.i = 1;
+ XMLVM_MEMCPY(curThread_w1725aaac10b1c11->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1725aaac10b1c11, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1725aaac10b1c11)
+ XMLVM_CATCH_SPECIFIC(w1725aaac10b1c11,java_lang_Object,97)
+ XMLVM_CATCH_END(w1725aaac10b1c11)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1725aaac10b1c11)
+ label97:;
+ XMLVM_TRY_BEGIN(w1725aaac10b1c13)
+ // Begin try
+ java_lang_Thread* curThread_w1725aaac10b1c13aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w1725aaac10b1c13aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r6.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1725aaac10b1c13)
+ XMLVM_CATCH_SPECIFIC(w1725aaac10b1c13,java_lang_Object,97)
+ XMLVM_CATCH_END(w1725aaac10b1c13)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1725aaac10b1c13)
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_ref_ReferenceQueue.h b/tests/nbody-java/java_lang_ref_ReferenceQueue.h
new file mode 100644
index 00000000..79a77ffc
--- /dev/null
+++ b/tests/nbody-java/java_lang_ref_ReferenceQueue.h
@@ -0,0 +1,74 @@
+#ifndef __JAVA_LANG_REF_REFERENCEQUEUE__
+#define __JAVA_LANG_REF_REFERENCEQUEUE__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_ref_ReferenceQueue 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_ref_Reference
+#define XMLVM_FORWARD_DECL_java_lang_ref_Reference
+XMLVM_FORWARD_DECL(java_lang_ref_Reference)
+#endif
+// Class declarations for java.lang.ref.ReferenceQueue
+XMLVM_DEFINE_CLASS(java_lang_ref_ReferenceQueue, 6, XMLVM_ITABLE_SIZE_java_lang_ref_ReferenceQueue)
+
+extern JAVA_OBJECT __CLASS_java_lang_ref_ReferenceQueue;
+extern JAVA_OBJECT __CLASS_java_lang_ref_ReferenceQueue_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_ref_ReferenceQueue_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_ref_ReferenceQueue_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_ref_ReferenceQueue
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_ref_ReferenceQueue \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT references_; \
+ JAVA_INT head_; \
+ JAVA_INT tail_; \
+ JAVA_BOOLEAN empty_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_ref_ReferenceQueue \
+ } java_lang_ref_ReferenceQueue
+
+struct java_lang_ref_ReferenceQueue {
+ __TIB_DEFINITION_java_lang_ref_ReferenceQueue* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_ref_ReferenceQueue;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_ref_ReferenceQueue
+#define XMLVM_FORWARD_DECL_java_lang_ref_ReferenceQueue
+typedef struct java_lang_ref_ReferenceQueue java_lang_ref_ReferenceQueue;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_ref_ReferenceQueue 6
+
+void __INIT_java_lang_ref_ReferenceQueue();
+void __INIT_IMPL_java_lang_ref_ReferenceQueue();
+void __DELETE_java_lang_ref_ReferenceQueue(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_ref_ReferenceQueue(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_ref_ReferenceQueue();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_ref_ReferenceQueue();
+JAVA_INT java_lang_ref_ReferenceQueue_GET_DEFAULT_QUEUE_SIZE();
+void java_lang_ref_ReferenceQueue_PUT_DEFAULT_QUEUE_SIZE(JAVA_INT v);
+void java_lang_ref_ReferenceQueue___INIT___(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_ref_ReferenceQueue_newArray___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_OBJECT java_lang_ref_ReferenceQueue_poll__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_ref_ReferenceQueue_remove__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_ref_ReferenceQueue_remove___long(JAVA_OBJECT me, JAVA_LONG n1);
+JAVA_BOOLEAN java_lang_ref_ReferenceQueue_enqueue___java_lang_ref_Reference(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_lang_ref_WeakReference.c b/tests/nbody-java/java_lang_ref_WeakReference.c
new file mode 100644
index 00000000..3cf580d8
--- /dev/null
+++ b/tests/nbody-java/java_lang_ref_WeakReference.c
@@ -0,0 +1,185 @@
+#include "xmlvm.h"
+#include "java_lang_Object.h"
+#include "java_lang_ref_ReferenceQueue.h"
+
+#include "java_lang_ref_WeakReference.h"
+
+#define XMLVM_CURRENT_CLASS_NAME WeakReference
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_ref_WeakReference
+
+__TIB_DEFINITION_java_lang_ref_WeakReference __TIB_java_lang_ref_WeakReference = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_ref_WeakReference, // classInitializer
+ "java.lang.ref.WeakReference", // className
+ "java.lang.ref", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<T:Ljava/lang/Object;>Ljava/lang/ref/Reference<TT;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_ref_Reference, // extends
+ sizeof(java_lang_ref_WeakReference), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_ref_WeakReference;
+JAVA_OBJECT __CLASS_java_lang_ref_WeakReference_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_ref_WeakReference_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_ref_WeakReference_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_ref_WeakReference()
+{
+ staticInitializerLock(&__TIB_java_lang_ref_WeakReference);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_ref_WeakReference.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_ref_WeakReference.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_ref_WeakReference);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_ref_WeakReference.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_ref_WeakReference.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_ref_WeakReference.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.ref.WeakReference")
+ __INIT_IMPL_java_lang_ref_WeakReference();
+ }
+}
+
+void __INIT_IMPL_java_lang_ref_WeakReference()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_ref_Reference)
+ __TIB_java_lang_ref_WeakReference.newInstanceFunc = __NEW_INSTANCE_java_lang_ref_WeakReference;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_ref_WeakReference.vtable, __TIB_java_lang_ref_Reference.vtable, sizeof(__TIB_java_lang_ref_Reference.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_lang_ref_WeakReference.numImplementedInterfaces = 0;
+ __TIB_java_lang_ref_WeakReference.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ __TIB_java_lang_ref_WeakReference.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_ref_WeakReference.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_ref_WeakReference.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_ref_WeakReference.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_ref_WeakReference.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_ref_WeakReference.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_ref_WeakReference.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_ref_WeakReference.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_ref_WeakReference = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_ref_WeakReference);
+ __TIB_java_lang_ref_WeakReference.clazz = __CLASS_java_lang_ref_WeakReference;
+ __TIB_java_lang_ref_WeakReference.baseType = JAVA_NULL;
+ __CLASS_java_lang_ref_WeakReference_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ref_WeakReference);
+ __CLASS_java_lang_ref_WeakReference_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ref_WeakReference_1ARRAY);
+ __CLASS_java_lang_ref_WeakReference_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_ref_WeakReference_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_ref_WeakReference]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_ref_WeakReference.classInitialized = 1;
+}
+
+void __DELETE_java_lang_ref_WeakReference(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_ref_WeakReference]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_ref_WeakReference(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_ref_Reference(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_ref_WeakReference]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_ref_WeakReference()
+{ XMLVM_CLASS_INIT(java_lang_ref_WeakReference)
+java_lang_ref_WeakReference* me = (java_lang_ref_WeakReference*) XMLVM_MALLOC(sizeof(java_lang_ref_WeakReference));
+ me->tib = &__TIB_java_lang_ref_WeakReference;
+ __INIT_INSTANCE_MEMBERS_java_lang_ref_WeakReference(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_ref_WeakReference]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_ref_WeakReference()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+void java_lang_ref_WeakReference___INIT____java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ref_WeakReference___INIT____java_lang_Object]
+ XMLVM_ENTER_METHOD("java.lang.ref.WeakReference", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("WeakReference.java", 82)
+ XMLVM_CHECK_NPE(0)
+ java_lang_ref_Reference___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("WeakReference.java", 83)
+ XMLVM_CHECK_NPE(0)
+ java_lang_ref_Reference_initReference___java_lang_Object(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("WeakReference.java", 84)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_ref_WeakReference___INIT____java_lang_Object_java_lang_ref_ReferenceQueue(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_ref_WeakReference___INIT____java_lang_Object_java_lang_ref_ReferenceQueue]
+ XMLVM_ENTER_METHOD("java.lang.ref.WeakReference", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("WeakReference.java", 96)
+ XMLVM_CHECK_NPE(0)
+ java_lang_ref_Reference___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("WeakReference.java", 97)
+ XMLVM_CHECK_NPE(0)
+ java_lang_ref_Reference_initReference___java_lang_Object_java_lang_ref_ReferenceQueue(_r0.o, _r1.o, _r2.o);
+ XMLVM_SOURCE_POSITION("WeakReference.java", 98)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_ref_WeakReference.h b/tests/nbody-java/java_lang_ref_WeakReference.h
new file mode 100644
index 00000000..5e763d61
--- /dev/null
+++ b/tests/nbody-java/java_lang_ref_WeakReference.h
@@ -0,0 +1,60 @@
+#ifndef __JAVA_LANG_REF_WEAKREFERENCE__
+#define __JAVA_LANG_REF_WEAKREFERENCE__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_ref_WeakReference 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_ref_Reference.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_ref_ReferenceQueue
+#define XMLVM_FORWARD_DECL_java_lang_ref_ReferenceQueue
+XMLVM_FORWARD_DECL(java_lang_ref_ReferenceQueue)
+#endif
+// Class declarations for java.lang.ref.WeakReference
+XMLVM_DEFINE_CLASS(java_lang_ref_WeakReference, 6, XMLVM_ITABLE_SIZE_java_lang_ref_WeakReference)
+
+extern JAVA_OBJECT __CLASS_java_lang_ref_WeakReference;
+extern JAVA_OBJECT __CLASS_java_lang_ref_WeakReference_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_ref_WeakReference_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_ref_WeakReference_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_ref_WeakReference
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_ref_WeakReference \
+ __INSTANCE_FIELDS_java_lang_ref_Reference; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_ref_WeakReference \
+ } java_lang_ref_WeakReference
+
+struct java_lang_ref_WeakReference {
+ __TIB_DEFINITION_java_lang_ref_WeakReference* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_ref_WeakReference;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_ref_WeakReference
+#define XMLVM_FORWARD_DECL_java_lang_ref_WeakReference
+typedef struct java_lang_ref_WeakReference java_lang_ref_WeakReference;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_ref_WeakReference 6
+
+void __INIT_java_lang_ref_WeakReference();
+void __INIT_IMPL_java_lang_ref_WeakReference();
+void __DELETE_java_lang_ref_WeakReference(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_ref_WeakReference(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_ref_WeakReference();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_ref_WeakReference();
+void java_lang_ref_WeakReference___INIT____java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_ref_WeakReference___INIT____java_lang_Object_java_lang_ref_ReferenceQueue(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+
+#endif
diff --git a/tests/nbody-java/java_lang_reflect_AccessibleObject.c b/tests/nbody-java/java_lang_reflect_AccessibleObject.c
new file mode 100644
index 00000000..851b8ada
--- /dev/null
+++ b/tests/nbody-java/java_lang_reflect_AccessibleObject.c
@@ -0,0 +1,459 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_String.h"
+
+#include "java_lang_reflect_AccessibleObject.h"
+
+#define XMLVM_CURRENT_CLASS_NAME AccessibleObject
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_reflect_AccessibleObject
+
+__TIB_DEFINITION_java_lang_reflect_AccessibleObject __TIB_java_lang_reflect_AccessibleObject = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_reflect_AccessibleObject, // classInitializer
+ "java.lang.reflect.AccessibleObject", // className
+ "java.lang.reflect", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_reflect_AccessibleObject), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_reflect_AccessibleObject;
+JAVA_OBJECT __CLASS_java_lang_reflect_AccessibleObject_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_reflect_AccessibleObject_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_reflect_AccessibleObject_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_OBJECT _STATIC_java_lang_reflect_AccessibleObject_emptyArgs;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_reflect_AccessibleObject()
+{
+ staticInitializerLock(&__TIB_java_lang_reflect_AccessibleObject);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_reflect_AccessibleObject.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_reflect_AccessibleObject.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_reflect_AccessibleObject);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_reflect_AccessibleObject.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_reflect_AccessibleObject.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_reflect_AccessibleObject.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.reflect.AccessibleObject")
+ __INIT_IMPL_java_lang_reflect_AccessibleObject();
+ }
+}
+
+void __INIT_IMPL_java_lang_reflect_AccessibleObject()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_reflect_AccessibleObject.newInstanceFunc = __NEW_INSTANCE_java_lang_reflect_AccessibleObject;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_reflect_AccessibleObject.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_reflect_AccessibleObject.vtable[9] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_reflect_AccessibleObject.vtable[10] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_reflect_AccessibleObject.vtable[11] = (VTABLE_PTR) &java_lang_reflect_AccessibleObject_isAnnotationPresent___java_lang_Class;
+ __TIB_java_lang_reflect_AccessibleObject.vtable[8] = (VTABLE_PTR) &java_lang_reflect_AccessibleObject_getDeclaredAnnotations__;
+ __TIB_java_lang_reflect_AccessibleObject.vtable[7] = (VTABLE_PTR) &java_lang_reflect_AccessibleObject_getAnnotations__;
+ __TIB_java_lang_reflect_AccessibleObject.vtable[6] = (VTABLE_PTR) &java_lang_reflect_AccessibleObject_getAnnotation___java_lang_Class;
+ xmlvm_init_native_java_lang_reflect_AccessibleObject();
+ // Initialize interface information
+ __TIB_java_lang_reflect_AccessibleObject.numImplementedInterfaces = 1;
+ __TIB_java_lang_reflect_AccessibleObject.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_lang_reflect_AnnotatedElement)
+
+ __TIB_java_lang_reflect_AccessibleObject.implementedInterfaces[0][0] = &__TIB_java_lang_reflect_AnnotatedElement;
+ // Initialize itable for this class
+ __TIB_java_lang_reflect_AccessibleObject.itableBegin = &__TIB_java_lang_reflect_AccessibleObject.itable[0];
+ __TIB_java_lang_reflect_AccessibleObject.itable[XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_getAnnotation___java_lang_Class] = __TIB_java_lang_reflect_AccessibleObject.vtable[6];
+ __TIB_java_lang_reflect_AccessibleObject.itable[XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_getAnnotations__] = __TIB_java_lang_reflect_AccessibleObject.vtable[7];
+ __TIB_java_lang_reflect_AccessibleObject.itable[XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_getDeclaredAnnotations__] = __TIB_java_lang_reflect_AccessibleObject.vtable[8];
+ __TIB_java_lang_reflect_AccessibleObject.itable[XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_isAnnotationPresent___java_lang_Class] = __TIB_java_lang_reflect_AccessibleObject.vtable[11];
+
+ _STATIC_java_lang_reflect_AccessibleObject_emptyArgs = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+
+ __TIB_java_lang_reflect_AccessibleObject.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_reflect_AccessibleObject.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_reflect_AccessibleObject.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_reflect_AccessibleObject.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_reflect_AccessibleObject.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_reflect_AccessibleObject.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_reflect_AccessibleObject.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_reflect_AccessibleObject.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_reflect_AccessibleObject = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_reflect_AccessibleObject);
+ __TIB_java_lang_reflect_AccessibleObject.clazz = __CLASS_java_lang_reflect_AccessibleObject;
+ __TIB_java_lang_reflect_AccessibleObject.baseType = JAVA_NULL;
+ __CLASS_java_lang_reflect_AccessibleObject_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_AccessibleObject);
+ __CLASS_java_lang_reflect_AccessibleObject_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_AccessibleObject_1ARRAY);
+ __CLASS_java_lang_reflect_AccessibleObject_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_AccessibleObject_2ARRAY);
+ java_lang_reflect_AccessibleObject___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_reflect_AccessibleObject]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_reflect_AccessibleObject.classInitialized = 1;
+}
+
+void __DELETE_java_lang_reflect_AccessibleObject(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_reflect_AccessibleObject]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_reflect_AccessibleObject(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_reflect_AccessibleObject]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_reflect_AccessibleObject()
+{ XMLVM_CLASS_INIT(java_lang_reflect_AccessibleObject)
+java_lang_reflect_AccessibleObject* me = (java_lang_reflect_AccessibleObject*) XMLVM_MALLOC(sizeof(java_lang_reflect_AccessibleObject));
+ me->tib = &__TIB_java_lang_reflect_AccessibleObject;
+ __INIT_INSTANCE_MEMBERS_java_lang_reflect_AccessibleObject(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_reflect_AccessibleObject]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_reflect_AccessibleObject()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_lang_reflect_AccessibleObject();
+ java_lang_reflect_AccessibleObject___INIT___(me);
+ return me;
+}
+
+JAVA_OBJECT java_lang_reflect_AccessibleObject_GET_emptyArgs()
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_AccessibleObject)
+ return _STATIC_java_lang_reflect_AccessibleObject_emptyArgs;
+}
+
+void java_lang_reflect_AccessibleObject_PUT_emptyArgs(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_AccessibleObject)
+_STATIC_java_lang_reflect_AccessibleObject_emptyArgs = v;
+}
+
+void java_lang_reflect_AccessibleObject___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_AccessibleObject___CLINIT___]
+ XMLVM_ENTER_METHOD("java.lang.reflect.AccessibleObject", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("AccessibleObject.java", 48)
+ _r0.i = 0;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r0.i);
+ java_lang_reflect_AccessibleObject_PUT_emptyArgs( _r0.o);
+ XMLVM_SOURCE_POSITION("AccessibleObject.java", 39)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_reflect_AccessibleObject_setAccessible___java_lang_reflect_AccessibleObject_1ARRAY_boolean(JAVA_OBJECT n1, JAVA_BOOLEAN n2)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_AccessibleObject)
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_AccessibleObject_setAccessible___java_lang_reflect_AccessibleObject_1ARRAY_boolean]
+ XMLVM_ENTER_METHOD("java.lang.reflect.AccessibleObject", "setAccessible", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = n1;
+ _r1.i = n2;
+ XMLVM_SOURCE_POSITION("AccessibleObject.java", 68)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_reflect_AccessibleObject_marshallArguments___java_lang_Class_1ARRAY_java_lang_Object_1ARRAY(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_AccessibleObject)
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_AccessibleObject_marshallArguments___java_lang_Class_1ARRAY_java_lang_Object_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.reflect.AccessibleObject", "marshallArguments", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("AccessibleObject.java", 83)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void java_lang_reflect_AccessibleObject_initializeClass___java_lang_Class(JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_AccessibleObject_getStackClass___int(JAVA_INT n1)]
+
+void java_lang_reflect_AccessibleObject___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_AccessibleObject___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.reflect.AccessibleObject", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("AccessibleObject.java", 108)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("AccessibleObject.java", 109)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_AccessibleObject_getParameterTypesImpl__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_INT java_lang_reflect_AccessibleObject_getModifiers__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_AccessibleObject_getExceptionTypesImpl__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_AccessibleObject_getSignature__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_reflect_AccessibleObject_checkAccessibility___java_lang_Class_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)]
+
+JAVA_BOOLEAN java_lang_reflect_AccessibleObject_isAccessible__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_AccessibleObject_isAccessible__]
+ XMLVM_ENTER_METHOD("java.lang.reflect.AccessibleObject", "isAccessible", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("AccessibleObject.java", 166)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_reflect_AccessibleObject_setAccessible___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_AccessibleObject_setAccessible___boolean]
+ XMLVM_ENTER_METHOD("java.lang.reflect.AccessibleObject", "setAccessible", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("AccessibleObject.java", 180)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_reflect_AccessibleObject_isAnnotationPresent___java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_AccessibleObject_isAnnotationPresent___java_lang_Class]
+ XMLVM_ENTER_METHOD("java.lang.reflect.AccessibleObject", "isAnnotationPresent", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("AccessibleObject.java", 184)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_reflect_AccessibleObject_getDeclaredAnnotations__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_AccessibleObject_getDeclaredAnnotations__]
+ XMLVM_ENTER_METHOD("java.lang.reflect.AccessibleObject", "getDeclaredAnnotations", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("AccessibleObject.java", 188)
+ _r0.i = 0;
+
+
+ // Red class access removed: java.lang.annotation.Annotation[]::new-array
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_reflect_AccessibleObject_getAnnotations__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_AccessibleObject_getAnnotations__]
+ XMLVM_ENTER_METHOD("java.lang.reflect.AccessibleObject", "getAnnotations", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("AccessibleObject.java", 192)
+ _r0.i = 0;
+
+
+ // Red class access removed: java.lang.annotation.Annotation[]::new-array
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_reflect_AccessibleObject_getAnnotation___java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_AccessibleObject_getAnnotation___java_lang_Class]
+ XMLVM_ENTER_METHOD("java.lang.reflect.AccessibleObject", "getAnnotation", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("AccessibleObject.java", 196)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_reflect_AccessibleObject_invokeV___java_lang_Object_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_AccessibleObject_invokeV___java_lang_Object_java_lang_Object_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.reflect.AccessibleObject", "invokeV", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("AccessibleObject.java", 209)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_reflect_AccessibleObject_invokeL___java_lang_Object_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_AccessibleObject_invokeL___java_lang_Object_java_lang_Object_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.reflect.AccessibleObject", "invokeL", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("AccessibleObject.java", 223)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_lang_reflect_AccessibleObject_invokeI___java_lang_Object_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_AccessibleObject_invokeI___java_lang_Object_java_lang_Object_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.reflect.AccessibleObject", "invokeI", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("AccessibleObject.java", 237)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_lang_reflect_AccessibleObject_invokeJ___java_lang_Object_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_AccessibleObject_invokeJ___java_lang_Object_java_lang_Object_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.reflect.AccessibleObject", "invokeJ", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.o = n2;
+ XMLVM_SOURCE_POSITION("AccessibleObject.java", 251)
+ _r0.l = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_FLOAT java_lang_reflect_AccessibleObject_invokeF___java_lang_Object_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_AccessibleObject_invokeF___java_lang_Object_java_lang_Object_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.reflect.AccessibleObject", "invokeF", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("AccessibleObject.java", 265)
+ _r0.f = 0.0;
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_DOUBLE java_lang_reflect_AccessibleObject_invokeD___java_lang_Object_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_AccessibleObject_invokeD___java_lang_Object_java_lang_Object_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.reflect.AccessibleObject", "invokeD", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.o = n2;
+ XMLVM_SOURCE_POSITION("AccessibleObject.java", 279)
+ _r0.d = 0.0;
+ XMLVM_EXIT_METHOD()
+ return _r0.d;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_reflect_AccessibleObject.h b/tests/nbody-java/java_lang_reflect_AccessibleObject.h
new file mode 100644
index 00000000..eb0f1f31
--- /dev/null
+++ b/tests/nbody-java/java_lang_reflect_AccessibleObject.h
@@ -0,0 +1,97 @@
+#ifndef __JAVA_LANG_REFLECT_ACCESSIBLEOBJECT__
+#define __JAVA_LANG_REFLECT_ACCESSIBLEOBJECT__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_reflect_AccessibleObject 4
+// Implemented interfaces:
+#include "java_lang_reflect_AnnotatedElement.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+// Class declarations for java.lang.reflect.AccessibleObject
+XMLVM_DEFINE_CLASS(java_lang_reflect_AccessibleObject, 12, XMLVM_ITABLE_SIZE_java_lang_reflect_AccessibleObject)
+
+extern JAVA_OBJECT __CLASS_java_lang_reflect_AccessibleObject;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_AccessibleObject_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_AccessibleObject_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_AccessibleObject_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_reflect_AccessibleObject
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_reflect_AccessibleObject \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_reflect_AccessibleObject \
+ } java_lang_reflect_AccessibleObject
+
+struct java_lang_reflect_AccessibleObject {
+ __TIB_DEFINITION_java_lang_reflect_AccessibleObject* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_reflect_AccessibleObject;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_AccessibleObject
+#define XMLVM_FORWARD_DECL_java_lang_reflect_AccessibleObject
+typedef struct java_lang_reflect_AccessibleObject java_lang_reflect_AccessibleObject;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_reflect_AccessibleObject 12
+#define XMLVM_VTABLE_IDX_java_lang_reflect_AccessibleObject_getModifiers__ 9
+#define XMLVM_VTABLE_IDX_java_lang_reflect_AccessibleObject_getSignature__ 10
+#define XMLVM_VTABLE_IDX_java_lang_reflect_AccessibleObject_isAnnotationPresent___java_lang_Class 11
+#define XMLVM_VTABLE_IDX_java_lang_reflect_AccessibleObject_getDeclaredAnnotations__ 8
+#define XMLVM_VTABLE_IDX_java_lang_reflect_AccessibleObject_getAnnotations__ 7
+#define XMLVM_VTABLE_IDX_java_lang_reflect_AccessibleObject_getAnnotation___java_lang_Class 6
+
+void __INIT_java_lang_reflect_AccessibleObject();
+void __INIT_IMPL_java_lang_reflect_AccessibleObject();
+void __DELETE_java_lang_reflect_AccessibleObject(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_reflect_AccessibleObject(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_reflect_AccessibleObject();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_reflect_AccessibleObject();
+void xmlvm_init_native_java_lang_reflect_AccessibleObject();
+JAVA_OBJECT java_lang_reflect_AccessibleObject_GET_emptyArgs();
+void java_lang_reflect_AccessibleObject_PUT_emptyArgs(JAVA_OBJECT v);
+void java_lang_reflect_AccessibleObject___CLINIT_();
+void java_lang_reflect_AccessibleObject_setAccessible___java_lang_reflect_AccessibleObject_1ARRAY_boolean(JAVA_OBJECT n1, JAVA_BOOLEAN n2);
+JAVA_OBJECT java_lang_reflect_AccessibleObject_marshallArguments___java_lang_Class_1ARRAY_java_lang_Object_1ARRAY(JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_lang_reflect_AccessibleObject_initializeClass___java_lang_Class(JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_reflect_AccessibleObject_getStackClass___int(JAVA_INT n1);
+void java_lang_reflect_AccessibleObject___INIT___(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_reflect_AccessibleObject_getParameterTypesImpl__(JAVA_OBJECT me);
+// Vtable index: 9
+JAVA_INT java_lang_reflect_AccessibleObject_getModifiers__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_reflect_AccessibleObject_getExceptionTypesImpl__(JAVA_OBJECT me);
+// Vtable index: 10
+JAVA_OBJECT java_lang_reflect_AccessibleObject_getSignature__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_reflect_AccessibleObject_checkAccessibility___java_lang_Class_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_BOOLEAN java_lang_reflect_AccessibleObject_isAccessible__(JAVA_OBJECT me);
+void java_lang_reflect_AccessibleObject_setAccessible___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1);
+// Vtable index: 11
+JAVA_BOOLEAN java_lang_reflect_AccessibleObject_isAnnotationPresent___java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 8
+JAVA_OBJECT java_lang_reflect_AccessibleObject_getDeclaredAnnotations__(JAVA_OBJECT me);
+// Vtable index: 7
+JAVA_OBJECT java_lang_reflect_AccessibleObject_getAnnotations__(JAVA_OBJECT me);
+// Vtable index: 6
+JAVA_OBJECT java_lang_reflect_AccessibleObject_getAnnotation___java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_lang_reflect_AccessibleObject_invokeV___java_lang_Object_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_lang_reflect_AccessibleObject_invokeL___java_lang_Object_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_INT java_lang_reflect_AccessibleObject_invokeI___java_lang_Object_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_LONG java_lang_reflect_AccessibleObject_invokeJ___java_lang_Object_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_FLOAT java_lang_reflect_AccessibleObject_invokeF___java_lang_Object_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_DOUBLE java_lang_reflect_AccessibleObject_invokeD___java_lang_Object_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+
+#endif
diff --git a/tests/nbody-java/java_lang_reflect_AnnotatedElement.c b/tests/nbody-java/java_lang_reflect_AnnotatedElement.c
new file mode 100644
index 00000000..f4675083
--- /dev/null
+++ b/tests/nbody-java/java_lang_reflect_AnnotatedElement.c
@@ -0,0 +1,77 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+
+#include "java_lang_reflect_AnnotatedElement.h"
+
+__TIB_DEFINITION_java_lang_reflect_AnnotatedElement __TIB_java_lang_reflect_AnnotatedElement = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_reflect_AnnotatedElement, // classInitializer
+ "java.lang.reflect.AnnotatedElement", // className
+ "java.lang.reflect", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_lang_reflect_AnnotatedElement;
+JAVA_OBJECT __CLASS_java_lang_reflect_AnnotatedElement_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_reflect_AnnotatedElement_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_reflect_AnnotatedElement_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_lang_reflect_AnnotatedElement()
+{
+ staticInitializerLock(&__TIB_java_lang_reflect_AnnotatedElement);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_reflect_AnnotatedElement.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_reflect_AnnotatedElement.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_reflect_AnnotatedElement);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_reflect_AnnotatedElement.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_reflect_AnnotatedElement.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_reflect_AnnotatedElement.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.reflect.AnnotatedElement")
+ __INIT_IMPL_java_lang_reflect_AnnotatedElement();
+ }
+}
+
+void __INIT_IMPL_java_lang_reflect_AnnotatedElement()
+{
+ __TIB_java_lang_reflect_AnnotatedElement.numInterfaces = 0;
+ __TIB_java_lang_reflect_AnnotatedElement.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_reflect_AnnotatedElement.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_lang_reflect_AnnotatedElement.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_reflect_AnnotatedElement.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_reflect_AnnotatedElement.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_lang_reflect_AnnotatedElement = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_reflect_AnnotatedElement);
+ __TIB_java_lang_reflect_AnnotatedElement.clazz = __CLASS_java_lang_reflect_AnnotatedElement;
+ __TIB_java_lang_reflect_AnnotatedElement.baseType = JAVA_NULL;
+ __CLASS_java_lang_reflect_AnnotatedElement_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_AnnotatedElement);
+ __CLASS_java_lang_reflect_AnnotatedElement_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_AnnotatedElement_1ARRAY);
+ __CLASS_java_lang_reflect_AnnotatedElement_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_AnnotatedElement_2ARRAY);
+
+ __TIB_java_lang_reflect_AnnotatedElement.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_lang_reflect_AnnotatedElement.h b/tests/nbody-java/java_lang_reflect_AnnotatedElement.h
new file mode 100644
index 00000000..3c406d87
--- /dev/null
+++ b/tests/nbody-java/java_lang_reflect_AnnotatedElement.h
@@ -0,0 +1,35 @@
+#ifndef __JAVA_LANG_REFLECT_ANNOTATEDELEMENT__
+#define __JAVA_LANG_REFLECT_ANNOTATEDELEMENT__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_getAnnotation___java_lang_Class 0
+#define XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_getAnnotations__ 1
+#define XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_getDeclaredAnnotations__ 2
+#define XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_isAnnotationPresent___java_lang_Class 3
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+
+XMLVM_DEFINE_CLASS(java_lang_reflect_AnnotatedElement, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_lang_reflect_AnnotatedElement;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_AnnotatedElement_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_AnnotatedElement_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_AnnotatedElement_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_AnnotatedElement
+#define XMLVM_FORWARD_DECL_java_lang_reflect_AnnotatedElement
+typedef struct java_lang_reflect_AnnotatedElement java_lang_reflect_AnnotatedElement;
+#endif
+
+void __INIT_java_lang_reflect_AnnotatedElement();
+void __INIT_IMPL_java_lang_reflect_AnnotatedElement();
+
+#endif
diff --git a/tests/nbody-java/java_lang_reflect_Array.c b/tests/nbody-java/java_lang_reflect_Array.c
new file mode 100644
index 00000000..40a3455b
--- /dev/null
+++ b/tests/nbody-java/java_lang_reflect_Array.c
@@ -0,0 +1,203 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+
+#include "java_lang_reflect_Array.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Array
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_reflect_Array
+
+__TIB_DEFINITION_java_lang_reflect_Array __TIB_java_lang_reflect_Array = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_reflect_Array, // classInitializer
+ "java.lang.reflect.Array", // className
+ "java.lang.reflect", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_reflect_Array), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_reflect_Array;
+JAVA_OBJECT __CLASS_java_lang_reflect_Array_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_reflect_Array_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_reflect_Array_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_reflect_Array()
+{
+ staticInitializerLock(&__TIB_java_lang_reflect_Array);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_reflect_Array.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_reflect_Array.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_reflect_Array);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_reflect_Array.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_reflect_Array.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_reflect_Array.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.reflect.Array")
+ __INIT_IMPL_java_lang_reflect_Array();
+ }
+}
+
+void __INIT_IMPL_java_lang_reflect_Array()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_reflect_Array.newInstanceFunc = __NEW_INSTANCE_java_lang_reflect_Array;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_reflect_Array.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_lang_reflect_Array.numImplementedInterfaces = 0;
+ __TIB_java_lang_reflect_Array.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ __TIB_java_lang_reflect_Array.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_reflect_Array.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_reflect_Array.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_reflect_Array.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_reflect_Array.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_reflect_Array.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_reflect_Array.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_reflect_Array.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_reflect_Array = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_reflect_Array);
+ __TIB_java_lang_reflect_Array.clazz = __CLASS_java_lang_reflect_Array;
+ __TIB_java_lang_reflect_Array.baseType = JAVA_NULL;
+ __CLASS_java_lang_reflect_Array_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_Array);
+ __CLASS_java_lang_reflect_Array_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_Array_1ARRAY);
+ __CLASS_java_lang_reflect_Array_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_Array_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_reflect_Array]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_reflect_Array.classInitialized = 1;
+}
+
+void __DELETE_java_lang_reflect_Array(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_reflect_Array]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_reflect_Array(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_reflect_Array]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_reflect_Array()
+{ XMLVM_CLASS_INIT(java_lang_reflect_Array)
+java_lang_reflect_Array* me = (java_lang_reflect_Array*) XMLVM_MALLOC(sizeof(java_lang_reflect_Array));
+ me->tib = &__TIB_java_lang_reflect_Array;
+ __INIT_INSTANCE_MEMBERS_java_lang_reflect_Array(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_reflect_Array]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_reflect_Array()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+void java_lang_reflect_Array___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Array___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Array", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Array.java", 28)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Array.java", 30)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Array_multiNewArrayImpl___java_lang_Class_int_int_1ARRAY(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Array_newArrayImpl___java_lang_Class_int(JAVA_OBJECT n1, JAVA_INT n2)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Array_get___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_reflect_Array_getBoolean___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2)]
+
+//XMLVM_NATIVE[JAVA_BYTE java_lang_reflect_Array_getByte___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2)]
+
+//XMLVM_NATIVE[JAVA_CHAR java_lang_reflect_Array_getChar___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2)]
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_reflect_Array_getDouble___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2)]
+
+//XMLVM_NATIVE[JAVA_FLOAT java_lang_reflect_Array_getFloat___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2)]
+
+//XMLVM_NATIVE[JAVA_INT java_lang_reflect_Array_getInt___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2)]
+
+//XMLVM_NATIVE[JAVA_INT java_lang_reflect_Array_getLength___java_lang_Object(JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_LONG java_lang_reflect_Array_getLong___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2)]
+
+//XMLVM_NATIVE[JAVA_SHORT java_lang_reflect_Array_getShort___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Array_newInstance___java_lang_Class_int_1ARRAY(JAVA_OBJECT n1, JAVA_OBJECT n2)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Array_newInstance___java_lang_Class_int(JAVA_OBJECT n1, JAVA_INT n2)]
+
+//XMLVM_NATIVE[void java_lang_reflect_Array_set___java_lang_Object_int_java_lang_Object(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3)]
+
+//XMLVM_NATIVE[void java_lang_reflect_Array_setBoolean___java_lang_Object_int_boolean(JAVA_OBJECT n1, JAVA_INT n2, JAVA_BOOLEAN n3)]
+
+//XMLVM_NATIVE[void java_lang_reflect_Array_setByte___java_lang_Object_int_byte(JAVA_OBJECT n1, JAVA_INT n2, JAVA_BYTE n3)]
+
+//XMLVM_NATIVE[void java_lang_reflect_Array_setChar___java_lang_Object_int_char(JAVA_OBJECT n1, JAVA_INT n2, JAVA_CHAR n3)]
+
+//XMLVM_NATIVE[void java_lang_reflect_Array_setDouble___java_lang_Object_int_double(JAVA_OBJECT n1, JAVA_INT n2, JAVA_DOUBLE n3)]
+
+//XMLVM_NATIVE[void java_lang_reflect_Array_setFloat___java_lang_Object_int_float(JAVA_OBJECT n1, JAVA_INT n2, JAVA_FLOAT n3)]
+
+//XMLVM_NATIVE[void java_lang_reflect_Array_setInt___java_lang_Object_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)]
+
+//XMLVM_NATIVE[void java_lang_reflect_Array_setLong___java_lang_Object_int_long(JAVA_OBJECT n1, JAVA_INT n2, JAVA_LONG n3)]
+
+//XMLVM_NATIVE[void java_lang_reflect_Array_setShort___java_lang_Object_int_short(JAVA_OBJECT n1, JAVA_INT n2, JAVA_SHORT n3)]
+
diff --git a/tests/nbody-java/java_lang_reflect_Array.h b/tests/nbody-java/java_lang_reflect_Array.h
new file mode 100644
index 00000000..f2f22536
--- /dev/null
+++ b/tests/nbody-java/java_lang_reflect_Array.h
@@ -0,0 +1,78 @@
+#ifndef __JAVA_LANG_REFLECT_ARRAY__
+#define __JAVA_LANG_REFLECT_ARRAY__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_reflect_Array 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+// Class declarations for java.lang.reflect.Array
+XMLVM_DEFINE_CLASS(java_lang_reflect_Array, 6, XMLVM_ITABLE_SIZE_java_lang_reflect_Array)
+
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Array;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Array_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Array_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Array_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_reflect_Array
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_reflect_Array \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_reflect_Array \
+ } java_lang_reflect_Array
+
+struct java_lang_reflect_Array {
+ __TIB_DEFINITION_java_lang_reflect_Array* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_reflect_Array;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_Array
+#define XMLVM_FORWARD_DECL_java_lang_reflect_Array
+typedef struct java_lang_reflect_Array java_lang_reflect_Array;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_reflect_Array 6
+
+void __INIT_java_lang_reflect_Array();
+void __INIT_IMPL_java_lang_reflect_Array();
+void __DELETE_java_lang_reflect_Array(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_reflect_Array(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_reflect_Array();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_reflect_Array();
+void java_lang_reflect_Array___INIT___(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_reflect_Array_multiNewArrayImpl___java_lang_Class_int_int_1ARRAY(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3);
+JAVA_OBJECT java_lang_reflect_Array_newArrayImpl___java_lang_Class_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_OBJECT java_lang_reflect_Array_get___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_BOOLEAN java_lang_reflect_Array_getBoolean___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_BYTE java_lang_reflect_Array_getByte___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_CHAR java_lang_reflect_Array_getChar___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_DOUBLE java_lang_reflect_Array_getDouble___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_FLOAT java_lang_reflect_Array_getFloat___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_INT java_lang_reflect_Array_getInt___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_INT java_lang_reflect_Array_getLength___java_lang_Object(JAVA_OBJECT n1);
+JAVA_LONG java_lang_reflect_Array_getLong___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_SHORT java_lang_reflect_Array_getShort___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_OBJECT java_lang_reflect_Array_newInstance___java_lang_Class_int_1ARRAY(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_lang_reflect_Array_newInstance___java_lang_Class_int(JAVA_OBJECT n1, JAVA_INT n2);
+void java_lang_reflect_Array_set___java_lang_Object_int_java_lang_Object(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3);
+void java_lang_reflect_Array_setBoolean___java_lang_Object_int_boolean(JAVA_OBJECT n1, JAVA_INT n2, JAVA_BOOLEAN n3);
+void java_lang_reflect_Array_setByte___java_lang_Object_int_byte(JAVA_OBJECT n1, JAVA_INT n2, JAVA_BYTE n3);
+void java_lang_reflect_Array_setChar___java_lang_Object_int_char(JAVA_OBJECT n1, JAVA_INT n2, JAVA_CHAR n3);
+void java_lang_reflect_Array_setDouble___java_lang_Object_int_double(JAVA_OBJECT n1, JAVA_INT n2, JAVA_DOUBLE n3);
+void java_lang_reflect_Array_setFloat___java_lang_Object_int_float(JAVA_OBJECT n1, JAVA_INT n2, JAVA_FLOAT n3);
+void java_lang_reflect_Array_setInt___java_lang_Object_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+void java_lang_reflect_Array_setLong___java_lang_Object_int_long(JAVA_OBJECT n1, JAVA_INT n2, JAVA_LONG n3);
+void java_lang_reflect_Array_setShort___java_lang_Object_int_short(JAVA_OBJECT n1, JAVA_INT n2, JAVA_SHORT n3);
+
+#endif
diff --git a/tests/nbody-java/java_lang_reflect_Constructor.c b/tests/nbody-java/java_lang_reflect_Constructor.c
new file mode 100644
index 00000000..3531d9b7
--- /dev/null
+++ b/tests/nbody-java/java_lang_reflect_Constructor.c
@@ -0,0 +1,294 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+#include "java_lang_reflect_Type.h"
+
+#include "java_lang_reflect_Constructor.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Constructor
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_reflect_Constructor
+
+__TIB_DEFINITION_java_lang_reflect_Constructor __TIB_java_lang_reflect_Constructor = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_reflect_Constructor, // classInitializer
+ "java.lang.reflect.Constructor", // className
+ "java.lang.reflect", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<T:Ljava/lang/Object;>Ljava/lang/reflect/AccessibleObject;Ljava/lang/reflect/GenericDeclaration;Ljava/lang/reflect/Member;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_reflect_AccessibleObject, // extends
+ sizeof(java_lang_reflect_Constructor), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_reflect_Constructor;
+JAVA_OBJECT __CLASS_java_lang_reflect_Constructor_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_reflect_Constructor_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_reflect_Constructor_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_reflect_Constructor()
+{
+ staticInitializerLock(&__TIB_java_lang_reflect_Constructor);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_reflect_Constructor.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_reflect_Constructor.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_reflect_Constructor);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_reflect_Constructor.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_reflect_Constructor.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_reflect_Constructor.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.reflect.Constructor")
+ __INIT_IMPL_java_lang_reflect_Constructor();
+ }
+}
+
+void __INIT_IMPL_java_lang_reflect_Constructor()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_reflect_AccessibleObject)
+ __TIB_java_lang_reflect_Constructor.newInstanceFunc = __NEW_INSTANCE_java_lang_reflect_Constructor;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_reflect_Constructor.vtable, __TIB_java_lang_reflect_AccessibleObject.vtable, sizeof(__TIB_java_lang_reflect_AccessibleObject.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_reflect_Constructor.vtable[14] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_reflect_Constructor.vtable[15] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_reflect_Constructor.vtable[1] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_reflect_Constructor.vtable[12] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_reflect_Constructor.vtable[9] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_reflect_Constructor.vtable[13] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_reflect_Constructor.vtable[4] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_reflect_Constructor.vtable[5] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ xmlvm_init_native_java_lang_reflect_Constructor();
+ // Initialize interface information
+ __TIB_java_lang_reflect_Constructor.numImplementedInterfaces = 3;
+ __TIB_java_lang_reflect_Constructor.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 3);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_lang_reflect_AnnotatedElement)
+
+ __TIB_java_lang_reflect_Constructor.implementedInterfaces[0][0] = &__TIB_java_lang_reflect_AnnotatedElement;
+
+ XMLVM_CLASS_INIT(java_lang_reflect_GenericDeclaration)
+
+ __TIB_java_lang_reflect_Constructor.implementedInterfaces[0][1] = &__TIB_java_lang_reflect_GenericDeclaration;
+
+ XMLVM_CLASS_INIT(java_lang_reflect_Member)
+
+ __TIB_java_lang_reflect_Constructor.implementedInterfaces[0][2] = &__TIB_java_lang_reflect_Member;
+ // Initialize itable for this class
+ __TIB_java_lang_reflect_Constructor.itableBegin = &__TIB_java_lang_reflect_Constructor.itable[0];
+ __TIB_java_lang_reflect_Constructor.itable[XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_getAnnotation___java_lang_Class] = __TIB_java_lang_reflect_Constructor.vtable[6];
+ __TIB_java_lang_reflect_Constructor.itable[XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_getAnnotations__] = __TIB_java_lang_reflect_Constructor.vtable[7];
+ __TIB_java_lang_reflect_Constructor.itable[XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_getDeclaredAnnotations__] = __TIB_java_lang_reflect_Constructor.vtable[8];
+ __TIB_java_lang_reflect_Constructor.itable[XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_isAnnotationPresent___java_lang_Class] = __TIB_java_lang_reflect_Constructor.vtable[11];
+ __TIB_java_lang_reflect_Constructor.itable[XMLVM_ITABLE_IDX_java_lang_reflect_GenericDeclaration_getTypeParameters__] = __TIB_java_lang_reflect_Constructor.vtable[14];
+ __TIB_java_lang_reflect_Constructor.itable[XMLVM_ITABLE_IDX_java_lang_reflect_Member_getDeclaringClass__] = __TIB_java_lang_reflect_Constructor.vtable[12];
+ __TIB_java_lang_reflect_Constructor.itable[XMLVM_ITABLE_IDX_java_lang_reflect_Member_getModifiers__] = __TIB_java_lang_reflect_Constructor.vtable[9];
+ __TIB_java_lang_reflect_Constructor.itable[XMLVM_ITABLE_IDX_java_lang_reflect_Member_getName__] = __TIB_java_lang_reflect_Constructor.vtable[13];
+ __TIB_java_lang_reflect_Constructor.itable[XMLVM_ITABLE_IDX_java_lang_reflect_Member_isSynthetic__] = __TIB_java_lang_reflect_Constructor.vtable[15];
+
+
+ __TIB_java_lang_reflect_Constructor.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_reflect_Constructor.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_reflect_Constructor.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_reflect_Constructor.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_reflect_Constructor.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_reflect_Constructor.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_reflect_Constructor.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_reflect_Constructor.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_reflect_Constructor = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_reflect_Constructor);
+ __TIB_java_lang_reflect_Constructor.clazz = __CLASS_java_lang_reflect_Constructor;
+ __TIB_java_lang_reflect_Constructor.baseType = JAVA_NULL;
+ __CLASS_java_lang_reflect_Constructor_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_Constructor);
+ __CLASS_java_lang_reflect_Constructor_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_Constructor_1ARRAY);
+ __CLASS_java_lang_reflect_Constructor_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_Constructor_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_reflect_Constructor]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_reflect_Constructor.classInitialized = 1;
+}
+
+void __DELETE_java_lang_reflect_Constructor(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_reflect_Constructor]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_reflect_Constructor(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_reflect_AccessibleObject(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_reflect_Constructor*) me)->fields.java_lang_reflect_Constructor.clazz_ = (java_lang_Class*) JAVA_NULL;
+ ((java_lang_reflect_Constructor*) me)->fields.java_lang_reflect_Constructor.address_ = (java_lang_Object*) JAVA_NULL;
+ ((java_lang_reflect_Constructor*) me)->fields.java_lang_reflect_Constructor.slot_ = 0;
+ ((java_lang_reflect_Constructor*) me)->fields.java_lang_reflect_Constructor.parameterTypes_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ ((java_lang_reflect_Constructor*) me)->fields.java_lang_reflect_Constructor.exceptionTypes_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ ((java_lang_reflect_Constructor*) me)->fields.java_lang_reflect_Constructor.modifiers_ = 0;
+ ((java_lang_reflect_Constructor*) me)->fields.java_lang_reflect_Constructor.signature_ = (java_lang_String*) JAVA_NULL;
+ ((java_lang_reflect_Constructor*) me)->fields.java_lang_reflect_Constructor.annotations_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ ((java_lang_reflect_Constructor*) me)->fields.java_lang_reflect_Constructor.parameterAnnotations_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_reflect_Constructor]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_reflect_Constructor()
+{ XMLVM_CLASS_INIT(java_lang_reflect_Constructor)
+java_lang_reflect_Constructor* me = (java_lang_reflect_Constructor*) XMLVM_MALLOC(sizeof(java_lang_reflect_Constructor));
+ me->tib = &__TIB_java_lang_reflect_Constructor;
+ __INIT_INSTANCE_MEMBERS_java_lang_reflect_Constructor(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_reflect_Constructor]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_reflect_Constructor()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+void java_lang_reflect_Constructor___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Constructor___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Constructor", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Constructor.java", 51)
+ XMLVM_CHECK_NPE(0)
+ java_lang_reflect_AccessibleObject___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Constructor.java", 53)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_reflect_Constructor___INIT____java_lang_Class_java_lang_Class_1ARRAY_java_lang_Class_1ARRAY_int_java_lang_Object_int_java_lang_String_byte_1ARRAY_byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_OBJECT n5, JAVA_INT n6, JAVA_OBJECT n7, JAVA_OBJECT n8, JAVA_OBJECT n9)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Constructor___INIT____java_lang_Class_java_lang_Class_1ARRAY_java_lang_Class_1ARRAY_int_java_lang_Object_int_java_lang_String_byte_1ARRAY_byte_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Constructor", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ _r3.o = n3;
+ _r4.i = n4;
+ _r5.o = n5;
+ _r6.i = n6;
+ _r7.o = n7;
+ _r8.o = n8;
+ _r9.o = n9;
+ XMLVM_SOURCE_POSITION("Constructor.java", 57)
+ XMLVM_CHECK_NPE(0)
+ java_lang_reflect_AccessibleObject___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Constructor.java", 58)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Constructor*) _r0.o)->fields.java_lang_reflect_Constructor.clazz_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Constructor.java", 59)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Constructor*) _r0.o)->fields.java_lang_reflect_Constructor.parameterTypes_ = _r2.o;
+ XMLVM_SOURCE_POSITION("Constructor.java", 60)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Constructor*) _r0.o)->fields.java_lang_reflect_Constructor.exceptionTypes_ = _r3.o;
+ XMLVM_SOURCE_POSITION("Constructor.java", 61)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Constructor*) _r0.o)->fields.java_lang_reflect_Constructor.modifiers_ = _r4.i;
+ XMLVM_SOURCE_POSITION("Constructor.java", 62)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Constructor*) _r0.o)->fields.java_lang_reflect_Constructor.address_ = _r5.o;
+ XMLVM_SOURCE_POSITION("Constructor.java", 63)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Constructor*) _r0.o)->fields.java_lang_reflect_Constructor.slot_ = _r6.i;
+ XMLVM_SOURCE_POSITION("Constructor.java", 64)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Constructor*) _r0.o)->fields.java_lang_reflect_Constructor.signature_ = _r7.o;
+ XMLVM_SOURCE_POSITION("Constructor.java", 65)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Constructor*) _r0.o)->fields.java_lang_reflect_Constructor.annotations_ = _r8.o;
+ XMLVM_SOURCE_POSITION("Constructor.java", 66)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Constructor*) _r0.o)->fields.java_lang_reflect_Constructor.parameterAnnotations_ = _r9.o;
+ XMLVM_SOURCE_POSITION("Constructor.java", 67)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Constructor_getTypeParameters__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Constructor_toGenericString__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Constructor_getGenericParameterTypes__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Constructor_getGenericExceptionTypes__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Constructor_getParameterAnnotations__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_reflect_Constructor_isVarArgs__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_reflect_Constructor_isSynthetic__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_reflect_Constructor_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Constructor_getDeclaringClass__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Constructor_getExceptionTypes__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_INT java_lang_reflect_Constructor_getModifiers__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Constructor_getName__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Constructor_getParameterTypes__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_INT java_lang_reflect_Constructor_hashCode__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Constructor_newInstance___java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Constructor_toString__(JAVA_OBJECT me)]
+
diff --git a/tests/nbody-java/java_lang_reflect_Constructor.h b/tests/nbody-java/java_lang_reflect_Constructor.h
new file mode 100644
index 00000000..ba116903
--- /dev/null
+++ b/tests/nbody-java/java_lang_reflect_Constructor.h
@@ -0,0 +1,112 @@
+#ifndef __JAVA_LANG_REFLECT_CONSTRUCTOR__
+#define __JAVA_LANG_REFLECT_CONSTRUCTOR__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_reflect_Constructor 9
+// Implemented interfaces:
+#include "java_lang_reflect_GenericDeclaration.h"
+#include "java_lang_reflect_Member.h"
+// Super Class:
+#include "java_lang_reflect_AccessibleObject.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_Type
+#define XMLVM_FORWARD_DECL_java_lang_reflect_Type
+XMLVM_FORWARD_DECL(java_lang_reflect_Type)
+#endif
+// Class declarations for java.lang.reflect.Constructor
+XMLVM_DEFINE_CLASS(java_lang_reflect_Constructor, 16, XMLVM_ITABLE_SIZE_java_lang_reflect_Constructor)
+
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Constructor;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Constructor_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Constructor_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Constructor_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_reflect_Constructor
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_reflect_Constructor \
+ __INSTANCE_FIELDS_java_lang_reflect_AccessibleObject; \
+ struct { \
+ JAVA_OBJECT clazz_; \
+ JAVA_OBJECT address_; \
+ JAVA_INT slot_; \
+ JAVA_OBJECT parameterTypes_; \
+ JAVA_OBJECT exceptionTypes_; \
+ JAVA_INT modifiers_; \
+ JAVA_OBJECT signature_; \
+ JAVA_OBJECT annotations_; \
+ JAVA_OBJECT parameterAnnotations_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_reflect_Constructor \
+ } java_lang_reflect_Constructor
+
+struct java_lang_reflect_Constructor {
+ __TIB_DEFINITION_java_lang_reflect_Constructor* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_reflect_Constructor;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_Constructor
+#define XMLVM_FORWARD_DECL_java_lang_reflect_Constructor
+typedef struct java_lang_reflect_Constructor java_lang_reflect_Constructor;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_reflect_Constructor 16
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_getTypeParameters__ 14
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_isSynthetic__ 15
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_getDeclaringClass__ 12
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_getModifiers__ 9
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_getName__ 13
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_toString__ 5
+
+void __INIT_java_lang_reflect_Constructor();
+void __INIT_IMPL_java_lang_reflect_Constructor();
+void __DELETE_java_lang_reflect_Constructor(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_reflect_Constructor(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_reflect_Constructor();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_reflect_Constructor();
+void xmlvm_init_native_java_lang_reflect_Constructor();
+void java_lang_reflect_Constructor___INIT___(JAVA_OBJECT me);
+void java_lang_reflect_Constructor___INIT____java_lang_Class_java_lang_Class_1ARRAY_java_lang_Class_1ARRAY_int_java_lang_Object_int_java_lang_String_byte_1ARRAY_byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_OBJECT n5, JAVA_INT n6, JAVA_OBJECT n7, JAVA_OBJECT n8, JAVA_OBJECT n9);
+// Vtable index: 14
+JAVA_OBJECT java_lang_reflect_Constructor_getTypeParameters__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_reflect_Constructor_toGenericString__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_reflect_Constructor_getGenericParameterTypes__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_reflect_Constructor_getGenericExceptionTypes__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_reflect_Constructor_getParameterAnnotations__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_reflect_Constructor_isVarArgs__(JAVA_OBJECT me);
+// Vtable index: 15
+JAVA_BOOLEAN java_lang_reflect_Constructor_isSynthetic__(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_lang_reflect_Constructor_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 12
+JAVA_OBJECT java_lang_reflect_Constructor_getDeclaringClass__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_reflect_Constructor_getExceptionTypes__(JAVA_OBJECT me);
+// Vtable index: 9
+JAVA_INT java_lang_reflect_Constructor_getModifiers__(JAVA_OBJECT me);
+// Vtable index: 13
+JAVA_OBJECT java_lang_reflect_Constructor_getName__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_reflect_Constructor_getParameterTypes__(JAVA_OBJECT me);
+// Vtable index: 4
+JAVA_INT java_lang_reflect_Constructor_hashCode__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_reflect_Constructor_newInstance___java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 5
+JAVA_OBJECT java_lang_reflect_Constructor_toString__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_lang_reflect_Field.c b/tests/nbody-java/java_lang_reflect_Field.c
new file mode 100644
index 00000000..5a69ec20
--- /dev/null
+++ b/tests/nbody-java/java_lang_reflect_Field.c
@@ -0,0 +1,324 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+#include "java_lang_reflect_Type.h"
+
+#include "java_lang_reflect_Field.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Field
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_reflect_Field
+
+__TIB_DEFINITION_java_lang_reflect_Field __TIB_java_lang_reflect_Field = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_reflect_Field, // classInitializer
+ "java.lang.reflect.Field", // className
+ "java.lang.reflect", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_reflect_AccessibleObject, // extends
+ sizeof(java_lang_reflect_Field), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_reflect_Field;
+JAVA_OBJECT __CLASS_java_lang_reflect_Field_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_reflect_Field_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_reflect_Field_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_reflect_Field()
+{
+ staticInitializerLock(&__TIB_java_lang_reflect_Field);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_reflect_Field.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_reflect_Field.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_reflect_Field);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_reflect_Field.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_reflect_Field.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_reflect_Field.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.reflect.Field")
+ __INIT_IMPL_java_lang_reflect_Field();
+ }
+}
+
+void __INIT_IMPL_java_lang_reflect_Field()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_reflect_AccessibleObject)
+ __TIB_java_lang_reflect_Field.newInstanceFunc = __NEW_INSTANCE_java_lang_reflect_Field;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_reflect_Field.vtable, __TIB_java_lang_reflect_AccessibleObject.vtable, sizeof(__TIB_java_lang_reflect_AccessibleObject.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_reflect_Field.vtable[10] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_reflect_Field.vtable[14] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_reflect_Field.vtable[1] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_reflect_Field.vtable[12] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_reflect_Field.vtable[9] = (VTABLE_PTR) &java_lang_reflect_Field_getModifiers__;
+ __TIB_java_lang_reflect_Field.vtable[13] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_reflect_Field.vtable[4] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_reflect_Field.vtable[5] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ xmlvm_init_native_java_lang_reflect_Field();
+ // Initialize interface information
+ __TIB_java_lang_reflect_Field.numImplementedInterfaces = 2;
+ __TIB_java_lang_reflect_Field.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_lang_reflect_AnnotatedElement)
+
+ __TIB_java_lang_reflect_Field.implementedInterfaces[0][0] = &__TIB_java_lang_reflect_AnnotatedElement;
+
+ XMLVM_CLASS_INIT(java_lang_reflect_Member)
+
+ __TIB_java_lang_reflect_Field.implementedInterfaces[0][1] = &__TIB_java_lang_reflect_Member;
+ // Initialize itable for this class
+ __TIB_java_lang_reflect_Field.itableBegin = &__TIB_java_lang_reflect_Field.itable[0];
+ __TIB_java_lang_reflect_Field.itable[XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_getAnnotation___java_lang_Class] = __TIB_java_lang_reflect_Field.vtable[6];
+ __TIB_java_lang_reflect_Field.itable[XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_getAnnotations__] = __TIB_java_lang_reflect_Field.vtable[7];
+ __TIB_java_lang_reflect_Field.itable[XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_getDeclaredAnnotations__] = __TIB_java_lang_reflect_Field.vtable[8];
+ __TIB_java_lang_reflect_Field.itable[XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_isAnnotationPresent___java_lang_Class] = __TIB_java_lang_reflect_Field.vtable[11];
+ __TIB_java_lang_reflect_Field.itable[XMLVM_ITABLE_IDX_java_lang_reflect_Member_getDeclaringClass__] = __TIB_java_lang_reflect_Field.vtable[12];
+ __TIB_java_lang_reflect_Field.itable[XMLVM_ITABLE_IDX_java_lang_reflect_Member_getModifiers__] = __TIB_java_lang_reflect_Field.vtable[9];
+ __TIB_java_lang_reflect_Field.itable[XMLVM_ITABLE_IDX_java_lang_reflect_Member_getName__] = __TIB_java_lang_reflect_Field.vtable[13];
+ __TIB_java_lang_reflect_Field.itable[XMLVM_ITABLE_IDX_java_lang_reflect_Member_isSynthetic__] = __TIB_java_lang_reflect_Field.vtable[14];
+
+
+ __TIB_java_lang_reflect_Field.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_reflect_Field.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_reflect_Field.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_reflect_Field.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_reflect_Field.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_reflect_Field.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_reflect_Field.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_reflect_Field.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_reflect_Field = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_reflect_Field);
+ __TIB_java_lang_reflect_Field.clazz = __CLASS_java_lang_reflect_Field;
+ __TIB_java_lang_reflect_Field.baseType = JAVA_NULL;
+ __CLASS_java_lang_reflect_Field_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_Field);
+ __CLASS_java_lang_reflect_Field_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_Field_1ARRAY);
+ __CLASS_java_lang_reflect_Field_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_Field_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_reflect_Field]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_reflect_Field.classInitialized = 1;
+}
+
+void __DELETE_java_lang_reflect_Field(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_reflect_Field]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_reflect_Field(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_reflect_AccessibleObject(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_reflect_Field*) me)->fields.java_lang_reflect_Field.clazz_ = (java_lang_Class*) JAVA_NULL;
+ ((java_lang_reflect_Field*) me)->fields.java_lang_reflect_Field.offset_ = 0;
+ ((java_lang_reflect_Field*) me)->fields.java_lang_reflect_Field.address_ = (java_lang_Object*) JAVA_NULL;
+ ((java_lang_reflect_Field*) me)->fields.java_lang_reflect_Field.name_ = (java_lang_String*) JAVA_NULL;
+ ((java_lang_reflect_Field*) me)->fields.java_lang_reflect_Field.type_ = (java_lang_Class*) JAVA_NULL;
+ ((java_lang_reflect_Field*) me)->fields.java_lang_reflect_Field.modifiers_ = 0;
+ ((java_lang_reflect_Field*) me)->fields.java_lang_reflect_Field.signature_ = (java_lang_String*) JAVA_NULL;
+ ((java_lang_reflect_Field*) me)->fields.java_lang_reflect_Field.annotations_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_reflect_Field]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_reflect_Field()
+{ XMLVM_CLASS_INIT(java_lang_reflect_Field)
+java_lang_reflect_Field* me = (java_lang_reflect_Field*) XMLVM_MALLOC(sizeof(java_lang_reflect_Field));
+ me->tib = &__TIB_java_lang_reflect_Field;
+ __INIT_INSTANCE_MEMBERS_java_lang_reflect_Field(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_reflect_Field]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_reflect_Field()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+void java_lang_reflect_Field___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Field___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Field", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Field.java", 46)
+ XMLVM_CHECK_NPE(0)
+ java_lang_reflect_AccessibleObject___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Field.java", 48)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_reflect_Field___INIT____java_lang_Class_java_lang_String_java_lang_Class_int_int_java_lang_Object_java_lang_String_byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5, JAVA_OBJECT n6, JAVA_OBJECT n7, JAVA_OBJECT n8)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Field___INIT____java_lang_Class_java_lang_String_java_lang_Class_int_int_java_lang_Object_java_lang_String_byte_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Field", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ _r3.o = n3;
+ _r4.i = n4;
+ _r5.i = n5;
+ _r6.o = n6;
+ _r7.o = n7;
+ _r8.o = n8;
+ XMLVM_SOURCE_POSITION("Field.java", 51)
+ XMLVM_CHECK_NPE(0)
+ java_lang_reflect_AccessibleObject___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Field.java", 52)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Field*) _r0.o)->fields.java_lang_reflect_Field.clazz_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Field.java", 53)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Field*) _r0.o)->fields.java_lang_reflect_Field.name_ = _r2.o;
+ XMLVM_SOURCE_POSITION("Field.java", 54)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Field*) _r0.o)->fields.java_lang_reflect_Field.type_ = _r3.o;
+ XMLVM_SOURCE_POSITION("Field.java", 55)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Field*) _r0.o)->fields.java_lang_reflect_Field.modifiers_ = _r4.i;
+ XMLVM_SOURCE_POSITION("Field.java", 56)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Field*) _r0.o)->fields.java_lang_reflect_Field.offset_ = _r5.i;
+ XMLVM_SOURCE_POSITION("Field.java", 57)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Field*) _r0.o)->fields.java_lang_reflect_Field.address_ = _r6.o;
+ XMLVM_SOURCE_POSITION("Field.java", 58)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Field*) _r0.o)->fields.java_lang_reflect_Field.signature_ = _r7.o;
+ XMLVM_SOURCE_POSITION("Field.java", 59)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Field*) _r0.o)->fields.java_lang_reflect_Field.annotations_ = _r8.o;
+ XMLVM_SOURCE_POSITION("Field.java", 60)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Field_getSignature__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_reflect_Field_isSynthetic__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Field_toGenericString__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_reflect_Field_isEnumConstant__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Field_getGenericType__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_reflect_Field_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Field_get___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_reflect_Field_getBoolean___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_BYTE java_lang_reflect_Field_getByte___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_CHAR java_lang_reflect_Field_getChar___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Field_getDeclaringClass__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_DOUBLE java_lang_reflect_Field_getDouble___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_FLOAT java_lang_reflect_Field_getFloat___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_INT java_lang_reflect_Field_getInt___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_LONG java_lang_reflect_Field_getLong___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+JAVA_INT java_lang_reflect_Field_getModifiers__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Field_getModifiers__]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Field", "getModifiers", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Field.java", 349)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_reflect_Field*) _r1.o)->fields.java_lang_reflect_Field.modifiers_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Field_getName__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_SHORT java_lang_reflect_Field_getShort___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Field_getType__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_INT java_lang_reflect_Field_hashCode__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[void java_lang_reflect_Field_set___java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)]
+
+//XMLVM_NATIVE[void java_lang_reflect_Field_setBoolean___java_lang_Object_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2)]
+
+//XMLVM_NATIVE[void java_lang_reflect_Field_setByte___java_lang_Object_byte(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BYTE n2)]
+
+//XMLVM_NATIVE[void java_lang_reflect_Field_setChar___java_lang_Object_char(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_CHAR n2)]
+
+//XMLVM_NATIVE[void java_lang_reflect_Field_setDouble___java_lang_Object_double(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_DOUBLE n2)]
+
+//XMLVM_NATIVE[void java_lang_reflect_Field_setFloat___java_lang_Object_float(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_FLOAT n2)]
+
+//XMLVM_NATIVE[void java_lang_reflect_Field_setInt___java_lang_Object_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)]
+
+//XMLVM_NATIVE[void java_lang_reflect_Field_setLong___java_lang_Object_long(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_LONG n2)]
+
+//XMLVM_NATIVE[void java_lang_reflect_Field_setShort___java_lang_Object_short(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_SHORT n2)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Field_toString__(JAVA_OBJECT me)]
+
diff --git a/tests/nbody-java/java_lang_reflect_Field.h b/tests/nbody-java/java_lang_reflect_Field.h
new file mode 100644
index 00000000..5d7361c2
--- /dev/null
+++ b/tests/nbody-java/java_lang_reflect_Field.h
@@ -0,0 +1,124 @@
+#ifndef __JAVA_LANG_REFLECT_FIELD__
+#define __JAVA_LANG_REFLECT_FIELD__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_reflect_Field 9
+// Implemented interfaces:
+#include "java_lang_reflect_Member.h"
+// Super Class:
+#include "java_lang_reflect_AccessibleObject.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_Type
+#define XMLVM_FORWARD_DECL_java_lang_reflect_Type
+XMLVM_FORWARD_DECL(java_lang_reflect_Type)
+#endif
+// Class declarations for java.lang.reflect.Field
+XMLVM_DEFINE_CLASS(java_lang_reflect_Field, 15, XMLVM_ITABLE_SIZE_java_lang_reflect_Field)
+
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Field;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Field_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Field_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Field_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_reflect_Field
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_reflect_Field \
+ __INSTANCE_FIELDS_java_lang_reflect_AccessibleObject; \
+ struct { \
+ JAVA_OBJECT clazz_; \
+ JAVA_INT offset_; \
+ JAVA_OBJECT address_; \
+ JAVA_OBJECT name_; \
+ JAVA_OBJECT type_; \
+ JAVA_INT modifiers_; \
+ JAVA_OBJECT signature_; \
+ JAVA_OBJECT annotations_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_reflect_Field \
+ } java_lang_reflect_Field
+
+struct java_lang_reflect_Field {
+ __TIB_DEFINITION_java_lang_reflect_Field* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_reflect_Field;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_Field
+#define XMLVM_FORWARD_DECL_java_lang_reflect_Field
+typedef struct java_lang_reflect_Field java_lang_reflect_Field;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_reflect_Field 15
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Field_getSignature__ 10
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Field_isSynthetic__ 14
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Field_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Field_getDeclaringClass__ 12
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Field_getModifiers__ 9
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Field_getName__ 13
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Field_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Field_toString__ 5
+
+void __INIT_java_lang_reflect_Field();
+void __INIT_IMPL_java_lang_reflect_Field();
+void __DELETE_java_lang_reflect_Field(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_reflect_Field(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_reflect_Field();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_reflect_Field();
+void xmlvm_init_native_java_lang_reflect_Field();
+void java_lang_reflect_Field___INIT___(JAVA_OBJECT me);
+void java_lang_reflect_Field___INIT____java_lang_Class_java_lang_String_java_lang_Class_int_int_java_lang_Object_java_lang_String_byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5, JAVA_OBJECT n6, JAVA_OBJECT n7, JAVA_OBJECT n8);
+// Vtable index: 10
+JAVA_OBJECT java_lang_reflect_Field_getSignature__(JAVA_OBJECT me);
+// Vtable index: 14
+JAVA_BOOLEAN java_lang_reflect_Field_isSynthetic__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_reflect_Field_toGenericString__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_reflect_Field_isEnumConstant__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_reflect_Field_getGenericType__(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_lang_reflect_Field_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_reflect_Field_get___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_lang_reflect_Field_getBoolean___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BYTE java_lang_reflect_Field_getByte___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_CHAR java_lang_reflect_Field_getChar___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 12
+JAVA_OBJECT java_lang_reflect_Field_getDeclaringClass__(JAVA_OBJECT me);
+JAVA_DOUBLE java_lang_reflect_Field_getDouble___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_FLOAT java_lang_reflect_Field_getFloat___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_INT java_lang_reflect_Field_getInt___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_LONG java_lang_reflect_Field_getLong___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 9
+JAVA_INT java_lang_reflect_Field_getModifiers__(JAVA_OBJECT me);
+// Vtable index: 13
+JAVA_OBJECT java_lang_reflect_Field_getName__(JAVA_OBJECT me);
+JAVA_SHORT java_lang_reflect_Field_getShort___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_lang_reflect_Field_getType__(JAVA_OBJECT me);
+// Vtable index: 4
+JAVA_INT java_lang_reflect_Field_hashCode__(JAVA_OBJECT me);
+void java_lang_reflect_Field_set___java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_lang_reflect_Field_setBoolean___java_lang_Object_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2);
+void java_lang_reflect_Field_setByte___java_lang_Object_byte(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BYTE n2);
+void java_lang_reflect_Field_setChar___java_lang_Object_char(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_CHAR n2);
+void java_lang_reflect_Field_setDouble___java_lang_Object_double(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_DOUBLE n2);
+void java_lang_reflect_Field_setFloat___java_lang_Object_float(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_FLOAT n2);
+void java_lang_reflect_Field_setInt___java_lang_Object_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2);
+void java_lang_reflect_Field_setLong___java_lang_Object_long(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_LONG n2);
+void java_lang_reflect_Field_setShort___java_lang_Object_short(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_SHORT n2);
+// Vtable index: 5
+JAVA_OBJECT java_lang_reflect_Field_toString__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_lang_reflect_GenericDeclaration.c b/tests/nbody-java/java_lang_reflect_GenericDeclaration.c
new file mode 100644
index 00000000..d711c526
--- /dev/null
+++ b/tests/nbody-java/java_lang_reflect_GenericDeclaration.c
@@ -0,0 +1,76 @@
+#include "xmlvm.h"
+
+#include "java_lang_reflect_GenericDeclaration.h"
+
+__TIB_DEFINITION_java_lang_reflect_GenericDeclaration __TIB_java_lang_reflect_GenericDeclaration = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_reflect_GenericDeclaration, // classInitializer
+ "java.lang.reflect.GenericDeclaration", // className
+ "java.lang.reflect", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_lang_reflect_GenericDeclaration;
+JAVA_OBJECT __CLASS_java_lang_reflect_GenericDeclaration_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_reflect_GenericDeclaration_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_reflect_GenericDeclaration_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_lang_reflect_GenericDeclaration()
+{
+ staticInitializerLock(&__TIB_java_lang_reflect_GenericDeclaration);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_reflect_GenericDeclaration.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_reflect_GenericDeclaration.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_reflect_GenericDeclaration);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_reflect_GenericDeclaration.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_reflect_GenericDeclaration.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_reflect_GenericDeclaration.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.reflect.GenericDeclaration")
+ __INIT_IMPL_java_lang_reflect_GenericDeclaration();
+ }
+}
+
+void __INIT_IMPL_java_lang_reflect_GenericDeclaration()
+{
+ __TIB_java_lang_reflect_GenericDeclaration.numInterfaces = 0;
+ __TIB_java_lang_reflect_GenericDeclaration.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_reflect_GenericDeclaration.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_lang_reflect_GenericDeclaration.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_reflect_GenericDeclaration.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_reflect_GenericDeclaration.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_lang_reflect_GenericDeclaration = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_reflect_GenericDeclaration);
+ __TIB_java_lang_reflect_GenericDeclaration.clazz = __CLASS_java_lang_reflect_GenericDeclaration;
+ __TIB_java_lang_reflect_GenericDeclaration.baseType = JAVA_NULL;
+ __CLASS_java_lang_reflect_GenericDeclaration_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_GenericDeclaration);
+ __CLASS_java_lang_reflect_GenericDeclaration_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_GenericDeclaration_1ARRAY);
+ __CLASS_java_lang_reflect_GenericDeclaration_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_GenericDeclaration_2ARRAY);
+
+ __TIB_java_lang_reflect_GenericDeclaration.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_lang_reflect_GenericDeclaration.h b/tests/nbody-java/java_lang_reflect_GenericDeclaration.h
new file mode 100644
index 00000000..d17b0a99
--- /dev/null
+++ b/tests/nbody-java/java_lang_reflect_GenericDeclaration.h
@@ -0,0 +1,28 @@
+#ifndef __JAVA_LANG_REFLECT_GENERICDECLARATION__
+#define __JAVA_LANG_REFLECT_GENERICDECLARATION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_lang_reflect_GenericDeclaration_getTypeParameters__ 4
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+
+XMLVM_DEFINE_CLASS(java_lang_reflect_GenericDeclaration, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_lang_reflect_GenericDeclaration;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_GenericDeclaration_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_GenericDeclaration_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_GenericDeclaration_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_GenericDeclaration
+#define XMLVM_FORWARD_DECL_java_lang_reflect_GenericDeclaration
+typedef struct java_lang_reflect_GenericDeclaration java_lang_reflect_GenericDeclaration;
+#endif
+
+void __INIT_java_lang_reflect_GenericDeclaration();
+void __INIT_IMPL_java_lang_reflect_GenericDeclaration();
+
+#endif
diff --git a/tests/nbody-java/java_lang_reflect_InvocationHandler.c b/tests/nbody-java/java_lang_reflect_InvocationHandler.c
new file mode 100644
index 00000000..dfbe990c
--- /dev/null
+++ b/tests/nbody-java/java_lang_reflect_InvocationHandler.c
@@ -0,0 +1,77 @@
+#include "xmlvm.h"
+#include "java_lang_reflect_Method.h"
+
+#include "java_lang_reflect_InvocationHandler.h"
+
+__TIB_DEFINITION_java_lang_reflect_InvocationHandler __TIB_java_lang_reflect_InvocationHandler = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_reflect_InvocationHandler, // classInitializer
+ "java.lang.reflect.InvocationHandler", // className
+ "java.lang.reflect", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_lang_reflect_InvocationHandler;
+JAVA_OBJECT __CLASS_java_lang_reflect_InvocationHandler_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_reflect_InvocationHandler_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_reflect_InvocationHandler_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_lang_reflect_InvocationHandler()
+{
+ staticInitializerLock(&__TIB_java_lang_reflect_InvocationHandler);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_reflect_InvocationHandler.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_reflect_InvocationHandler.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_reflect_InvocationHandler);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_reflect_InvocationHandler.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_reflect_InvocationHandler.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_reflect_InvocationHandler.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.reflect.InvocationHandler")
+ __INIT_IMPL_java_lang_reflect_InvocationHandler();
+ }
+}
+
+void __INIT_IMPL_java_lang_reflect_InvocationHandler()
+{
+ __TIB_java_lang_reflect_InvocationHandler.numInterfaces = 0;
+ __TIB_java_lang_reflect_InvocationHandler.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_reflect_InvocationHandler.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_lang_reflect_InvocationHandler.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_reflect_InvocationHandler.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_reflect_InvocationHandler.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_lang_reflect_InvocationHandler = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_reflect_InvocationHandler);
+ __TIB_java_lang_reflect_InvocationHandler.clazz = __CLASS_java_lang_reflect_InvocationHandler;
+ __TIB_java_lang_reflect_InvocationHandler.baseType = JAVA_NULL;
+ __CLASS_java_lang_reflect_InvocationHandler_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_InvocationHandler);
+ __CLASS_java_lang_reflect_InvocationHandler_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_InvocationHandler_1ARRAY);
+ __CLASS_java_lang_reflect_InvocationHandler_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_InvocationHandler_2ARRAY);
+
+ __TIB_java_lang_reflect_InvocationHandler.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_lang_reflect_InvocationHandler.h b/tests/nbody-java/java_lang_reflect_InvocationHandler.h
new file mode 100644
index 00000000..42bb8da4
--- /dev/null
+++ b/tests/nbody-java/java_lang_reflect_InvocationHandler.h
@@ -0,0 +1,32 @@
+#ifndef __JAVA_LANG_REFLECT_INVOCATIONHANDLER__
+#define __JAVA_LANG_REFLECT_INVOCATIONHANDLER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_lang_reflect_InvocationHandler_invoke___java_lang_Object_java_lang_reflect_Method_java_lang_Object_1ARRAY 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_Method
+#define XMLVM_FORWARD_DECL_java_lang_reflect_Method
+XMLVM_FORWARD_DECL(java_lang_reflect_Method)
+#endif
+
+XMLVM_DEFINE_CLASS(java_lang_reflect_InvocationHandler, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_lang_reflect_InvocationHandler;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_InvocationHandler_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_InvocationHandler_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_InvocationHandler_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_InvocationHandler
+#define XMLVM_FORWARD_DECL_java_lang_reflect_InvocationHandler
+typedef struct java_lang_reflect_InvocationHandler java_lang_reflect_InvocationHandler;
+#endif
+
+void __INIT_java_lang_reflect_InvocationHandler();
+void __INIT_IMPL_java_lang_reflect_InvocationHandler();
+
+#endif
diff --git a/tests/nbody-java/java_lang_reflect_Member.c b/tests/nbody-java/java_lang_reflect_Member.c
new file mode 100644
index 00000000..f9cff8f1
--- /dev/null
+++ b/tests/nbody-java/java_lang_reflect_Member.c
@@ -0,0 +1,104 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_String.h"
+
+#include "java_lang_reflect_Member.h"
+
+__TIB_DEFINITION_java_lang_reflect_Member __TIB_java_lang_reflect_Member = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_reflect_Member, // classInitializer
+ "java.lang.reflect.Member", // className
+ "java.lang.reflect", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_lang_reflect_Member;
+JAVA_OBJECT __CLASS_java_lang_reflect_Member_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_reflect_Member_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_reflect_Member_3ARRAY;
+static JAVA_INT _STATIC_java_lang_reflect_Member_PUBLIC;
+static JAVA_INT _STATIC_java_lang_reflect_Member_DECLARED;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_lang_reflect_Member()
+{
+ staticInitializerLock(&__TIB_java_lang_reflect_Member);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_reflect_Member.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_reflect_Member.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_reflect_Member);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_reflect_Member.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_reflect_Member.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_reflect_Member.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.reflect.Member")
+ __INIT_IMPL_java_lang_reflect_Member();
+ }
+}
+
+void __INIT_IMPL_java_lang_reflect_Member()
+{
+ __TIB_java_lang_reflect_Member.numInterfaces = 0;
+ _STATIC_java_lang_reflect_Member_PUBLIC = 0;
+ _STATIC_java_lang_reflect_Member_DECLARED = 1;
+ __TIB_java_lang_reflect_Member.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_reflect_Member.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_lang_reflect_Member.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_reflect_Member.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_reflect_Member.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_lang_reflect_Member = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_reflect_Member);
+ __TIB_java_lang_reflect_Member.clazz = __CLASS_java_lang_reflect_Member;
+ __TIB_java_lang_reflect_Member.baseType = JAVA_NULL;
+ __CLASS_java_lang_reflect_Member_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_Member);
+ __CLASS_java_lang_reflect_Member_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_Member_1ARRAY);
+ __CLASS_java_lang_reflect_Member_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_Member_2ARRAY);
+
+ __TIB_java_lang_reflect_Member.classInitialized = 1;
+}
+
+JAVA_INT java_lang_reflect_Member_GET_PUBLIC()
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Member)
+ return _STATIC_java_lang_reflect_Member_PUBLIC;
+}
+
+void java_lang_reflect_Member_PUT_PUBLIC(JAVA_INT v)
+{
+ _STATIC_java_lang_reflect_Member_PUBLIC = v;
+}
+
+JAVA_INT java_lang_reflect_Member_GET_DECLARED()
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Member)
+ return _STATIC_java_lang_reflect_Member_DECLARED;
+}
+
+void java_lang_reflect_Member_PUT_DECLARED(JAVA_INT v)
+{
+ _STATIC_java_lang_reflect_Member_DECLARED = v;
+}
+
diff --git a/tests/nbody-java/java_lang_reflect_Member.h b/tests/nbody-java/java_lang_reflect_Member.h
new file mode 100644
index 00000000..2738523b
--- /dev/null
+++ b/tests/nbody-java/java_lang_reflect_Member.h
@@ -0,0 +1,43 @@
+#ifndef __JAVA_LANG_REFLECT_MEMBER__
+#define __JAVA_LANG_REFLECT_MEMBER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_lang_reflect_Member_getDeclaringClass__ 5
+#define XMLVM_ITABLE_IDX_java_lang_reflect_Member_getModifiers__ 6
+#define XMLVM_ITABLE_IDX_java_lang_reflect_Member_getName__ 7
+#define XMLVM_ITABLE_IDX_java_lang_reflect_Member_isSynthetic__ 8
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+
+XMLVM_DEFINE_CLASS(java_lang_reflect_Member, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Member;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Member_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Member_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Member_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_Member
+#define XMLVM_FORWARD_DECL_java_lang_reflect_Member
+typedef struct java_lang_reflect_Member java_lang_reflect_Member;
+#endif
+
+void __INIT_java_lang_reflect_Member();
+void __INIT_IMPL_java_lang_reflect_Member();
+JAVA_INT java_lang_reflect_Member_GET_PUBLIC();
+void java_lang_reflect_Member_PUT_PUBLIC(JAVA_INT v);
+JAVA_INT java_lang_reflect_Member_GET_DECLARED();
+void java_lang_reflect_Member_PUT_DECLARED(JAVA_INT v);
+
+#endif
diff --git a/tests/nbody-java/java_lang_reflect_Method.c b/tests/nbody-java/java_lang_reflect_Method.c
new file mode 100644
index 00000000..0ec7f96b
--- /dev/null
+++ b/tests/nbody-java/java_lang_reflect_Method.c
@@ -0,0 +1,376 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+#include "java_lang_reflect_Type.h"
+
+#include "java_lang_reflect_Method.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Method
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_reflect_Method
+
+__TIB_DEFINITION_java_lang_reflect_Method __TIB_java_lang_reflect_Method = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_reflect_Method, // classInitializer
+ "java.lang.reflect.Method", // className
+ "java.lang.reflect", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<T:Ljava/lang/Object;>Ljava/lang/reflect/AccessibleObject;Ljava/lang/reflect/GenericDeclaration;Ljava/lang/reflect/Member;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_reflect_AccessibleObject, // extends
+ sizeof(java_lang_reflect_Method), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_reflect_Method;
+JAVA_OBJECT __CLASS_java_lang_reflect_Method_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_reflect_Method_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_reflect_Method_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_reflect_Method()
+{
+ staticInitializerLock(&__TIB_java_lang_reflect_Method);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_reflect_Method.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_reflect_Method.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_reflect_Method);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_reflect_Method.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_reflect_Method.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_reflect_Method.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.reflect.Method")
+ __INIT_IMPL_java_lang_reflect_Method();
+ }
+}
+
+void __INIT_IMPL_java_lang_reflect_Method()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_reflect_AccessibleObject)
+ __TIB_java_lang_reflect_Method.newInstanceFunc = __NEW_INSTANCE_java_lang_reflect_Method;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_reflect_Method.vtable, __TIB_java_lang_reflect_AccessibleObject.vtable, sizeof(__TIB_java_lang_reflect_AccessibleObject.vtable));
+ // Initialize vtable for this class
+ __TIB_java_lang_reflect_Method.vtable[14] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_reflect_Method.vtable[16] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_reflect_Method.vtable[1] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_reflect_Method.vtable[12] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_reflect_Method.vtable[9] = (VTABLE_PTR) &java_lang_reflect_Method_getModifiers__;
+ __TIB_java_lang_reflect_Method.vtable[13] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_reflect_Method.vtable[4] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_reflect_Method.vtable[15] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_java_lang_reflect_Method.vtable[5] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ xmlvm_init_native_java_lang_reflect_Method();
+ // Initialize interface information
+ __TIB_java_lang_reflect_Method.numImplementedInterfaces = 3;
+ __TIB_java_lang_reflect_Method.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 3);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_lang_reflect_AnnotatedElement)
+
+ __TIB_java_lang_reflect_Method.implementedInterfaces[0][0] = &__TIB_java_lang_reflect_AnnotatedElement;
+
+ XMLVM_CLASS_INIT(java_lang_reflect_GenericDeclaration)
+
+ __TIB_java_lang_reflect_Method.implementedInterfaces[0][1] = &__TIB_java_lang_reflect_GenericDeclaration;
+
+ XMLVM_CLASS_INIT(java_lang_reflect_Member)
+
+ __TIB_java_lang_reflect_Method.implementedInterfaces[0][2] = &__TIB_java_lang_reflect_Member;
+ // Initialize itable for this class
+ __TIB_java_lang_reflect_Method.itableBegin = &__TIB_java_lang_reflect_Method.itable[0];
+ __TIB_java_lang_reflect_Method.itable[XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_getAnnotation___java_lang_Class] = __TIB_java_lang_reflect_Method.vtable[6];
+ __TIB_java_lang_reflect_Method.itable[XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_getAnnotations__] = __TIB_java_lang_reflect_Method.vtable[7];
+ __TIB_java_lang_reflect_Method.itable[XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_getDeclaredAnnotations__] = __TIB_java_lang_reflect_Method.vtable[8];
+ __TIB_java_lang_reflect_Method.itable[XMLVM_ITABLE_IDX_java_lang_reflect_AnnotatedElement_isAnnotationPresent___java_lang_Class] = __TIB_java_lang_reflect_Method.vtable[11];
+ __TIB_java_lang_reflect_Method.itable[XMLVM_ITABLE_IDX_java_lang_reflect_GenericDeclaration_getTypeParameters__] = __TIB_java_lang_reflect_Method.vtable[14];
+ __TIB_java_lang_reflect_Method.itable[XMLVM_ITABLE_IDX_java_lang_reflect_Member_getDeclaringClass__] = __TIB_java_lang_reflect_Method.vtable[12];
+ __TIB_java_lang_reflect_Method.itable[XMLVM_ITABLE_IDX_java_lang_reflect_Member_getModifiers__] = __TIB_java_lang_reflect_Method.vtable[9];
+ __TIB_java_lang_reflect_Method.itable[XMLVM_ITABLE_IDX_java_lang_reflect_Member_getName__] = __TIB_java_lang_reflect_Method.vtable[13];
+ __TIB_java_lang_reflect_Method.itable[XMLVM_ITABLE_IDX_java_lang_reflect_Member_isSynthetic__] = __TIB_java_lang_reflect_Method.vtable[16];
+
+
+ __TIB_java_lang_reflect_Method.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_reflect_Method.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_reflect_Method.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_reflect_Method.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_reflect_Method.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_reflect_Method.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_reflect_Method.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_reflect_Method.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_reflect_Method = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_reflect_Method);
+ __TIB_java_lang_reflect_Method.clazz = __CLASS_java_lang_reflect_Method;
+ __TIB_java_lang_reflect_Method.baseType = JAVA_NULL;
+ __CLASS_java_lang_reflect_Method_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_Method);
+ __CLASS_java_lang_reflect_Method_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_Method_1ARRAY);
+ __CLASS_java_lang_reflect_Method_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_Method_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_reflect_Method]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_reflect_Method.classInitialized = 1;
+}
+
+void __DELETE_java_lang_reflect_Method(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_reflect_Method]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_reflect_Method(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_reflect_AccessibleObject(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_lang_reflect_Method*) me)->fields.java_lang_reflect_Method.name_ = (java_lang_String*) JAVA_NULL;
+ ((java_lang_reflect_Method*) me)->fields.java_lang_reflect_Method.clazz_ = (java_lang_Class*) JAVA_NULL;
+ ((java_lang_reflect_Method*) me)->fields.java_lang_reflect_Method.address_ = (java_lang_Object*) JAVA_NULL;
+ ((java_lang_reflect_Method*) me)->fields.java_lang_reflect_Method.slot_ = 0;
+ ((java_lang_reflect_Method*) me)->fields.java_lang_reflect_Method.parameterTypes_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ ((java_lang_reflect_Method*) me)->fields.java_lang_reflect_Method.exceptionTypes_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ ((java_lang_reflect_Method*) me)->fields.java_lang_reflect_Method.modifiers_ = 0;
+ ((java_lang_reflect_Method*) me)->fields.java_lang_reflect_Method.signature_ = (java_lang_String*) JAVA_NULL;
+ ((java_lang_reflect_Method*) me)->fields.java_lang_reflect_Method.annotations_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ ((java_lang_reflect_Method*) me)->fields.java_lang_reflect_Method.parameterAnnotations_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_reflect_Method]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_reflect_Method()
+{ XMLVM_CLASS_INIT(java_lang_reflect_Method)
+java_lang_reflect_Method* me = (java_lang_reflect_Method*) XMLVM_MALLOC(sizeof(java_lang_reflect_Method));
+ me->tib = &__TIB_java_lang_reflect_Method;
+ __INIT_INSTANCE_MEMBERS_java_lang_reflect_Method(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_reflect_Method]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_reflect_Method()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+void java_lang_reflect_Method___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Method___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Method", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Method.java", 49)
+ XMLVM_CHECK_NPE(0)
+ java_lang_reflect_AccessibleObject___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Method.java", 51)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_lang_reflect_Method___INIT____java_lang_String_java_lang_Class_java_lang_Class_1ARRAY_java_lang_Class_1ARRAY_int_java_lang_Object_int_java_lang_String_byte_1ARRAY_byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_OBJECT n4, JAVA_INT n5, JAVA_OBJECT n6, JAVA_INT n7, JAVA_OBJECT n8, JAVA_OBJECT n9, JAVA_OBJECT n10)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Method___INIT____java_lang_String_java_lang_Class_java_lang_Class_1ARRAY_java_lang_Class_1ARRAY_int_java_lang_Object_int_java_lang_String_byte_1ARRAY_byte_1ARRAY]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Method", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ _r3.o = n3;
+ _r4.o = n4;
+ _r5.i = n5;
+ _r6.o = n6;
+ _r7.i = n7;
+ _r8.o = n8;
+ _r9.o = n9;
+ _r10.o = n10;
+ XMLVM_SOURCE_POSITION("Method.java", 55)
+ XMLVM_CHECK_NPE(0)
+ java_lang_reflect_AccessibleObject___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Method.java", 56)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Method*) _r0.o)->fields.java_lang_reflect_Method.name_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Method.java", 57)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Method*) _r0.o)->fields.java_lang_reflect_Method.clazz_ = _r2.o;
+ XMLVM_SOURCE_POSITION("Method.java", 58)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Method*) _r0.o)->fields.java_lang_reflect_Method.parameterTypes_ = _r3.o;
+ XMLVM_SOURCE_POSITION("Method.java", 59)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Method*) _r0.o)->fields.java_lang_reflect_Method.exceptionTypes_ = _r4.o;
+ XMLVM_SOURCE_POSITION("Method.java", 60)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Method*) _r0.o)->fields.java_lang_reflect_Method.modifiers_ = _r5.i;
+ XMLVM_SOURCE_POSITION("Method.java", 61)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Method*) _r0.o)->fields.java_lang_reflect_Method.address_ = _r6.o;
+ XMLVM_SOURCE_POSITION("Method.java", 62)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Method*) _r0.o)->fields.java_lang_reflect_Method.slot_ = _r7.i;
+ XMLVM_SOURCE_POSITION("Method.java", 63)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Method*) _r0.o)->fields.java_lang_reflect_Method.signature_ = _r8.o;
+ XMLVM_SOURCE_POSITION("Method.java", 64)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Method*) _r0.o)->fields.java_lang_reflect_Method.annotations_ = _r9.o;
+ XMLVM_SOURCE_POSITION("Method.java", 65)
+ XMLVM_CHECK_NPE(0)
+ ((java_lang_reflect_Method*) _r0.o)->fields.java_lang_reflect_Method.parameterAnnotations_ = _r10.o;
+ XMLVM_SOURCE_POSITION("Method.java", 66)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Method_getTypeParameters__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Method_toGenericString__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Method_getGenericParameterTypes__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Method_getGenericExceptionTypes__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Method_getGenericReturnType__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Method_getParameterAnnotations__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_reflect_Method_isVarArgs__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_reflect_Method_isBridge__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_reflect_Method_isSynthetic__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Method_getDefaultValue__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN java_lang_reflect_Method_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Method_getDeclaringClass__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Method_getExceptionTypes__(JAVA_OBJECT me)]
+
+JAVA_INT java_lang_reflect_Method_getModifiers__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Method_getModifiers__]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Method", "getModifiers", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Method.java", 216)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_lang_reflect_Method*) _r1.o)->fields.java_lang_reflect_Method.modifiers_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Method_getName__(JAVA_OBJECT me)]
+
+JAVA_OBJECT java_lang_reflect_Method_getParameterTypes__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Method_getParameterTypes__]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Method", "getParameterTypes", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Method.java", 235)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_lang_reflect_Method*) _r1.o)->fields.java_lang_reflect_Method.parameterTypes_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_reflect_Method_getReturnType__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Method_getReturnType__]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Method", "getReturnType", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("Method.java", 245)
+
+
+ // Red class access removed: org.apache.harmony.luni.lang.reflect.GenericSignatureParser::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = JAVA_NULL;
+
+
+ // Red class access removed: org.apache.harmony.luni.lang.reflect.GenericSignatureParser::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Method.java", 246)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_lang_reflect_Method*) _r3.o)->fields.java_lang_reflect_Method.signature_;
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_lang_reflect_Method*) _r3.o)->fields.java_lang_reflect_Method.exceptionTypes_;
+
+
+ // Red class access removed: org.apache.harmony.luni.lang.reflect.GenericSignatureParser::parseForMethod
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Method.java", 247)
+
+
+ // Red class access removed: org.apache.harmony.luni.lang.reflect.GenericSignatureParser,java.lang.reflect.Type::returnType
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: org.apache.harmony.luni.lang.reflect.Types::getType
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r3.o = _r3.o;
+ XMLVM_EXIT_METHOD()
+ return _r3.o;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_INT java_lang_reflect_Method_hashCode__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Method_invoke___java_lang_Object_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_lang_reflect_Method_toString__(JAVA_OBJECT me)]
+
diff --git a/tests/nbody-java/java_lang_reflect_Method.h b/tests/nbody-java/java_lang_reflect_Method.h
new file mode 100644
index 00000000..9849c77e
--- /dev/null
+++ b/tests/nbody-java/java_lang_reflect_Method.h
@@ -0,0 +1,119 @@
+#ifndef __JAVA_LANG_REFLECT_METHOD__
+#define __JAVA_LANG_REFLECT_METHOD__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_reflect_Method 9
+// Implemented interfaces:
+#include "java_lang_reflect_GenericDeclaration.h"
+#include "java_lang_reflect_Member.h"
+// Super Class:
+#include "java_lang_reflect_AccessibleObject.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_Type
+#define XMLVM_FORWARD_DECL_java_lang_reflect_Type
+XMLVM_FORWARD_DECL(java_lang_reflect_Type)
+#endif
+// Class declarations for java.lang.reflect.Method
+XMLVM_DEFINE_CLASS(java_lang_reflect_Method, 17, XMLVM_ITABLE_SIZE_java_lang_reflect_Method)
+
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Method;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Method_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Method_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Method_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_reflect_Method
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_reflect_Method \
+ __INSTANCE_FIELDS_java_lang_reflect_AccessibleObject; \
+ struct { \
+ JAVA_OBJECT name_; \
+ JAVA_OBJECT clazz_; \
+ JAVA_OBJECT address_; \
+ JAVA_INT slot_; \
+ JAVA_OBJECT parameterTypes_; \
+ JAVA_OBJECT exceptionTypes_; \
+ JAVA_INT modifiers_; \
+ JAVA_OBJECT signature_; \
+ JAVA_OBJECT annotations_; \
+ JAVA_OBJECT parameterAnnotations_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_reflect_Method \
+ } java_lang_reflect_Method
+
+struct java_lang_reflect_Method {
+ __TIB_DEFINITION_java_lang_reflect_Method* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_reflect_Method;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_Method
+#define XMLVM_FORWARD_DECL_java_lang_reflect_Method
+typedef struct java_lang_reflect_Method java_lang_reflect_Method;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_reflect_Method 17
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Method_getTypeParameters__ 14
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Method_isSynthetic__ 16
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Method_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Method_getDeclaringClass__ 12
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Method_getModifiers__ 9
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Method_getName__ 13
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Method_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Method_invoke___java_lang_Object_java_lang_Object_1ARRAY 15
+#define XMLVM_VTABLE_IDX_java_lang_reflect_Method_toString__ 5
+
+void __INIT_java_lang_reflect_Method();
+void __INIT_IMPL_java_lang_reflect_Method();
+void __DELETE_java_lang_reflect_Method(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_reflect_Method(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_reflect_Method();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_reflect_Method();
+void xmlvm_init_native_java_lang_reflect_Method();
+void java_lang_reflect_Method___INIT___(JAVA_OBJECT me);
+void java_lang_reflect_Method___INIT____java_lang_String_java_lang_Class_java_lang_Class_1ARRAY_java_lang_Class_1ARRAY_int_java_lang_Object_int_java_lang_String_byte_1ARRAY_byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_OBJECT n4, JAVA_INT n5, JAVA_OBJECT n6, JAVA_INT n7, JAVA_OBJECT n8, JAVA_OBJECT n9, JAVA_OBJECT n10);
+// Vtable index: 14
+JAVA_OBJECT java_lang_reflect_Method_getTypeParameters__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_reflect_Method_toGenericString__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_reflect_Method_getGenericParameterTypes__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_reflect_Method_getGenericExceptionTypes__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_reflect_Method_getGenericReturnType__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_reflect_Method_getParameterAnnotations__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_reflect_Method_isVarArgs__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_reflect_Method_isBridge__(JAVA_OBJECT me);
+// Vtable index: 16
+JAVA_BOOLEAN java_lang_reflect_Method_isSynthetic__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_reflect_Method_getDefaultValue__(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_lang_reflect_Method_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 12
+JAVA_OBJECT java_lang_reflect_Method_getDeclaringClass__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_reflect_Method_getExceptionTypes__(JAVA_OBJECT me);
+// Vtable index: 9
+JAVA_INT java_lang_reflect_Method_getModifiers__(JAVA_OBJECT me);
+// Vtable index: 13
+JAVA_OBJECT java_lang_reflect_Method_getName__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_reflect_Method_getParameterTypes__(JAVA_OBJECT me);
+JAVA_OBJECT java_lang_reflect_Method_getReturnType__(JAVA_OBJECT me);
+// Vtable index: 4
+JAVA_INT java_lang_reflect_Method_hashCode__(JAVA_OBJECT me);
+// Vtable index: 15
+JAVA_OBJECT java_lang_reflect_Method_invoke___java_lang_Object_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+// Vtable index: 5
+JAVA_OBJECT java_lang_reflect_Method_toString__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_lang_reflect_Modifier.c b/tests/nbody-java/java_lang_reflect_Modifier.c
new file mode 100644
index 00000000..c76f3346
--- /dev/null
+++ b/tests/nbody-java/java_lang_reflect_Modifier.c
@@ -0,0 +1,798 @@
+#include "xmlvm.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+
+#include "java_lang_reflect_Modifier.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Modifier
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_lang_reflect_Modifier
+
+__TIB_DEFINITION_java_lang_reflect_Modifier __TIB_java_lang_reflect_Modifier = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_reflect_Modifier, // classInitializer
+ "java.lang.reflect.Modifier", // className
+ "java.lang.reflect", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_lang_reflect_Modifier), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_lang_reflect_Modifier;
+JAVA_OBJECT __CLASS_java_lang_reflect_Modifier_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_reflect_Modifier_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_reflect_Modifier_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_INT _STATIC_java_lang_reflect_Modifier_PUBLIC;
+static JAVA_INT _STATIC_java_lang_reflect_Modifier_PRIVATE;
+static JAVA_INT _STATIC_java_lang_reflect_Modifier_PROTECTED;
+static JAVA_INT _STATIC_java_lang_reflect_Modifier_STATIC;
+static JAVA_INT _STATIC_java_lang_reflect_Modifier_FINAL;
+static JAVA_INT _STATIC_java_lang_reflect_Modifier_SYNCHRONIZED;
+static JAVA_INT _STATIC_java_lang_reflect_Modifier_VOLATILE;
+static JAVA_INT _STATIC_java_lang_reflect_Modifier_TRANSIENT;
+static JAVA_INT _STATIC_java_lang_reflect_Modifier_NATIVE;
+static JAVA_INT _STATIC_java_lang_reflect_Modifier_INTERFACE;
+static JAVA_INT _STATIC_java_lang_reflect_Modifier_ABSTRACT;
+static JAVA_INT _STATIC_java_lang_reflect_Modifier_STRICT;
+static JAVA_INT _STATIC_java_lang_reflect_Modifier_BRIDGE;
+static JAVA_INT _STATIC_java_lang_reflect_Modifier_VARARGS;
+static JAVA_INT _STATIC_java_lang_reflect_Modifier_SYNTHETIC;
+static JAVA_INT _STATIC_java_lang_reflect_Modifier_ANNOTATION;
+static JAVA_INT _STATIC_java_lang_reflect_Modifier_ENUM;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_lang_reflect_Modifier()
+{
+ staticInitializerLock(&__TIB_java_lang_reflect_Modifier);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_reflect_Modifier.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_reflect_Modifier.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_reflect_Modifier);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_reflect_Modifier.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_reflect_Modifier.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_reflect_Modifier.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.reflect.Modifier")
+ __INIT_IMPL_java_lang_reflect_Modifier();
+ }
+}
+
+void __INIT_IMPL_java_lang_reflect_Modifier()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_lang_reflect_Modifier.newInstanceFunc = __NEW_INSTANCE_java_lang_reflect_Modifier;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_lang_reflect_Modifier.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_lang_reflect_Modifier.numImplementedInterfaces = 0;
+ __TIB_java_lang_reflect_Modifier.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_java_lang_reflect_Modifier_PUBLIC = 1;
+ _STATIC_java_lang_reflect_Modifier_PRIVATE = 2;
+ _STATIC_java_lang_reflect_Modifier_PROTECTED = 4;
+ _STATIC_java_lang_reflect_Modifier_STATIC = 8;
+ _STATIC_java_lang_reflect_Modifier_FINAL = 16;
+ _STATIC_java_lang_reflect_Modifier_SYNCHRONIZED = 32;
+ _STATIC_java_lang_reflect_Modifier_VOLATILE = 64;
+ _STATIC_java_lang_reflect_Modifier_TRANSIENT = 128;
+ _STATIC_java_lang_reflect_Modifier_NATIVE = 256;
+ _STATIC_java_lang_reflect_Modifier_INTERFACE = 512;
+ _STATIC_java_lang_reflect_Modifier_ABSTRACT = 1024;
+ _STATIC_java_lang_reflect_Modifier_STRICT = 2048;
+ _STATIC_java_lang_reflect_Modifier_BRIDGE = 64;
+ _STATIC_java_lang_reflect_Modifier_VARARGS = 128;
+ _STATIC_java_lang_reflect_Modifier_SYNTHETIC = 4096;
+ _STATIC_java_lang_reflect_Modifier_ANNOTATION = 8192;
+ _STATIC_java_lang_reflect_Modifier_ENUM = 16384;
+
+ __TIB_java_lang_reflect_Modifier.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_reflect_Modifier.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_lang_reflect_Modifier.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_lang_reflect_Modifier.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_lang_reflect_Modifier.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_lang_reflect_Modifier.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_reflect_Modifier.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_reflect_Modifier.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_lang_reflect_Modifier = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_reflect_Modifier);
+ __TIB_java_lang_reflect_Modifier.clazz = __CLASS_java_lang_reflect_Modifier;
+ __TIB_java_lang_reflect_Modifier.baseType = JAVA_NULL;
+ __CLASS_java_lang_reflect_Modifier_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_Modifier);
+ __CLASS_java_lang_reflect_Modifier_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_Modifier_1ARRAY);
+ __CLASS_java_lang_reflect_Modifier_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_Modifier_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_lang_reflect_Modifier]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_lang_reflect_Modifier.classInitialized = 1;
+}
+
+void __DELETE_java_lang_reflect_Modifier(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_lang_reflect_Modifier]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_lang_reflect_Modifier(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_lang_reflect_Modifier]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_lang_reflect_Modifier()
+{ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+java_lang_reflect_Modifier* me = (java_lang_reflect_Modifier*) XMLVM_MALLOC(sizeof(java_lang_reflect_Modifier));
+ me->tib = &__TIB_java_lang_reflect_Modifier;
+ __INIT_INSTANCE_MEMBERS_java_lang_reflect_Modifier(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_lang_reflect_Modifier]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_lang_reflect_Modifier()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_lang_reflect_Modifier();
+ java_lang_reflect_Modifier___INIT___(me);
+ return me;
+}
+
+JAVA_INT java_lang_reflect_Modifier_GET_PUBLIC()
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ return _STATIC_java_lang_reflect_Modifier_PUBLIC;
+}
+
+void java_lang_reflect_Modifier_PUT_PUBLIC(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+_STATIC_java_lang_reflect_Modifier_PUBLIC = v;
+}
+
+JAVA_INT java_lang_reflect_Modifier_GET_PRIVATE()
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ return _STATIC_java_lang_reflect_Modifier_PRIVATE;
+}
+
+void java_lang_reflect_Modifier_PUT_PRIVATE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+_STATIC_java_lang_reflect_Modifier_PRIVATE = v;
+}
+
+JAVA_INT java_lang_reflect_Modifier_GET_PROTECTED()
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ return _STATIC_java_lang_reflect_Modifier_PROTECTED;
+}
+
+void java_lang_reflect_Modifier_PUT_PROTECTED(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+_STATIC_java_lang_reflect_Modifier_PROTECTED = v;
+}
+
+JAVA_INT java_lang_reflect_Modifier_GET_STATIC()
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ return _STATIC_java_lang_reflect_Modifier_STATIC;
+}
+
+void java_lang_reflect_Modifier_PUT_STATIC(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+_STATIC_java_lang_reflect_Modifier_STATIC = v;
+}
+
+JAVA_INT java_lang_reflect_Modifier_GET_FINAL()
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ return _STATIC_java_lang_reflect_Modifier_FINAL;
+}
+
+void java_lang_reflect_Modifier_PUT_FINAL(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+_STATIC_java_lang_reflect_Modifier_FINAL = v;
+}
+
+JAVA_INT java_lang_reflect_Modifier_GET_SYNCHRONIZED()
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ return _STATIC_java_lang_reflect_Modifier_SYNCHRONIZED;
+}
+
+void java_lang_reflect_Modifier_PUT_SYNCHRONIZED(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+_STATIC_java_lang_reflect_Modifier_SYNCHRONIZED = v;
+}
+
+JAVA_INT java_lang_reflect_Modifier_GET_VOLATILE()
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ return _STATIC_java_lang_reflect_Modifier_VOLATILE;
+}
+
+void java_lang_reflect_Modifier_PUT_VOLATILE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+_STATIC_java_lang_reflect_Modifier_VOLATILE = v;
+}
+
+JAVA_INT java_lang_reflect_Modifier_GET_TRANSIENT()
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ return _STATIC_java_lang_reflect_Modifier_TRANSIENT;
+}
+
+void java_lang_reflect_Modifier_PUT_TRANSIENT(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+_STATIC_java_lang_reflect_Modifier_TRANSIENT = v;
+}
+
+JAVA_INT java_lang_reflect_Modifier_GET_NATIVE()
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ return _STATIC_java_lang_reflect_Modifier_NATIVE;
+}
+
+void java_lang_reflect_Modifier_PUT_NATIVE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+_STATIC_java_lang_reflect_Modifier_NATIVE = v;
+}
+
+JAVA_INT java_lang_reflect_Modifier_GET_INTERFACE()
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ return _STATIC_java_lang_reflect_Modifier_INTERFACE;
+}
+
+void java_lang_reflect_Modifier_PUT_INTERFACE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+_STATIC_java_lang_reflect_Modifier_INTERFACE = v;
+}
+
+JAVA_INT java_lang_reflect_Modifier_GET_ABSTRACT()
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ return _STATIC_java_lang_reflect_Modifier_ABSTRACT;
+}
+
+void java_lang_reflect_Modifier_PUT_ABSTRACT(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+_STATIC_java_lang_reflect_Modifier_ABSTRACT = v;
+}
+
+JAVA_INT java_lang_reflect_Modifier_GET_STRICT()
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ return _STATIC_java_lang_reflect_Modifier_STRICT;
+}
+
+void java_lang_reflect_Modifier_PUT_STRICT(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+_STATIC_java_lang_reflect_Modifier_STRICT = v;
+}
+
+JAVA_INT java_lang_reflect_Modifier_GET_BRIDGE()
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ return _STATIC_java_lang_reflect_Modifier_BRIDGE;
+}
+
+void java_lang_reflect_Modifier_PUT_BRIDGE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+_STATIC_java_lang_reflect_Modifier_BRIDGE = v;
+}
+
+JAVA_INT java_lang_reflect_Modifier_GET_VARARGS()
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ return _STATIC_java_lang_reflect_Modifier_VARARGS;
+}
+
+void java_lang_reflect_Modifier_PUT_VARARGS(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+_STATIC_java_lang_reflect_Modifier_VARARGS = v;
+}
+
+JAVA_INT java_lang_reflect_Modifier_GET_SYNTHETIC()
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ return _STATIC_java_lang_reflect_Modifier_SYNTHETIC;
+}
+
+void java_lang_reflect_Modifier_PUT_SYNTHETIC(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+_STATIC_java_lang_reflect_Modifier_SYNTHETIC = v;
+}
+
+JAVA_INT java_lang_reflect_Modifier_GET_ANNOTATION()
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ return _STATIC_java_lang_reflect_Modifier_ANNOTATION;
+}
+
+void java_lang_reflect_Modifier_PUT_ANNOTATION(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+_STATIC_java_lang_reflect_Modifier_ANNOTATION = v;
+}
+
+JAVA_INT java_lang_reflect_Modifier_GET_ENUM()
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ return _STATIC_java_lang_reflect_Modifier_ENUM;
+}
+
+void java_lang_reflect_Modifier_PUT_ENUM(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+_STATIC_java_lang_reflect_Modifier_ENUM = v;
+}
+
+void java_lang_reflect_Modifier___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Modifier___INIT___]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Modifier", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Modifier.java", 110)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Modifier.java", 111)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_reflect_Modifier_isAbstract___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Modifier_isAbstract___int]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Modifier", "isAbstract", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Modifier.java", 123)
+ _r0.i = _r1.i & 1024;
+ if (_r0.i == 0) goto label6;
+ _r0.i = 1;
+ label5:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ _r0.i = 0;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_reflect_Modifier_isFinal___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Modifier_isFinal___int]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Modifier", "isFinal", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Modifier.java", 136)
+ _r0.i = _r1.i & 16;
+ if (_r0.i == 0) goto label6;
+ _r0.i = 1;
+ label5:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ _r0.i = 0;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_reflect_Modifier_isInterface___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Modifier_isInterface___int]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Modifier", "isInterface", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Modifier.java", 149)
+ _r0.i = _r1.i & 512;
+ if (_r0.i == 0) goto label6;
+ _r0.i = 1;
+ label5:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ _r0.i = 0;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_reflect_Modifier_isNative___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Modifier_isNative___int]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Modifier", "isNative", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Modifier.java", 162)
+ _r0.i = _r1.i & 256;
+ if (_r0.i == 0) goto label6;
+ _r0.i = 1;
+ label5:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ _r0.i = 0;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_reflect_Modifier_isPrivate___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Modifier_isPrivate___int]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Modifier", "isPrivate", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Modifier.java", 175)
+ _r0.i = _r1.i & 2;
+ if (_r0.i == 0) goto label6;
+ _r0.i = 1;
+ label5:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ _r0.i = 0;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_reflect_Modifier_isProtected___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Modifier_isProtected___int]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Modifier", "isProtected", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Modifier.java", 188)
+ _r0.i = _r1.i & 4;
+ if (_r0.i == 0) goto label6;
+ _r0.i = 1;
+ label5:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ _r0.i = 0;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_reflect_Modifier_isPublic___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Modifier_isPublic___int]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Modifier", "isPublic", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Modifier.java", 201)
+ _r0.i = _r1.i & 1;
+ if (_r0.i == 0) goto label6;
+ _r0.i = 1;
+ label5:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ _r0.i = 0;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_reflect_Modifier_isStatic___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Modifier_isStatic___int]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Modifier", "isStatic", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Modifier.java", 214)
+ _r0.i = _r1.i & 8;
+ if (_r0.i == 0) goto label6;
+ _r0.i = 1;
+ label5:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ _r0.i = 0;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_reflect_Modifier_isStrict___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Modifier_isStrict___int]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Modifier", "isStrict", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Modifier.java", 227)
+ _r0.i = _r1.i & 2048;
+ if (_r0.i == 0) goto label6;
+ _r0.i = 1;
+ label5:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ _r0.i = 0;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_reflect_Modifier_isSynchronized___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Modifier_isSynchronized___int]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Modifier", "isSynchronized", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Modifier.java", 240)
+ _r0.i = _r1.i & 32;
+ if (_r0.i == 0) goto label6;
+ _r0.i = 1;
+ label5:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ _r0.i = 0;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_reflect_Modifier_isTransient___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Modifier_isTransient___int]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Modifier", "isTransient", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Modifier.java", 253)
+ _r0.i = _r1.i & 128;
+ if (_r0.i == 0) goto label6;
+ _r0.i = 1;
+ label5:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ _r0.i = 0;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_lang_reflect_Modifier_isVolatile___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Modifier_isVolatile___int]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Modifier", "isVolatile", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Modifier.java", 266)
+ _r0.i = _r1.i & 64;
+ if (_r0.i == 0) goto label6;
+ _r0.i = 1;
+ label5:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ _r0.i = 0;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_lang_reflect_Modifier_toString___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_lang_reflect_Modifier)
+ //XMLVM_BEGIN_WRAPPER[java_lang_reflect_Modifier_toString___int]
+ XMLVM_ENTER_METHOD("java.lang.reflect.Modifier", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.i = n1;
+ XMLVM_SOURCE_POSITION("Modifier.java", 282)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Modifier.java", 284)
+ _r1.i = java_lang_reflect_Modifier_isPublic___int(_r3.i);
+ if (_r1.i == 0) goto label16;
+ XMLVM_SOURCE_POSITION("Modifier.java", 285)
+ // "public "
+ _r1.o = xmlvm_create_java_string_from_pool(650);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ label16:;
+ XMLVM_SOURCE_POSITION("Modifier.java", 287)
+ _r1.i = java_lang_reflect_Modifier_isProtected___int(_r3.i);
+ if (_r1.i == 0) goto label27;
+ XMLVM_SOURCE_POSITION("Modifier.java", 288)
+ // "protected "
+ _r1.o = xmlvm_create_java_string_from_pool(651);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ label27:;
+ XMLVM_SOURCE_POSITION("Modifier.java", 290)
+ _r1.i = java_lang_reflect_Modifier_isPrivate___int(_r3.i);
+ if (_r1.i == 0) goto label38;
+ XMLVM_SOURCE_POSITION("Modifier.java", 291)
+ // "private "
+ _r1.o = xmlvm_create_java_string_from_pool(652);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ label38:;
+ XMLVM_SOURCE_POSITION("Modifier.java", 293)
+ _r1.i = java_lang_reflect_Modifier_isAbstract___int(_r3.i);
+ if (_r1.i == 0) goto label49;
+ XMLVM_SOURCE_POSITION("Modifier.java", 294)
+ // "abstract "
+ _r1.o = xmlvm_create_java_string_from_pool(653);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ label49:;
+ XMLVM_SOURCE_POSITION("Modifier.java", 296)
+ _r1.i = java_lang_reflect_Modifier_isStatic___int(_r3.i);
+ if (_r1.i == 0) goto label60;
+ XMLVM_SOURCE_POSITION("Modifier.java", 297)
+ // "static "
+ _r1.o = xmlvm_create_java_string_from_pool(654);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ label60:;
+ XMLVM_SOURCE_POSITION("Modifier.java", 299)
+ _r1.i = java_lang_reflect_Modifier_isFinal___int(_r3.i);
+ if (_r1.i == 0) goto label71;
+ XMLVM_SOURCE_POSITION("Modifier.java", 300)
+ // "final "
+ _r1.o = xmlvm_create_java_string_from_pool(655);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ label71:;
+ XMLVM_SOURCE_POSITION("Modifier.java", 302)
+ _r1.i = java_lang_reflect_Modifier_isTransient___int(_r3.i);
+ if (_r1.i == 0) goto label82;
+ XMLVM_SOURCE_POSITION("Modifier.java", 303)
+ // "transient "
+ _r1.o = xmlvm_create_java_string_from_pool(656);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ label82:;
+ XMLVM_SOURCE_POSITION("Modifier.java", 305)
+ _r1.i = java_lang_reflect_Modifier_isVolatile___int(_r3.i);
+ if (_r1.i == 0) goto label93;
+ XMLVM_SOURCE_POSITION("Modifier.java", 306)
+ // "volatile "
+ _r1.o = xmlvm_create_java_string_from_pool(657);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ label93:;
+ XMLVM_SOURCE_POSITION("Modifier.java", 308)
+ _r1.i = java_lang_reflect_Modifier_isSynchronized___int(_r3.i);
+ if (_r1.i == 0) goto label104;
+ XMLVM_SOURCE_POSITION("Modifier.java", 309)
+ // "synchronized "
+ _r1.o = xmlvm_create_java_string_from_pool(658);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ label104:;
+ XMLVM_SOURCE_POSITION("Modifier.java", 311)
+ _r1.i = java_lang_reflect_Modifier_isNative___int(_r3.i);
+ if (_r1.i == 0) goto label115;
+ XMLVM_SOURCE_POSITION("Modifier.java", 312)
+ // "native "
+ _r1.o = xmlvm_create_java_string_from_pool(659);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ label115:;
+ XMLVM_SOURCE_POSITION("Modifier.java", 314)
+ _r1.i = java_lang_reflect_Modifier_isStrict___int(_r3.i);
+ if (_r1.i == 0) goto label126;
+ XMLVM_SOURCE_POSITION("Modifier.java", 315)
+ // "strictfp "
+ _r1.o = xmlvm_create_java_string_from_pool(660);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ label126:;
+ XMLVM_SOURCE_POSITION("Modifier.java", 317)
+ _r1.i = java_lang_reflect_Modifier_isInterface___int(_r3.i);
+ if (_r1.i == 0) goto label137;
+ XMLVM_SOURCE_POSITION("Modifier.java", 318)
+ // "interface "
+ _r1.o = xmlvm_create_java_string_from_pool(661);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ label137:;
+ XMLVM_SOURCE_POSITION("Modifier.java", 320)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = java_lang_AbstractStringBuilder_length__(_r0.o);
+ if (_r1.i != 0) goto label146;
+ XMLVM_SOURCE_POSITION("Modifier.java", 321)
+ // ""
+ _r0.o = xmlvm_create_java_string_from_pool(21);
+ label145:;
+ XMLVM_SOURCE_POSITION("Modifier.java", 324)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label146:;
+ XMLVM_SOURCE_POSITION("Modifier.java", 323)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = java_lang_AbstractStringBuilder_length__(_r0.o);
+ _r2.i = 1;
+ _r1.i = _r1.i - _r2.i;
+ XMLVM_CHECK_NPE(0)
+ java_lang_AbstractStringBuilder_setLength___int(_r0.o, _r1.i);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ goto label145;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_lang_reflect_Modifier.h b/tests/nbody-java/java_lang_reflect_Modifier.h
new file mode 100644
index 00000000..fed59777
--- /dev/null
+++ b/tests/nbody-java/java_lang_reflect_Modifier.h
@@ -0,0 +1,106 @@
+#ifndef __JAVA_LANG_REFLECT_MODIFIER__
+#define __JAVA_LANG_REFLECT_MODIFIER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_lang_reflect_Modifier 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+// Class declarations for java.lang.reflect.Modifier
+XMLVM_DEFINE_CLASS(java_lang_reflect_Modifier, 6, XMLVM_ITABLE_SIZE_java_lang_reflect_Modifier)
+
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Modifier;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Modifier_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Modifier_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Modifier_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_lang_reflect_Modifier
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_lang_reflect_Modifier \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_lang_reflect_Modifier \
+ } java_lang_reflect_Modifier
+
+struct java_lang_reflect_Modifier {
+ __TIB_DEFINITION_java_lang_reflect_Modifier* tib;
+ struct {
+ __INSTANCE_FIELDS_java_lang_reflect_Modifier;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_Modifier
+#define XMLVM_FORWARD_DECL_java_lang_reflect_Modifier
+typedef struct java_lang_reflect_Modifier java_lang_reflect_Modifier;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_lang_reflect_Modifier 6
+
+void __INIT_java_lang_reflect_Modifier();
+void __INIT_IMPL_java_lang_reflect_Modifier();
+void __DELETE_java_lang_reflect_Modifier(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_lang_reflect_Modifier(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_lang_reflect_Modifier();
+JAVA_OBJECT __NEW_INSTANCE_java_lang_reflect_Modifier();
+JAVA_INT java_lang_reflect_Modifier_GET_PUBLIC();
+void java_lang_reflect_Modifier_PUT_PUBLIC(JAVA_INT v);
+JAVA_INT java_lang_reflect_Modifier_GET_PRIVATE();
+void java_lang_reflect_Modifier_PUT_PRIVATE(JAVA_INT v);
+JAVA_INT java_lang_reflect_Modifier_GET_PROTECTED();
+void java_lang_reflect_Modifier_PUT_PROTECTED(JAVA_INT v);
+JAVA_INT java_lang_reflect_Modifier_GET_STATIC();
+void java_lang_reflect_Modifier_PUT_STATIC(JAVA_INT v);
+JAVA_INT java_lang_reflect_Modifier_GET_FINAL();
+void java_lang_reflect_Modifier_PUT_FINAL(JAVA_INT v);
+JAVA_INT java_lang_reflect_Modifier_GET_SYNCHRONIZED();
+void java_lang_reflect_Modifier_PUT_SYNCHRONIZED(JAVA_INT v);
+JAVA_INT java_lang_reflect_Modifier_GET_VOLATILE();
+void java_lang_reflect_Modifier_PUT_VOLATILE(JAVA_INT v);
+JAVA_INT java_lang_reflect_Modifier_GET_TRANSIENT();
+void java_lang_reflect_Modifier_PUT_TRANSIENT(JAVA_INT v);
+JAVA_INT java_lang_reflect_Modifier_GET_NATIVE();
+void java_lang_reflect_Modifier_PUT_NATIVE(JAVA_INT v);
+JAVA_INT java_lang_reflect_Modifier_GET_INTERFACE();
+void java_lang_reflect_Modifier_PUT_INTERFACE(JAVA_INT v);
+JAVA_INT java_lang_reflect_Modifier_GET_ABSTRACT();
+void java_lang_reflect_Modifier_PUT_ABSTRACT(JAVA_INT v);
+JAVA_INT java_lang_reflect_Modifier_GET_STRICT();
+void java_lang_reflect_Modifier_PUT_STRICT(JAVA_INT v);
+JAVA_INT java_lang_reflect_Modifier_GET_BRIDGE();
+void java_lang_reflect_Modifier_PUT_BRIDGE(JAVA_INT v);
+JAVA_INT java_lang_reflect_Modifier_GET_VARARGS();
+void java_lang_reflect_Modifier_PUT_VARARGS(JAVA_INT v);
+JAVA_INT java_lang_reflect_Modifier_GET_SYNTHETIC();
+void java_lang_reflect_Modifier_PUT_SYNTHETIC(JAVA_INT v);
+JAVA_INT java_lang_reflect_Modifier_GET_ANNOTATION();
+void java_lang_reflect_Modifier_PUT_ANNOTATION(JAVA_INT v);
+JAVA_INT java_lang_reflect_Modifier_GET_ENUM();
+void java_lang_reflect_Modifier_PUT_ENUM(JAVA_INT v);
+void java_lang_reflect_Modifier___INIT___(JAVA_OBJECT me);
+JAVA_BOOLEAN java_lang_reflect_Modifier_isAbstract___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_reflect_Modifier_isFinal___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_reflect_Modifier_isInterface___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_reflect_Modifier_isNative___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_reflect_Modifier_isPrivate___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_reflect_Modifier_isProtected___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_reflect_Modifier_isPublic___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_reflect_Modifier_isStatic___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_reflect_Modifier_isStrict___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_reflect_Modifier_isSynchronized___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_reflect_Modifier_isTransient___int(JAVA_INT n1);
+JAVA_BOOLEAN java_lang_reflect_Modifier_isVolatile___int(JAVA_INT n1);
+JAVA_OBJECT java_lang_reflect_Modifier_toString___int(JAVA_INT n1);
+
+#endif
diff --git a/tests/nbody-java/java_lang_reflect_Type.c b/tests/nbody-java/java_lang_reflect_Type.c
new file mode 100644
index 00000000..02e2e5b9
--- /dev/null
+++ b/tests/nbody-java/java_lang_reflect_Type.c
@@ -0,0 +1,76 @@
+#include "xmlvm.h"
+
+#include "java_lang_reflect_Type.h"
+
+__TIB_DEFINITION_java_lang_reflect_Type __TIB_java_lang_reflect_Type = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_lang_reflect_Type, // classInitializer
+ "java.lang.reflect.Type", // className
+ "java.lang.reflect", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_lang_reflect_Type;
+JAVA_OBJECT __CLASS_java_lang_reflect_Type_1ARRAY;
+JAVA_OBJECT __CLASS_java_lang_reflect_Type_2ARRAY;
+JAVA_OBJECT __CLASS_java_lang_reflect_Type_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_lang_reflect_Type()
+{
+ staticInitializerLock(&__TIB_java_lang_reflect_Type);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_lang_reflect_Type.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_lang_reflect_Type.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_lang_reflect_Type);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_lang_reflect_Type.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_lang_reflect_Type.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_lang_reflect_Type.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.lang.reflect.Type")
+ __INIT_IMPL_java_lang_reflect_Type();
+ }
+}
+
+void __INIT_IMPL_java_lang_reflect_Type()
+{
+ __TIB_java_lang_reflect_Type.numInterfaces = 0;
+ __TIB_java_lang_reflect_Type.declaredFields = &__field_reflection_data[0];
+ __TIB_java_lang_reflect_Type.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_lang_reflect_Type.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_lang_reflect_Type.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_lang_reflect_Type.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_lang_reflect_Type = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_lang_reflect_Type);
+ __TIB_java_lang_reflect_Type.clazz = __CLASS_java_lang_reflect_Type;
+ __TIB_java_lang_reflect_Type.baseType = JAVA_NULL;
+ __CLASS_java_lang_reflect_Type_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_Type);
+ __CLASS_java_lang_reflect_Type_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_Type_1ARRAY);
+ __CLASS_java_lang_reflect_Type_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_lang_reflect_Type_2ARRAY);
+
+ __TIB_java_lang_reflect_Type.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_lang_reflect_Type.h b/tests/nbody-java/java_lang_reflect_Type.h
new file mode 100644
index 00000000..8062ec7f
--- /dev/null
+++ b/tests/nbody-java/java_lang_reflect_Type.h
@@ -0,0 +1,27 @@
+#ifndef __JAVA_LANG_REFLECT_TYPE__
+#define __JAVA_LANG_REFLECT_TYPE__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+
+XMLVM_DEFINE_CLASS(java_lang_reflect_Type, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Type;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Type_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Type_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_lang_reflect_Type_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_Type
+#define XMLVM_FORWARD_DECL_java_lang_reflect_Type
+typedef struct java_lang_reflect_Type java_lang_reflect_Type;
+#endif
+
+void __INIT_java_lang_reflect_Type();
+void __INIT_IMPL_java_lang_reflect_Type();
+
+#endif
diff --git a/tests/nbody-java/java_net_BindException.c b/tests/nbody-java/java_net_BindException.c
new file mode 100644
index 00000000..8e77f70b
--- /dev/null
+++ b/tests/nbody-java/java_net_BindException.c
@@ -0,0 +1,197 @@
+#include "xmlvm.h"
+#include "java_lang_String.h"
+
+#include "java_net_BindException.h"
+
+#define XMLVM_CURRENT_CLASS_NAME BindException
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_net_BindException
+
+__TIB_DEFINITION_java_net_BindException __TIB_java_net_BindException = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_net_BindException, // classInitializer
+ "java.net.BindException", // className
+ "java.net", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_net_SocketException, // extends
+ sizeof(java_net_BindException), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_net_BindException;
+JAVA_OBJECT __CLASS_java_net_BindException_1ARRAY;
+JAVA_OBJECT __CLASS_java_net_BindException_2ARRAY;
+JAVA_OBJECT __CLASS_java_net_BindException_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_net_BindException_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_net_BindException()
+{
+ staticInitializerLock(&__TIB_java_net_BindException);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_net_BindException.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_net_BindException.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_net_BindException);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_net_BindException.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_net_BindException.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_net_BindException.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.net.BindException")
+ __INIT_IMPL_java_net_BindException();
+ }
+}
+
+void __INIT_IMPL_java_net_BindException()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_net_SocketException)
+ __TIB_java_net_BindException.newInstanceFunc = __NEW_INSTANCE_java_net_BindException;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_net_BindException.vtable, __TIB_java_net_SocketException.vtable, sizeof(__TIB_java_net_SocketException.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_net_BindException.numImplementedInterfaces = 1;
+ __TIB_java_net_BindException.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_net_BindException.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+ // Initialize itable for this class
+ __TIB_java_net_BindException.itableBegin = &__TIB_java_net_BindException.itable[0];
+
+ _STATIC_java_net_BindException_serialVersionUID = -5945005768251722951;
+
+ __TIB_java_net_BindException.declaredFields = &__field_reflection_data[0];
+ __TIB_java_net_BindException.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_net_BindException.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_net_BindException.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_net_BindException.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_net_BindException.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_net_BindException.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_net_BindException.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_net_BindException = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_net_BindException);
+ __TIB_java_net_BindException.clazz = __CLASS_java_net_BindException;
+ __TIB_java_net_BindException.baseType = JAVA_NULL;
+ __CLASS_java_net_BindException_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_net_BindException);
+ __CLASS_java_net_BindException_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_net_BindException_1ARRAY);
+ __CLASS_java_net_BindException_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_net_BindException_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_net_BindException]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_net_BindException.classInitialized = 1;
+}
+
+void __DELETE_java_net_BindException(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_net_BindException]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_net_BindException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_net_SocketException(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_net_BindException]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_net_BindException()
+{ XMLVM_CLASS_INIT(java_net_BindException)
+java_net_BindException* me = (java_net_BindException*) XMLVM_MALLOC(sizeof(java_net_BindException));
+ me->tib = &__TIB_java_net_BindException;
+ __INIT_INSTANCE_MEMBERS_java_net_BindException(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_net_BindException]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_net_BindException()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_net_BindException();
+ java_net_BindException___INIT___(me);
+ return me;
+}
+
+JAVA_LONG java_net_BindException_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_net_BindException)
+ return _STATIC_java_net_BindException_serialVersionUID;
+}
+
+void java_net_BindException_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_net_BindException)
+_STATIC_java_net_BindException_serialVersionUID = v;
+}
+
+void java_net_BindException___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_BindException___INIT___]
+ XMLVM_ENTER_METHOD("java.net.BindException", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("BindException.java", 32)
+ XMLVM_CHECK_NPE(0)
+ java_net_SocketException___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("BindException.java", 33)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_net_BindException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_BindException___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.net.BindException", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("BindException.java", 42)
+ XMLVM_CHECK_NPE(0)
+ java_net_SocketException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("BindException.java", 43)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_net_BindException.h b/tests/nbody-java/java_net_BindException.h
new file mode 100644
index 00000000..e41d7df4
--- /dev/null
+++ b/tests/nbody-java/java_net_BindException.h
@@ -0,0 +1,58 @@
+#ifndef __JAVA_NET_BINDEXCEPTION__
+#define __JAVA_NET_BINDEXCEPTION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_net_BindException 0
+// Implemented interfaces:
+// Super Class:
+#include "java_net_SocketException.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+// Class declarations for java.net.BindException
+XMLVM_DEFINE_CLASS(java_net_BindException, 8, XMLVM_ITABLE_SIZE_java_net_BindException)
+
+extern JAVA_OBJECT __CLASS_java_net_BindException;
+extern JAVA_OBJECT __CLASS_java_net_BindException_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_net_BindException_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_net_BindException_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_net_BindException
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_net_BindException \
+ __INSTANCE_FIELDS_java_net_SocketException; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_net_BindException \
+ } java_net_BindException
+
+struct java_net_BindException {
+ __TIB_DEFINITION_java_net_BindException* tib;
+ struct {
+ __INSTANCE_FIELDS_java_net_BindException;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_net_BindException
+#define XMLVM_FORWARD_DECL_java_net_BindException
+typedef struct java_net_BindException java_net_BindException;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_net_BindException 8
+
+void __INIT_java_net_BindException();
+void __INIT_IMPL_java_net_BindException();
+void __DELETE_java_net_BindException(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_net_BindException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_net_BindException();
+JAVA_OBJECT __NEW_INSTANCE_java_net_BindException();
+JAVA_LONG java_net_BindException_GET_serialVersionUID();
+void java_net_BindException_PUT_serialVersionUID(JAVA_LONG v);
+void java_net_BindException___INIT___(JAVA_OBJECT me);
+void java_net_BindException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_net_ConnectException.c b/tests/nbody-java/java_net_ConnectException.c
new file mode 100644
index 00000000..b0a8b487
--- /dev/null
+++ b/tests/nbody-java/java_net_ConnectException.c
@@ -0,0 +1,197 @@
+#include "xmlvm.h"
+#include "java_lang_String.h"
+
+#include "java_net_ConnectException.h"
+
+#define XMLVM_CURRENT_CLASS_NAME ConnectException
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_net_ConnectException
+
+__TIB_DEFINITION_java_net_ConnectException __TIB_java_net_ConnectException = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_net_ConnectException, // classInitializer
+ "java.net.ConnectException", // className
+ "java.net", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_net_SocketException, // extends
+ sizeof(java_net_ConnectException), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_net_ConnectException;
+JAVA_OBJECT __CLASS_java_net_ConnectException_1ARRAY;
+JAVA_OBJECT __CLASS_java_net_ConnectException_2ARRAY;
+JAVA_OBJECT __CLASS_java_net_ConnectException_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_net_ConnectException_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_net_ConnectException()
+{
+ staticInitializerLock(&__TIB_java_net_ConnectException);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_net_ConnectException.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_net_ConnectException.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_net_ConnectException);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_net_ConnectException.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_net_ConnectException.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_net_ConnectException.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.net.ConnectException")
+ __INIT_IMPL_java_net_ConnectException();
+ }
+}
+
+void __INIT_IMPL_java_net_ConnectException()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_net_SocketException)
+ __TIB_java_net_ConnectException.newInstanceFunc = __NEW_INSTANCE_java_net_ConnectException;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_net_ConnectException.vtable, __TIB_java_net_SocketException.vtable, sizeof(__TIB_java_net_SocketException.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_net_ConnectException.numImplementedInterfaces = 1;
+ __TIB_java_net_ConnectException.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_net_ConnectException.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+ // Initialize itable for this class
+ __TIB_java_net_ConnectException.itableBegin = &__TIB_java_net_ConnectException.itable[0];
+
+ _STATIC_java_net_ConnectException_serialVersionUID = 3831404271622369215;
+
+ __TIB_java_net_ConnectException.declaredFields = &__field_reflection_data[0];
+ __TIB_java_net_ConnectException.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_net_ConnectException.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_net_ConnectException.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_net_ConnectException.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_net_ConnectException.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_net_ConnectException.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_net_ConnectException.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_net_ConnectException = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_net_ConnectException);
+ __TIB_java_net_ConnectException.clazz = __CLASS_java_net_ConnectException;
+ __TIB_java_net_ConnectException.baseType = JAVA_NULL;
+ __CLASS_java_net_ConnectException_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_net_ConnectException);
+ __CLASS_java_net_ConnectException_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_net_ConnectException_1ARRAY);
+ __CLASS_java_net_ConnectException_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_net_ConnectException_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_net_ConnectException]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_net_ConnectException.classInitialized = 1;
+}
+
+void __DELETE_java_net_ConnectException(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_net_ConnectException]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_net_ConnectException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_net_SocketException(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_net_ConnectException]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_net_ConnectException()
+{ XMLVM_CLASS_INIT(java_net_ConnectException)
+java_net_ConnectException* me = (java_net_ConnectException*) XMLVM_MALLOC(sizeof(java_net_ConnectException));
+ me->tib = &__TIB_java_net_ConnectException;
+ __INIT_INSTANCE_MEMBERS_java_net_ConnectException(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_net_ConnectException]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_net_ConnectException()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_net_ConnectException();
+ java_net_ConnectException___INIT___(me);
+ return me;
+}
+
+JAVA_LONG java_net_ConnectException_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_net_ConnectException)
+ return _STATIC_java_net_ConnectException_serialVersionUID;
+}
+
+void java_net_ConnectException_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_net_ConnectException)
+_STATIC_java_net_ConnectException_serialVersionUID = v;
+}
+
+void java_net_ConnectException___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_ConnectException___INIT___]
+ XMLVM_ENTER_METHOD("java.net.ConnectException", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("ConnectException.java", 32)
+ XMLVM_CHECK_NPE(0)
+ java_net_SocketException___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("ConnectException.java", 33)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_net_ConnectException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_ConnectException___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.net.ConnectException", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("ConnectException.java", 42)
+ XMLVM_CHECK_NPE(0)
+ java_net_SocketException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("ConnectException.java", 43)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_net_ConnectException.h b/tests/nbody-java/java_net_ConnectException.h
new file mode 100644
index 00000000..d2a20779
--- /dev/null
+++ b/tests/nbody-java/java_net_ConnectException.h
@@ -0,0 +1,58 @@
+#ifndef __JAVA_NET_CONNECTEXCEPTION__
+#define __JAVA_NET_CONNECTEXCEPTION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_net_ConnectException 0
+// Implemented interfaces:
+// Super Class:
+#include "java_net_SocketException.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+// Class declarations for java.net.ConnectException
+XMLVM_DEFINE_CLASS(java_net_ConnectException, 8, XMLVM_ITABLE_SIZE_java_net_ConnectException)
+
+extern JAVA_OBJECT __CLASS_java_net_ConnectException;
+extern JAVA_OBJECT __CLASS_java_net_ConnectException_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_net_ConnectException_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_net_ConnectException_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_net_ConnectException
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_net_ConnectException \
+ __INSTANCE_FIELDS_java_net_SocketException; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_net_ConnectException \
+ } java_net_ConnectException
+
+struct java_net_ConnectException {
+ __TIB_DEFINITION_java_net_ConnectException* tib;
+ struct {
+ __INSTANCE_FIELDS_java_net_ConnectException;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_net_ConnectException
+#define XMLVM_FORWARD_DECL_java_net_ConnectException
+typedef struct java_net_ConnectException java_net_ConnectException;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_net_ConnectException 8
+
+void __INIT_java_net_ConnectException();
+void __INIT_IMPL_java_net_ConnectException();
+void __DELETE_java_net_ConnectException(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_net_ConnectException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_net_ConnectException();
+JAVA_OBJECT __NEW_INSTANCE_java_net_ConnectException();
+JAVA_LONG java_net_ConnectException_GET_serialVersionUID();
+void java_net_ConnectException_PUT_serialVersionUID(JAVA_LONG v);
+void java_net_ConnectException___INIT___(JAVA_OBJECT me);
+void java_net_ConnectException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_net_Inet6Address.c b/tests/nbody-java/java_net_Inet6Address.c
new file mode 100644
index 00000000..e0e3b1b8
--- /dev/null
+++ b/tests/nbody-java/java_net_Inet6Address.c
@@ -0,0 +1,1455 @@
+#include "xmlvm.h"
+#include "java_io_ObjectStreamField.h"
+#include "java_lang_Boolean.h"
+#include "java_lang_Class.h"
+#include "java_lang_Integer.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_net_UnknownHostException.h"
+#include "java_util_Enumeration.h"
+#include "org_apache_harmony_luni_internal_nls_Messages.h"
+
+#include "java_net_Inet6Address.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Inet6Address
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_net_Inet6Address
+
+__TIB_DEFINITION_java_net_Inet6Address __TIB_java_net_Inet6Address = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_net_Inet6Address, // classInitializer
+ "java.net.Inet6Address", // className
+ "java.net", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_net_InetAddress, // extends
+ sizeof(java_net_Inet6Address), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_net_Inet6Address;
+JAVA_OBJECT __CLASS_java_net_Inet6Address_1ARRAY;
+JAVA_OBJECT __CLASS_java_net_Inet6Address_2ARRAY;
+JAVA_OBJECT __CLASS_java_net_Inet6Address_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_net_Inet6Address_serialVersionUID;
+static JAVA_OBJECT _STATIC_java_net_Inet6Address_any_bytes;
+static JAVA_OBJECT _STATIC_java_net_Inet6Address_localhost_bytes;
+static JAVA_OBJECT _STATIC_java_net_Inet6Address_ANY;
+static JAVA_OBJECT _STATIC_java_net_Inet6Address_LOOPBACK;
+static JAVA_OBJECT _STATIC_java_net_Inet6Address_serialPersistentFields;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_net_Inet6Address()
+{
+ staticInitializerLock(&__TIB_java_net_Inet6Address);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_net_Inet6Address.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_net_Inet6Address.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_net_Inet6Address);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_net_Inet6Address.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_net_Inet6Address.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_net_Inet6Address.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.net.Inet6Address")
+ __INIT_IMPL_java_net_Inet6Address();
+ }
+}
+
+void __INIT_IMPL_java_net_Inet6Address()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ __TIB_java_net_Inet6Address.newInstanceFunc = __NEW_INSTANCE_java_net_Inet6Address;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_net_Inet6Address.vtable, __TIB_java_net_InetAddress.vtable, sizeof(__TIB_java_net_InetAddress.vtable));
+ // Initialize vtable for this class
+ __TIB_java_net_Inet6Address.vtable[15] = (VTABLE_PTR) &java_net_Inet6Address_isMulticastAddress__;
+ __TIB_java_net_Inet6Address.vtable[7] = (VTABLE_PTR) &java_net_Inet6Address_isAnyLocalAddress__;
+ __TIB_java_net_Inet6Address.vtable[9] = (VTABLE_PTR) &java_net_Inet6Address_isLoopbackAddress__;
+ __TIB_java_net_Inet6Address.vtable[8] = (VTABLE_PTR) &java_net_Inet6Address_isLinkLocalAddress__;
+ __TIB_java_net_Inet6Address.vtable[16] = (VTABLE_PTR) &java_net_Inet6Address_isSiteLocalAddress__;
+ __TIB_java_net_Inet6Address.vtable[10] = (VTABLE_PTR) &java_net_Inet6Address_isMCGlobal__;
+ __TIB_java_net_Inet6Address.vtable[12] = (VTABLE_PTR) &java_net_Inet6Address_isMCNodeLocal__;
+ __TIB_java_net_Inet6Address.vtable[11] = (VTABLE_PTR) &java_net_Inet6Address_isMCLinkLocal__;
+ __TIB_java_net_Inet6Address.vtable[14] = (VTABLE_PTR) &java_net_Inet6Address_isMCSiteLocal__;
+ __TIB_java_net_Inet6Address.vtable[13] = (VTABLE_PTR) &java_net_Inet6Address_isMCOrgLocal__;
+ __TIB_java_net_Inet6Address.vtable[6] = (VTABLE_PTR) &java_net_Inet6Address_getHostAddress__;
+ __TIB_java_net_Inet6Address.vtable[4] = (VTABLE_PTR) &java_net_Inet6Address_hashCode__;
+ __TIB_java_net_Inet6Address.vtable[1] = (VTABLE_PTR) &java_net_Inet6Address_equals___java_lang_Object;
+ __TIB_java_net_Inet6Address.vtable[5] = (VTABLE_PTR) &java_net_Inet6Address_toString__;
+ // Initialize interface information
+ __TIB_java_net_Inet6Address.numImplementedInterfaces = 1;
+ __TIB_java_net_Inet6Address.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_net_Inet6Address.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+ // Initialize itable for this class
+ __TIB_java_net_Inet6Address.itableBegin = &__TIB_java_net_Inet6Address.itable[0];
+
+ _STATIC_java_net_Inet6Address_serialVersionUID = 6880410070516793377;
+ _STATIC_java_net_Inet6Address_any_bytes = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ _STATIC_java_net_Inet6Address_localhost_bytes = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ _STATIC_java_net_Inet6Address_ANY = (java_net_InetAddress*) JAVA_NULL;
+ _STATIC_java_net_Inet6Address_LOOPBACK = (java_net_InetAddress*) JAVA_NULL;
+ _STATIC_java_net_Inet6Address_serialPersistentFields = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+
+ __TIB_java_net_Inet6Address.declaredFields = &__field_reflection_data[0];
+ __TIB_java_net_Inet6Address.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_net_Inet6Address.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_net_Inet6Address.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_net_Inet6Address.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_net_Inet6Address.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_net_Inet6Address.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_net_Inet6Address.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_net_Inet6Address = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_net_Inet6Address);
+ __TIB_java_net_Inet6Address.clazz = __CLASS_java_net_Inet6Address;
+ __TIB_java_net_Inet6Address.baseType = JAVA_NULL;
+ __CLASS_java_net_Inet6Address_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_net_Inet6Address);
+ __CLASS_java_net_Inet6Address_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_net_Inet6Address_1ARRAY);
+ __CLASS_java_net_Inet6Address_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_net_Inet6Address_2ARRAY);
+ java_net_Inet6Address___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_net_Inet6Address]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_net_Inet6Address.classInitialized = 1;
+}
+
+void __DELETE_java_net_Inet6Address(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_net_Inet6Address]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_net_Inet6Address(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_net_InetAddress(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_net_Inet6Address*) me)->fields.java_net_Inet6Address.scope_id_ = 0;
+ ((java_net_Inet6Address*) me)->fields.java_net_Inet6Address.scope_id_set_ = 0;
+ ((java_net_Inet6Address*) me)->fields.java_net_Inet6Address.scope_ifname_set_ = 0;
+ ((java_net_Inet6Address*) me)->fields.java_net_Inet6Address.ifname_ = (java_lang_String*) JAVA_NULL;
+ ((java_net_Inet6Address*) me)->fields.java_net_Inet6Address.scopedIf_ = (java_lang_Object*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_net_Inet6Address]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_net_Inet6Address()
+{ XMLVM_CLASS_INIT(java_net_Inet6Address)
+java_net_Inet6Address* me = (java_net_Inet6Address*) XMLVM_MALLOC(sizeof(java_net_Inet6Address));
+ me->tib = &__TIB_java_net_Inet6Address;
+ __INIT_INSTANCE_MEMBERS_java_net_Inet6Address(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_net_Inet6Address]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_net_Inet6Address()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_net_Inet6Address_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_net_Inet6Address)
+ return _STATIC_java_net_Inet6Address_serialVersionUID;
+}
+
+void java_net_Inet6Address_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_net_Inet6Address)
+_STATIC_java_net_Inet6Address_serialVersionUID = v;
+}
+
+JAVA_OBJECT java_net_Inet6Address_GET_any_bytes()
+{
+ XMLVM_CLASS_INIT(java_net_Inet6Address)
+ return _STATIC_java_net_Inet6Address_any_bytes;
+}
+
+void java_net_Inet6Address_PUT_any_bytes(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_net_Inet6Address)
+_STATIC_java_net_Inet6Address_any_bytes = v;
+}
+
+JAVA_OBJECT java_net_Inet6Address_GET_localhost_bytes()
+{
+ XMLVM_CLASS_INIT(java_net_Inet6Address)
+ return _STATIC_java_net_Inet6Address_localhost_bytes;
+}
+
+void java_net_Inet6Address_PUT_localhost_bytes(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_net_Inet6Address)
+_STATIC_java_net_Inet6Address_localhost_bytes = v;
+}
+
+JAVA_OBJECT java_net_Inet6Address_GET_ANY()
+{
+ XMLVM_CLASS_INIT(java_net_Inet6Address)
+ return _STATIC_java_net_Inet6Address_ANY;
+}
+
+void java_net_Inet6Address_PUT_ANY(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_net_Inet6Address)
+_STATIC_java_net_Inet6Address_ANY = v;
+}
+
+JAVA_OBJECT java_net_Inet6Address_GET_LOOPBACK()
+{
+ XMLVM_CLASS_INIT(java_net_Inet6Address)
+ return _STATIC_java_net_Inet6Address_LOOPBACK;
+}
+
+void java_net_Inet6Address_PUT_LOOPBACK(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_net_Inet6Address)
+_STATIC_java_net_Inet6Address_LOOPBACK = v;
+}
+
+JAVA_OBJECT java_net_Inet6Address_GET_serialPersistentFields()
+{
+ XMLVM_CLASS_INIT(java_net_Inet6Address)
+ return _STATIC_java_net_Inet6Address_serialPersistentFields;
+}
+
+void java_net_Inet6Address_PUT_serialPersistentFields(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_net_Inet6Address)
+_STATIC_java_net_Inet6Address_serialPersistentFields = v;
+}
+
+void java_net_Inet6Address___INIT____byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address___INIT____byte_1ARRAY]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 60)
+ XMLVM_CHECK_NPE(1)
+ java_net_InetAddress___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 61)
+ XMLVM_CHECK_NPE(1)
+ ((java_net_InetAddress*) _r1.o)->fields.java_net_InetAddress.ipaddress_ = _r2.o;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 62)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(1)
+ ((java_net_Inet6Address*) _r1.o)->fields.java_net_Inet6Address.scope_id_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 63)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_net_Inet6Address___INIT____byte_1ARRAY_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address___INIT____byte_1ARRAY_java_lang_String]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 65)
+ XMLVM_CHECK_NPE(1)
+ java_net_InetAddress___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 66)
+ XMLVM_CHECK_NPE(1)
+ ((java_net_InetAddress*) _r1.o)->fields.java_net_InetAddress.hostName_ = _r3.o;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 67)
+ XMLVM_CHECK_NPE(1)
+ ((java_net_InetAddress*) _r1.o)->fields.java_net_InetAddress.ipaddress_ = _r2.o;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 68)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(1)
+ ((java_net_Inet6Address*) _r1.o)->fields.java_net_Inet6Address.scope_id_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 69)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_net_Inet6Address___INIT____byte_1ARRAY_java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address___INIT____byte_1ARRAY_java_lang_String_int]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ _r4.i = n3;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 82)
+ XMLVM_CHECK_NPE(1)
+ java_net_InetAddress___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 83)
+ XMLVM_CHECK_NPE(1)
+ ((java_net_InetAddress*) _r1.o)->fields.java_net_InetAddress.hostName_ = _r3.o;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 84)
+ XMLVM_CHECK_NPE(1)
+ ((java_net_InetAddress*) _r1.o)->fields.java_net_InetAddress.ipaddress_ = _r2.o;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 85)
+ XMLVM_CHECK_NPE(1)
+ ((java_net_Inet6Address*) _r1.o)->fields.java_net_Inet6Address.scope_id_ = _r4.i;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 86)
+ if (_r4.i == 0) goto label14;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 87)
+ _r0.i = 1;
+ XMLVM_CHECK_NPE(1)
+ ((java_net_Inet6Address*) _r1.o)->fields.java_net_Inet6Address.scope_id_set_ = _r0.i;
+ label14:;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 89)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_net_Inet6Address_getByAddress___java_lang_String_byte_1ARRAY_int(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3)
+{
+ XMLVM_CLASS_INIT(java_net_Inet6Address)
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address_getByAddress___java_lang_String_byte_1ARRAY_int]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "getByAddress", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = n1;
+ _r3.o = n2;
+ _r4.i = n3;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 107)
+ if (_r3.o == JAVA_NULL) goto label7;
+ _r0.i = 16;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ if (_r0.i == _r1.i) goto label19;
+ label7:;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 109)
+ _r0.o = __NEW_java_net_UnknownHostException();
+ // "luni.62"
+ _r1.o = xmlvm_create_java_string_from_pool(821);
+ _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String(_r1.o);
+ XMLVM_CHECK_NPE(0)
+ java_net_UnknownHostException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label19:;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 111)
+ if (_r4.i >= 0) goto label22;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 112)
+ _r4.i = 0;
+ label22:;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 114)
+ _r0.o = __NEW_java_net_Inet6Address();
+ XMLVM_CHECK_NPE(0)
+ java_net_Inet6Address___INIT____byte_1ARRAY_java_lang_String_int(_r0.o, _r3.o, _r2.o, _r4.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_net_Inet6Address_getByAddress___java_lang_String_byte_1ARRAY_java_net_NetworkInterface(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
+{
+ XMLVM_CLASS_INIT(java_net_Inet6Address)
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address_getByAddress___java_lang_String_byte_1ARRAY_java_net_NetworkInterface]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "getByAddress", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ _r9.o = n1;
+ _r10.o = n2;
+ _r11.o = n3;
+ _r8.i = 1;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 138)
+ _r6.i = 0;
+ _r1.o = java_net_Inet6Address_getByAddress___java_lang_String_byte_1ARRAY_int(_r9.o, _r10.o, _r6.i);
+ if (_r11.o != JAVA_NULL) goto label9;
+ label8:;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 141)
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 169)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label9:;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 147)
+
+
+ // Red class access removed: java.net.NetworkInterface::getInetAddresses
+ XMLVM_RED_CLASS_DEPENDENCY();
+ label13:;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 148)
+ XMLVM_CHECK_NPE(2)
+ _r6.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Enumeration_hasMoreElements__])(_r2.o);
+ if (_r6.i == 0) goto label60;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 149)
+ XMLVM_CHECK_NPE(2)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Enumeration_nextElement__])(_r2.o);
+ _r3.o = _r3.o;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 150)
+ XMLVM_CHECK_NPE(3)
+ _r6.o = java_net_InetAddress_getAddress__(_r3.o);
+ _r6.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ _r7.i = 16;
+ if (_r6.i != _r7.i) goto label13;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 151)
+ _r0 = _r3;
+ _r0.o = _r0.o;
+ _r5 = _r0;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 152)
+ XMLVM_CHECK_NPE(5)
+ _r4.i = java_net_Inet6Address_compareLocalType___java_net_Inet6Address(_r5.o, _r1.o);
+ if (_r4.i == 0) goto label13;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 153)
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 154)
+ XMLVM_CHECK_NPE(1)
+ ((java_net_Inet6Address*) _r1.o)->fields.java_net_Inet6Address.scope_id_set_ = _r8.i;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 155)
+ XMLVM_CHECK_NPE(5)
+ _r6.i = ((java_net_Inet6Address*) _r5.o)->fields.java_net_Inet6Address.scope_id_;
+ XMLVM_CHECK_NPE(1)
+ ((java_net_Inet6Address*) _r1.o)->fields.java_net_Inet6Address.scope_id_ = _r6.i;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 156)
+ XMLVM_CHECK_NPE(1)
+ ((java_net_Inet6Address*) _r1.o)->fields.java_net_Inet6Address.scope_ifname_set_ = _r8.i;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 157)
+
+
+ // Red class access removed: java.net.NetworkInterface::getName
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(1)
+ ((java_net_Inet6Address*) _r1.o)->fields.java_net_Inet6Address.ifname_ = _r6.o;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 158)
+ XMLVM_CHECK_NPE(1)
+ ((java_net_Inet6Address*) _r1.o)->fields.java_net_Inet6Address.scopedIf_ = _r11.o;
+ label60:;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 165)
+ XMLVM_CHECK_NPE(1)
+ _r6.i = ((java_net_Inet6Address*) _r1.o)->fields.java_net_Inet6Address.scope_id_set_;
+ if (_r6.i != 0) goto label8;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 167)
+ _r6.o = __NEW_java_net_UnknownHostException();
+ // "luni.63"
+ _r7.o = xmlvm_create_java_string_from_pool(822);
+ _r7.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String(_r7.o);
+ XMLVM_CHECK_NPE(6)
+ java_net_UnknownHostException___INIT____java_lang_String(_r6.o, _r7.o);
+ XMLVM_THROW_CUSTOM(_r6.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_Inet6Address_compareLocalType___java_net_Inet6Address(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address_compareLocalType___java_net_Inet6Address]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "compareLocalType", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ _r1.i = 1;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 182)
+ //java_net_Inet6Address_isSiteLocalAddress__[16]
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) ((java_net_Inet6Address*) _r3.o)->tib->vtable[16])(_r3.o);
+ if (_r0.i == 0) goto label15;
+ //java_net_Inet6Address_isSiteLocalAddress__[16]
+ XMLVM_CHECK_NPE(2)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) ((java_net_Inet6Address*) _r2.o)->tib->vtable[16])(_r2.o);
+ if (_r0.i == 0) goto label15;
+ _r0 = _r1;
+ label14:;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 183)
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 191)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label15:;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 185)
+ //java_net_Inet6Address_isLinkLocalAddress__[8]
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) ((java_net_Inet6Address*) _r3.o)->tib->vtable[8])(_r3.o);
+ if (_r0.i == 0) goto label29;
+ //java_net_Inet6Address_isLinkLocalAddress__[8]
+ XMLVM_CHECK_NPE(2)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) ((java_net_Inet6Address*) _r2.o)->tib->vtable[8])(_r2.o);
+ if (_r0.i == 0) goto label29;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 186)
+ goto label14;
+ label29:;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 188)
+ //java_net_Inet6Address_isSiteLocalAddress__[16]
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) ((java_net_Inet6Address*) _r3.o)->tib->vtable[16])(_r3.o);
+ if (_r0.i != 0) goto label43;
+ //java_net_Inet6Address_isLinkLocalAddress__[8]
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) ((java_net_Inet6Address*) _r3.o)->tib->vtable[8])(_r3.o);
+ if (_r0.i != 0) goto label43;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 189)
+ goto label14;
+ label43:;
+ _r0.i = 0;
+ goto label14;
+ //XMLVM_END_WRAPPER
+}
+
+void java_net_Inet6Address___INIT____byte_1ARRAY_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address___INIT____byte_1ARRAY_int]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.i = n2;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 203)
+ XMLVM_CHECK_NPE(1)
+ java_net_InetAddress___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 204)
+ XMLVM_CHECK_NPE(1)
+ ((java_net_InetAddress*) _r1.o)->fields.java_net_InetAddress.ipaddress_ = _r2.o;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 205)
+ XMLVM_CHECK_NPE(1)
+ ((java_net_Inet6Address*) _r1.o)->fields.java_net_Inet6Address.scope_id_ = _r3.i;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 206)
+ if (_r3.i == 0) goto label12;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 207)
+ _r0.i = 1;
+ XMLVM_CHECK_NPE(1)
+ ((java_net_Inet6Address*) _r1.o)->fields.java_net_Inet6Address.scope_id_set_ = _r0.i;
+ label12:;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 209)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_Inet6Address_isMulticastAddress__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address_isMulticastAddress__]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "isMulticastAddress", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 221)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_net_InetAddress*) _r3.o)->fields.java_net_InetAddress.ipaddress_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ _r0.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ _r1.i = -1;
+ if (_r0.i != _r1.i) goto label10;
+ _r0.i = 1;
+ label9:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label10:;
+ _r0 = _r2;
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_Inet6Address_isAnyLocalAddress__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address_isAnyLocalAddress__]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "isAnyLocalAddress", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 233)
+ _r0.i = 0;
+ label1:;
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_net_InetAddress*) _r2.o)->fields.java_net_InetAddress.ipaddress_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ if (_r0.i >= _r1.i) goto label17;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 234)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_net_InetAddress*) _r2.o)->fields.java_net_InetAddress.ipaddress_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r1.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ if (_r1.i == 0) goto label14;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 235)
+ _r1.i = 0;
+ label13:;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 238)
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ label14:;
+ _r0.i = _r0.i + 1;
+ goto label1;
+ label17:;
+ _r1.i = 1;
+ goto label13;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_Inet6Address_isLoopbackAddress__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address_isLoopbackAddress__]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "isLoopbackAddress", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.o = me;
+ _r4.i = 15;
+ _r3.i = 1;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 252)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_net_InetAddress*) _r5.o)->fields.java_net_InetAddress.ipaddress_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r4.i);
+ _r1.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ if (_r1.i == _r3.i) goto label12;
+ _r1 = _r2;
+ label11:;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 253)
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 263)
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ label12:;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 257)
+ _r0.i = 0;
+ label13:;
+ if (_r0.i >= _r4.i) goto label26;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 258)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_net_InetAddress*) _r5.o)->fields.java_net_InetAddress.ipaddress_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r1.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ if (_r1.i == 0) goto label23;
+ _r1 = _r2;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 259)
+ goto label11;
+ label23:;
+ _r0.i = _r0.i + 1;
+ goto label13;
+ label26:;
+ _r1 = _r3;
+ goto label11;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_Inet6Address_isLinkLocalAddress__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address_isLinkLocalAddress__]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "isLinkLocalAddress", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ _r3.i = 1;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 277)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_net_InetAddress*) _r4.o)->fields.java_net_InetAddress.ipaddress_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ _r0.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ _r1.i = -2;
+ if (_r0.i != _r1.i) goto label22;
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_net_InetAddress*) _r4.o)->fields.java_net_InetAddress.ipaddress_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
+ _r0.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ _r0.i = _r0.i & 255;
+ _r0.i = ((JAVA_UINT) _r0.i) >> (0x1f & ((JAVA_UINT) 6));
+ _r1.i = 2;
+ if (_r0.i != _r1.i) goto label22;
+ _r0 = _r3;
+ label21:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label22:;
+ _r0 = _r2;
+ goto label21;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_Inet6Address_isSiteLocalAddress__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address_isSiteLocalAddress__]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "isSiteLocalAddress", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ _r3.i = 1;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 291)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_net_InetAddress*) _r4.o)->fields.java_net_InetAddress.ipaddress_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ _r0.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ _r1.i = -2;
+ if (_r0.i != _r1.i) goto label22;
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_net_InetAddress*) _r4.o)->fields.java_net_InetAddress.ipaddress_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
+ _r0.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ _r0.i = _r0.i & 255;
+ _r0.i = ((JAVA_UINT) _r0.i) >> (0x1f & ((JAVA_UINT) 6));
+ _r1.i = 3;
+ if (_r0.i != _r1.i) goto label22;
+ _r0 = _r3;
+ label21:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label22:;
+ _r0 = _r2;
+ goto label21;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_Inet6Address_isMCGlobal__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address_isMCGlobal__]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "isMCGlobal", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ _r3.i = 1;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 305)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_net_InetAddress*) _r4.o)->fields.java_net_InetAddress.ipaddress_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ _r0.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ _r1.i = -1;
+ if (_r0.i != _r1.i) goto label21;
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_net_InetAddress*) _r4.o)->fields.java_net_InetAddress.ipaddress_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
+ _r0.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ _r0.i = _r0.i & 15;
+ _r1.i = 14;
+ if (_r0.i != _r1.i) goto label21;
+ _r0 = _r3;
+ label20:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label21:;
+ _r0 = _r2;
+ goto label20;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_Inet6Address_isMCNodeLocal__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address_isMCNodeLocal__]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "isMCNodeLocal", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ _r3.i = 0;
+ _r2.i = 1;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 320)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_net_InetAddress*) _r4.o)->fields.java_net_InetAddress.ipaddress_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
+ _r0.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ _r1.i = -1;
+ if (_r0.i != _r1.i) goto label19;
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_net_InetAddress*) _r4.o)->fields.java_net_InetAddress.ipaddress_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ _r0.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ _r0.i = _r0.i & 15;
+ if (_r0.i != _r2.i) goto label19;
+ _r0 = _r2;
+ label18:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label19:;
+ _r0 = _r3;
+ goto label18;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_Inet6Address_isMCLinkLocal__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address_isMCLinkLocal__]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "isMCLinkLocal", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ _r3.i = 1;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 335)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_net_InetAddress*) _r4.o)->fields.java_net_InetAddress.ipaddress_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ _r0.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ _r1.i = -1;
+ if (_r0.i != _r1.i) goto label20;
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_net_InetAddress*) _r4.o)->fields.java_net_InetAddress.ipaddress_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
+ _r0.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ _r0.i = _r0.i & 15;
+ _r1.i = 2;
+ if (_r0.i != _r1.i) goto label20;
+ _r0 = _r3;
+ label19:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label20:;
+ _r0 = _r2;
+ goto label19;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_Inet6Address_isMCSiteLocal__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address_isMCSiteLocal__]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "isMCSiteLocal", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ _r3.i = 1;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 350)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_net_InetAddress*) _r4.o)->fields.java_net_InetAddress.ipaddress_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ _r0.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ _r1.i = -1;
+ if (_r0.i != _r1.i) goto label20;
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_net_InetAddress*) _r4.o)->fields.java_net_InetAddress.ipaddress_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
+ _r0.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ _r0.i = _r0.i & 15;
+ _r1.i = 5;
+ if (_r0.i != _r1.i) goto label20;
+ _r0 = _r3;
+ label19:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label20:;
+ _r0 = _r2;
+ goto label19;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_Inet6Address_isMCOrgLocal__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address_isMCOrgLocal__]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "isMCOrgLocal", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ _r3.i = 1;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 365)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_net_InetAddress*) _r4.o)->fields.java_net_InetAddress.ipaddress_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ _r0.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ _r1.i = -1;
+ if (_r0.i != _r1.i) goto label21;
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_net_InetAddress*) _r4.o)->fields.java_net_InetAddress.ipaddress_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
+ _r0.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ _r0.i = _r0.i & 15;
+ _r1.i = 8;
+ if (_r0.i != _r1.i) goto label21;
+ _r0 = _r3;
+ label20:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label21:;
+ _r0 = _r2;
+ goto label20;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_net_Inet6Address_getHostAddress__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address_getHostAddress__]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "getHostAddress", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 375)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_net_InetAddress*) _r1.o)->fields.java_net_InetAddress.ipaddress_;
+
+
+ // Red class access removed: org.apache.harmony.luni.util.Inet6Util::createIPAddrStringFromByteArray
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_net_Inet6Address_getScopeId__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address_getScopeId__]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "getScopeId", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 386)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_net_Inet6Address*) _r1.o)->fields.java_net_Inet6Address.scope_id_set_;
+ if (_r0.i == 0) goto label7;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 387)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_net_Inet6Address*) _r1.o)->fields.java_net_Inet6Address.scope_id_;
+ label6:;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 389)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label7:;
+ _r0.i = 0;
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_net_Inet6Address_getScopedInterface__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address_getScopedInterface__]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "getScopedInterface", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 399)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_net_Inet6Address*) _r1.o)->fields.java_net_Inet6Address.scope_ifname_set_;
+ if (_r0.i == 0) goto label7;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 400)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_net_Inet6Address*) _r1.o)->fields.java_net_Inet6Address.scopedIf_;
+ label6:;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 402)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label7:;
+ _r0.o = JAVA_NULL;
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_net_Inet6Address_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address_hashCode__]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 413)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_net_InetAddress*) _r2.o)->fields.java_net_InetAddress.ipaddress_;
+ _r1.i = 12;
+ _r0.i = java_net_InetAddress_bytesToInt___byte_1ARRAY_int(_r0.o, _r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_Inet6Address_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 428)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_net_InetAddress_equals___java_lang_Object(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_Inet6Address_isIPv4CompatibleAddress__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address_isIPv4CompatibleAddress__]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "isIPv4CompatibleAddress", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 440)
+ _r0.i = 0;
+ label1:;
+ _r1.i = 12;
+ if (_r0.i >= _r1.i) goto label16;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 441)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_net_InetAddress*) _r2.o)->fields.java_net_InetAddress.ipaddress_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r1.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ if (_r1.i == 0) goto label13;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 442)
+ _r1.i = 0;
+ label12:;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 445)
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ label13:;
+ _r0.i = _r0.i + 1;
+ goto label1;
+ label16:;
+ _r1.i = 1;
+ goto label12;
+ //XMLVM_END_WRAPPER
+}
+
+void java_net_Inet6Address_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address_writeObject___java_io_ObjectOutputStream]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "writeObject", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ // "ipaddress"
+ _r2.o = xmlvm_create_java_string_from_pool(823);
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 456)
+
+
+ // Red class access removed: java.io.ObjectOutputStream::putFields
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 457)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_net_InetAddress*) _r3.o)->fields.java_net_InetAddress.ipaddress_;
+ if (_r1.o != JAVA_NULL) goto label48;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 458)
+ // "ipaddress"
+ _r1.o = xmlvm_create_java_string_from_pool(823);
+ _r1.o = JAVA_NULL;
+
+
+ // Red class access removed: java.io.ObjectOutputStream$PutField::put
+ XMLVM_RED_CLASS_DEPENDENCY();
+ label16:;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 463)
+ // "scope_id"
+ _r1.o = xmlvm_create_java_string_from_pool(824);
+ XMLVM_CHECK_NPE(3)
+ _r2.i = ((java_net_Inet6Address*) _r3.o)->fields.java_net_Inet6Address.scope_id_;
+
+
+ // Red class access removed: java.io.ObjectOutputStream$PutField::put
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 464)
+ // "scope_id_set"
+ _r1.o = xmlvm_create_java_string_from_pool(825);
+ XMLVM_CHECK_NPE(3)
+ _r2.i = ((java_net_Inet6Address*) _r3.o)->fields.java_net_Inet6Address.scope_id_set_;
+
+
+ // Red class access removed: java.io.ObjectOutputStream$PutField::put
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 465)
+ // "scope_ifname_set"
+ _r1.o = xmlvm_create_java_string_from_pool(826);
+ XMLVM_CHECK_NPE(3)
+ _r2.i = ((java_net_Inet6Address*) _r3.o)->fields.java_net_Inet6Address.scope_ifname_set_;
+
+
+ // Red class access removed: java.io.ObjectOutputStream$PutField::put
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 466)
+ // "ifname"
+ _r1.o = xmlvm_create_java_string_from_pool(827);
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_net_Inet6Address*) _r3.o)->fields.java_net_Inet6Address.ifname_;
+
+
+ // Red class access removed: java.io.ObjectOutputStream$PutField::put
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 467)
+
+
+ // Red class access removed: java.io.ObjectOutputStream::writeFields
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 468)
+ XMLVM_EXIT_METHOD()
+ return;
+ label48:;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 460)
+ // "ipaddress"
+ _r1.o = xmlvm_create_java_string_from_pool(823);
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_net_InetAddress*) _r3.o)->fields.java_net_InetAddress.ipaddress_;
+
+
+ // Red class access removed: java.io.ObjectOutputStream$PutField::put
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label16;
+ //XMLVM_END_WRAPPER
+}
+
+void java_net_Inet6Address_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address_readObject___java_io_ObjectInputStream]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "readObject", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.o = n1;
+ _r3.o = JAVA_NULL;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 472)
+
+
+ // Red class access removed: java.io.ObjectInputStream::readFields
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 473)
+ // "ipaddress"
+ _r1.o = xmlvm_create_java_string_from_pool(823);
+
+
+ // Red class access removed: java.io.ObjectInputStream$GetField::get
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = _r1.o;
+ _r1.o = _r1.o;
+ XMLVM_CHECK_NPE(4)
+ ((java_net_InetAddress*) _r4.o)->fields.java_net_InetAddress.ipaddress_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 474)
+ // "scope_id"
+ _r1.o = xmlvm_create_java_string_from_pool(824);
+
+
+ // Red class access removed: java.io.ObjectInputStream$GetField::get
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(4)
+ ((java_net_Inet6Address*) _r4.o)->fields.java_net_Inet6Address.scope_id_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 475)
+ // "scope_id_set"
+ _r1.o = xmlvm_create_java_string_from_pool(825);
+
+
+ // Red class access removed: java.io.ObjectInputStream$GetField::get
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(4)
+ ((java_net_Inet6Address*) _r4.o)->fields.java_net_Inet6Address.scope_id_set_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 476)
+ // "ifname"
+ _r1.o = xmlvm_create_java_string_from_pool(827);
+
+
+ // Red class access removed: java.io.ObjectInputStream$GetField::get
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = _r1.o;
+ XMLVM_CHECK_NPE(4)
+ ((java_net_Inet6Address*) _r4.o)->fields.java_net_Inet6Address.ifname_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 477)
+ // "scope_ifname_set"
+ _r1.o = xmlvm_create_java_string_from_pool(826);
+
+
+ // Red class access removed: java.io.ObjectInputStream$GetField::get
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(4)
+ ((java_net_Inet6Address*) _r4.o)->fields.java_net_Inet6Address.scope_ifname_set_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 478)
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_net_Inet6Address*) _r4.o)->fields.java_net_Inet6Address.scope_ifname_set_;
+ if (_r1.i == 0) goto label68;
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_net_Inet6Address*) _r4.o)->fields.java_net_Inet6Address.ifname_;
+ if (_r1.o == JAVA_NULL) goto label68;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 479)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_net_Inet6Address*) _r4.o)->fields.java_net_Inet6Address.ifname_;
+
+
+ // Red class access removed: java.net.NetworkInterface::getByName
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(4)
+ ((java_net_Inet6Address*) _r4.o)->fields.java_net_Inet6Address.scopedIf_ = _r1.o;
+ label68:;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 481)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_net_Inet6Address_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address_toString__]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ // "%"
+ _r2.o = xmlvm_create_java_string_from_pool(80);
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 491)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_net_Inet6Address*) _r3.o)->fields.java_net_Inet6Address.ifname_;
+ if (_r0.o == JAVA_NULL) goto label36;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 492)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT___(_r0.o);
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_net_InetAddress_toString__(_r3.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ // "%"
+ _r1.o = xmlvm_create_java_string_from_pool(80);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r2.o);
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_net_Inet6Address*) _r3.o)->fields.java_net_Inet6Address.ifname_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ label35:;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 497)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label36:;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 494)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_net_Inet6Address*) _r3.o)->fields.java_net_Inet6Address.scope_id_;
+ if (_r0.i == 0) goto label70;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 495)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT___(_r0.o);
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_net_InetAddress_toString__(_r3.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ // "%"
+ _r1.o = xmlvm_create_java_string_from_pool(80);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r2.o);
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_net_Inet6Address*) _r3.o)->fields.java_net_Inet6Address.scope_id_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___int(_r0.o, _r1.i);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ goto label35;
+ label70:;
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_net_InetAddress_toString__(_r3.o);
+ goto label35;
+ //XMLVM_END_WRAPPER
+}
+
+void java_net_Inet6Address___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_Inet6Address___CLINIT___]
+ XMLVM_ENTER_METHOD("java.net.Inet6Address", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r1.i = 16;
+ _r4.i = 0;
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 36)
+ XMLVM_CLASS_INIT(byte)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r1.i);
+ XMLVMArray_fillArray(((org_xmlvm_runtime_XMLVMArray*) _r0.o), (JAVA_ARRAY_BYTE[]){0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, });
+ java_net_Inet6Address_PUT_any_bytes( _r0.o);
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 39)
+ XMLVM_CLASS_INIT(byte)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r1.i);
+ XMLVMArray_fillArray(((org_xmlvm_runtime_XMLVMArray*) _r0.o), (JAVA_ARRAY_BYTE[]){0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, });
+ java_net_Inet6Address_PUT_localhost_bytes( _r0.o);
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 42)
+ _r0.o = __NEW_java_net_Inet6Address();
+ _r1.o = java_net_Inet6Address_GET_any_bytes();
+ XMLVM_CHECK_NPE(0)
+ java_net_Inet6Address___INIT____byte_1ARRAY(_r0.o, _r1.o);
+ java_net_Inet6Address_PUT_ANY( _r0.o);
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 44)
+ _r0.o = __NEW_java_net_Inet6Address();
+ _r1.o = java_net_Inet6Address_GET_localhost_bytes();
+ // "localhost"
+ _r2.o = xmlvm_create_java_string_from_pool(71);
+ XMLVM_CHECK_NPE(0)
+ java_net_Inet6Address___INIT____byte_1ARRAY_java_lang_String(_r0.o, _r1.o, _r2.o);
+ java_net_Inet6Address_PUT_LOOPBACK( _r0.o);
+ XMLVM_SOURCE_POSITION("Inet6Address.java", 448)
+ _r0.i = 5;
+ XMLVM_CLASS_INIT(java_io_ObjectStreamField)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_io_ObjectStreamField, _r0.i);
+ _r1.o = __NEW_java_io_ObjectStreamField();
+ // "ipaddress"
+ _r2.o = xmlvm_create_java_string_from_pool(823);
+ XMLVM_CLASS_INIT(byte)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r4.i);
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(3)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r3.o)->tib->vtable[3])(_r3.o);
+ XMLVM_CHECK_NPE(1)
+ java_io_ObjectStreamField___INIT____java_lang_String_java_lang_Class(_r1.o, _r2.o, _r3.o);
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r1.o;
+ _r1.i = 1;
+ _r2.o = __NEW_java_io_ObjectStreamField();
+ // "scope_id"
+ _r3.o = xmlvm_create_java_string_from_pool(824);
+ _r4.o = java_lang_Integer_GET_TYPE();
+ XMLVM_CHECK_NPE(2)
+ java_io_ObjectStreamField___INIT____java_lang_String_java_lang_Class(_r2.o, _r3.o, _r4.o);
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 2;
+ _r2.o = __NEW_java_io_ObjectStreamField();
+ // "scope_id_set"
+ _r3.o = xmlvm_create_java_string_from_pool(825);
+ _r4.o = java_lang_Boolean_GET_TYPE();
+ XMLVM_CHECK_NPE(2)
+ java_io_ObjectStreamField___INIT____java_lang_String_java_lang_Class(_r2.o, _r3.o, _r4.o);
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 3;
+ _r2.o = __NEW_java_io_ObjectStreamField();
+ // "scope_ifname_set"
+ _r3.o = xmlvm_create_java_string_from_pool(826);
+ _r4.o = java_lang_Boolean_GET_TYPE();
+ XMLVM_CHECK_NPE(2)
+ java_io_ObjectStreamField___INIT____java_lang_String_java_lang_Class(_r2.o, _r3.o, _r4.o);
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 4;
+ _r2.o = __NEW_java_io_ObjectStreamField();
+ // "ifname"
+ _r3.o = xmlvm_create_java_string_from_pool(827);
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r4.o = __CLASS_java_lang_String;
+ XMLVM_CHECK_NPE(2)
+ java_io_ObjectStreamField___INIT____java_lang_String_java_lang_Class(_r2.o, _r3.o, _r4.o);
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ java_net_Inet6Address_PUT_serialPersistentFields( _r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ label106:;
+ label118:;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_net_Inet6Address.h b/tests/nbody-java/java_net_Inet6Address.h
new file mode 100644
index 00000000..03619950
--- /dev/null
+++ b/tests/nbody-java/java_net_Inet6Address.h
@@ -0,0 +1,162 @@
+#ifndef __JAVA_NET_INET6ADDRESS__
+#define __JAVA_NET_INET6ADDRESS__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_net_Inet6Address 0
+// Implemented interfaces:
+// Super Class:
+#include "java_net_InetAddress.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_io_ObjectStreamField
+#define XMLVM_FORWARD_DECL_java_io_ObjectStreamField
+XMLVM_FORWARD_DECL(java_io_ObjectStreamField)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Boolean
+#define XMLVM_FORWARD_DECL_java_lang_Boolean
+XMLVM_FORWARD_DECL(java_lang_Boolean)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Integer
+#define XMLVM_FORWARD_DECL_java_lang_Integer
+XMLVM_FORWARD_DECL(java_lang_Integer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_net_UnknownHostException
+#define XMLVM_FORWARD_DECL_java_net_UnknownHostException
+XMLVM_FORWARD_DECL(java_net_UnknownHostException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Enumeration
+#define XMLVM_FORWARD_DECL_java_util_Enumeration
+XMLVM_FORWARD_DECL(java_util_Enumeration)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_internal_nls_Messages)
+#endif
+// Class declarations for java.net.Inet6Address
+XMLVM_DEFINE_CLASS(java_net_Inet6Address, 17, XMLVM_ITABLE_SIZE_java_net_Inet6Address)
+
+extern JAVA_OBJECT __CLASS_java_net_Inet6Address;
+extern JAVA_OBJECT __CLASS_java_net_Inet6Address_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_net_Inet6Address_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_net_Inet6Address_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_net_Inet6Address
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_net_Inet6Address \
+ __INSTANCE_FIELDS_java_net_InetAddress; \
+ struct { \
+ JAVA_INT scope_id_; \
+ JAVA_BOOLEAN scope_id_set_; \
+ JAVA_BOOLEAN scope_ifname_set_; \
+ JAVA_OBJECT ifname_; \
+ JAVA_OBJECT scopedIf_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_net_Inet6Address \
+ } java_net_Inet6Address
+
+struct java_net_Inet6Address {
+ __TIB_DEFINITION_java_net_Inet6Address* tib;
+ struct {
+ __INSTANCE_FIELDS_java_net_Inet6Address;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_net_Inet6Address
+#define XMLVM_FORWARD_DECL_java_net_Inet6Address
+typedef struct java_net_Inet6Address java_net_Inet6Address;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_net_Inet6Address 17
+#define XMLVM_VTABLE_IDX_java_net_Inet6Address_isMulticastAddress__ 15
+#define XMLVM_VTABLE_IDX_java_net_Inet6Address_isAnyLocalAddress__ 7
+#define XMLVM_VTABLE_IDX_java_net_Inet6Address_isLoopbackAddress__ 9
+#define XMLVM_VTABLE_IDX_java_net_Inet6Address_isLinkLocalAddress__ 8
+#define XMLVM_VTABLE_IDX_java_net_Inet6Address_isSiteLocalAddress__ 16
+#define XMLVM_VTABLE_IDX_java_net_Inet6Address_isMCGlobal__ 10
+#define XMLVM_VTABLE_IDX_java_net_Inet6Address_isMCNodeLocal__ 12
+#define XMLVM_VTABLE_IDX_java_net_Inet6Address_isMCLinkLocal__ 11
+#define XMLVM_VTABLE_IDX_java_net_Inet6Address_isMCSiteLocal__ 14
+#define XMLVM_VTABLE_IDX_java_net_Inet6Address_isMCOrgLocal__ 13
+#define XMLVM_VTABLE_IDX_java_net_Inet6Address_getHostAddress__ 6
+#define XMLVM_VTABLE_IDX_java_net_Inet6Address_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_net_Inet6Address_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_net_Inet6Address_toString__ 5
+
+void __INIT_java_net_Inet6Address();
+void __INIT_IMPL_java_net_Inet6Address();
+void __DELETE_java_net_Inet6Address(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_net_Inet6Address(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_net_Inet6Address();
+JAVA_OBJECT __NEW_INSTANCE_java_net_Inet6Address();
+JAVA_LONG java_net_Inet6Address_GET_serialVersionUID();
+void java_net_Inet6Address_PUT_serialVersionUID(JAVA_LONG v);
+JAVA_OBJECT java_net_Inet6Address_GET_any_bytes();
+void java_net_Inet6Address_PUT_any_bytes(JAVA_OBJECT v);
+JAVA_OBJECT java_net_Inet6Address_GET_localhost_bytes();
+void java_net_Inet6Address_PUT_localhost_bytes(JAVA_OBJECT v);
+JAVA_OBJECT java_net_Inet6Address_GET_ANY();
+void java_net_Inet6Address_PUT_ANY(JAVA_OBJECT v);
+JAVA_OBJECT java_net_Inet6Address_GET_LOOPBACK();
+void java_net_Inet6Address_PUT_LOOPBACK(JAVA_OBJECT v);
+JAVA_OBJECT java_net_Inet6Address_GET_serialPersistentFields();
+void java_net_Inet6Address_PUT_serialPersistentFields(JAVA_OBJECT v);
+void java_net_Inet6Address___INIT____byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_net_Inet6Address___INIT____byte_1ARRAY_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_net_Inet6Address___INIT____byte_1ARRAY_java_lang_String_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3);
+JAVA_OBJECT java_net_Inet6Address_getByAddress___java_lang_String_byte_1ARRAY_int(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3);
+JAVA_OBJECT java_net_Inet6Address_getByAddress___java_lang_String_byte_1ARRAY_java_net_NetworkInterface(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3);
+JAVA_BOOLEAN java_net_Inet6Address_compareLocalType___java_net_Inet6Address(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_net_Inet6Address___INIT____byte_1ARRAY_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2);
+// Vtable index: 15
+JAVA_BOOLEAN java_net_Inet6Address_isMulticastAddress__(JAVA_OBJECT me);
+// Vtable index: 7
+JAVA_BOOLEAN java_net_Inet6Address_isAnyLocalAddress__(JAVA_OBJECT me);
+// Vtable index: 9
+JAVA_BOOLEAN java_net_Inet6Address_isLoopbackAddress__(JAVA_OBJECT me);
+// Vtable index: 8
+JAVA_BOOLEAN java_net_Inet6Address_isLinkLocalAddress__(JAVA_OBJECT me);
+// Vtable index: 16
+JAVA_BOOLEAN java_net_Inet6Address_isSiteLocalAddress__(JAVA_OBJECT me);
+// Vtable index: 10
+JAVA_BOOLEAN java_net_Inet6Address_isMCGlobal__(JAVA_OBJECT me);
+// Vtable index: 12
+JAVA_BOOLEAN java_net_Inet6Address_isMCNodeLocal__(JAVA_OBJECT me);
+// Vtable index: 11
+JAVA_BOOLEAN java_net_Inet6Address_isMCLinkLocal__(JAVA_OBJECT me);
+// Vtable index: 14
+JAVA_BOOLEAN java_net_Inet6Address_isMCSiteLocal__(JAVA_OBJECT me);
+// Vtable index: 13
+JAVA_BOOLEAN java_net_Inet6Address_isMCOrgLocal__(JAVA_OBJECT me);
+// Vtable index: 6
+JAVA_OBJECT java_net_Inet6Address_getHostAddress__(JAVA_OBJECT me);
+JAVA_INT java_net_Inet6Address_getScopeId__(JAVA_OBJECT me);
+JAVA_OBJECT java_net_Inet6Address_getScopedInterface__(JAVA_OBJECT me);
+// Vtable index: 4
+JAVA_INT java_net_Inet6Address_hashCode__(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_net_Inet6Address_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_net_Inet6Address_isIPv4CompatibleAddress__(JAVA_OBJECT me);
+void java_net_Inet6Address_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_net_Inet6Address_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 5
+JAVA_OBJECT java_net_Inet6Address_toString__(JAVA_OBJECT me);
+void java_net_Inet6Address___CLINIT_();
+
+#endif
diff --git a/tests/nbody-java/java_net_InetAddress.c b/tests/nbody-java/java_net_InetAddress.c
new file mode 100644
index 00000000..d26b9d52
--- /dev/null
+++ b/tests/nbody-java/java_net_InetAddress.c
@@ -0,0 +1,3509 @@
+#include "xmlvm.h"
+#include "java_io_FileDescriptor.h"
+#include "java_io_IOException.h"
+#include "java_io_ObjectStreamField.h"
+#include "java_lang_Class.h"
+#include "java_lang_Exception.h"
+#include "java_lang_Integer.h"
+#include "java_lang_Long.h"
+#include "java_lang_SecurityManager.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_lang_System.h"
+#include "java_lang_Throwable.h"
+#include "java_net_Inet6Address.h"
+#include "java_net_UnknownHostException.h"
+#include "java_security_AccessController.h"
+#include "java_util_ArrayList.h"
+#include "java_util_Enumeration.h"
+#include "java_util_StringTokenizer.h"
+#include "org_apache_harmony_luni_internal_nls_Messages.h"
+#include "org_apache_harmony_luni_platform_INetworkSystem.h"
+#include "org_apache_harmony_luni_util_PriviAction.h"
+
+#include "java_net_InetAddress.h"
+
+#define XMLVM_CURRENT_CLASS_NAME InetAddress
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_net_InetAddress
+
+__TIB_DEFINITION_java_net_InetAddress __TIB_java_net_InetAddress = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_net_InetAddress, // classInitializer
+ "java.net.InetAddress", // className
+ "java.net", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_net_InetAddress), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_net_InetAddress;
+JAVA_OBJECT __CLASS_java_net_InetAddress_1ARRAY;
+JAVA_OBJECT __CLASS_java_net_InetAddress_2ARRAY;
+JAVA_OBJECT __CLASS_java_net_InetAddress_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_OBJECT _STATIC_java_net_InetAddress_any_bytes;
+static JAVA_OBJECT _STATIC_java_net_InetAddress_localhost_bytes;
+static JAVA_OBJECT _STATIC_java_net_InetAddress_ANY;
+static JAVA_OBJECT _STATIC_java_net_InetAddress_NETIMPL;
+static JAVA_OBJECT _STATIC_java_net_InetAddress_LOOPBACK;
+static JAVA_OBJECT _STATIC_java_net_InetAddress_ERRMSG_CONNECTION_REFUSED;
+static JAVA_LONG _STATIC_java_net_InetAddress_serialVersionUID;
+static JAVA_OBJECT _STATIC_java_net_InetAddress_serialPersistentFields;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_net_InetAddress()
+{
+ staticInitializerLock(&__TIB_java_net_InetAddress);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_net_InetAddress.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_net_InetAddress.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_net_InetAddress);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_net_InetAddress.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_net_InetAddress.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_net_InetAddress.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.net.InetAddress")
+ __INIT_IMPL_java_net_InetAddress();
+ }
+}
+
+void __INIT_IMPL_java_net_InetAddress()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_net_InetAddress.newInstanceFunc = __NEW_INSTANCE_java_net_InetAddress;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_net_InetAddress.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_net_InetAddress.vtable[1] = (VTABLE_PTR) &java_net_InetAddress_equals___java_lang_Object;
+ __TIB_java_net_InetAddress.vtable[6] = (VTABLE_PTR) &java_net_InetAddress_getHostAddress__;
+ __TIB_java_net_InetAddress.vtable[4] = (VTABLE_PTR) &java_net_InetAddress_hashCode__;
+ __TIB_java_net_InetAddress.vtable[15] = (VTABLE_PTR) &java_net_InetAddress_isMulticastAddress__;
+ __TIB_java_net_InetAddress.vtable[5] = (VTABLE_PTR) &java_net_InetAddress_toString__;
+ __TIB_java_net_InetAddress.vtable[9] = (VTABLE_PTR) &java_net_InetAddress_isLoopbackAddress__;
+ __TIB_java_net_InetAddress.vtable[8] = (VTABLE_PTR) &java_net_InetAddress_isLinkLocalAddress__;
+ __TIB_java_net_InetAddress.vtable[16] = (VTABLE_PTR) &java_net_InetAddress_isSiteLocalAddress__;
+ __TIB_java_net_InetAddress.vtable[10] = (VTABLE_PTR) &java_net_InetAddress_isMCGlobal__;
+ __TIB_java_net_InetAddress.vtable[12] = (VTABLE_PTR) &java_net_InetAddress_isMCNodeLocal__;
+ __TIB_java_net_InetAddress.vtable[11] = (VTABLE_PTR) &java_net_InetAddress_isMCLinkLocal__;
+ __TIB_java_net_InetAddress.vtable[14] = (VTABLE_PTR) &java_net_InetAddress_isMCSiteLocal__;
+ __TIB_java_net_InetAddress.vtable[13] = (VTABLE_PTR) &java_net_InetAddress_isMCOrgLocal__;
+ __TIB_java_net_InetAddress.vtable[7] = (VTABLE_PTR) &java_net_InetAddress_isAnyLocalAddress__;
+ // Initialize interface information
+ __TIB_java_net_InetAddress.numImplementedInterfaces = 1;
+ __TIB_java_net_InetAddress.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_net_InetAddress.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+ // Initialize itable for this class
+ __TIB_java_net_InetAddress.itableBegin = &__TIB_java_net_InetAddress.itable[0];
+
+ _STATIC_java_net_InetAddress_any_bytes = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ _STATIC_java_net_InetAddress_localhost_bytes = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ _STATIC_java_net_InetAddress_ANY = (java_net_InetAddress*) JAVA_NULL;
+ _STATIC_java_net_InetAddress_NETIMPL = (org_apache_harmony_luni_platform_INetworkSystem*) JAVA_NULL;
+ _STATIC_java_net_InetAddress_LOOPBACK = (java_net_InetAddress*) JAVA_NULL;
+ _STATIC_java_net_InetAddress_ERRMSG_CONNECTION_REFUSED = (java_lang_String*) xmlvm_create_java_string_from_pool(69);
+ _STATIC_java_net_InetAddress_serialVersionUID = 3286316764910316507;
+ _STATIC_java_net_InetAddress_serialPersistentFields = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+
+ __TIB_java_net_InetAddress.declaredFields = &__field_reflection_data[0];
+ __TIB_java_net_InetAddress.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_net_InetAddress.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_net_InetAddress.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_net_InetAddress.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_net_InetAddress.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_net_InetAddress.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_net_InetAddress.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_net_InetAddress = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_net_InetAddress);
+ __TIB_java_net_InetAddress.clazz = __CLASS_java_net_InetAddress;
+ __TIB_java_net_InetAddress.baseType = JAVA_NULL;
+ __CLASS_java_net_InetAddress_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_net_InetAddress);
+ __CLASS_java_net_InetAddress_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_net_InetAddress_1ARRAY);
+ __CLASS_java_net_InetAddress_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_net_InetAddress_2ARRAY);
+ java_net_InetAddress___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_net_InetAddress]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_net_InetAddress.classInitialized = 1;
+}
+
+void __DELETE_java_net_InetAddress(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_net_InetAddress]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_net_InetAddress(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_net_InetAddress*) me)->fields.java_net_InetAddress.hostName_ = (java_lang_String*) JAVA_NULL;
+ ((java_net_InetAddress*) me)->fields.java_net_InetAddress.waitReachable_ = (java_lang_Object*) JAVA_NULL;
+ ((java_net_InetAddress*) me)->fields.java_net_InetAddress.reached_ = 0;
+ ((java_net_InetAddress*) me)->fields.java_net_InetAddress.addrCount_ = 0;
+ ((java_net_InetAddress*) me)->fields.java_net_InetAddress.family_ = 0;
+ ((java_net_InetAddress*) me)->fields.java_net_InetAddress.ipaddress_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_net_InetAddress]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_net_InetAddress()
+{ XMLVM_CLASS_INIT(java_net_InetAddress)
+java_net_InetAddress* me = (java_net_InetAddress*) XMLVM_MALLOC(sizeof(java_net_InetAddress));
+ me->tib = &__TIB_java_net_InetAddress;
+ __INIT_INSTANCE_MEMBERS_java_net_InetAddress(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_net_InetAddress]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_net_InetAddress()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_net_InetAddress();
+ java_net_InetAddress___INIT___(me);
+ return me;
+}
+
+JAVA_OBJECT java_net_InetAddress_GET_any_bytes()
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ return _STATIC_java_net_InetAddress_any_bytes;
+}
+
+void java_net_InetAddress_PUT_any_bytes(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+_STATIC_java_net_InetAddress_any_bytes = v;
+}
+
+JAVA_OBJECT java_net_InetAddress_GET_localhost_bytes()
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ return _STATIC_java_net_InetAddress_localhost_bytes;
+}
+
+void java_net_InetAddress_PUT_localhost_bytes(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+_STATIC_java_net_InetAddress_localhost_bytes = v;
+}
+
+JAVA_OBJECT java_net_InetAddress_GET_ANY()
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ return _STATIC_java_net_InetAddress_ANY;
+}
+
+void java_net_InetAddress_PUT_ANY(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+_STATIC_java_net_InetAddress_ANY = v;
+}
+
+JAVA_OBJECT java_net_InetAddress_GET_NETIMPL()
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ return _STATIC_java_net_InetAddress_NETIMPL;
+}
+
+void java_net_InetAddress_PUT_NETIMPL(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+_STATIC_java_net_InetAddress_NETIMPL = v;
+}
+
+JAVA_OBJECT java_net_InetAddress_GET_LOOPBACK()
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ return _STATIC_java_net_InetAddress_LOOPBACK;
+}
+
+void java_net_InetAddress_PUT_LOOPBACK(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+_STATIC_java_net_InetAddress_LOOPBACK = v;
+}
+
+JAVA_OBJECT java_net_InetAddress_GET_ERRMSG_CONNECTION_REFUSED()
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ return _STATIC_java_net_InetAddress_ERRMSG_CONNECTION_REFUSED;
+}
+
+void java_net_InetAddress_PUT_ERRMSG_CONNECTION_REFUSED(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+_STATIC_java_net_InetAddress_ERRMSG_CONNECTION_REFUSED = v;
+}
+
+JAVA_LONG java_net_InetAddress_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ return _STATIC_java_net_InetAddress_serialVersionUID;
+}
+
+void java_net_InetAddress_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+_STATIC_java_net_InetAddress_serialVersionUID = v;
+}
+
+JAVA_OBJECT java_net_InetAddress_GET_serialPersistentFields()
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ return _STATIC_java_net_InetAddress_serialPersistentFields;
+}
+
+void java_net_InetAddress_PUT_serialPersistentFields(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+_STATIC_java_net_InetAddress_serialPersistentFields = v;
+}
+
+//XMLVM_NATIVE[void java_net_InetAddress_oneTimeInitialization___boolean(JAVA_BOOLEAN n1)]
+
+void java_net_InetAddress___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress___INIT___]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 88)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("InetAddress.java", 67)
+
+
+ // Red class access removed: java.net.InetAddress$WaitReachable::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = JAVA_NULL;
+
+
+ // Red class access removed: java.net.InetAddress$WaitReachable::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(2)
+ ((java_net_InetAddress*) _r2.o)->fields.java_net_InetAddress.waitReachable_ = _r0.o;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 73)
+ _r0.i = 2;
+ XMLVM_CHECK_NPE(2)
+ ((java_net_InetAddress*) _r2.o)->fields.java_net_InetAddress.family_ = _r0.i;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 89)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_net_InetAddress___INIT____byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress___INIT____byte_1ARRAY]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 99)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("InetAddress.java", 67)
+
+
+ // Red class access removed: java.net.InetAddress$WaitReachable::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = JAVA_NULL;
+
+
+ // Red class access removed: java.net.InetAddress$WaitReachable::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(2)
+ ((java_net_InetAddress*) _r2.o)->fields.java_net_InetAddress.waitReachable_ = _r0.o;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 73)
+ _r0.i = 2;
+ XMLVM_CHECK_NPE(2)
+ ((java_net_InetAddress*) _r2.o)->fields.java_net_InetAddress.family_ = _r0.i;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 100)
+ XMLVM_CHECK_NPE(2)
+ ((java_net_InetAddress*) _r2.o)->fields.java_net_InetAddress.ipaddress_ = _r3.o;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 101)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_net_InetAddress___INIT____byte_1ARRAY_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress___INIT____byte_1ARRAY_java_lang_String]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.o = n2;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 111)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("InetAddress.java", 67)
+
+
+ // Red class access removed: java.net.InetAddress$WaitReachable::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = JAVA_NULL;
+
+
+ // Red class access removed: java.net.InetAddress$WaitReachable::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(2)
+ ((java_net_InetAddress*) _r2.o)->fields.java_net_InetAddress.waitReachable_ = _r0.o;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 73)
+ _r0.i = 2;
+ XMLVM_CHECK_NPE(2)
+ ((java_net_InetAddress*) _r2.o)->fields.java_net_InetAddress.family_ = _r0.i;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 112)
+ XMLVM_CHECK_NPE(2)
+ ((java_net_InetAddress*) _r2.o)->fields.java_net_InetAddress.ipaddress_ = _r3.o;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 113)
+ XMLVM_CHECK_NPE(2)
+ ((java_net_InetAddress*) _r2.o)->fields.java_net_InetAddress.hostName_ = _r4.o;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 114)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_net_InetAddress_cacheElement__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_cacheElement__]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "cacheElement", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 117)
+
+
+ // Red class access removed: java.net.InetAddress$CacheElement::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.net.InetAddress$CacheElement::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_InetAddress_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r5.o = me;
+ _r6.o = n1;
+ _r4.i = 0;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 131)
+ if (_r6.o != JAVA_NULL) goto label5;
+ _r2 = _r4;
+ label4:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 132)
+ XMLVM_SOURCE_POSITION("InetAddress.java", 145)
+ XMLVM_EXIT_METHOD()
+ return _r2.i;
+ label5:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 134)
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(6)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r6.o)->tib->vtable[3])(_r6.o);
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(5)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r5.o)->tib->vtable[3])(_r5.o);
+ if (_r2.o == _r3.o) goto label17;
+ _r2 = _r4;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 135)
+ goto label4;
+ label17:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 139)
+ _r6.o = _r6.o;
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_net_InetAddress*) _r6.o)->fields.java_net_InetAddress.ipaddress_;
+ _r0.i = 0;
+ label22:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 140)
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ if (_r0.i >= _r2.i) goto label38;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 141)
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r2.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_CHECK_NPE(5)
+ _r3.o = ((java_net_InetAddress*) _r5.o)->fields.java_net_InetAddress.ipaddress_;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ _r3.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ if (_r2.i == _r3.i) goto label35;
+ _r2 = _r4;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 142)
+ goto label4;
+ label35:;
+ _r0.i = _r0.i + 1;
+ goto label22;
+ label38:;
+ _r2.i = 1;
+ goto label4;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_net_InetAddress_getAddress__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_getAddress__]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "getAddress", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 156)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_net_InetAddress*) _r1.o)->fields.java_net_InetAddress.ipaddress_;
+ //byte_1ARRAY_clone__[0]
+ XMLVM_CHECK_NPE(0)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((org_xmlvm_runtime_XMLVMArray*) _r0.o)->tib->vtable[0])(_r0.o);
+ _r1.o = _r1.o;
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_net_InetAddress_getAllByName___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_getAllByName___java_lang_String]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "getAllByName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ _r10.o = n1;
+ _r9.i = 1;
+ _r8.i = 0;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 175)
+ if (_r10.o == JAVA_NULL) goto label10;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(10)
+ _r6.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r10.o)->tib->vtable[8])(_r10.o);
+ if (_r6.i != 0) goto label26;
+ label10:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 176)
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ _r6.o = XMLVMArray_createSingleDimension(__CLASS_java_net_InetAddress, _r9.i);
+ _r7.i = java_net_InetAddress_preferIPv6Addresses__();
+ if (_r7.i == 0) goto label23;
+ _r7.o = java_net_Inet6Address_GET_LOOPBACK();
+ label20:;
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r7.o;
+ label22:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 234)
+ XMLVM_EXIT_METHOD()
+ return _r6.o;
+ label23:;
+ _r7.o = java_net_InetAddress_GET_LOOPBACK();
+ goto label20;
+ label26:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 180)
+ _r6.i = java_net_InetAddress_isHostName___java_lang_String(_r10.o);
+ if (_r6.i == 0) goto label148;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 181)
+ _r5.o = java_lang_System_getSecurityManager__();
+ if (_r5.o == JAVA_NULL) goto label42;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 182)
+ XMLVM_SOURCE_POSITION("InetAddress.java", 183)
+ _r6.i = -1;
+ XMLVM_CHECK_NPE(5)
+ java_lang_SecurityManager_checkConnect___java_lang_String_int(_r5.o, _r10.o, _r6.i);
+ label42:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 185)
+
+
+ // Red class access removed: java.net.Socket::preferIPv4Stack
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r6.i == 0) goto label53;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 186)
+ _r6.o = java_net_InetAddress_getAliasesByNameImpl___java_lang_String(_r10.o);
+ goto label22;
+ label53:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 191)
+ _r4.o = java_net_InetAddress_getAliasesByNameImpl___java_lang_String(_r10.o);
+ _r3.o = JAVA_NULL;
+ if (_r4.o == JAVA_NULL) goto label146;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 193)
+ XMLVM_SOURCE_POSITION("InetAddress.java", 194)
+ _r6.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_net_InetAddress, _r6.i);
+ _r0.i = 0;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 196)
+ _r6.i = java_net_InetAddress_preferIPv6Addresses__();
+ if (_r6.i == 0) goto label108;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 197)
+ _r2.i = 0;
+ label71:;
+ _r6.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
+ if (_r2.i >= _r6.i) goto label89;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 198)
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r2.i);
+ _r6.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CLASS_INIT(java_net_Inet6Address)
+ _r6.i = XMLVM_ISA(_r6.o, __CLASS_java_net_Inet6Address);
+ if (_r6.i == 0) goto label86;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 199)
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r2.i);
+ _r6.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r6.o;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 200)
+ _r0.i = _r0.i + 1;
+ label86:;
+ _r2.i = _r2.i + 1;
+ goto label71;
+ label89:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 203)
+ _r2.i = 0;
+ label90:;
+ _r6.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
+ if (_r2.i >= _r6.i) goto label146;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 204)
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r2.i);
+ _r6.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+
+
+ // Red class access removed: java.net.Inet4Address::instance-of
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r6.i == 0) goto label105;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 205)
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r2.i);
+ _r6.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r6.o;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 206)
+ _r0.i = _r0.i + 1;
+ label105:;
+ _r2.i = _r2.i + 1;
+ goto label90;
+ label108:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 210)
+ _r2.i = 0;
+ label109:;
+ _r6.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
+ if (_r2.i >= _r6.i) goto label127;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 211)
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r2.i);
+ _r6.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+
+
+ // Red class access removed: java.net.Inet4Address::instance-of
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r6.i == 0) goto label124;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 212)
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r2.i);
+ _r6.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r6.o;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 213)
+ _r0.i = _r0.i + 1;
+ label124:;
+ _r2.i = _r2.i + 1;
+ goto label109;
+ label127:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 216)
+ _r2.i = 0;
+ label128:;
+ _r6.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
+ if (_r2.i >= _r6.i) goto label146;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 217)
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r2.i);
+ _r6.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CLASS_INIT(java_net_Inet6Address)
+ _r6.i = XMLVM_ISA(_r6.o, __CLASS_java_net_Inet6Address);
+ if (_r6.i == 0) goto label143;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 218)
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r2.i);
+ _r6.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r6.o;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 219)
+ _r0.i = _r0.i + 1;
+ label143:;
+ _r2.i = _r2.i + 1;
+ goto label128;
+ label146:;
+ _r6 = _r3;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 224)
+ goto label22;
+ label148:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 227)
+
+
+ // Red class access removed: org.apache.harmony.luni.util.Inet6Util::createByteArrayFromIPAddressString
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("InetAddress.java", 228)
+ _r6.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ _r7.i = 4;
+ if (_r6.i != _r7.i) goto label167;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 229)
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ _r6.o = XMLVMArray_createSingleDimension(__CLASS_java_net_InetAddress, _r9.i);
+
+
+ // Red class access removed: java.net.Inet4Address::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.net.Inet4Address::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r7.o;
+ goto label22;
+ label167:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 230)
+ _r6.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ _r7.i = 16;
+ if (_r6.i != _r7.i) goto label183;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 231)
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ _r6.o = XMLVMArray_createSingleDimension(__CLASS_java_net_InetAddress, _r9.i);
+ _r7.o = __NEW_java_net_Inet6Address();
+ XMLVM_CHECK_NPE(7)
+ java_net_Inet6Address___INIT____byte_1ARRAY(_r7.o, _r1.o);
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r7.o;
+ goto label22;
+ label183:;
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ _r6.o = XMLVMArray_createSingleDimension(__CLASS_java_net_InetAddress, _r9.i);
+ _r7.o = __NEW_java_net_InetAddress();
+ XMLVM_CHECK_NPE(7)
+ java_net_InetAddress___INIT____byte_1ARRAY(_r7.o, _r1.o);
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r7.o;
+ goto label22;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_net_InetAddress_getByName___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_getByName___java_lang_String]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "getByName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 252)
+ if (_r2.o == JAVA_NULL) goto label8;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(2)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r2.o)->tib->vtable[8])(_r2.o);
+ if (_r1.i != 0) goto label11;
+ label8:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 253)
+ _r1.o = java_net_InetAddress_GET_LOOPBACK();
+ label10:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 267)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label11:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 255)
+ // "0"
+ _r1.o = xmlvm_create_java_string_from_pool(70);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(2)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r2.o)->tib->vtable[1])(_r2.o, _r1.o);
+ if (_r1.i == 0) goto label22;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 256)
+ _r1.o = java_net_InetAddress_GET_ANY();
+ goto label10;
+ label22:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 259)
+ _r1.i = java_net_InetAddress_isHostName___java_lang_String(_r2.o);
+ if (_r1.i == 0) goto label43;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 260)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label38;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 261)
+ XMLVM_SOURCE_POSITION("InetAddress.java", 262)
+ _r1.i = -1;
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkConnect___java_lang_String_int(_r0.o, _r2.o, _r1.i);
+ label38:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 264)
+ _r1.o = java_net_InetAddress_lookupHostByName___java_lang_String(_r2.o);
+ goto label10;
+ label43:;
+ _r1.o = java_net_InetAddress_createHostNameFromIPAddress___java_lang_String(_r2.o);
+ goto label10;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_net_InetAddress_getHostAddress__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_getHostAddress__]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "getHostAddress", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 277)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_net_InetAddress*) _r2.o)->fields.java_net_InetAddress.ipaddress_;
+ _r1.i = 0;
+ _r0.i = java_net_InetAddress_bytesToInt___byte_1ARRAY_int(_r0.o, _r1.i);
+ _r0.o = java_net_InetAddress_inetNtoaImpl___int(_r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_net_InetAddress_getHostName__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_getHostName__]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "getHostName", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ _r6.o = me;
+ _r5.i = 4;
+ XMLVM_TRY_BEGIN(w1175aaac24b1b3)
+ // Begin try
+ XMLVM_SOURCE_POSITION("InetAddress.java", 289)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_net_InetAddress*) _r6.o)->fields.java_net_InetAddress.hostName_;
+ if (_r3.o != JAVA_NULL) { XMLVM_MEMCPY(curThread_w1175aaac24b1b3->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1175aaac24b1b3, sizeof(XMLVM_JMP_BUF)); goto label75; };
+ XMLVM_SOURCE_POSITION("InetAddress.java", 290)
+ _r0.i = 0;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 291)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_net_InetAddress*) _r6.o)->fields.java_net_InetAddress.ipaddress_;
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ if (_r3.i != _r5.i) { XMLVM_MEMCPY(curThread_w1175aaac24b1b3->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1175aaac24b1b3, sizeof(XMLVM_JMP_BUF)); goto label27; };
+ XMLVM_SOURCE_POSITION("InetAddress.java", 292)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_net_InetAddress*) _r6.o)->fields.java_net_InetAddress.ipaddress_;
+ _r4.i = 0;
+ _r0.i = java_net_InetAddress_bytesToInt___byte_1ARRAY_int(_r3.o, _r4.i);
+ if (_r0.i != 0) { XMLVM_MEMCPY(curThread_w1175aaac24b1b3->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1175aaac24b1b3, sizeof(XMLVM_JMP_BUF)); goto label27; };
+ XMLVM_SOURCE_POSITION("InetAddress.java", 293)
+ XMLVM_SOURCE_POSITION("InetAddress.java", 294)
+ _r3.o = java_net_InetAddress_inetNtoaImpl___int(_r0.i);
+ XMLVM_CHECK_NPE(6)
+ ((java_net_InetAddress*) _r6.o)->fields.java_net_InetAddress.hostName_ = _r3.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac24b1b3)
+ XMLVM_CATCH_SPECIFIC(w1175aaac24b1b3,java_net_UnknownHostException,64)
+ XMLVM_CATCH_END(w1175aaac24b1b3)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac24b1b3)
+ label26:;
+ XMLVM_TRY_BEGIN(w1175aaac24b1b5)
+ // Begin try
+ XMLVM_SOURCE_POSITION("InetAddress.java", 316)
+ XMLVM_MEMCPY(curThread_w1175aaac24b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1175aaac24b1b5, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r3.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac24b1b5)
+ XMLVM_CATCH_SPECIFIC(w1175aaac24b1b5,java_net_UnknownHostException,64)
+ XMLVM_CATCH_END(w1175aaac24b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac24b1b5)
+ label27:;
+ XMLVM_TRY_BEGIN(w1175aaac24b1b7)
+ // Begin try
+ XMLVM_SOURCE_POSITION("InetAddress.java", 297)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_net_InetAddress*) _r6.o)->fields.java_net_InetAddress.ipaddress_;
+ _r3.o = java_net_InetAddress_getHostByAddrImpl___byte_1ARRAY(_r3.o);
+ XMLVM_CHECK_NPE(3)
+ _r3.o = ((java_net_InetAddress*) _r3.o)->fields.java_net_InetAddress.hostName_;
+ XMLVM_CHECK_NPE(6)
+ ((java_net_InetAddress*) _r6.o)->fields.java_net_InetAddress.hostName_ = _r3.o;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 298)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_net_InetAddress*) _r6.o)->fields.java_net_InetAddress.hostName_;
+ // "localhost"
+ _r4.o = xmlvm_create_java_string_from_pool(71);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(3)
+ _r3.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r3.o)->tib->vtable[1])(_r3.o, _r4.o);
+ if (_r3.i == 0) { XMLVM_MEMCPY(curThread_w1175aaac24b1b7->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1175aaac24b1b7, sizeof(XMLVM_JMP_BUF)); goto label75; };
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_net_InetAddress*) _r6.o)->fields.java_net_InetAddress.ipaddress_;
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ if (_r3.i != _r5.i) { XMLVM_MEMCPY(curThread_w1175aaac24b1b7->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1175aaac24b1b7, sizeof(XMLVM_JMP_BUF)); goto label75; };
+ _r3.i = 2130706433;
+ if (_r0.i == _r3.i) { XMLVM_MEMCPY(curThread_w1175aaac24b1b7->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1175aaac24b1b7, sizeof(XMLVM_JMP_BUF)); goto label75; };
+ XMLVM_SOURCE_POSITION("InetAddress.java", 300)
+ _r3.o = java_net_InetAddress_inetNtoaImpl___int(_r0.i);
+ XMLVM_CHECK_NPE(6)
+ ((java_net_InetAddress*) _r6.o)->fields.java_net_InetAddress.hostName_ = _r3.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac24b1b7)
+ XMLVM_CATCH_SPECIFIC(w1175aaac24b1b7,java_net_UnknownHostException,64)
+ XMLVM_CATCH_END(w1175aaac24b1b7)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac24b1b7)
+ goto label26;
+ label64:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 303)
+ java_lang_Thread* curThread_w1175aaac24b1c11 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r3.o = curThread_w1175aaac24b1c11->fields.java_lang_Thread.xmlvmException_;
+ _r1 = _r3;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 304)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_net_InetAddress*) _r6.o)->fields.java_net_InetAddress.ipaddress_;
+
+
+ // Red class access removed: org.apache.harmony.luni.util.Inet6Util::createIPAddrStringFromByteArray
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(6)
+ ((java_net_InetAddress*) _r6.o)->fields.java_net_InetAddress.hostName_ = _r3.o;
+ goto label26;
+ label75:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 307)
+ _r2.o = java_lang_System_getSecurityManager__();
+ XMLVM_SOURCE_POSITION("InetAddress.java", 310)
+ if (_r2.o == JAVA_NULL) goto label95;
+ XMLVM_TRY_BEGIN(w1175aaac24b1c23)
+ // Begin try
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_net_InetAddress*) _r6.o)->fields.java_net_InetAddress.hostName_;
+ _r3.i = java_net_InetAddress_isHostName___java_lang_String(_r3.o);
+ if (_r3.i == 0) { XMLVM_MEMCPY(curThread_w1175aaac24b1c23->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1175aaac24b1c23, sizeof(XMLVM_JMP_BUF)); goto label95; };
+ XMLVM_SOURCE_POSITION("InetAddress.java", 311)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_net_InetAddress*) _r6.o)->fields.java_net_InetAddress.hostName_;
+ _r4.i = -1;
+ XMLVM_CHECK_NPE(2)
+ java_lang_SecurityManager_checkConnect___java_lang_String_int(_r2.o, _r3.o, _r4.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac24b1c23)
+ XMLVM_CATCH_END(w1175aaac24b1c23)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac24b1c23)
+ label95:;
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_net_InetAddress*) _r6.o)->fields.java_net_InetAddress.hostName_;
+ goto label26;
+ label98:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 313)
+ java_lang_Thread* curThread_w1175aaac24b1c29 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r3.o = curThread_w1175aaac24b1c29->fields.java_lang_Thread.xmlvmException_;
+ _r1 = _r3;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 314)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_net_InetAddress*) _r6.o)->fields.java_net_InetAddress.ipaddress_;
+
+
+ // Red class access removed: org.apache.harmony.luni.util.Inet6Util::createIPAddrStringFromByteArray
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label26;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_net_InetAddress_getCanonicalHostName__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_getCanonicalHostName__]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "getCanonicalHostName", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ _r6.o = me;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 330)
+ _r0.i = 0;
+ XMLVM_TRY_BEGIN(w1175aaac25b1b4)
+ // Begin try
+ XMLVM_SOURCE_POSITION("InetAddress.java", 331)
+ XMLVM_CHECK_NPE(6)
+ _r4.o = ((java_net_InetAddress*) _r6.o)->fields.java_net_InetAddress.ipaddress_;
+ _r4.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
+ _r5.i = 4;
+ if (_r4.i != _r5.i) { XMLVM_MEMCPY(curThread_w1175aaac25b1b4->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1175aaac25b1b4, sizeof(XMLVM_JMP_BUF)); goto label21; };
+ XMLVM_SOURCE_POSITION("InetAddress.java", 332)
+ XMLVM_CHECK_NPE(6)
+ _r4.o = ((java_net_InetAddress*) _r6.o)->fields.java_net_InetAddress.ipaddress_;
+ _r5.i = 0;
+ _r0.i = java_net_InetAddress_bytesToInt___byte_1ARRAY_int(_r4.o, _r5.i);
+ if (_r0.i != 0) { XMLVM_MEMCPY(curThread_w1175aaac25b1b4->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1175aaac25b1b4, sizeof(XMLVM_JMP_BUF)); goto label21; };
+ XMLVM_SOURCE_POSITION("InetAddress.java", 333)
+ XMLVM_SOURCE_POSITION("InetAddress.java", 334)
+ _r4.o = java_net_InetAddress_inetNtoaImpl___int(_r0.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac25b1b4)
+ XMLVM_CATCH_SPECIFIC(w1175aaac25b1b4,java_net_UnknownHostException,47)
+ XMLVM_CATCH_END(w1175aaac25b1b4)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac25b1b4)
+ label20:;
+ XMLVM_TRY_BEGIN(w1175aaac25b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("InetAddress.java", 350)
+ XMLVM_MEMCPY(curThread_w1175aaac25b1b6->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1175aaac25b1b6, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r4.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac25b1b6)
+ XMLVM_CATCH_SPECIFIC(w1175aaac25b1b6,java_net_UnknownHostException,47)
+ XMLVM_CATCH_END(w1175aaac25b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac25b1b6)
+ label21:;
+ XMLVM_TRY_BEGIN(w1175aaac25b1b8)
+ // Begin try
+ XMLVM_SOURCE_POSITION("InetAddress.java", 337)
+ XMLVM_CHECK_NPE(6)
+ _r4.o = ((java_net_InetAddress*) _r6.o)->fields.java_net_InetAddress.ipaddress_;
+ _r4.o = java_net_InetAddress_getHostByAddrImpl___byte_1ARRAY(_r4.o);
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_net_InetAddress*) _r4.o)->fields.java_net_InetAddress.hostName_;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac25b1b8)
+ XMLVM_CATCH_SPECIFIC(w1175aaac25b1b8,java_net_UnknownHostException,47)
+ XMLVM_CATCH_END(w1175aaac25b1b8)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac25b1b8)
+ XMLVM_SOURCE_POSITION("InetAddress.java", 341)
+ _r3.o = java_lang_System_getSecurityManager__();
+ XMLVM_SOURCE_POSITION("InetAddress.java", 344)
+ if (_r3.o == JAVA_NULL) goto label45;
+ XMLVM_TRY_BEGIN(w1175aaac25b1c13)
+ // Begin try
+ _r4.i = java_net_InetAddress_isHostName___java_lang_String(_r1.o);
+ if (_r4.i == 0) { XMLVM_MEMCPY(curThread_w1175aaac25b1c13->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1175aaac25b1c13, sizeof(XMLVM_JMP_BUF)); goto label45; };
+ XMLVM_SOURCE_POSITION("InetAddress.java", 345)
+ _r4.i = -1;
+ XMLVM_CHECK_NPE(3)
+ java_lang_SecurityManager_checkConnect___java_lang_String_int(_r3.o, _r1.o, _r4.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac25b1c13)
+ XMLVM_CATCH_END(w1175aaac25b1c13)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac25b1c13)
+ label45:;
+ _r4 = _r1;
+ goto label20;
+ label47:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 338)
+ java_lang_Thread* curThread_w1175aaac25b1c19 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r4.o = curThread_w1175aaac25b1c19->fields.java_lang_Thread.xmlvmException_;
+ _r2 = _r4;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 339)
+ XMLVM_CHECK_NPE(6)
+ _r4.o = ((java_net_InetAddress*) _r6.o)->fields.java_net_InetAddress.ipaddress_;
+
+
+ // Red class access removed: org.apache.harmony.luni.util.Inet6Util::createIPAddrStringFromByteArray
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label20;
+ label56:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 347)
+ java_lang_Thread* curThread_w1175aaac25b1c27 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r4.o = curThread_w1175aaac25b1c27->fields.java_lang_Thread.xmlvmException_;
+ _r2 = _r4;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 348)
+ XMLVM_CHECK_NPE(6)
+ _r4.o = ((java_net_InetAddress*) _r6.o)->fields.java_net_InetAddress.ipaddress_;
+
+
+ // Red class access removed: org.apache.harmony.luni.util.Inet6Util::createIPAddrStringFromByteArray
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label20;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_net_InetAddress_getLocalHost__()
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_getLocalHost__]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "getLocalHost", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 363)
+ _r1.o = java_net_InetAddress_getHostNameImpl__();
+ XMLVM_SOURCE_POSITION("InetAddress.java", 364)
+ _r2.o = java_lang_System_getSecurityManager__();
+ XMLVM_SOURCE_POSITION("InetAddress.java", 366)
+ if (_r2.o == JAVA_NULL) goto label14;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 367)
+ _r3.i = -1;
+ XMLVM_TRY_BEGIN(w1175aaac26b1b9)
+ // Begin try
+ XMLVM_CHECK_NPE(2)
+ java_lang_SecurityManager_checkConnect___java_lang_String_int(_r2.o, _r1.o, _r3.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac26b1b9)
+ XMLVM_CATCH_END(w1175aaac26b1b9)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac26b1b9)
+ label14:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 372)
+ _r3.o = java_net_InetAddress_lookupHostByName___java_lang_String(_r1.o);
+ label18:;
+ XMLVM_EXIT_METHOD()
+ return _r3.o;
+ label19:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 369)
+ java_lang_Thread* curThread_w1175aaac26b1c17 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w1175aaac26b1c17->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 370)
+ _r3.o = java_net_InetAddress_GET_LOOPBACK();
+ goto label18;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_net_InetAddress_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_hashCode__]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 382)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_net_InetAddress*) _r2.o)->fields.java_net_InetAddress.ipaddress_;
+ _r1.i = 0;
+ _r0.i = java_net_InetAddress_bytesToInt___byte_1ARRAY_int(_r0.o, _r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_InetAddress_isMulticastAddress__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_isMulticastAddress__]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "isMulticastAddress", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 392)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_net_InetAddress*) _r3.o)->fields.java_net_InetAddress.ipaddress_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ _r0.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ _r0.i = _r0.i & 255;
+ _r0.i = ((JAVA_UINT) _r0.i) >> (0x1f & ((JAVA_UINT) 4));
+ _r1.i = 14;
+ if (_r0.i != _r1.i) goto label15;
+ _r0.i = 1;
+ label14:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label15:;
+ _r0 = _r2;
+ goto label14;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_net_InetAddress_lookupHostByName___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_lookupHostByName___java_lang_String]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "lookupHostByName", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ volatile XMLVMElem _r9;
+ volatile XMLVMElem _r10;
+ volatile XMLVMElem _r11;
+ _r11.o = n1;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 397)
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ _r6.o = __CLASS_java_net_InetAddress;
+ java_lang_Object_acquireLockRecursive__(_r6.o);
+ _r4.i = -1;
+ XMLVM_TRY_BEGIN(w1175aaac29b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("InetAddress.java", 399)
+ _r7.o = __NEW_org_apache_harmony_luni_util_PriviAction();
+ // "networkaddress.cache.ttl"
+ _r8.o = xmlvm_create_java_string_from_pool(72);
+ XMLVM_CHECK_NPE(7)
+ org_apache_harmony_luni_util_PriviAction___INIT____java_lang_String(_r7.o, _r8.o);
+ _r5.o = java_security_AccessController_doPrivileged___java_security_PrivilegedAction(_r7.o);
+ _r5.o = _r5.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac29b1b6)
+ XMLVM_CATCH_SPECIFIC(w1175aaac29b1b6,java_lang_Object,77)
+ XMLVM_CATCH_END(w1175aaac29b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac29b1b6)
+ XMLVM_SOURCE_POSITION("InetAddress.java", 403)
+ if (_r5.o == JAVA_NULL) goto label27;
+ XMLVM_TRY_BEGIN(w1175aaac29b1b9)
+ // Begin try
+ XMLVM_SOURCE_POSITION("InetAddress.java", 404)
+ _r7.o = java_lang_Integer_decode___java_lang_String(_r5.o);
+ //java_lang_Integer_intValue__[9]
+ XMLVM_CHECK_NPE(7)
+ _r4.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Integer*) _r7.o)->tib->vtable[9])(_r7.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac29b1b9)
+ XMLVM_CATCH_SPECIFIC(w1175aaac29b1b9,java_lang_Object,77)
+ XMLVM_CATCH_END(w1175aaac29b1b9)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac29b1b9)
+ label27:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 409)
+ _r2.o = JAVA_NULL;
+ if (_r4.i != 0) goto label41;
+ XMLVM_TRY_BEGIN(w1175aaac29b1c14)
+ // Begin try
+ XMLVM_SOURCE_POSITION("InetAddress.java", 410)
+ XMLVM_SOURCE_POSITION("InetAddress.java", 411)
+
+
+ // Red class access removed: java.net.InetAddress$Cache::clear
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac29b1c14)
+ XMLVM_CATCH_SPECIFIC(w1175aaac29b1c14,java_lang_Object,77)
+ XMLVM_CATCH_END(w1175aaac29b1c14)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac29b1c14)
+ label33:;
+ XMLVM_TRY_BEGIN(w1175aaac29b1c16)
+ // Begin try
+ XMLVM_SOURCE_POSITION("InetAddress.java", 421)
+ if (_r2.o == JAVA_NULL) { XMLVM_MEMCPY(curThread_w1175aaac29b1c16->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1175aaac29b1c16, sizeof(XMLVM_JMP_BUF)); goto label65; };
+ XMLVM_SOURCE_POSITION("InetAddress.java", 422)
+
+
+ // Red class access removed: java.net.InetAddress$CacheElement::inetAddress
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac29b1c16)
+ XMLVM_CATCH_SPECIFIC(w1175aaac29b1c16,java_lang_Object,77)
+ XMLVM_CATCH_END(w1175aaac29b1c16)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac29b1c16)
+ label39:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 444)
+ java_lang_Object_releaseLockRecursive__(_r6.o);
+ XMLVM_EXIT_METHOD()
+ return _r7.o;
+ label41:;
+ XMLVM_TRY_BEGIN(w1175aaac29b1c22)
+ // Begin try
+ XMLVM_SOURCE_POSITION("InetAddress.java", 413)
+
+
+ // Red class access removed: java.net.InetAddress$Cache::get
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r2.o == JAVA_NULL) { XMLVM_MEMCPY(curThread_w1175aaac29b1c22->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1175aaac29b1c22, sizeof(XMLVM_JMP_BUF)); goto label33; };
+ XMLVM_SOURCE_POSITION("InetAddress.java", 414)
+ if (_r4.i <= 0) { XMLVM_MEMCPY(curThread_w1175aaac29b1c22->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1175aaac29b1c22, sizeof(XMLVM_JMP_BUF)); goto label33; };
+
+
+ // Red class access removed: java.net.InetAddress$CacheElement,long::timeAdded
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r9.i = _r4.i * 1000;
+ _r9.l = (JAVA_LONG) _r9.i;
+ _r7.l = _r7.l + _r9.l;
+ _r9.l = java_lang_System_currentTimeMillis__();
+ _r7.i = _r7.l > _r9.l ? 1 : (_r7.l == _r9.l ? 0 : -1);
+ if (_r7.i >= 0) { XMLVM_MEMCPY(curThread_w1175aaac29b1c22->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1175aaac29b1c22, sizeof(XMLVM_JMP_BUF)); goto label33; };
+ XMLVM_SOURCE_POSITION("InetAddress.java", 418)
+ _r2.o = JAVA_NULL;
+ { XMLVM_MEMCPY(curThread_w1175aaac29b1c22->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1175aaac29b1c22, sizeof(XMLVM_JMP_BUF)); goto label33; };
+ XMLVM_SOURCE_POSITION("InetAddress.java", 428)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac29b1c22)
+ XMLVM_CATCH_SPECIFIC(w1175aaac29b1c22,java_lang_Object,77)
+ XMLVM_CATCH_END(w1175aaac29b1c22)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac29b1c22)
+ label65:;
+ XMLVM_TRY_BEGIN(w1175aaac29b1c24)
+ // Begin try
+
+
+ // Red class access removed: java.net.NegativeCache::getFailedMessage
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r3.o == JAVA_NULL) { XMLVM_MEMCPY(curThread_w1175aaac29b1c24->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1175aaac29b1c24, sizeof(XMLVM_JMP_BUF)); goto label80; };
+ XMLVM_SOURCE_POSITION("InetAddress.java", 429)
+ XMLVM_SOURCE_POSITION("InetAddress.java", 430)
+ _r7.o = __NEW_java_net_UnknownHostException();
+ XMLVM_CHECK_NPE(7)
+ java_net_UnknownHostException___INIT____java_lang_String(_r7.o, _r11.o);
+ XMLVM_THROW_CUSTOM(_r7.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac29b1c24)
+ XMLVM_CATCH_SPECIFIC(w1175aaac29b1c24,java_lang_Object,77)
+ XMLVM_CATCH_END(w1175aaac29b1c24)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac29b1c24)
+ label77:;
+ java_lang_Thread* curThread_w1175aaac29b1c26 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r7.o = curThread_w1175aaac29b1c26->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r6.o);
+ XMLVM_THROW_CUSTOM(_r7.o)
+ label80:;
+ XMLVM_TRY_BEGIN(w1175aaac29b1c30)
+ // Begin try
+ XMLVM_SOURCE_POSITION("InetAddress.java", 435)
+ _r7.i = java_net_InetAddress_preferIPv6Addresses__();
+ _r0.o = java_net_InetAddress_getHostByNameImpl___java_lang_String_boolean(_r11.o, _r7.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac29b1c30)
+ XMLVM_CATCH_SPECIFIC(w1175aaac29b1c30,java_net_UnknownHostException,93)
+ XMLVM_CATCH_SPECIFIC(w1175aaac29b1c30,java_lang_Object,77)
+ XMLVM_CATCH_END(w1175aaac29b1c30)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac29b1c30)
+ XMLVM_TRY_BEGIN(w1175aaac29b1c31)
+ // Begin try
+ XMLVM_SOURCE_POSITION("InetAddress.java", 443)
+
+
+ // Red class access removed: java.net.InetAddress$Cache::add
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r7 = _r0;
+ { XMLVM_MEMCPY(curThread_w1175aaac29b1c31->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1175aaac29b1c31, sizeof(XMLVM_JMP_BUF)); goto label39; };
+ XMLVM_SOURCE_POSITION("InetAddress.java", 436)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac29b1c31)
+ XMLVM_CATCH_SPECIFIC(w1175aaac29b1c31,java_lang_Object,77)
+ XMLVM_CATCH_END(w1175aaac29b1c31)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac29b1c31)
+ label93:;
+ XMLVM_TRY_BEGIN(w1175aaac29b1c33)
+ // Begin try
+ java_lang_Thread* curThread_w1175aaac29b1c33aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r7.o = curThread_w1175aaac29b1c33aa->fields.java_lang_Thread.xmlvmException_;
+ _r1 = _r7;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 438)
+ //java_net_UnknownHostException_getMessage__[7]
+ XMLVM_CHECK_NPE(1)
+ _r7.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_net_UnknownHostException*) _r1.o)->tib->vtable[7])(_r1.o);
+
+
+ // Red class access removed: java.net.NegativeCache::put
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("InetAddress.java", 440)
+ _r7.o = __NEW_java_net_UnknownHostException();
+ XMLVM_CHECK_NPE(7)
+ java_net_UnknownHostException___INIT____java_lang_String(_r7.o, _r11.o);
+ XMLVM_CHECK_NPE(7)
+ _r11.o = java_lang_Throwable_initCause___java_lang_Throwable(_r7.o, _r1.o);
+ _r11.o = _r11.o;
+ XMLVM_THROW_CUSTOM(_r11.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac29b1c33)
+ XMLVM_CATCH_SPECIFIC(w1175aaac29b1c33,java_lang_Object,77)
+ XMLVM_CATCH_END(w1175aaac29b1c33)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac29b1c33)
+ label114:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 406)
+ java_lang_Thread* curThread_w1175aaac29b1c36 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r7.o = curThread_w1175aaac29b1c36->fields.java_lang_Thread.xmlvmException_;
+ goto label27;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT java_net_InetAddress_getAliasesByNameImpl___java_lang_String(JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_net_InetAddress_getHostByAddrImpl___byte_1ARRAY(JAVA_OBJECT n1)]
+
+JAVA_INT java_net_InetAddress_inetAddr___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_inetAddr___java_lang_String]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "inetAddr", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 471)
+ // "255.255.255.255"
+ _r0.o = xmlvm_create_java_string_from_pool(73);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[1])(_r1.o, _r0.o);
+ if (_r0.i == 0) goto label10;
+ _r0.i = -1;
+ label9:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label10:;
+ _r0.i = java_net_InetAddress_inetAddrImpl___java_lang_String(_r1.o);
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_INT java_net_InetAddress_inetAddrImpl___java_lang_String(JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_net_InetAddress_inetNtoaImpl___int(JAVA_INT n1)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_net_InetAddress_getHostByNameImpl___java_lang_String_boolean(JAVA_OBJECT n1, JAVA_BOOLEAN n2)]
+
+//XMLVM_NATIVE[JAVA_OBJECT java_net_InetAddress_getHostNameImpl__()]
+
+JAVA_OBJECT java_net_InetAddress_getHostNameInternal___java_lang_String_boolean(JAVA_OBJECT n1, JAVA_BOOLEAN n2)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_getHostNameInternal___java_lang_String_boolean]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "getHostNameInternal", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = n1;
+ _r3.i = n2;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 511)
+ if (_r2.o == JAVA_NULL) goto label8;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(2)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r2.o)->tib->vtable[8])(_r2.o);
+ if (_r1.i != 0) goto label15;
+ label8:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 512)
+ _r1.o = java_net_InetAddress_GET_LOOPBACK();
+ //java_net_InetAddress_getHostAddress__[6]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_net_InetAddress*) _r1.o)->tib->vtable[6])(_r1.o);
+ label14:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 523)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label15:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 514)
+ _r1.i = java_net_InetAddress_isHostName___java_lang_String(_r2.o);
+ if (_r1.i == 0) goto label42;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 515)
+ if (_r3.i == 0) goto label33;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 516)
+ _r0.o = java_lang_System_getSecurityManager__();
+ if (_r0.o == JAVA_NULL) goto label33;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 517)
+ XMLVM_SOURCE_POSITION("InetAddress.java", 518)
+ _r1.i = -1;
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkConnect___java_lang_String_int(_r0.o, _r2.o, _r1.i);
+ label33:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 521)
+ _r1.o = java_net_InetAddress_lookupHostByName___java_lang_String(_r2.o);
+ //java_net_InetAddress_getHostAddress__[6]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_net_InetAddress*) _r1.o)->tib->vtable[6])(_r1.o);
+ goto label14;
+ label42:;
+ _r1 = _r2;
+ goto label14;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_net_InetAddress_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_toString__]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 534)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT___(_r0.o);
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_net_InetAddress*) _r2.o)->fields.java_net_InetAddress.hostName_;
+ if (_r1.o != JAVA_NULL) goto label34;
+ // ""
+ _r1.o = xmlvm_create_java_string_from_pool(21);
+ label11:;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ // "/"
+ _r1.o = xmlvm_create_java_string_from_pool(54);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ //java_net_InetAddress_getHostAddress__[6]
+ XMLVM_CHECK_NPE(2)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_net_InetAddress*) _r2.o)->tib->vtable[6])(_r2.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label34:;
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_net_InetAddress*) _r2.o)->fields.java_net_InetAddress.hostName_;
+ goto label11;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_InetAddress_isHostName___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_isHostName___java_lang_String]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "isHostName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 627)
+
+
+ // Red class access removed: org.apache.harmony.luni.util.Inet6Util::isValidIPV4Address
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r0.i != 0) goto label14;
+
+
+ // Red class access removed: org.apache.harmony.luni.util.Inet6Util::isValidIP6Address
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r0.i != 0) goto label14;
+ _r0.i = 1;
+ label13:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label14:;
+ _r0.i = 0;
+ goto label13;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_InetAddress_isLoopbackAddress__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_isLoopbackAddress__]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "isLoopbackAddress", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 640)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_InetAddress_isLinkLocalAddress__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_isLinkLocalAddress__]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "isLinkLocalAddress", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 656)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_InetAddress_isSiteLocalAddress__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_isSiteLocalAddress__]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "isSiteLocalAddress", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 672)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_InetAddress_isMCGlobal__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_isMCGlobal__]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "isMCGlobal", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 690)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_InetAddress_isMCNodeLocal__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_isMCNodeLocal__]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "isMCNodeLocal", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 707)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_InetAddress_isMCLinkLocal__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_isMCLinkLocal__]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "isMCLinkLocal", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 724)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_InetAddress_isMCSiteLocal__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_isMCSiteLocal__]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "isMCSiteLocal", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 742)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_InetAddress_isMCOrgLocal__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_isMCOrgLocal__]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "isMCOrgLocal", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 760)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_InetAddress_isAnyLocalAddress__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_isAnyLocalAddress__]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "isAnyLocalAddress", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 771)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_InetAddress_isReachable___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_isReachable___int]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "isReachable", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.i = n1;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 790)
+ _r0.o = JAVA_NULL;
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(2)
+ _r0.i = java_net_InetAddress_isReachable___java_net_NetworkInterface_int_int(_r2.o, _r0.o, _r1.i, _r3.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_InetAddress_isReachable___java_net_NetworkInterface_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_isReachable___java_net_NetworkInterface_int_int]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "isReachable", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r3.o = me;
+ _r4.o = n1;
+ _r5.i = n2;
+ _r6.i = n3;
+ _r2.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 815)
+ if (_r5.i < 0) goto label5;
+ if (_r6.i >= 0) goto label17;
+ label5:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 816)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.61"
+ _r2.o = xmlvm_create_java_string_from_pool(74);
+ _r2.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String(_r2.o);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label17:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 818)
+ _r0.i = 0;
+ if (_r4.o != JAVA_NULL) goto label34;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 819)
+ XMLVM_SOURCE_POSITION("InetAddress.java", 821)
+ _r1.o = java_net_InetAddress_GET_NETIMPL();
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT, JAVA_INT, JAVA_INT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_isReachableByICMP___java_net_InetAddress_java_net_InetAddress_int_int])(_r1.o, _r3.o, _r2.o, _r5.i, _r6.i);
+ if (_r0.i != 0) goto label32;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 822)
+ XMLVM_SOURCE_POSITION("InetAddress.java", 823)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_net_InetAddress_isReachableByTCP___java_net_InetAddress_java_net_InetAddress_int(_r3.o, _r3.o, _r2.o, _r6.i);
+ label32:;
+ _r1 = _r0;
+ label33:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 838)
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ label34:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 827)
+
+
+ // Red class access removed: java.net.NetworkInterface,java.net.InetAddress[]::addresses
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r1.o != JAVA_NULL) goto label40;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 828)
+ _r1.i = 0;
+ goto label33;
+ label40:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 832)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_net_InetAddress_isReachableByICMPUseMultiThread___java_net_NetworkInterface_int_int(_r3.o, _r4.o, _r5.i, _r6.i);
+ if (_r0.i != 0) goto label32;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 833)
+ XMLVM_SOURCE_POSITION("InetAddress.java", 835)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_net_InetAddress_isReachableByTCPUseMultiThread___java_net_NetworkInterface_int_int(_r3.o, _r4.o, _r5.i, _r6.i);
+ goto label32;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_InetAddress_isReachableByMultiThread___java_net_NetworkInterface_int_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3, JAVA_BOOLEAN n4)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_isReachableByMultiThread___java_net_NetworkInterface_int_int_boolean]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "isReachableByMultiThread", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ volatile XMLVMElem _r9;
+ volatile XMLVMElem _r10;
+ volatile XMLVMElem _r11;
+ volatile XMLVMElem _r12;
+ volatile XMLVMElem _r13;
+ volatile XMLVMElem _r14;
+ volatile XMLVMElem _r15;
+ _r11.o = me;
+ _r12.o = n1;
+ _r13.i = n2;
+ _r14.i = n3;
+ _r15.i = n4;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 848)
+
+
+ // Red class access removed: java.net.NetworkInterface,java.net.InetAddress[]::addresses
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r0.o != JAVA_NULL) goto label6;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 849)
+ _r0.i = 0;
+ label5:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 938)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 851)
+
+
+ // Red class access removed: java.net.NetworkInterface::getInetAddresses
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r0.i = 0;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 852)
+ XMLVM_CHECK_NPE(11)
+ ((java_net_InetAddress*) _r11.o)->fields.java_net_InetAddress.reached_ = _r0.i;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 853)
+
+
+ // Red class access removed: java.net.NetworkInterface,java.net.InetAddress[]::addresses
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ XMLVM_CHECK_NPE(11)
+ ((java_net_InetAddress*) _r11.o)->fields.java_net_InetAddress.addrCount_ = _r0.i;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 854)
+ _r9.i = 0;
+ label19:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 855)
+ XMLVM_CHECK_NPE(7)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r7.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Enumeration_hasMoreElements__])(_r7.o);
+ if (_r0.i == 0) goto label112;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 856)
+ XMLVM_CHECK_NPE(7)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r7.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Enumeration_nextElement__])(_r7.o);
+ _r3.o = _r3.o;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 859)
+ //java_net_InetAddress_isLoopbackAddress__[9]
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) ((java_net_InetAddress*) _r3.o)->tib->vtable[9])(_r3.o);
+ if (_r0.i == 0) goto label98;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 860)
+
+
+ // Red class access removed: java.net.NetworkInterface::getNetworkInterfaces
+ XMLVM_RED_CLASS_DEPENDENCY();
+ label41:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 862)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r6.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Enumeration_hasMoreElements__])(_r6.o);
+ if (_r0.i == 0) goto label75;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 863)
+ XMLVM_CHECK_NPE(6)
+ _r10.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r6.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Enumeration_nextElement__])(_r6.o);
+
+
+ // Red class access removed: java.net.NetworkInterface::check-cast
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("InetAddress.java", 865)
+
+
+ // Red class access removed: java.net.NetworkInterface::getInetAddresses
+ XMLVM_RED_CLASS_DEPENDENCY();
+ label57:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 867)
+ XMLVM_CHECK_NPE(8)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r8.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Enumeration_hasMoreElements__])(_r8.o);
+ if (_r0.i == 0) goto label41;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 868)
+ XMLVM_CHECK_NPE(8)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r8.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Enumeration_nextElement__])(_r8.o);
+ //java_net_InetAddress_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(11)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_net_InetAddress*) _r11.o)->tib->vtable[1])(_r11.o, _r0.o);
+ if (_r0.i == 0) goto label57;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 870)
+ _r0.i = 1;
+ goto label5;
+ label75:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 875)
+ XMLVM_CHECK_NPE(11)
+ _r0.o = ((java_net_InetAddress*) _r11.o)->fields.java_net_InetAddress.waitReachable_;
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_TRY_BEGIN(w1175aaac51b1c62)
+ // Begin try
+ XMLVM_SOURCE_POSITION("InetAddress.java", 876)
+ XMLVM_CHECK_NPE(11)
+ _r1.i = ((java_net_InetAddress*) _r11.o)->fields.java_net_InetAddress.addrCount_;
+ _r2.i = 1;
+ _r1.i = _r1.i - _r2.i;
+ XMLVM_CHECK_NPE(11)
+ ((java_net_InetAddress*) _r11.o)->fields.java_net_InetAddress.addrCount_ = _r1.i;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 878)
+ XMLVM_CHECK_NPE(11)
+ _r1.i = ((java_net_InetAddress*) _r11.o)->fields.java_net_InetAddress.addrCount_;
+ if (_r1.i != 0) { XMLVM_MEMCPY(curThread_w1175aaac51b1c62->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1175aaac51b1c62, sizeof(XMLVM_JMP_BUF)); goto label93; };
+ XMLVM_SOURCE_POSITION("InetAddress.java", 881)
+ XMLVM_CHECK_NPE(11)
+ _r1.o = ((java_net_InetAddress*) _r11.o)->fields.java_net_InetAddress.waitReachable_;
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object_notifyAll__(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac51b1c62)
+ XMLVM_CATCH_SPECIFIC(w1175aaac51b1c62,java_lang_Object,95)
+ XMLVM_CATCH_END(w1175aaac51b1c62)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac51b1c62)
+ label93:;
+ XMLVM_TRY_BEGIN(w1175aaac51b1c64)
+ // Begin try
+ XMLVM_SOURCE_POSITION("InetAddress.java", 883)
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ { XMLVM_MEMCPY(curThread_w1175aaac51b1c64->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1175aaac51b1c64, sizeof(XMLVM_JMP_BUF)); goto label19; };
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac51b1c64)
+ XMLVM_CATCH_SPECIFIC(w1175aaac51b1c64,java_lang_Object,95)
+ XMLVM_CATCH_END(w1175aaac51b1c64)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac51b1c64)
+ label95:;
+ XMLVM_TRY_BEGIN(w1175aaac51b1c66)
+ // Begin try
+ java_lang_Thread* curThread_w1175aaac51b1c66aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w1175aaac51b1c66aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac51b1c66)
+ XMLVM_CATCH_SPECIFIC(w1175aaac51b1c66,java_lang_Object,95)
+ XMLVM_CATCH_END(w1175aaac51b1c66)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac51b1c66)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label98:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 887)
+ _r9.i = 1;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 888)
+
+
+ // Red class access removed: java.net.InetAddress$1::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1 = _r11;
+ _r2 = _r15;
+ _r4 = _r13;
+ _r5 = _r14;
+
+
+ // Red class access removed: java.net.InetAddress$1::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.net.InetAddress$1::start
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label19;
+ label112:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 924)
+ if (_r9.i == 0) goto label143;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 925)
+ XMLVM_CHECK_NPE(11)
+ _r0.o = ((java_net_InetAddress*) _r11.o)->fields.java_net_InetAddress.waitReachable_;
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ label117:;
+ XMLVM_TRY_BEGIN(w1175aaac51b1c87)
+ // Begin try
+ XMLVM_SOURCE_POSITION("InetAddress.java", 927)
+ XMLVM_CHECK_NPE(11)
+ _r1.i = ((java_net_InetAddress*) _r11.o)->fields.java_net_InetAddress.reached_;
+ if (_r1.i != 0) { XMLVM_MEMCPY(curThread_w1175aaac51b1c87->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1175aaac51b1c87, sizeof(XMLVM_JMP_BUF)); goto label134; };
+ XMLVM_CHECK_NPE(11)
+ _r1.i = ((java_net_InetAddress*) _r11.o)->fields.java_net_InetAddress.addrCount_;
+ if (_r1.i == 0) { XMLVM_MEMCPY(curThread_w1175aaac51b1c87->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1175aaac51b1c87, sizeof(XMLVM_JMP_BUF)); goto label134; };
+ XMLVM_SOURCE_POSITION("InetAddress.java", 929)
+ XMLVM_CHECK_NPE(11)
+ _r1.o = ((java_net_InetAddress*) _r11.o)->fields.java_net_InetAddress.waitReachable_;
+ _r2.l = 1000;
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object_wait___long(_r1.o, _r2.l);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac51b1c87)
+ XMLVM_CATCH_SPECIFIC(w1175aaac51b1c87,java_lang_Object,140)
+ XMLVM_CATCH_END(w1175aaac51b1c87)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac51b1c87)
+ goto label117;
+ label133:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 931)
+ java_lang_Thread* curThread_w1175aaac51b1c91 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w1175aaac51b1c91->fields.java_lang_Thread.xmlvmException_;
+ label134:;
+ XMLVM_TRY_BEGIN(w1175aaac51b1c93)
+ // Begin try
+ XMLVM_SOURCE_POSITION("InetAddress.java", 934)
+ XMLVM_CHECK_NPE(11)
+ _r1.i = ((java_net_InetAddress*) _r11.o)->fields.java_net_InetAddress.reached_;
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ _r0 = _r1;
+ { XMLVM_MEMCPY(curThread_w1175aaac51b1c93->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1175aaac51b1c93, sizeof(XMLVM_JMP_BUF)); goto label5; };
+ XMLVM_SOURCE_POSITION("InetAddress.java", 935)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac51b1c93)
+ XMLVM_CATCH_SPECIFIC(w1175aaac51b1c93,java_lang_Object,140)
+ XMLVM_CATCH_END(w1175aaac51b1c93)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac51b1c93)
+ label140:;
+ XMLVM_TRY_BEGIN(w1175aaac51b1c95)
+ // Begin try
+ java_lang_Thread* curThread_w1175aaac51b1c95aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w1175aaac51b1c95aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac51b1c95)
+ XMLVM_CATCH_SPECIFIC(w1175aaac51b1c95,java_lang_Object,140)
+ XMLVM_CATCH_END(w1175aaac51b1c95)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac51b1c95)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label143:;
+ _r0.i = 0;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_InetAddress_isReachableByICMPUseMultiThread___java_net_NetworkInterface_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_isReachableByICMPUseMultiThread___java_net_NetworkInterface_int_int]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "isReachableByICMPUseMultiThread", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.i = n2;
+ _r4.i = n3;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 943)
+ _r0.i = 1;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_net_InetAddress_isReachableByMultiThread___java_net_NetworkInterface_int_int_boolean(_r1.o, _r2.o, _r3.i, _r4.i, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_InetAddress_isReachableByTCPUseMultiThread___java_net_NetworkInterface_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_isReachableByTCPUseMultiThread___java_net_NetworkInterface_int_int]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "isReachableByTCPUseMultiThread", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.i = n2;
+ _r4.i = n3;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 948)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_net_InetAddress_isReachableByMultiThread___java_net_NetworkInterface_int_int_boolean(_r1.o, _r2.o, _r3.i, _r4.i, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_InetAddress_isReachableByTCP___java_net_InetAddress_java_net_InetAddress_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_isReachableByTCP___java_net_InetAddress_java_net_InetAddress_int]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "isReachableByTCP", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ volatile XMLVMElem _r9;
+ volatile XMLVMElem _r10;
+ volatile XMLVMElem _r11;
+ _r8.o = me;
+ _r9.o = n1;
+ _r10.o = n2;
+ _r11.i = n3;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 953)
+ _r1.o = __NEW_java_io_FileDescriptor();
+ XMLVM_CHECK_NPE(1)
+ java_io_FileDescriptor___INIT___(_r1.o);
+ _r4.i = 0;
+ _r7.i = 0;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 957)
+ _r0.o = java_net_InetAddress_GET_NETIMPL();
+
+
+ // Red class access removed: org.apache.harmony.luni.net.NetUtil::preferIPv4Stack
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(0)
+ (*(void (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_BOOLEAN)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_createStreamSocket___java_io_FileDescriptor_boolean])(_r0.o, _r1.o, _r2.i);
+ XMLVM_SOURCE_POSITION("InetAddress.java", 959)
+ if (_r10.o == JAVA_NULL) goto label24;
+ XMLVM_TRY_BEGIN(w1175aaac54b1c16)
+ // Begin try
+ XMLVM_SOURCE_POSITION("InetAddress.java", 960)
+ _r0.o = java_net_InetAddress_GET_NETIMPL();
+ _r2.i = 0;
+ XMLVM_CHECK_NPE(0)
+ (*(void (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_bind___java_io_FileDescriptor_java_net_InetAddress_int])(_r0.o, _r1.o, _r10.o, _r2.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac54b1c16)
+ XMLVM_CATCH_SPECIFIC(w1175aaac54b1c16,java_io_IOException,39)
+ XMLVM_CATCH_END(w1175aaac54b1c16)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac54b1c16)
+ label24:;
+ XMLVM_TRY_BEGIN(w1175aaac54b1c18)
+ // Begin try
+ XMLVM_SOURCE_POSITION("InetAddress.java", 962)
+ _r0.o = java_net_InetAddress_GET_NETIMPL();
+ _r2.i = 7;
+ _r3 = _r11;
+ _r5 = _r9;
+ XMLVM_CHECK_NPE(0)
+ (*(void (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_INT, JAVA_INT, JAVA_INT, JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_connectStreamWithTimeoutSocket___java_io_FileDescriptor_int_int_int_java_net_InetAddress])(_r0.o, _r1.o, _r2.i, _r3.i, _r4.i, _r5.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac54b1c18)
+ XMLVM_CATCH_SPECIFIC(w1175aaac54b1c18,java_io_IOException,39)
+ XMLVM_CATCH_END(w1175aaac54b1c18)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac54b1c18)
+ XMLVM_SOURCE_POSITION("InetAddress.java", 964)
+ _r7.i = 1;
+ label33:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 972)
+ _r0.o = java_net_InetAddress_GET_NETIMPL();
+ XMLVM_CHECK_NPE(0)
+ (*(void (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_socketClose___java_io_FileDescriptor])(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("InetAddress.java", 974)
+ XMLVM_EXIT_METHOD()
+ return _r7.i;
+ label39:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 965)
+ java_lang_Thread* curThread_w1175aaac54b1c29 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w1175aaac54b1c29->fields.java_lang_Thread.xmlvmException_;
+ _r6 = _r0;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 966)
+ // "Connection refused"
+ _r0.o = xmlvm_create_java_string_from_pool(69);
+ //java_io_IOException_getMessage__[7]
+ XMLVM_CHECK_NPE(6)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_io_IOException*) _r6.o)->tib->vtable[7])(_r6.o);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[1])(_r0.o, _r2.o);
+ if (_r0.i == 0) goto label33;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 968)
+ _r7.i = 1;
+ goto label33;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_net_InetAddress_getByAddress___byte_1ARRAY(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_getByAddress___byte_1ARRAY]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "getByAddress", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 997)
+ _r0.i = 0;
+ _r0.o = java_net_InetAddress_getByAddress___byte_1ARRAY_int(_r1.o, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_net_InetAddress_getByAddress___byte_1ARRAY_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_getByAddress___byte_1ARRAY_int]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "getByAddress", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r5.o = n1;
+ _r6.i = n2;
+ _r4.i = 4;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1018)
+ if (_r5.o == JAVA_NULL) goto label24;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ if (_r2.i != _r4.i) goto label24;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1019)
+ XMLVM_CLASS_INIT(byte)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r4.i);
+ _r1.i = 0;
+ label9:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1020)
+ if (_r1.i >= _r4.i) goto label18;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1021)
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r1.i);
+ _r2.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = _r1.i + 1;
+ goto label9;
+ label18:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1023)
+
+
+ // Red class access removed: java.net.Inet4Address::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.net.Inet4Address::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ label23:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1038)
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ label24:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1026)
+ if (_r5.o == JAVA_NULL) goto label69;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ _r3.i = 16;
+ if (_r2.i != _r3.i) goto label69;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1030)
+ _r2.i = java_net_InetAddress_isIPv4MappedAddress___byte_1ARRAY(_r5.o);
+ if (_r2.i == 0) goto label57;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1031)
+ XMLVM_CLASS_INIT(byte)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r4.i);
+ _r1.i = 0;
+ label40:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1032)
+ if (_r1.i >= _r4.i) goto label51;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1033)
+ _r2.i = _r1.i + 12;
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r2.i);
+ _r2.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = _r1.i + 1;
+ goto label40;
+ label51:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1035)
+
+
+ // Red class access removed: java.net.Inet4Address::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.net.Inet4Address::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label23;
+ label57:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1037)
+ //byte_1ARRAY_clone__[0]
+ XMLVM_CHECK_NPE(5)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((org_xmlvm_runtime_XMLVMArray*) _r5.o)->tib->vtable[0])(_r5.o);
+ _r0.o = _r0.o;
+ _r2.o = __NEW_java_net_Inet6Address();
+ XMLVM_CHECK_NPE(2)
+ java_net_Inet6Address___INIT____byte_1ARRAY_int(_r2.o, _r0.o, _r6.i);
+ goto label23;
+ label69:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1042)
+ _r2.o = __NEW_java_net_UnknownHostException();
+ // "luni.64"
+ _r3.o = xmlvm_create_java_string_from_pool(75);
+ _r3.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String(_r3.o);
+ XMLVM_CHECK_NPE(2)
+ java_net_UnknownHostException___INIT____java_lang_String(_r2.o, _r3.o);
+ XMLVM_THROW_CUSTOM(_r2.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_InetAddress_isIPv4MappedAddress___byte_1ARRAY(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_isIPv4MappedAddress___byte_1ARRAY]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "isIPv4MappedAddress", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.o = n1;
+ _r4.i = 10;
+ _r3.i = 0;
+ _r2.i = -1;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1049)
+ _r0.i = 0;
+ label5:;
+ if (_r0.i >= _r4.i) goto label16;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1050)
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r0.i);
+ _r1.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ if (_r1.i == 0) goto label13;
+ _r1 = _r3;
+ label12:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1051)
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1059)
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ label13:;
+ _r0.i = _r0.i + 1;
+ goto label5;
+ label16:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1055)
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r4.i);
+ _r1.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ if (_r1.i != _r2.i) goto label26;
+ _r1.i = 11;
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r1.i);
+ _r1.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ if (_r1.i == _r2.i) goto label28;
+ label26:;
+ _r1 = _r3;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1056)
+ goto label12;
+ label28:;
+ _r1.i = 1;
+ goto label12;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_net_InetAddress_getByAddress___java_lang_String_byte_1ARRAY(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_getByAddress___java_lang_String_byte_1ARRAY]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "getByAddress", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1088)
+ _r0.i = 0;
+ _r0.o = java_net_InetAddress_getByAddressInternal___java_lang_String_byte_1ARRAY_int(_r1.o, _r2.o, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_net_InetAddress_getByAddressInternal___java_lang_String_byte_1ARRAY_int(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_getByAddressInternal___java_lang_String_byte_1ARRAY_int]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "getByAddressInternal", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r5.o = n1;
+ _r6.o = n2;
+ _r7.i = n3;
+ _r4.i = 16;
+ _r3.i = 4;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1112)
+ if (_r6.o == JAVA_NULL) goto label26;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ if (_r2.i != _r3.i) goto label26;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1113)
+ XMLVM_CLASS_INIT(byte)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r3.i);
+ _r1.i = 0;
+ label11:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1114)
+ if (_r1.i >= _r3.i) goto label20;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1115)
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r1.i);
+ _r2.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = _r1.i + 1;
+ goto label11;
+ label20:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1117)
+
+
+ // Red class access removed: java.net.Inet4Address::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.net.Inet4Address::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ label25:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1137)
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ label26:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1120)
+ if (_r6.o == JAVA_NULL) goto label75;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ if (_r2.i != _r4.i) goto label75;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1124)
+ _r2.i = java_net_InetAddress_isIPv4MappedAddress___byte_1ARRAY(_r6.o);
+ if (_r2.i == 0) goto label57;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1125)
+ XMLVM_CLASS_INIT(byte)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r3.i);
+ _r1.i = 0;
+ label40:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1126)
+ if (_r1.i >= _r3.i) goto label51;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1127)
+ _r2.i = _r1.i + 12;
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r2.i);
+ _r2.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = _r1.i + 1;
+ goto label40;
+ label51:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1129)
+
+
+ // Red class access removed: java.net.Inet4Address::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.net.Inet4Address::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label25;
+ label57:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1132)
+ XMLVM_CLASS_INIT(byte)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r4.i);
+ _r1.i = 0;
+ label60:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1133)
+ if (_r1.i >= _r4.i) goto label69;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1134)
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r1.i);
+ _r2.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = _r1.i + 1;
+ goto label60;
+ label69:;
+ _r2.o = __NEW_java_net_Inet6Address();
+ XMLVM_CHECK_NPE(2)
+ java_net_Inet6Address___INIT____byte_1ARRAY_java_lang_String_int(_r2.o, _r6.o, _r5.o, _r7.i);
+ goto label25;
+ label75:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1140)
+ _r2.o = __NEW_java_net_UnknownHostException();
+ // "luni.65"
+ _r3.o = xmlvm_create_java_string_from_pool(76);
+ _r3.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object(_r3.o, _r5.o);
+ XMLVM_CHECK_NPE(2)
+ java_net_UnknownHostException___INIT____java_lang_String(_r2.o, _r3.o);
+ XMLVM_THROW_CUSTOM(_r2.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_net_InetAddress_intToBytes___int_byte_1ARRAY_int(JAVA_INT n1, JAVA_OBJECT n2, JAVA_INT n3)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_intToBytes___int_byte_1ARRAY_int]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "intToBytes", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.i = n1;
+ _r3.o = n2;
+ _r4.i = n3;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1151)
+ _r0.i = _r2.i >> 24;
+ _r0.i = _r0.i & 255;
+ _r0.i = (_r0.i << 24) >> 24;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r0.i;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1152)
+ _r0.i = _r4.i + 1;
+ _r1.i = _r2.i >> 16;
+ _r1.i = _r1.i & 255;
+ _r1.i = (_r1.i << 24) >> 24;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r1.i;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1153)
+ _r0.i = _r4.i + 2;
+ _r1.i = _r2.i >> 8;
+ _r1.i = _r1.i & 255;
+ _r1.i = (_r1.i << 24) >> 24;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r1.i;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1154)
+ _r0.i = _r4.i + 3;
+ _r1.i = _r2.i & 255;
+ _r1.i = (_r1.i << 24) >> 24;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r1.i;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1155)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_net_InetAddress_bytesToInt___byte_1ARRAY_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_bytesToInt___byte_1ARRAY_int]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "bytesToInt", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = n1;
+ _r4.i = n2;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1169)
+ _r1.i = _r4.i + 3;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r1.i);
+ _r1.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ _r1.i = _r1.i & 255;
+ _r2.i = _r4.i + 2;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
+ _r2.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ _r2.i = _r2.i & 255;
+ _r2.i = _r2.i << 8;
+ _r1.i = _r1.i | _r2.i;
+ _r2.i = _r4.i + 1;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
+ _r2.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ _r2.i = _r2.i & 255;
+ _r2.i = _r2.i << 16;
+ _r1.i = _r1.i | _r2.i;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ _r2.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ _r2.i = _r2.i & 255;
+ _r2.i = _r2.i << 24;
+ _r0.i = _r1.i | _r2.i;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1173)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_net_InetAddress_createHostNameFromIPAddress___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_createHostNameFromIPAddress___java_lang_String]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "createHostNameFromIPAddress", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ volatile XMLVMElem _r9;
+ volatile XMLVMElem _r10;
+ volatile XMLVMElem _r11;
+ _r11.o = n1;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1183)
+ _r0.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1185)
+
+
+ // Red class access removed: org.apache.harmony.luni.util.Inet6Util::isValidIPV4Address
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r0.i == 0) goto label91;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1186)
+ _r0.i = 4;
+ XMLVM_CLASS_INIT(byte)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r0.i);
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1187)
+ // "\134."
+ _r0.o = xmlvm_create_java_string_from_pool(77);
+ XMLVM_CHECK_NPE(11)
+ _r3.o = java_lang_String_split___java_lang_String(_r11.o, _r0.o);
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1188)
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ _r0.i = 1;
+ if (_r2.i != _r0.i) goto label44;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1189)
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1190)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ _r3.l = java_lang_Long_parseLong___java_lang_String(_r0.o);
+ _r0.i = 0;
+ label28:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1191)
+ _r5.i = 4;
+ if (_r0.i >= _r5.i) goto label59;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1192)
+ _r5.i = 3;
+ _r5.i = _r5.i - _r0.i;
+ _r5.i = _r5.i * 8;
+ _r5.l = _r3.l >> (0x3f & _r5.l);
+ _r5.i = (JAVA_INT) _r5.l;
+ _r5.i = (_r5.i << 24) >> 24;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r5.i;
+ _r0.i = _r0.i + 1;
+ goto label28;
+ label44:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1195)
+ _r0.i = 0;
+ label45:;
+ if (_r0.i >= _r2.i) goto label59;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1196)
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ _r4.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ _r4.i = java_lang_Integer_parseInt___java_lang_String(_r4.o);
+ _r4.i = (_r4.i << 24) >> 24;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r4.i;
+ _r0.i = _r0.i + 1;
+ goto label45;
+ label59:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1201)
+ _r0.i = 2;
+ if (_r2.i != _r0.i) goto label72;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1202)
+ _r0.i = 3;
+ _r3.i = 1;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r3.i);
+ _r3.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r3.i;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1203)
+ _r0.i = 1;
+ _r3.i = 0;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r3.i;
+ label72:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1205)
+ _r0.i = 3;
+ if (_r2.i != _r0.i) goto label85;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1206)
+ _r0.i = 3;
+ _r2.i = 2;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r2.i);
+ _r2.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r2.i;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1207)
+ _r0.i = 2;
+ _r2.i = 0;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r2.i;
+ label85:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1210)
+
+
+ // Red class access removed: java.net.Inet4Address::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.net.Inet4Address::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ label90:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1211)
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1341)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label91:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1213)
+ _r0.i = 0;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(11)
+ _r0.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r11.o)->tib->vtable[6])(_r11.o, _r0.i);
+ _r1.i = 91;
+ if (_r0.i != _r1.i) goto label111;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1214)
+ _r0.i = 1;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(11)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r11.o)->tib->vtable[8])(_r11.o);
+ _r2.i = 1;
+ _r1.i = _r1.i - _r2.i;
+ XMLVM_CHECK_NPE(11)
+ _r11.o = java_lang_String_substring___int_int(_r11.o, _r0.i, _r1.i);
+ label111:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1218)
+ _r8.o = __NEW_java_util_StringTokenizer();
+ // ":.%"
+ _r0.o = xmlvm_create_java_string_from_pool(78);
+ _r1.i = 1;
+ XMLVM_CHECK_NPE(8)
+ java_util_StringTokenizer___INIT____java_lang_String_java_lang_String_boolean(_r8.o, _r11.o, _r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1220)
+ _r3.o = __NEW_java_util_ArrayList();
+ XMLVM_CHECK_NPE(3)
+ java_util_ArrayList___INIT___(_r3.o);
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1221)
+ _r1.o = __NEW_java_util_ArrayList();
+ XMLVM_CHECK_NPE(1)
+ java_util_ArrayList___INIT___(_r1.o);
+ _r5.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1223)
+ // ""
+ _r6.o = xmlvm_create_java_string_from_pool(21);
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1224)
+ // ""
+ _r4.o = xmlvm_create_java_string_from_pool(21);
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1225)
+ // ""
+ _r2.o = xmlvm_create_java_string_from_pool(21);
+ _r0.i = -1;
+ _r9 = _r0;
+ _r0 = _r2;
+ _r2 = _r9;
+ _r10 = _r6;
+ _r6 = _r5;
+ _r5 = _r10;
+ label143:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1226)
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1234)
+ XMLVM_CHECK_NPE(8)
+ _r0.i = java_util_StringTokenizer_hasMoreTokens__(_r8.o);
+ if (_r0.i == 0) goto label286;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1235)
+ _r4 = _r4;
+ _r5 = _r5;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1237)
+ XMLVM_CHECK_NPE(8)
+ _r7.o = java_util_StringTokenizer_nextToken__(_r8.o);
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1239)
+ // ":"
+ _r0.o = xmlvm_create_java_string_from_pool(79);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(7)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r7.o)->tib->vtable[1])(_r7.o, _r0.o);
+ if (_r0.i == 0) goto label195;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1240)
+ // ":"
+ _r0.o = xmlvm_create_java_string_from_pool(79);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(5)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r5.o)->tib->vtable[1])(_r5.o, _r0.o);
+ if (_r0.i == 0) goto label180;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1241)
+ //java_util_ArrayList_size__[16]
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_ArrayList*) _r3.o)->tib->vtable[16])(_r3.o);
+ _r2 = _r0;
+ _r0 = _r4;
+ _r4 = _r5;
+ _r5 = _r7;
+ goto label143;
+ label180:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1242)
+ // ""
+ _r0.o = xmlvm_create_java_string_from_pool(21);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(5)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r5.o)->tib->vtable[1])(_r5.o, _r0.o);
+ if (_r0.i != 0) goto label476;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1243)
+ //java_util_ArrayList_add___java_lang_Object[7]
+ XMLVM_CHECK_NPE(3)
+ (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_ArrayList*) _r3.o)->tib->vtable[7])(_r3.o, _r5.o);
+ _r0 = _r4;
+ _r4 = _r5;
+ _r5 = _r7;
+ goto label143;
+ label195:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1245)
+ // "."
+ _r0.o = xmlvm_create_java_string_from_pool(52);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(7)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r7.o)->tib->vtable[1])(_r7.o, _r0.o);
+ if (_r0.i == 0) goto label210;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1246)
+ //java_util_ArrayList_add___java_lang_Object[7]
+ XMLVM_CHECK_NPE(1)
+ (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_ArrayList*) _r1.o)->tib->vtable[7])(_r1.o, _r5.o);
+ _r0 = _r4;
+ _r4 = _r5;
+ _r5 = _r7;
+ goto label143;
+ label210:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1247)
+ // "%"
+ _r0.o = xmlvm_create_java_string_from_pool(80);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(7)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r7.o)->tib->vtable[1])(_r7.o, _r0.o);
+ if (_r0.i == 0) goto label476;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1249)
+ // ":"
+ _r0.o = xmlvm_create_java_string_from_pool(79);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(5)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r5.o)->tib->vtable[1])(_r5.o, _r0.o);
+ if (_r0.i != 0) goto label245;
+ // "."
+ _r0.o = xmlvm_create_java_string_from_pool(52);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(5)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r5.o)->tib->vtable[1])(_r5.o, _r0.o);
+ if (_r0.i != 0) goto label245;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1250)
+ // ":"
+ _r0.o = xmlvm_create_java_string_from_pool(79);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r4.o)->tib->vtable[1])(_r4.o, _r0.o);
+ if (_r0.i == 0) goto label264;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1251)
+ //java_util_ArrayList_add___java_lang_Object[7]
+ XMLVM_CHECK_NPE(3)
+ (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_ArrayList*) _r3.o)->tib->vtable[7])(_r3.o, _r5.o);
+ label245:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1258)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT___(_r0.o);
+ label250:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1259)
+ XMLVM_CHECK_NPE(8)
+ _r6.i = java_util_StringTokenizer_hasMoreTokens__(_r8.o);
+ if (_r6.i == 0) goto label276;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1260)
+ XMLVM_CHECK_NPE(8)
+ _r6.o = java_util_StringTokenizer_nextToken__(_r8.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r6.o);
+ goto label250;
+ label264:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1252)
+ // "."
+ _r0.o = xmlvm_create_java_string_from_pool(52);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r4.o)->tib->vtable[1])(_r4.o, _r0.o);
+ if (_r0.i == 0) goto label245;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1253)
+ //java_util_ArrayList_add___java_lang_Object[7]
+ XMLVM_CHECK_NPE(1)
+ (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_ArrayList*) _r1.o)->tib->vtable[7])(_r1.o, _r5.o);
+ goto label245;
+ label276:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1262)
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ _r6 = _r0;
+ _r0 = _r4;
+ _r4 = _r5;
+ _r5 = _r7;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1263)
+ goto label143;
+ label286:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1266)
+ // ":"
+ _r0.o = xmlvm_create_java_string_from_pool(79);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r4.o)->tib->vtable[1])(_r4.o, _r0.o);
+ if (_r0.i == 0) goto label341;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1267)
+ // ":"
+ _r0.o = xmlvm_create_java_string_from_pool(79);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(5)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r5.o)->tib->vtable[1])(_r5.o, _r0.o);
+ if (_r0.i == 0) goto label336;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1268)
+ //java_util_ArrayList_size__[16]
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_ArrayList*) _r3.o)->tib->vtable[16])(_r3.o);
+ label306:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1278)
+ _r2.i = 8;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1282)
+ //java_util_ArrayList_size__[16]
+ XMLVM_CHECK_NPE(1)
+ _r4.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_ArrayList*) _r1.o)->tib->vtable[16])(_r1.o);
+ if (_r4.i <= 0) goto label316;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1283)
+ _r2.i = _r2.i + -2;
+ label316:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1287)
+ _r4.i = -1;
+ if (_r0.i == _r4.i) goto label354;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1288)
+ //java_util_ArrayList_size__[16]
+ XMLVM_CHECK_NPE(3)
+ _r4.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_ArrayList*) _r3.o)->tib->vtable[16])(_r3.o);
+ _r4.i = _r2.i - _r4.i;
+ _r2.i = 0;
+ label326:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1289)
+ if (_r2.i >= _r4.i) goto label354;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1290)
+ // "0"
+ _r5.o = xmlvm_create_java_string_from_pool(70);
+ //java_util_ArrayList_add___int_java_lang_Object[20]
+ XMLVM_CHECK_NPE(3)
+ (*(void (*)(JAVA_OBJECT, JAVA_INT, JAVA_OBJECT)) ((java_util_ArrayList*) _r3.o)->tib->vtable[20])(_r3.o, _r0.i, _r5.o);
+ _r2.i = _r2.i + 1;
+ goto label326;
+ label336:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1270)
+ //java_util_ArrayList_add___java_lang_Object[7]
+ XMLVM_CHECK_NPE(3)
+ (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_ArrayList*) _r3.o)->tib->vtable[7])(_r3.o, _r5.o);
+ _r0 = _r2;
+ goto label306;
+ label341:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1272)
+ // "."
+ _r0.o = xmlvm_create_java_string_from_pool(52);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r4.o)->tib->vtable[1])(_r4.o, _r0.o);
+ if (_r0.i == 0) goto label352;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1273)
+ //java_util_ArrayList_add___java_lang_Object[7]
+ XMLVM_CHECK_NPE(1)
+ (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_ArrayList*) _r1.o)->tib->vtable[7])(_r1.o, _r5.o);
+ label352:;
+ _r0 = _r2;
+ goto label306;
+ label354:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1294)
+ _r0.i = 16;
+ XMLVM_CLASS_INIT(byte)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r0.i);
+ _r0.i = 0;
+ label359:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1297)
+ //java_util_ArrayList_size__[16]
+ XMLVM_CHECK_NPE(3)
+ _r4.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_ArrayList*) _r3.o)->tib->vtable[16])(_r3.o);
+ if (_r0.i >= _r4.i) goto label379;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1298)
+ //java_util_ArrayList_get___int[21]
+ XMLVM_CHECK_NPE(3)
+ _r4.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) ((java_util_ArrayList*) _r3.o)->tib->vtable[21])(_r3.o, _r0.i);
+ _r4.o = _r4.o;
+ _r5.i = _r0.i * 2;
+
+
+ // Red class access removed: org.apache.harmony.luni.util.Inet6Util::convertToBytes
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r0.i = _r0.i + 1;
+ goto label359;
+ label379:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1302)
+ _r0.i = 0;
+ label380:;
+ //java_util_ArrayList_size__[16]
+ XMLVM_CHECK_NPE(1)
+ _r3.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_ArrayList*) _r1.o)->tib->vtable[16])(_r1.o);
+ if (_r0.i >= _r3.i) goto label406;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1303)
+ _r4.i = _r0.i + 12;
+ //java_util_ArrayList_get___int[21]
+ XMLVM_CHECK_NPE(1)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) ((java_util_ArrayList*) _r1.o)->tib->vtable[21])(_r1.o, _r0.i);
+ _r3.o = _r3.o;
+ _r3.i = java_lang_Integer_parseInt___java_lang_String(_r3.o);
+ _r3.i = _r3.i & 255;
+ _r3.i = (_r3.i << 24) >> 24;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r4.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r3.i;
+ _r0.i = _r0.i + 1;
+ goto label380;
+ label406:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1309)
+ _r1.i = 1;
+ _r0.i = 0;
+ label408:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1310)
+ _r3.i = 10;
+ if (_r0.i >= _r3.i) goto label474;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1311)
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
+ _r3.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ if (_r3.i == 0) goto label450;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1312)
+ _r0.i = 0;
+ label417:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1313)
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1317)
+ _r1.i = 10;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
+ _r1.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ _r3.i = -1;
+ if (_r1.i != _r3.i) goto label431;
+ _r1.i = 11;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
+ _r1.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ _r3.i = -1;
+ if (_r1.i == _r3.i) goto label432;
+ label431:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1318)
+ _r0.i = 0;
+ label432:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1321)
+ if (_r0.i == 0) goto label459;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1322)
+ _r0.i = 4;
+ XMLVM_CLASS_INIT(byte)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r0.i);
+ _r0.i = 0;
+ label438:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1323)
+ _r3.i = 4;
+ if (_r0.i >= _r3.i) goto label453;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1324)
+ _r3.i = _r0.i + 12;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ _r3.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r3.i;
+ _r0.i = _r0.i + 1;
+ goto label438;
+ label450:;
+ _r0.i = _r0.i + 1;
+ goto label408;
+ label453:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1326)
+ _r0.o = java_net_InetAddress_getByAddress___byte_1ARRAY(_r1.o);
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1327)
+ goto label90;
+ label459:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1328)
+ _r0.i = 0;
+ if (_r6.o == JAVA_NULL) goto label466;
+ XMLVM_TRY_BEGIN(w1175aaac62b1d353)
+ // Begin try
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1329)
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1331)
+ _r0.i = java_lang_Integer_parseInt___java_lang_String(_r6.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1175aaac62b1d353)
+ XMLVM_CATCH_SPECIFIC(w1175aaac62b1d353,java_lang_Exception,472)
+ XMLVM_CATCH_END(w1175aaac62b1d353)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1175aaac62b1d353)
+ label466:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1337)
+ _r0.o = java_net_InetAddress_getByAddress___byte_1ARRAY_int(_r2.o, _r0.i);
+ goto label90;
+ label472:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1332)
+ java_lang_Thread* curThread_w1175aaac62b1d360 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w1175aaac62b1d360->fields.java_lang_Thread.xmlvmException_;
+ goto label466;
+ label474:;
+ _r0 = _r1;
+ goto label417;
+ label476:;
+ _r0 = _r4;
+ _r4 = _r5;
+ _r5 = _r7;
+ goto label143;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_InetAddress_preferIPv6Addresses__()
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_preferIPv6Addresses__]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "preferIPv6Addresses", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1345)
+
+
+ // Red class access removed: org.apache.harmony.luni.net.NetUtil::preferIPv6Addresses
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+void java_net_InetAddress_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_writeObject___java_io_ObjectOutputStream]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "writeObject", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.o = n1;
+ _r2.i = 0;
+ // "address"
+ _r3.o = xmlvm_create_java_string_from_pool(81);
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1354)
+
+
+ // Red class access removed: java.io.ObjectOutputStream::putFields
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1355)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_net_InetAddress*) _r4.o)->fields.java_net_InetAddress.ipaddress_;
+ if (_r1.o != JAVA_NULL) goto label34;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1356)
+ // "address"
+ _r1.o = xmlvm_create_java_string_from_pool(81);
+
+
+ // Red class access removed: java.io.ObjectOutputStream$PutField::put
+ XMLVM_RED_CLASS_DEPENDENCY();
+ label16:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1360)
+ // "family"
+ _r1.o = xmlvm_create_java_string_from_pool(82);
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_net_InetAddress*) _r4.o)->fields.java_net_InetAddress.family_;
+
+
+ // Red class access removed: java.io.ObjectOutputStream$PutField::put
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1361)
+ // "hostName"
+ _r1.o = xmlvm_create_java_string_from_pool(83);
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_net_InetAddress*) _r4.o)->fields.java_net_InetAddress.hostName_;
+
+
+ // Red class access removed: java.io.ObjectOutputStream$PutField::put
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1363)
+
+
+ // Red class access removed: java.io.ObjectOutputStream::writeFields
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1364)
+ XMLVM_EXIT_METHOD()
+ return;
+ label34:;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1358)
+ // "address"
+ _r1.o = xmlvm_create_java_string_from_pool(81);
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_net_InetAddress*) _r4.o)->fields.java_net_InetAddress.ipaddress_;
+ _r1.i = java_net_InetAddress_bytesToInt___byte_1ARRAY_int(_r1.o, _r2.i);
+
+
+ // Red class access removed: java.io.ObjectOutputStream$PutField::put
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label16;
+ //XMLVM_END_WRAPPER
+}
+
+void java_net_InetAddress_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_readObject___java_io_ObjectInputStream]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "readObject", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.o = n1;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1368)
+
+
+ // Red class access removed: java.io.ObjectInputStream::readFields
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1369)
+ // "address"
+ _r2.o = xmlvm_create_java_string_from_pool(81);
+
+
+ // Red class access removed: java.io.ObjectInputStream$GetField::get
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r2.i = 4;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1370)
+ XMLVM_CLASS_INIT(byte)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r2.i);
+ XMLVM_CHECK_NPE(4)
+ ((java_net_InetAddress*) _r4.o)->fields.java_net_InetAddress.ipaddress_ = _r2.o;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1371)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_net_InetAddress*) _r4.o)->fields.java_net_InetAddress.ipaddress_;
+ java_net_InetAddress_intToBytes___int_byte_1ARRAY_int(_r0.i, _r2.o, _r3.i);
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1372)
+ // "hostName"
+ _r2.o = xmlvm_create_java_string_from_pool(83);
+ _r3.o = JAVA_NULL;
+
+
+ // Red class access removed: java.io.ObjectInputStream$GetField::get
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r2.o = _r2.o;
+ XMLVM_CHECK_NPE(4)
+ ((java_net_InetAddress*) _r4.o)->fields.java_net_InetAddress.hostName_ = _r2.o;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1373)
+ // "family"
+ _r2.o = xmlvm_create_java_string_from_pool(82);
+ _r3.i = 2;
+
+
+ // Red class access removed: java.io.ObjectInputStream$GetField::get
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(4)
+ ((java_net_InetAddress*) _r4.o)->fields.java_net_InetAddress.family_ = _r2.i;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1374)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_net_InetAddress_readResolve__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_readResolve__]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "readResolve", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1381)
+
+
+ // Red class access removed: java.net.Inet4Address::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_net_InetAddress*) _r3.o)->fields.java_net_InetAddress.ipaddress_;
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_net_InetAddress*) _r3.o)->fields.java_net_InetAddress.hostName_;
+
+
+ // Red class access removed: java.net.Inet4Address::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_net_InetAddress_access$100__()
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_access$100__]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "access$100", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 45)
+ _r0.o = java_net_InetAddress_GET_NETIMPL();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_InetAddress_access$200___java_net_InetAddress_java_net_InetAddress_java_net_InetAddress_int(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_INT n4)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_access$200___java_net_InetAddress_java_net_InetAddress_java_net_InetAddress_int]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "access$200", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r1.o = n1;
+ _r2.o = n2;
+ _r3.o = n3;
+ _r4.i = n4;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 45)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_net_InetAddress_isReachableByTCP___java_net_InetAddress_java_net_InetAddress_int(_r1.o, _r2.o, _r3.o, _r4.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_net_InetAddress_access$300___java_net_InetAddress(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_access$300___java_net_InetAddress]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "access$300", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 45)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_net_InetAddress*) _r1.o)->fields.java_net_InetAddress.waitReachable_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_net_InetAddress_access$402___java_net_InetAddress_boolean(JAVA_OBJECT n1, JAVA_BOOLEAN n2)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_access$402___java_net_InetAddress_boolean]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "access$402", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = n1;
+ _r1.i = n2;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 45)
+ XMLVM_CHECK_NPE(0)
+ ((java_net_InetAddress*) _r0.o)->fields.java_net_InetAddress.reached_ = _r1.i;
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_net_InetAddress_access$510___java_net_InetAddress(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_access$510___java_net_InetAddress]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "access$510", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 45)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_net_InetAddress*) _r2.o)->fields.java_net_InetAddress.addrCount_;
+ _r1.i = 1;
+ _r1.i = _r0.i - _r1.i;
+ XMLVM_CHECK_NPE(2)
+ ((java_net_InetAddress*) _r2.o)->fields.java_net_InetAddress.addrCount_ = _r1.i;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_net_InetAddress_access$500___java_net_InetAddress(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_net_InetAddress)
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress_access$500___java_net_InetAddress]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "access$500", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 45)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_net_InetAddress*) _r1.o)->fields.java_net_InetAddress.addrCount_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+void java_net_InetAddress___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_InetAddress___CLINIT___]
+ XMLVM_ENTER_METHOD("java.net.InetAddress", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r1.i = 4;
+ _r5.i = 1;
+ XMLVM_SOURCE_POSITION("InetAddress.java", 47)
+ XMLVM_CLASS_INIT(byte)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r1.i);
+ XMLVMArray_fillArray(((org_xmlvm_runtime_XMLVMArray*) _r0.o), (JAVA_ARRAY_BYTE[]){0, 0, 0, 0, });
+ java_net_InetAddress_PUT_any_bytes( _r0.o);
+ XMLVM_SOURCE_POSITION("InetAddress.java", 49)
+ XMLVM_CLASS_INIT(byte)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r1.i);
+ XMLVMArray_fillArray(((org_xmlvm_runtime_XMLVMArray*) _r0.o), (JAVA_ARRAY_BYTE[]){127, 0, 0, 1, });
+ java_net_InetAddress_PUT_localhost_bytes( _r0.o);
+ XMLVM_SOURCE_POSITION("InetAddress.java", 51)
+
+
+ // Red class access removed: java.net.Inet4Address::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = java_net_InetAddress_GET_any_bytes();
+
+
+ // Red class access removed: java.net.Inet4Address::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ java_net_InetAddress_PUT_ANY( _r0.o);
+ XMLVM_SOURCE_POSITION("InetAddress.java", 53)
+
+
+ // Red class access removed: org.apache.harmony.luni.platform.Platform::getNetworkSystem
+ XMLVM_RED_CLASS_DEPENDENCY();
+ java_net_InetAddress_PUT_NETIMPL( _r0.o);
+ XMLVM_SOURCE_POSITION("InetAddress.java", 55)
+
+
+ // Red class access removed: java.net.Inet4Address::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = java_net_InetAddress_GET_localhost_bytes();
+ // "localhost"
+ _r2.o = xmlvm_create_java_string_from_pool(71);
+
+
+ // Red class access removed: java.net.Inet4Address::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ java_net_InetAddress_PUT_LOOPBACK( _r0.o);
+ XMLVM_SOURCE_POSITION("InetAddress.java", 81)
+ java_net_InetAddress_oneTimeInitialization___boolean(_r5.i);
+ XMLVM_SOURCE_POSITION("InetAddress.java", 1348)
+ _r0.i = 3;
+ XMLVM_CLASS_INIT(java_io_ObjectStreamField)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_io_ObjectStreamField, _r0.i);
+ _r1.i = 0;
+ _r2.o = __NEW_java_io_ObjectStreamField();
+ // "address"
+ _r3.o = xmlvm_create_java_string_from_pool(81);
+ _r4.o = java_lang_Integer_GET_TYPE();
+ XMLVM_CHECK_NPE(2)
+ java_io_ObjectStreamField___INIT____java_lang_String_java_lang_Class(_r2.o, _r3.o, _r4.o);
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.o = __NEW_java_io_ObjectStreamField();
+ // "family"
+ _r2.o = xmlvm_create_java_string_from_pool(82);
+ _r3.o = java_lang_Integer_GET_TYPE();
+ XMLVM_CHECK_NPE(1)
+ java_io_ObjectStreamField___INIT____java_lang_String_java_lang_Class(_r1.o, _r2.o, _r3.o);
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r5.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i] = _r1.o;
+ _r1.i = 2;
+ _r2.o = __NEW_java_io_ObjectStreamField();
+ // "hostName"
+ _r3.o = xmlvm_create_java_string_from_pool(83);
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r4.o = __CLASS_java_lang_String;
+ XMLVM_CHECK_NPE(2)
+ java_io_ObjectStreamField___INIT____java_lang_String_java_lang_Class(_r2.o, _r3.o, _r4.o);
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ java_net_InetAddress_PUT_serialPersistentFields( _r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ label86:;
+ label92:;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_net_InetAddress.h b/tests/nbody-java/java_net_InetAddress.h
new file mode 100644
index 00000000..93300466
--- /dev/null
+++ b/tests/nbody-java/java_net_InetAddress.h
@@ -0,0 +1,245 @@
+#ifndef __JAVA_NET_INETADDRESS__
+#define __JAVA_NET_INETADDRESS__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_net_InetAddress 0
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_io_FileDescriptor
+#define XMLVM_FORWARD_DECL_java_io_FileDescriptor
+XMLVM_FORWARD_DECL(java_io_FileDescriptor)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_io_IOException
+#define XMLVM_FORWARD_DECL_java_io_IOException
+XMLVM_FORWARD_DECL(java_io_IOException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_io_ObjectStreamField
+#define XMLVM_FORWARD_DECL_java_io_ObjectStreamField
+XMLVM_FORWARD_DECL(java_io_ObjectStreamField)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Exception
+#define XMLVM_FORWARD_DECL_java_lang_Exception
+XMLVM_FORWARD_DECL(java_lang_Exception)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Integer
+#define XMLVM_FORWARD_DECL_java_lang_Integer
+XMLVM_FORWARD_DECL(java_lang_Integer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Long
+#define XMLVM_FORWARD_DECL_java_lang_Long
+XMLVM_FORWARD_DECL(java_lang_Long)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_SecurityManager
+#define XMLVM_FORWARD_DECL_java_lang_SecurityManager
+XMLVM_FORWARD_DECL(java_lang_SecurityManager)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Throwable
+#define XMLVM_FORWARD_DECL_java_lang_Throwable
+XMLVM_FORWARD_DECL(java_lang_Throwable)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_net_Inet6Address
+#define XMLVM_FORWARD_DECL_java_net_Inet6Address
+XMLVM_FORWARD_DECL(java_net_Inet6Address)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_net_UnknownHostException
+#define XMLVM_FORWARD_DECL_java_net_UnknownHostException
+XMLVM_FORWARD_DECL(java_net_UnknownHostException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_security_AccessController
+#define XMLVM_FORWARD_DECL_java_security_AccessController
+XMLVM_FORWARD_DECL(java_security_AccessController)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_ArrayList
+#define XMLVM_FORWARD_DECL_java_util_ArrayList
+XMLVM_FORWARD_DECL(java_util_ArrayList)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Enumeration
+#define XMLVM_FORWARD_DECL_java_util_Enumeration
+XMLVM_FORWARD_DECL(java_util_Enumeration)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_StringTokenizer
+#define XMLVM_FORWARD_DECL_java_util_StringTokenizer
+XMLVM_FORWARD_DECL(java_util_StringTokenizer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_internal_nls_Messages)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_INetworkSystem
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_INetworkSystem
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_platform_INetworkSystem)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_PriviAction
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_PriviAction
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_util_PriviAction)
+#endif
+// Class declarations for java.net.InetAddress
+XMLVM_DEFINE_CLASS(java_net_InetAddress, 17, XMLVM_ITABLE_SIZE_java_net_InetAddress)
+
+extern JAVA_OBJECT __CLASS_java_net_InetAddress;
+extern JAVA_OBJECT __CLASS_java_net_InetAddress_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_net_InetAddress_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_net_InetAddress_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_net_InetAddress
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_net_InetAddress \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT hostName_; \
+ JAVA_OBJECT waitReachable_; \
+ JAVA_BOOLEAN reached_; \
+ JAVA_INT addrCount_; \
+ JAVA_INT family_; \
+ JAVA_OBJECT ipaddress_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_net_InetAddress \
+ } java_net_InetAddress
+
+struct java_net_InetAddress {
+ __TIB_DEFINITION_java_net_InetAddress* tib;
+ struct {
+ __INSTANCE_FIELDS_java_net_InetAddress;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_net_InetAddress
+#define XMLVM_FORWARD_DECL_java_net_InetAddress
+typedef struct java_net_InetAddress java_net_InetAddress;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_net_InetAddress 17
+#define XMLVM_VTABLE_IDX_java_net_InetAddress_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_net_InetAddress_getHostAddress__ 6
+#define XMLVM_VTABLE_IDX_java_net_InetAddress_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_net_InetAddress_isMulticastAddress__ 15
+#define XMLVM_VTABLE_IDX_java_net_InetAddress_toString__ 5
+#define XMLVM_VTABLE_IDX_java_net_InetAddress_isLoopbackAddress__ 9
+#define XMLVM_VTABLE_IDX_java_net_InetAddress_isLinkLocalAddress__ 8
+#define XMLVM_VTABLE_IDX_java_net_InetAddress_isSiteLocalAddress__ 16
+#define XMLVM_VTABLE_IDX_java_net_InetAddress_isMCGlobal__ 10
+#define XMLVM_VTABLE_IDX_java_net_InetAddress_isMCNodeLocal__ 12
+#define XMLVM_VTABLE_IDX_java_net_InetAddress_isMCLinkLocal__ 11
+#define XMLVM_VTABLE_IDX_java_net_InetAddress_isMCSiteLocal__ 14
+#define XMLVM_VTABLE_IDX_java_net_InetAddress_isMCOrgLocal__ 13
+#define XMLVM_VTABLE_IDX_java_net_InetAddress_isAnyLocalAddress__ 7
+
+void __INIT_java_net_InetAddress();
+void __INIT_IMPL_java_net_InetAddress();
+void __DELETE_java_net_InetAddress(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_net_InetAddress(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_net_InetAddress();
+JAVA_OBJECT __NEW_INSTANCE_java_net_InetAddress();
+JAVA_OBJECT java_net_InetAddress_GET_any_bytes();
+void java_net_InetAddress_PUT_any_bytes(JAVA_OBJECT v);
+JAVA_OBJECT java_net_InetAddress_GET_localhost_bytes();
+void java_net_InetAddress_PUT_localhost_bytes(JAVA_OBJECT v);
+JAVA_OBJECT java_net_InetAddress_GET_ANY();
+void java_net_InetAddress_PUT_ANY(JAVA_OBJECT v);
+JAVA_OBJECT java_net_InetAddress_GET_NETIMPL();
+void java_net_InetAddress_PUT_NETIMPL(JAVA_OBJECT v);
+JAVA_OBJECT java_net_InetAddress_GET_LOOPBACK();
+void java_net_InetAddress_PUT_LOOPBACK(JAVA_OBJECT v);
+JAVA_OBJECT java_net_InetAddress_GET_ERRMSG_CONNECTION_REFUSED();
+void java_net_InetAddress_PUT_ERRMSG_CONNECTION_REFUSED(JAVA_OBJECT v);
+JAVA_LONG java_net_InetAddress_GET_serialVersionUID();
+void java_net_InetAddress_PUT_serialVersionUID(JAVA_LONG v);
+JAVA_OBJECT java_net_InetAddress_GET_serialPersistentFields();
+void java_net_InetAddress_PUT_serialPersistentFields(JAVA_OBJECT v);
+void java_net_InetAddress_oneTimeInitialization___boolean(JAVA_BOOLEAN n1);
+void java_net_InetAddress___INIT___(JAVA_OBJECT me);
+void java_net_InetAddress___INIT____byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_net_InetAddress___INIT____byte_1ARRAY_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_net_InetAddress_cacheElement__(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_net_InetAddress_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_net_InetAddress_getAddress__(JAVA_OBJECT me);
+JAVA_OBJECT java_net_InetAddress_getAllByName___java_lang_String(JAVA_OBJECT n1);
+JAVA_OBJECT java_net_InetAddress_getByName___java_lang_String(JAVA_OBJECT n1);
+// Vtable index: 6
+JAVA_OBJECT java_net_InetAddress_getHostAddress__(JAVA_OBJECT me);
+JAVA_OBJECT java_net_InetAddress_getHostName__(JAVA_OBJECT me);
+JAVA_OBJECT java_net_InetAddress_getCanonicalHostName__(JAVA_OBJECT me);
+JAVA_OBJECT java_net_InetAddress_getLocalHost__();
+// Vtable index: 4
+JAVA_INT java_net_InetAddress_hashCode__(JAVA_OBJECT me);
+// Vtable index: 15
+JAVA_BOOLEAN java_net_InetAddress_isMulticastAddress__(JAVA_OBJECT me);
+JAVA_OBJECT java_net_InetAddress_lookupHostByName___java_lang_String(JAVA_OBJECT n1);
+JAVA_OBJECT java_net_InetAddress_getAliasesByNameImpl___java_lang_String(JAVA_OBJECT n1);
+JAVA_OBJECT java_net_InetAddress_getHostByAddrImpl___byte_1ARRAY(JAVA_OBJECT n1);
+JAVA_INT java_net_InetAddress_inetAddr___java_lang_String(JAVA_OBJECT n1);
+JAVA_INT java_net_InetAddress_inetAddrImpl___java_lang_String(JAVA_OBJECT n1);
+JAVA_OBJECT java_net_InetAddress_inetNtoaImpl___int(JAVA_INT n1);
+JAVA_OBJECT java_net_InetAddress_getHostByNameImpl___java_lang_String_boolean(JAVA_OBJECT n1, JAVA_BOOLEAN n2);
+JAVA_OBJECT java_net_InetAddress_getHostNameImpl__();
+JAVA_OBJECT java_net_InetAddress_getHostNameInternal___java_lang_String_boolean(JAVA_OBJECT n1, JAVA_BOOLEAN n2);
+// Vtable index: 5
+JAVA_OBJECT java_net_InetAddress_toString__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_net_InetAddress_isHostName___java_lang_String(JAVA_OBJECT n1);
+// Vtable index: 9
+JAVA_BOOLEAN java_net_InetAddress_isLoopbackAddress__(JAVA_OBJECT me);
+// Vtable index: 8
+JAVA_BOOLEAN java_net_InetAddress_isLinkLocalAddress__(JAVA_OBJECT me);
+// Vtable index: 16
+JAVA_BOOLEAN java_net_InetAddress_isSiteLocalAddress__(JAVA_OBJECT me);
+// Vtable index: 10
+JAVA_BOOLEAN java_net_InetAddress_isMCGlobal__(JAVA_OBJECT me);
+// Vtable index: 12
+JAVA_BOOLEAN java_net_InetAddress_isMCNodeLocal__(JAVA_OBJECT me);
+// Vtable index: 11
+JAVA_BOOLEAN java_net_InetAddress_isMCLinkLocal__(JAVA_OBJECT me);
+// Vtable index: 14
+JAVA_BOOLEAN java_net_InetAddress_isMCSiteLocal__(JAVA_OBJECT me);
+// Vtable index: 13
+JAVA_BOOLEAN java_net_InetAddress_isMCOrgLocal__(JAVA_OBJECT me);
+// Vtable index: 7
+JAVA_BOOLEAN java_net_InetAddress_isAnyLocalAddress__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_net_InetAddress_isReachable___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_BOOLEAN java_net_InetAddress_isReachable___java_net_NetworkInterface_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+JAVA_BOOLEAN java_net_InetAddress_isReachableByMultiThread___java_net_NetworkInterface_int_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3, JAVA_BOOLEAN n4);
+JAVA_BOOLEAN java_net_InetAddress_isReachableByICMPUseMultiThread___java_net_NetworkInterface_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+JAVA_BOOLEAN java_net_InetAddress_isReachableByTCPUseMultiThread___java_net_NetworkInterface_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+JAVA_BOOLEAN java_net_InetAddress_isReachableByTCP___java_net_InetAddress_java_net_InetAddress_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3);
+JAVA_OBJECT java_net_InetAddress_getByAddress___byte_1ARRAY(JAVA_OBJECT n1);
+JAVA_OBJECT java_net_InetAddress_getByAddress___byte_1ARRAY_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_BOOLEAN java_net_InetAddress_isIPv4MappedAddress___byte_1ARRAY(JAVA_OBJECT n1);
+JAVA_OBJECT java_net_InetAddress_getByAddress___java_lang_String_byte_1ARRAY(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_net_InetAddress_getByAddressInternal___java_lang_String_byte_1ARRAY_int(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3);
+void java_net_InetAddress_intToBytes___int_byte_1ARRAY_int(JAVA_INT n1, JAVA_OBJECT n2, JAVA_INT n3);
+JAVA_INT java_net_InetAddress_bytesToInt___byte_1ARRAY_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_OBJECT java_net_InetAddress_createHostNameFromIPAddress___java_lang_String(JAVA_OBJECT n1);
+JAVA_BOOLEAN java_net_InetAddress_preferIPv6Addresses__();
+void java_net_InetAddress_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_net_InetAddress_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_net_InetAddress_readResolve__(JAVA_OBJECT me);
+JAVA_OBJECT java_net_InetAddress_access$100__();
+JAVA_BOOLEAN java_net_InetAddress_access$200___java_net_InetAddress_java_net_InetAddress_java_net_InetAddress_int(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_INT n4);
+JAVA_OBJECT java_net_InetAddress_access$300___java_net_InetAddress(JAVA_OBJECT n1);
+JAVA_BOOLEAN java_net_InetAddress_access$402___java_net_InetAddress_boolean(JAVA_OBJECT n1, JAVA_BOOLEAN n2);
+JAVA_INT java_net_InetAddress_access$510___java_net_InetAddress(JAVA_OBJECT n1);
+JAVA_INT java_net_InetAddress_access$500___java_net_InetAddress(JAVA_OBJECT n1);
+void java_net_InetAddress___CLINIT_();
+
+#endif
diff --git a/tests/nbody-java/java_net_SocketException.c b/tests/nbody-java/java_net_SocketException.c
new file mode 100644
index 00000000..c5ee870e
--- /dev/null
+++ b/tests/nbody-java/java_net_SocketException.c
@@ -0,0 +1,197 @@
+#include "xmlvm.h"
+#include "java_lang_String.h"
+
+#include "java_net_SocketException.h"
+
+#define XMLVM_CURRENT_CLASS_NAME SocketException
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_net_SocketException
+
+__TIB_DEFINITION_java_net_SocketException __TIB_java_net_SocketException = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_net_SocketException, // classInitializer
+ "java.net.SocketException", // className
+ "java.net", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_io_IOException, // extends
+ sizeof(java_net_SocketException), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_net_SocketException;
+JAVA_OBJECT __CLASS_java_net_SocketException_1ARRAY;
+JAVA_OBJECT __CLASS_java_net_SocketException_2ARRAY;
+JAVA_OBJECT __CLASS_java_net_SocketException_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_net_SocketException_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_net_SocketException()
+{
+ staticInitializerLock(&__TIB_java_net_SocketException);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_net_SocketException.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_net_SocketException.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_net_SocketException);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_net_SocketException.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_net_SocketException.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_net_SocketException.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.net.SocketException")
+ __INIT_IMPL_java_net_SocketException();
+ }
+}
+
+void __INIT_IMPL_java_net_SocketException()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_io_IOException)
+ __TIB_java_net_SocketException.newInstanceFunc = __NEW_INSTANCE_java_net_SocketException;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_net_SocketException.vtable, __TIB_java_io_IOException.vtable, sizeof(__TIB_java_io_IOException.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_net_SocketException.numImplementedInterfaces = 1;
+ __TIB_java_net_SocketException.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_net_SocketException.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+ // Initialize itable for this class
+ __TIB_java_net_SocketException.itableBegin = &__TIB_java_net_SocketException.itable[0];
+
+ _STATIC_java_net_SocketException_serialVersionUID = -5935874303556886934;
+
+ __TIB_java_net_SocketException.declaredFields = &__field_reflection_data[0];
+ __TIB_java_net_SocketException.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_net_SocketException.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_net_SocketException.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_net_SocketException.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_net_SocketException.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_net_SocketException.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_net_SocketException.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_net_SocketException = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_net_SocketException);
+ __TIB_java_net_SocketException.clazz = __CLASS_java_net_SocketException;
+ __TIB_java_net_SocketException.baseType = JAVA_NULL;
+ __CLASS_java_net_SocketException_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_net_SocketException);
+ __CLASS_java_net_SocketException_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_net_SocketException_1ARRAY);
+ __CLASS_java_net_SocketException_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_net_SocketException_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_net_SocketException]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_net_SocketException.classInitialized = 1;
+}
+
+void __DELETE_java_net_SocketException(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_net_SocketException]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_net_SocketException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_io_IOException(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_net_SocketException]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_net_SocketException()
+{ XMLVM_CLASS_INIT(java_net_SocketException)
+java_net_SocketException* me = (java_net_SocketException*) XMLVM_MALLOC(sizeof(java_net_SocketException));
+ me->tib = &__TIB_java_net_SocketException;
+ __INIT_INSTANCE_MEMBERS_java_net_SocketException(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_net_SocketException]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_net_SocketException()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_net_SocketException();
+ java_net_SocketException___INIT___(me);
+ return me;
+}
+
+JAVA_LONG java_net_SocketException_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_net_SocketException)
+ return _STATIC_java_net_SocketException_serialVersionUID;
+}
+
+void java_net_SocketException_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_net_SocketException)
+_STATIC_java_net_SocketException_serialVersionUID = v;
+}
+
+void java_net_SocketException___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_SocketException___INIT___]
+ XMLVM_ENTER_METHOD("java.net.SocketException", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("SocketException.java", 35)
+ XMLVM_CHECK_NPE(0)
+ java_io_IOException___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("SocketException.java", 36)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_net_SocketException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_SocketException___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.net.SocketException", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("SocketException.java", 46)
+ XMLVM_CHECK_NPE(0)
+ java_io_IOException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("SocketException.java", 47)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_net_SocketException.h b/tests/nbody-java/java_net_SocketException.h
new file mode 100644
index 00000000..50a1ac49
--- /dev/null
+++ b/tests/nbody-java/java_net_SocketException.h
@@ -0,0 +1,58 @@
+#ifndef __JAVA_NET_SOCKETEXCEPTION__
+#define __JAVA_NET_SOCKETEXCEPTION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_net_SocketException 0
+// Implemented interfaces:
+// Super Class:
+#include "java_io_IOException.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+// Class declarations for java.net.SocketException
+XMLVM_DEFINE_CLASS(java_net_SocketException, 8, XMLVM_ITABLE_SIZE_java_net_SocketException)
+
+extern JAVA_OBJECT __CLASS_java_net_SocketException;
+extern JAVA_OBJECT __CLASS_java_net_SocketException_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_net_SocketException_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_net_SocketException_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_net_SocketException
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_net_SocketException \
+ __INSTANCE_FIELDS_java_io_IOException; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_net_SocketException \
+ } java_net_SocketException
+
+struct java_net_SocketException {
+ __TIB_DEFINITION_java_net_SocketException* tib;
+ struct {
+ __INSTANCE_FIELDS_java_net_SocketException;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_net_SocketException
+#define XMLVM_FORWARD_DECL_java_net_SocketException
+typedef struct java_net_SocketException java_net_SocketException;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_net_SocketException 8
+
+void __INIT_java_net_SocketException();
+void __INIT_IMPL_java_net_SocketException();
+void __DELETE_java_net_SocketException(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_net_SocketException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_net_SocketException();
+JAVA_OBJECT __NEW_INSTANCE_java_net_SocketException();
+JAVA_LONG java_net_SocketException_GET_serialVersionUID();
+void java_net_SocketException_PUT_serialVersionUID(JAVA_LONG v);
+void java_net_SocketException___INIT___(JAVA_OBJECT me);
+void java_net_SocketException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_net_UnknownHostException.c b/tests/nbody-java/java_net_UnknownHostException.c
new file mode 100644
index 00000000..7dcaeaed
--- /dev/null
+++ b/tests/nbody-java/java_net_UnknownHostException.c
@@ -0,0 +1,197 @@
+#include "xmlvm.h"
+#include "java_lang_String.h"
+
+#include "java_net_UnknownHostException.h"
+
+#define XMLVM_CURRENT_CLASS_NAME UnknownHostException
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_net_UnknownHostException
+
+__TIB_DEFINITION_java_net_UnknownHostException __TIB_java_net_UnknownHostException = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_net_UnknownHostException, // classInitializer
+ "java.net.UnknownHostException", // className
+ "java.net", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_io_IOException, // extends
+ sizeof(java_net_UnknownHostException), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_net_UnknownHostException;
+JAVA_OBJECT __CLASS_java_net_UnknownHostException_1ARRAY;
+JAVA_OBJECT __CLASS_java_net_UnknownHostException_2ARRAY;
+JAVA_OBJECT __CLASS_java_net_UnknownHostException_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_net_UnknownHostException_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_net_UnknownHostException()
+{
+ staticInitializerLock(&__TIB_java_net_UnknownHostException);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_net_UnknownHostException.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_net_UnknownHostException.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_net_UnknownHostException);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_net_UnknownHostException.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_net_UnknownHostException.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_net_UnknownHostException.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.net.UnknownHostException")
+ __INIT_IMPL_java_net_UnknownHostException();
+ }
+}
+
+void __INIT_IMPL_java_net_UnknownHostException()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_io_IOException)
+ __TIB_java_net_UnknownHostException.newInstanceFunc = __NEW_INSTANCE_java_net_UnknownHostException;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_net_UnknownHostException.vtable, __TIB_java_io_IOException.vtable, sizeof(__TIB_java_io_IOException.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_net_UnknownHostException.numImplementedInterfaces = 1;
+ __TIB_java_net_UnknownHostException.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_net_UnknownHostException.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+ // Initialize itable for this class
+ __TIB_java_net_UnknownHostException.itableBegin = &__TIB_java_net_UnknownHostException.itable[0];
+
+ _STATIC_java_net_UnknownHostException_serialVersionUID = -4639126076052875403;
+
+ __TIB_java_net_UnknownHostException.declaredFields = &__field_reflection_data[0];
+ __TIB_java_net_UnknownHostException.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_net_UnknownHostException.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_net_UnknownHostException.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_net_UnknownHostException.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_net_UnknownHostException.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_net_UnknownHostException.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_net_UnknownHostException.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_net_UnknownHostException = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_net_UnknownHostException);
+ __TIB_java_net_UnknownHostException.clazz = __CLASS_java_net_UnknownHostException;
+ __TIB_java_net_UnknownHostException.baseType = JAVA_NULL;
+ __CLASS_java_net_UnknownHostException_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_net_UnknownHostException);
+ __CLASS_java_net_UnknownHostException_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_net_UnknownHostException_1ARRAY);
+ __CLASS_java_net_UnknownHostException_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_net_UnknownHostException_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_net_UnknownHostException]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_net_UnknownHostException.classInitialized = 1;
+}
+
+void __DELETE_java_net_UnknownHostException(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_net_UnknownHostException]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_net_UnknownHostException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_io_IOException(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_net_UnknownHostException]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_net_UnknownHostException()
+{ XMLVM_CLASS_INIT(java_net_UnknownHostException)
+java_net_UnknownHostException* me = (java_net_UnknownHostException*) XMLVM_MALLOC(sizeof(java_net_UnknownHostException));
+ me->tib = &__TIB_java_net_UnknownHostException;
+ __INIT_INSTANCE_MEMBERS_java_net_UnknownHostException(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_net_UnknownHostException]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_net_UnknownHostException()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_net_UnknownHostException();
+ java_net_UnknownHostException___INIT___(me);
+ return me;
+}
+
+JAVA_LONG java_net_UnknownHostException_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_net_UnknownHostException)
+ return _STATIC_java_net_UnknownHostException_serialVersionUID;
+}
+
+void java_net_UnknownHostException_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_net_UnknownHostException)
+_STATIC_java_net_UnknownHostException_serialVersionUID = v;
+}
+
+void java_net_UnknownHostException___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_UnknownHostException___INIT___]
+ XMLVM_ENTER_METHOD("java.net.UnknownHostException", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("UnknownHostException.java", 34)
+ XMLVM_CHECK_NPE(0)
+ java_io_IOException___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("UnknownHostException.java", 35)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_net_UnknownHostException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_net_UnknownHostException___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.net.UnknownHostException", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("UnknownHostException.java", 45)
+ XMLVM_CHECK_NPE(0)
+ java_io_IOException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("UnknownHostException.java", 46)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_net_UnknownHostException.h b/tests/nbody-java/java_net_UnknownHostException.h
new file mode 100644
index 00000000..36dd9ba3
--- /dev/null
+++ b/tests/nbody-java/java_net_UnknownHostException.h
@@ -0,0 +1,58 @@
+#ifndef __JAVA_NET_UNKNOWNHOSTEXCEPTION__
+#define __JAVA_NET_UNKNOWNHOSTEXCEPTION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_net_UnknownHostException 0
+// Implemented interfaces:
+// Super Class:
+#include "java_io_IOException.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+// Class declarations for java.net.UnknownHostException
+XMLVM_DEFINE_CLASS(java_net_UnknownHostException, 8, XMLVM_ITABLE_SIZE_java_net_UnknownHostException)
+
+extern JAVA_OBJECT __CLASS_java_net_UnknownHostException;
+extern JAVA_OBJECT __CLASS_java_net_UnknownHostException_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_net_UnknownHostException_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_net_UnknownHostException_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_net_UnknownHostException
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_net_UnknownHostException \
+ __INSTANCE_FIELDS_java_io_IOException; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_net_UnknownHostException \
+ } java_net_UnknownHostException
+
+struct java_net_UnknownHostException {
+ __TIB_DEFINITION_java_net_UnknownHostException* tib;
+ struct {
+ __INSTANCE_FIELDS_java_net_UnknownHostException;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_net_UnknownHostException
+#define XMLVM_FORWARD_DECL_java_net_UnknownHostException
+typedef struct java_net_UnknownHostException java_net_UnknownHostException;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_net_UnknownHostException 8
+
+void __INIT_java_net_UnknownHostException();
+void __INIT_IMPL_java_net_UnknownHostException();
+void __DELETE_java_net_UnknownHostException(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_net_UnknownHostException(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_net_UnknownHostException();
+JAVA_OBJECT __NEW_INSTANCE_java_net_UnknownHostException();
+JAVA_LONG java_net_UnknownHostException_GET_serialVersionUID();
+void java_net_UnknownHostException_PUT_serialVersionUID(JAVA_LONG v);
+void java_net_UnknownHostException___INIT___(JAVA_OBJECT me);
+void java_net_UnknownHostException___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_nio_Buffer.c b/tests/nbody-java/java_nio_Buffer.c
new file mode 100644
index 00000000..9a37dff4
--- /dev/null
+++ b/tests/nbody-java/java_nio_Buffer.c
@@ -0,0 +1,524 @@
+#include "xmlvm.h"
+
+#include "java_nio_Buffer.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Buffer
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_nio_Buffer
+
+__TIB_DEFINITION_java_nio_Buffer __TIB_java_nio_Buffer = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_nio_Buffer, // classInitializer
+ "java.nio.Buffer", // className
+ "java.nio", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_nio_Buffer), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_nio_Buffer;
+JAVA_OBJECT __CLASS_java_nio_Buffer_1ARRAY;
+JAVA_OBJECT __CLASS_java_nio_Buffer_2ARRAY;
+JAVA_OBJECT __CLASS_java_nio_Buffer_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_INT _STATIC_java_nio_Buffer_UNSET_MARK;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_nio_Buffer()
+{
+ staticInitializerLock(&__TIB_java_nio_Buffer);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_nio_Buffer.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_nio_Buffer.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_nio_Buffer);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_nio_Buffer.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_nio_Buffer.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_nio_Buffer.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.nio.Buffer")
+ __INIT_IMPL_java_nio_Buffer();
+ }
+}
+
+void __INIT_IMPL_java_nio_Buffer()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_nio_Buffer.newInstanceFunc = __NEW_INSTANCE_java_nio_Buffer;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_nio_Buffer.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_nio_Buffer.numImplementedInterfaces = 0;
+ __TIB_java_nio_Buffer.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_java_nio_Buffer_UNSET_MARK = -1;
+
+ __TIB_java_nio_Buffer.declaredFields = &__field_reflection_data[0];
+ __TIB_java_nio_Buffer.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_nio_Buffer.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_nio_Buffer.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_nio_Buffer.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_nio_Buffer.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_nio_Buffer.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_nio_Buffer.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_nio_Buffer = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_nio_Buffer);
+ __TIB_java_nio_Buffer.clazz = __CLASS_java_nio_Buffer;
+ __TIB_java_nio_Buffer.baseType = JAVA_NULL;
+ __CLASS_java_nio_Buffer_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_Buffer);
+ __CLASS_java_nio_Buffer_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_Buffer_1ARRAY);
+ __CLASS_java_nio_Buffer_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_Buffer_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_nio_Buffer]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_nio_Buffer.classInitialized = 1;
+}
+
+void __DELETE_java_nio_Buffer(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_nio_Buffer]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_nio_Buffer(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_nio_Buffer*) me)->fields.java_nio_Buffer.capacity_ = 0;
+ ((java_nio_Buffer*) me)->fields.java_nio_Buffer.limit_ = 0;
+ ((java_nio_Buffer*) me)->fields.java_nio_Buffer.mark_ = 0;
+ ((java_nio_Buffer*) me)->fields.java_nio_Buffer.position_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_nio_Buffer]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_nio_Buffer()
+{ XMLVM_CLASS_INIT(java_nio_Buffer)
+java_nio_Buffer* me = (java_nio_Buffer*) XMLVM_MALLOC(sizeof(java_nio_Buffer));
+ me->tib = &__TIB_java_nio_Buffer;
+ __INIT_INSTANCE_MEMBERS_java_nio_Buffer(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_nio_Buffer]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_nio_Buffer()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_INT java_nio_Buffer_GET_UNSET_MARK()
+{
+ XMLVM_CLASS_INIT(java_nio_Buffer)
+ return _STATIC_java_nio_Buffer_UNSET_MARK;
+}
+
+void java_nio_Buffer_PUT_UNSET_MARK(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_nio_Buffer)
+_STATIC_java_nio_Buffer_UNSET_MARK = v;
+}
+
+void java_nio_Buffer___INIT____int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_Buffer___INIT____int]
+ XMLVM_ENTER_METHOD("java.nio.Buffer", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("Buffer.java", 85)
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("Buffer.java", 70)
+ _r0.i = -1;
+ XMLVM_CHECK_NPE(1)
+ ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.mark_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Buffer.java", 76)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(1)
+ ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.position_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Buffer.java", 86)
+ if (_r2.i >= 0) goto label17;
+ XMLVM_SOURCE_POSITION("Buffer.java", 87)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label17:;
+ XMLVM_SOURCE_POSITION("Buffer.java", 89)
+ XMLVM_CHECK_NPE(1)
+ ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.limit_ = _r2.i;
+ XMLVM_CHECK_NPE(1)
+ ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.capacity_ = _r2.i;
+ XMLVM_SOURCE_POSITION("Buffer.java", 90)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_nio_Buffer_capacity__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_Buffer_capacity__]
+ XMLVM_ENTER_METHOD("java.nio.Buffer", "capacity", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Buffer.java", 145)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.capacity_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_Buffer_clear__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_Buffer_clear__]
+ XMLVM_ENTER_METHOD("java.nio.Buffer", "clear", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Buffer.java", 159)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(1)
+ ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.position_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Buffer.java", 160)
+ _r0.i = -1;
+ XMLVM_CHECK_NPE(1)
+ ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.mark_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Buffer.java", 161)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.capacity_;
+ XMLVM_CHECK_NPE(1)
+ ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.limit_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Buffer.java", 162)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_Buffer_flip__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_Buffer_flip__]
+ XMLVM_ENTER_METHOD("java.nio.Buffer", "flip", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Buffer.java", 176)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.position_;
+ XMLVM_CHECK_NPE(1)
+ ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.limit_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Buffer.java", 177)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(1)
+ ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.position_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Buffer.java", 178)
+ _r0.i = -1;
+ XMLVM_CHECK_NPE(1)
+ ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.mark_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Buffer.java", 179)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_Buffer_hasRemaining__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_Buffer_hasRemaining__]
+ XMLVM_ENTER_METHOD("java.nio.Buffer", "hasRemaining", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Buffer.java", 205)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.position_;
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.limit_;
+ if (_r0.i >= _r1.i) goto label8;
+ _r0.i = 1;
+ label7:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label8:;
+ _r0.i = 0;
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_nio_Buffer_limit__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_Buffer_limit__]
+ XMLVM_ENTER_METHOD("java.nio.Buffer", "limit", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Buffer.java", 231)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.limit_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_Buffer_limit___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_Buffer_limit___int]
+ XMLVM_ENTER_METHOD("java.nio.Buffer", "limit", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.i = n1;
+ _r1.i = -1;
+ XMLVM_SOURCE_POSITION("Buffer.java", 250)
+ if (_r3.i < 0) goto label7;
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.capacity_;
+ if (_r3.i <= _r0.i) goto label13;
+ label7:;
+ XMLVM_SOURCE_POSITION("Buffer.java", 251)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label13:;
+ XMLVM_SOURCE_POSITION("Buffer.java", 254)
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.limit_ = _r3.i;
+ XMLVM_SOURCE_POSITION("Buffer.java", 255)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.position_;
+ if (_r0.i <= _r3.i) goto label21;
+ XMLVM_SOURCE_POSITION("Buffer.java", 256)
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.position_ = _r3.i;
+ label21:;
+ XMLVM_SOURCE_POSITION("Buffer.java", 258)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.mark_;
+ if (_r0.i == _r1.i) goto label31;
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.mark_;
+ if (_r0.i <= _r3.i) goto label31;
+ XMLVM_SOURCE_POSITION("Buffer.java", 259)
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.mark_ = _r1.i;
+ label31:;
+ XMLVM_SOURCE_POSITION("Buffer.java", 261)
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_Buffer_mark__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_Buffer_mark__]
+ XMLVM_ENTER_METHOD("java.nio.Buffer", "mark", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Buffer.java", 271)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.position_;
+ XMLVM_CHECK_NPE(1)
+ ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.mark_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Buffer.java", 272)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_nio_Buffer_position__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_Buffer_position__]
+ XMLVM_ENTER_METHOD("java.nio.Buffer", "position", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Buffer.java", 281)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.position_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_Buffer_position___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_Buffer_position___int]
+ XMLVM_ENTER_METHOD("java.nio.Buffer", "position", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.i = n1;
+ _r2.i = -1;
+ XMLVM_SOURCE_POSITION("Buffer.java", 298)
+ if (_r4.i < 0) goto label7;
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_nio_Buffer*) _r3.o)->fields.java_nio_Buffer.limit_;
+ if (_r4.i <= _r0.i) goto label13;
+ label7:;
+ XMLVM_SOURCE_POSITION("Buffer.java", 299)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label13:;
+ XMLVM_SOURCE_POSITION("Buffer.java", 302)
+ XMLVM_CHECK_NPE(3)
+ ((java_nio_Buffer*) _r3.o)->fields.java_nio_Buffer.position_ = _r4.i;
+ XMLVM_SOURCE_POSITION("Buffer.java", 303)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_nio_Buffer*) _r3.o)->fields.java_nio_Buffer.mark_;
+ if (_r0.i == _r2.i) goto label27;
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_nio_Buffer*) _r3.o)->fields.java_nio_Buffer.mark_;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_nio_Buffer*) _r3.o)->fields.java_nio_Buffer.position_;
+ if (_r0.i <= _r1.i) goto label27;
+ XMLVM_SOURCE_POSITION("Buffer.java", 304)
+ XMLVM_CHECK_NPE(3)
+ ((java_nio_Buffer*) _r3.o)->fields.java_nio_Buffer.mark_ = _r2.i;
+ label27:;
+ XMLVM_SOURCE_POSITION("Buffer.java", 306)
+ XMLVM_EXIT_METHOD()
+ return _r3.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_nio_Buffer_remaining__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_Buffer_remaining__]
+ XMLVM_ENTER_METHOD("java.nio.Buffer", "remaining", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Buffer.java", 316)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.limit_;
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.position_;
+ _r0.i = _r0.i - _r1.i;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_Buffer_reset__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_Buffer_reset__]
+ XMLVM_ENTER_METHOD("java.nio.Buffer", "reset", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Buffer.java", 327)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.mark_;
+ _r1.i = -1;
+ if (_r0.i != _r1.i) goto label11;
+ XMLVM_SOURCE_POSITION("Buffer.java", 328)
+
+
+ // Red class access removed: java.nio.InvalidMarkException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.InvalidMarkException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label11:;
+ XMLVM_SOURCE_POSITION("Buffer.java", 330)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.mark_;
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.position_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Buffer.java", 331)
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_Buffer_rewind__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_Buffer_rewind__]
+ XMLVM_ENTER_METHOD("java.nio.Buffer", "rewind", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Buffer.java", 343)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(1)
+ ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.position_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Buffer.java", 344)
+ _r0.i = -1;
+ XMLVM_CHECK_NPE(1)
+ ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.mark_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Buffer.java", 345)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_nio_Buffer.h b/tests/nbody-java/java_nio_Buffer.h
new file mode 100644
index 00000000..bcfe68a3
--- /dev/null
+++ b/tests/nbody-java/java_nio_Buffer.h
@@ -0,0 +1,84 @@
+#ifndef __JAVA_NIO_BUFFER__
+#define __JAVA_NIO_BUFFER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_nio_Buffer 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+// Class declarations for java.nio.Buffer
+XMLVM_DEFINE_CLASS(java_nio_Buffer, 11, XMLVM_ITABLE_SIZE_java_nio_Buffer)
+
+extern JAVA_OBJECT __CLASS_java_nio_Buffer;
+extern JAVA_OBJECT __CLASS_java_nio_Buffer_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_Buffer_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_Buffer_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_nio_Buffer
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_nio_Buffer \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_INT capacity_; \
+ JAVA_INT limit_; \
+ JAVA_INT mark_; \
+ JAVA_INT position_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_nio_Buffer \
+ } java_nio_Buffer
+
+struct java_nio_Buffer {
+ __TIB_DEFINITION_java_nio_Buffer* tib;
+ struct {
+ __INSTANCE_FIELDS_java_nio_Buffer;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_nio_Buffer
+#define XMLVM_FORWARD_DECL_java_nio_Buffer
+typedef struct java_nio_Buffer java_nio_Buffer;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_nio_Buffer 11
+#define XMLVM_VTABLE_IDX_java_nio_Buffer_array__ 7
+#define XMLVM_VTABLE_IDX_java_nio_Buffer_arrayOffset__ 6
+#define XMLVM_VTABLE_IDX_java_nio_Buffer_hasArray__ 8
+#define XMLVM_VTABLE_IDX_java_nio_Buffer_isDirect__ 9
+#define XMLVM_VTABLE_IDX_java_nio_Buffer_isReadOnly__ 10
+
+void __INIT_java_nio_Buffer();
+void __INIT_IMPL_java_nio_Buffer();
+void __DELETE_java_nio_Buffer(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_nio_Buffer(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_nio_Buffer();
+JAVA_OBJECT __NEW_INSTANCE_java_nio_Buffer();
+JAVA_INT java_nio_Buffer_GET_UNSET_MARK();
+void java_nio_Buffer_PUT_UNSET_MARK(JAVA_INT v);
+void java_nio_Buffer___INIT____int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 7
+JAVA_OBJECT java_nio_Buffer_array__(JAVA_OBJECT me);
+// Vtable index: 6
+JAVA_INT java_nio_Buffer_arrayOffset__(JAVA_OBJECT me);
+JAVA_INT java_nio_Buffer_capacity__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_Buffer_clear__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_Buffer_flip__(JAVA_OBJECT me);
+// Vtable index: 8
+JAVA_BOOLEAN java_nio_Buffer_hasArray__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_nio_Buffer_hasRemaining__(JAVA_OBJECT me);
+// Vtable index: 9
+JAVA_BOOLEAN java_nio_Buffer_isDirect__(JAVA_OBJECT me);
+// Vtable index: 10
+JAVA_BOOLEAN java_nio_Buffer_isReadOnly__(JAVA_OBJECT me);
+JAVA_INT java_nio_Buffer_limit__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_Buffer_limit___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_OBJECT java_nio_Buffer_mark__(JAVA_OBJECT me);
+JAVA_INT java_nio_Buffer_position__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_Buffer_position___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_INT java_nio_Buffer_remaining__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_Buffer_reset__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_Buffer_rewind__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_nio_BufferFactory.c b/tests/nbody-java/java_nio_BufferFactory.c
new file mode 100644
index 00000000..4065f2ec
--- /dev/null
+++ b/tests/nbody-java/java_nio_BufferFactory.c
@@ -0,0 +1,494 @@
+#include "xmlvm.h"
+#include "java_lang_CharSequence.h"
+#include "java_nio_ByteBuffer.h"
+#include "java_nio_CharBuffer.h"
+#include "java_nio_ReadWriteCharArrayBuffer.h"
+#include "java_nio_ReadWriteHeapByteBuffer.h"
+
+#include "java_nio_BufferFactory.h"
+
+#define XMLVM_CURRENT_CLASS_NAME BufferFactory
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_nio_BufferFactory
+
+__TIB_DEFINITION_java_nio_BufferFactory __TIB_java_nio_BufferFactory = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_nio_BufferFactory, // classInitializer
+ "java.nio.BufferFactory", // className
+ "java.nio", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_nio_BufferFactory), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_nio_BufferFactory;
+JAVA_OBJECT __CLASS_java_nio_BufferFactory_1ARRAY;
+JAVA_OBJECT __CLASS_java_nio_BufferFactory_2ARRAY;
+JAVA_OBJECT __CLASS_java_nio_BufferFactory_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_nio_BufferFactory()
+{
+ staticInitializerLock(&__TIB_java_nio_BufferFactory);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_nio_BufferFactory.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_nio_BufferFactory.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_nio_BufferFactory);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_nio_BufferFactory.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_nio_BufferFactory.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_nio_BufferFactory.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.nio.BufferFactory")
+ __INIT_IMPL_java_nio_BufferFactory();
+ }
+}
+
+void __INIT_IMPL_java_nio_BufferFactory()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_nio_BufferFactory.newInstanceFunc = __NEW_INSTANCE_java_nio_BufferFactory;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_nio_BufferFactory.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_nio_BufferFactory.numImplementedInterfaces = 0;
+ __TIB_java_nio_BufferFactory.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ __TIB_java_nio_BufferFactory.declaredFields = &__field_reflection_data[0];
+ __TIB_java_nio_BufferFactory.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_nio_BufferFactory.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_nio_BufferFactory.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_nio_BufferFactory.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_nio_BufferFactory.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_nio_BufferFactory.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_nio_BufferFactory.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_nio_BufferFactory = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_nio_BufferFactory);
+ __TIB_java_nio_BufferFactory.clazz = __CLASS_java_nio_BufferFactory;
+ __TIB_java_nio_BufferFactory.baseType = JAVA_NULL;
+ __CLASS_java_nio_BufferFactory_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_BufferFactory);
+ __CLASS_java_nio_BufferFactory_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_BufferFactory_1ARRAY);
+ __CLASS_java_nio_BufferFactory_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_BufferFactory_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_nio_BufferFactory]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_nio_BufferFactory.classInitialized = 1;
+}
+
+void __DELETE_java_nio_BufferFactory(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_nio_BufferFactory]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_nio_BufferFactory(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_nio_BufferFactory]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_nio_BufferFactory()
+{ XMLVM_CLASS_INIT(java_nio_BufferFactory)
+java_nio_BufferFactory* me = (java_nio_BufferFactory*) XMLVM_MALLOC(sizeof(java_nio_BufferFactory));
+ me->tib = &__TIB_java_nio_BufferFactory;
+ __INIT_INSTANCE_MEMBERS_java_nio_BufferFactory(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_nio_BufferFactory]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_nio_BufferFactory()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_nio_BufferFactory();
+ java_nio_BufferFactory___INIT___(me);
+ return me;
+}
+
+void java_nio_BufferFactory___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_BufferFactory___INIT___]
+ XMLVM_ENTER_METHOD("java.nio.BufferFactory", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("BufferFactory.java", 28)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_BufferFactory_newByteBuffer___byte_1ARRAY(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_BufferFactory)
+ //XMLVM_BEGIN_WRAPPER[java_nio_BufferFactory_newByteBuffer___byte_1ARRAY]
+ XMLVM_ENTER_METHOD("java.nio.BufferFactory", "newByteBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("BufferFactory.java", 38)
+ _r0.o = __NEW_java_nio_ReadWriteHeapByteBuffer();
+ XMLVM_CHECK_NPE(0)
+ java_nio_ReadWriteHeapByteBuffer___INIT____byte_1ARRAY(_r0.o, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_BufferFactory_newByteBuffer___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_BufferFactory)
+ //XMLVM_BEGIN_WRAPPER[java_nio_BufferFactory_newByteBuffer___int]
+ XMLVM_ENTER_METHOD("java.nio.BufferFactory", "newByteBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("BufferFactory.java", 49)
+ _r0.o = __NEW_java_nio_ReadWriteHeapByteBuffer();
+ XMLVM_CHECK_NPE(0)
+ java_nio_ReadWriteHeapByteBuffer___INIT____int(_r0.o, _r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_BufferFactory_newCharBuffer___char_1ARRAY(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_BufferFactory)
+ //XMLVM_BEGIN_WRAPPER[java_nio_BufferFactory_newCharBuffer___char_1ARRAY]
+ XMLVM_ENTER_METHOD("java.nio.BufferFactory", "newCharBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("BufferFactory.java", 60)
+ _r0.o = __NEW_java_nio_ReadWriteCharArrayBuffer();
+ XMLVM_CHECK_NPE(0)
+ java_nio_ReadWriteCharArrayBuffer___INIT____char_1ARRAY(_r0.o, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_BufferFactory_newCharBuffer___java_lang_CharSequence(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_BufferFactory)
+ //XMLVM_BEGIN_WRAPPER[java_nio_BufferFactory_newCharBuffer___java_lang_CharSequence]
+ XMLVM_ENTER_METHOD("java.nio.BufferFactory", "newCharBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("BufferFactory.java", 71)
+
+
+ // Red class access removed: java.nio.CharSequenceAdapter::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.CharSequenceAdapter::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_BufferFactory_newCharBuffer___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_BufferFactory)
+ //XMLVM_BEGIN_WRAPPER[java_nio_BufferFactory_newCharBuffer___int]
+ XMLVM_ENTER_METHOD("java.nio.BufferFactory", "newCharBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("BufferFactory.java", 82)
+ _r0.o = __NEW_java_nio_ReadWriteCharArrayBuffer();
+ XMLVM_CHECK_NPE(0)
+ java_nio_ReadWriteCharArrayBuffer___INIT____int(_r0.o, _r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_BufferFactory_newDirectByteBuffer___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_BufferFactory)
+ //XMLVM_BEGIN_WRAPPER[java_nio_BufferFactory_newDirectByteBuffer___int]
+ XMLVM_ENTER_METHOD("java.nio.BufferFactory", "newDirectByteBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("BufferFactory.java", 93)
+
+
+ // Red class access removed: java.nio.ReadWriteDirectByteBuffer::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.ReadWriteDirectByteBuffer::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_BufferFactory_newDoubleBuffer___double_1ARRAY(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_BufferFactory)
+ //XMLVM_BEGIN_WRAPPER[java_nio_BufferFactory_newDoubleBuffer___double_1ARRAY]
+ XMLVM_ENTER_METHOD("java.nio.BufferFactory", "newDoubleBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("BufferFactory.java", 104)
+
+
+ // Red class access removed: java.nio.ReadWriteDoubleArrayBuffer::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.ReadWriteDoubleArrayBuffer::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_BufferFactory_newDoubleBuffer___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_BufferFactory)
+ //XMLVM_BEGIN_WRAPPER[java_nio_BufferFactory_newDoubleBuffer___int]
+ XMLVM_ENTER_METHOD("java.nio.BufferFactory", "newDoubleBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("BufferFactory.java", 115)
+
+
+ // Red class access removed: java.nio.ReadWriteDoubleArrayBuffer::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.ReadWriteDoubleArrayBuffer::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_BufferFactory_newFloatBuffer___float_1ARRAY(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_BufferFactory)
+ //XMLVM_BEGIN_WRAPPER[java_nio_BufferFactory_newFloatBuffer___float_1ARRAY]
+ XMLVM_ENTER_METHOD("java.nio.BufferFactory", "newFloatBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("BufferFactory.java", 126)
+
+
+ // Red class access removed: java.nio.ReadWriteFloatArrayBuffer::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.ReadWriteFloatArrayBuffer::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_BufferFactory_newFloatBuffer___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_BufferFactory)
+ //XMLVM_BEGIN_WRAPPER[java_nio_BufferFactory_newFloatBuffer___int]
+ XMLVM_ENTER_METHOD("java.nio.BufferFactory", "newFloatBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("BufferFactory.java", 137)
+
+
+ // Red class access removed: java.nio.ReadWriteFloatArrayBuffer::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.ReadWriteFloatArrayBuffer::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_BufferFactory_newIntBuffer___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_BufferFactory)
+ //XMLVM_BEGIN_WRAPPER[java_nio_BufferFactory_newIntBuffer___int]
+ XMLVM_ENTER_METHOD("java.nio.BufferFactory", "newIntBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("BufferFactory.java", 148)
+
+
+ // Red class access removed: java.nio.ReadWriteIntArrayBuffer::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.ReadWriteIntArrayBuffer::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_BufferFactory_newIntBuffer___int_1ARRAY(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_BufferFactory)
+ //XMLVM_BEGIN_WRAPPER[java_nio_BufferFactory_newIntBuffer___int_1ARRAY]
+ XMLVM_ENTER_METHOD("java.nio.BufferFactory", "newIntBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("BufferFactory.java", 159)
+
+
+ // Red class access removed: java.nio.ReadWriteIntArrayBuffer::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.ReadWriteIntArrayBuffer::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_BufferFactory_newLongBuffer___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_BufferFactory)
+ //XMLVM_BEGIN_WRAPPER[java_nio_BufferFactory_newLongBuffer___int]
+ XMLVM_ENTER_METHOD("java.nio.BufferFactory", "newLongBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("BufferFactory.java", 170)
+
+
+ // Red class access removed: java.nio.ReadWriteLongArrayBuffer::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.ReadWriteLongArrayBuffer::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_BufferFactory_newLongBuffer___long_1ARRAY(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_BufferFactory)
+ //XMLVM_BEGIN_WRAPPER[java_nio_BufferFactory_newLongBuffer___long_1ARRAY]
+ XMLVM_ENTER_METHOD("java.nio.BufferFactory", "newLongBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("BufferFactory.java", 181)
+
+
+ // Red class access removed: java.nio.ReadWriteLongArrayBuffer::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.ReadWriteLongArrayBuffer::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_BufferFactory_newShortBuffer___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_BufferFactory)
+ //XMLVM_BEGIN_WRAPPER[java_nio_BufferFactory_newShortBuffer___int]
+ XMLVM_ENTER_METHOD("java.nio.BufferFactory", "newShortBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("BufferFactory.java", 192)
+
+
+ // Red class access removed: java.nio.ReadWriteShortArrayBuffer::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.ReadWriteShortArrayBuffer::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_BufferFactory_newShortBuffer___short_1ARRAY(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_BufferFactory)
+ //XMLVM_BEGIN_WRAPPER[java_nio_BufferFactory_newShortBuffer___short_1ARRAY]
+ XMLVM_ENTER_METHOD("java.nio.BufferFactory", "newShortBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("BufferFactory.java", 203)
+
+
+ // Red class access removed: java.nio.ReadWriteShortArrayBuffer::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.ReadWriteShortArrayBuffer::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_nio_BufferFactory.h b/tests/nbody-java/java_nio_BufferFactory.h
new file mode 100644
index 00000000..90452d32
--- /dev/null
+++ b/tests/nbody-java/java_nio_BufferFactory.h
@@ -0,0 +1,87 @@
+#ifndef __JAVA_NIO_BUFFERFACTORY__
+#define __JAVA_NIO_BUFFERFACTORY__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_nio_BufferFactory 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_CharSequence
+#define XMLVM_FORWARD_DECL_java_lang_CharSequence
+XMLVM_FORWARD_DECL(java_lang_CharSequence)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_ByteBuffer
+#define XMLVM_FORWARD_DECL_java_nio_ByteBuffer
+XMLVM_FORWARD_DECL(java_nio_ByteBuffer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_CharBuffer
+#define XMLVM_FORWARD_DECL_java_nio_CharBuffer
+XMLVM_FORWARD_DECL(java_nio_CharBuffer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_ReadWriteCharArrayBuffer
+#define XMLVM_FORWARD_DECL_java_nio_ReadWriteCharArrayBuffer
+XMLVM_FORWARD_DECL(java_nio_ReadWriteCharArrayBuffer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_ReadWriteHeapByteBuffer
+#define XMLVM_FORWARD_DECL_java_nio_ReadWriteHeapByteBuffer
+XMLVM_FORWARD_DECL(java_nio_ReadWriteHeapByteBuffer)
+#endif
+// Class declarations for java.nio.BufferFactory
+XMLVM_DEFINE_CLASS(java_nio_BufferFactory, 6, XMLVM_ITABLE_SIZE_java_nio_BufferFactory)
+
+extern JAVA_OBJECT __CLASS_java_nio_BufferFactory;
+extern JAVA_OBJECT __CLASS_java_nio_BufferFactory_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_BufferFactory_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_BufferFactory_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_nio_BufferFactory
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_nio_BufferFactory \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_nio_BufferFactory \
+ } java_nio_BufferFactory
+
+struct java_nio_BufferFactory {
+ __TIB_DEFINITION_java_nio_BufferFactory* tib;
+ struct {
+ __INSTANCE_FIELDS_java_nio_BufferFactory;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_nio_BufferFactory
+#define XMLVM_FORWARD_DECL_java_nio_BufferFactory
+typedef struct java_nio_BufferFactory java_nio_BufferFactory;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_nio_BufferFactory 6
+
+void __INIT_java_nio_BufferFactory();
+void __INIT_IMPL_java_nio_BufferFactory();
+void __DELETE_java_nio_BufferFactory(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_nio_BufferFactory(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_nio_BufferFactory();
+JAVA_OBJECT __NEW_INSTANCE_java_nio_BufferFactory();
+void java_nio_BufferFactory___INIT___(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_BufferFactory_newByteBuffer___byte_1ARRAY(JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_BufferFactory_newByteBuffer___int(JAVA_INT n1);
+JAVA_OBJECT java_nio_BufferFactory_newCharBuffer___char_1ARRAY(JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_BufferFactory_newCharBuffer___java_lang_CharSequence(JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_BufferFactory_newCharBuffer___int(JAVA_INT n1);
+JAVA_OBJECT java_nio_BufferFactory_newDirectByteBuffer___int(JAVA_INT n1);
+JAVA_OBJECT java_nio_BufferFactory_newDoubleBuffer___double_1ARRAY(JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_BufferFactory_newDoubleBuffer___int(JAVA_INT n1);
+JAVA_OBJECT java_nio_BufferFactory_newFloatBuffer___float_1ARRAY(JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_BufferFactory_newFloatBuffer___int(JAVA_INT n1);
+JAVA_OBJECT java_nio_BufferFactory_newIntBuffer___int(JAVA_INT n1);
+JAVA_OBJECT java_nio_BufferFactory_newIntBuffer___int_1ARRAY(JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_BufferFactory_newLongBuffer___int(JAVA_INT n1);
+JAVA_OBJECT java_nio_BufferFactory_newLongBuffer___long_1ARRAY(JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_BufferFactory_newShortBuffer___int(JAVA_INT n1);
+JAVA_OBJECT java_nio_BufferFactory_newShortBuffer___short_1ARRAY(JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_nio_ByteBuffer.c b/tests/nbody-java/java_nio_ByteBuffer.c
new file mode 100644
index 00000000..ff1cda80
--- /dev/null
+++ b/tests/nbody-java/java_nio_ByteBuffer.c
@@ -0,0 +1,941 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_IndexOutOfBoundsException.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_nio_BufferFactory.h"
+#include "java_nio_CharBuffer.h"
+#include "org_apache_harmony_luni_platform_Endianness.h"
+
+#include "java_nio_ByteBuffer.h"
+
+#define XMLVM_CURRENT_CLASS_NAME ByteBuffer
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_nio_ByteBuffer
+
+__TIB_DEFINITION_java_nio_ByteBuffer __TIB_java_nio_ByteBuffer = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_nio_ByteBuffer, // classInitializer
+ "java.nio.ByteBuffer", // className
+ "java.nio", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "Ljava/nio/Buffer;Ljava/lang/Comparable<Ljava/nio/ByteBuffer;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_Buffer, // extends
+ sizeof(java_nio_ByteBuffer), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_nio_ByteBuffer;
+JAVA_OBJECT __CLASS_java_nio_ByteBuffer_1ARRAY;
+JAVA_OBJECT __CLASS_java_nio_ByteBuffer_2ARRAY;
+JAVA_OBJECT __CLASS_java_nio_ByteBuffer_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_nio_ByteBuffer()
+{
+ staticInitializerLock(&__TIB_java_nio_ByteBuffer);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_nio_ByteBuffer.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_nio_ByteBuffer.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_nio_ByteBuffer);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_nio_ByteBuffer.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_nio_ByteBuffer.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_nio_ByteBuffer.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.nio.ByteBuffer")
+ __INIT_IMPL_java_nio_ByteBuffer();
+ }
+}
+
+void __INIT_IMPL_java_nio_ByteBuffer()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_nio_Buffer)
+ __TIB_java_nio_ByteBuffer.newInstanceFunc = __NEW_INSTANCE_java_nio_ByteBuffer;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_nio_ByteBuffer.vtable, __TIB_java_nio_Buffer.vtable, sizeof(__TIB_java_nio_Buffer.vtable));
+ // Initialize vtable for this class
+ __TIB_java_nio_ByteBuffer.vtable[7] = (VTABLE_PTR) &java_nio_ByteBuffer_array__;
+ __TIB_java_nio_ByteBuffer.vtable[6] = (VTABLE_PTR) &java_nio_ByteBuffer_arrayOffset__;
+ __TIB_java_nio_ByteBuffer.vtable[1] = (VTABLE_PTR) &java_nio_ByteBuffer_equals___java_lang_Object;
+ __TIB_java_nio_ByteBuffer.vtable[34] = (VTABLE_PTR) &java_nio_ByteBuffer_get___byte_1ARRAY_int_int;
+ __TIB_java_nio_ByteBuffer.vtable[8] = (VTABLE_PTR) &java_nio_ByteBuffer_hasArray__;
+ __TIB_java_nio_ByteBuffer.vtable[4] = (VTABLE_PTR) &java_nio_ByteBuffer_hashCode__;
+ __TIB_java_nio_ByteBuffer.vtable[52] = (VTABLE_PTR) &java_nio_ByteBuffer_put___byte_1ARRAY_int_int;
+ __TIB_java_nio_ByteBuffer.vtable[5] = (VTABLE_PTR) &java_nio_ByteBuffer_toString__;
+ __TIB_java_nio_ByteBuffer.vtable[19] = (VTABLE_PTR) &java_nio_ByteBuffer_compareTo___java_lang_Object;
+ // Initialize interface information
+ __TIB_java_nio_ByteBuffer.numImplementedInterfaces = 1;
+ __TIB_java_nio_ByteBuffer.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_lang_Comparable)
+
+ __TIB_java_nio_ByteBuffer.implementedInterfaces[0][0] = &__TIB_java_lang_Comparable;
+ // Initialize itable for this class
+ __TIB_java_nio_ByteBuffer.itableBegin = &__TIB_java_nio_ByteBuffer.itable[0];
+ __TIB_java_nio_ByteBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_nio_ByteBuffer.vtable[19];
+
+
+ __TIB_java_nio_ByteBuffer.declaredFields = &__field_reflection_data[0];
+ __TIB_java_nio_ByteBuffer.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_nio_ByteBuffer.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_nio_ByteBuffer.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_nio_ByteBuffer.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_nio_ByteBuffer.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_nio_ByteBuffer.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_nio_ByteBuffer.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_nio_ByteBuffer = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_nio_ByteBuffer);
+ __TIB_java_nio_ByteBuffer.clazz = __CLASS_java_nio_ByteBuffer;
+ __TIB_java_nio_ByteBuffer.baseType = JAVA_NULL;
+ __CLASS_java_nio_ByteBuffer_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_ByteBuffer);
+ __CLASS_java_nio_ByteBuffer_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_ByteBuffer_1ARRAY);
+ __CLASS_java_nio_ByteBuffer_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_ByteBuffer_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_nio_ByteBuffer]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_nio_ByteBuffer.classInitialized = 1;
+}
+
+void __DELETE_java_nio_ByteBuffer(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_nio_ByteBuffer]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_nio_ByteBuffer(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_nio_Buffer(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_nio_ByteBuffer*) me)->fields.java_nio_ByteBuffer.order_ = (org_apache_harmony_luni_platform_Endianness*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_nio_ByteBuffer]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_nio_ByteBuffer()
+{ XMLVM_CLASS_INIT(java_nio_ByteBuffer)
+java_nio_ByteBuffer* me = (java_nio_ByteBuffer*) XMLVM_MALLOC(sizeof(java_nio_ByteBuffer));
+ me->tib = &__TIB_java_nio_ByteBuffer;
+ __INIT_INSTANCE_MEMBERS_java_nio_ByteBuffer(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_nio_ByteBuffer]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_nio_ByteBuffer()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_OBJECT java_nio_ByteBuffer_allocate___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_ByteBuffer)
+ //XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_allocate___int]
+ XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "allocate", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 49)
+ if (_r1.i >= 0) goto label8;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 50)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 52)
+ _r0.o = java_nio_BufferFactory_newByteBuffer___int(_r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ByteBuffer_allocateDirect___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_ByteBuffer)
+ //XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_allocateDirect___int]
+ XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "allocateDirect", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 65)
+ if (_r1.i >= 0) goto label8;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 66)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 68)
+ _r0.o = java_nio_BufferFactory_newDirectByteBuffer___int(_r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ByteBuffer_wrap___byte_1ARRAY(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_ByteBuffer)
+ //XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_wrap___byte_1ARRAY]
+ XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "wrap", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 82)
+ _r0.o = java_nio_BufferFactory_newByteBuffer___byte_1ARRAY(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ByteBuffer_wrap___byte_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ XMLVM_CLASS_INIT(java_nio_ByteBuffer)
+ //XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_wrap___byte_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "wrap", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r5.o = n1;
+ _r6.i = n2;
+ _r7.i = n3;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 104)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 105)
+ if (_r6.i < 0) goto label13;
+ if (_r7.i < 0) goto label13;
+ _r1.l = (JAVA_LONG) _r6.i;
+ _r3.l = (JAVA_LONG) _r7.i;
+ _r1.l = _r1.l + _r3.l;
+ _r3.l = (JAVA_LONG) _r0.i;
+ _r0.i = _r1.l > _r3.l ? 1 : (_r1.l == _r3.l ? 0 : -1);
+ if (_r0.i <= 0) goto label19;
+ label13:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 106)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label19:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 109)
+ _r0.o = java_nio_BufferFactory_newByteBuffer___byte_1ARRAY(_r5.o);
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 110)
+ XMLVM_CHECK_NPE(0)
+ ((java_nio_Buffer*) _r0.o)->fields.java_nio_Buffer.position_ = _r6.i;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 111)
+ _r1.i = _r6.i + _r7.i;
+ XMLVM_CHECK_NPE(0)
+ ((java_nio_Buffer*) _r0.o)->fields.java_nio_Buffer.limit_ = _r1.i;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 113)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_ByteBuffer___INIT____int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer___INIT____int]
+ XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 128)
+ XMLVM_CHECK_NPE(1)
+ java_nio_Buffer___INIT____int(_r1.o, _r2.i);
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 119)
+ _r0.o = org_apache_harmony_luni_platform_Endianness_GET_BIG_ENDIAN();
+ XMLVM_CHECK_NPE(1)
+ ((java_nio_ByteBuffer*) _r1.o)->fields.java_nio_ByteBuffer.order_ = _r0.o;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 129)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ByteBuffer_array__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_array__]
+ XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "array", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 141)
+ //java_nio_ByteBuffer_protectedArray__[37]
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r1.o)->tib->vtable[37])(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_nio_ByteBuffer_arrayOffset__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_arrayOffset__]
+ XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "arrayOffset", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 158)
+ //java_nio_ByteBuffer_protectedArrayOffset__[36]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r1.o)->tib->vtable[36])(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_nio_ByteBuffer_compareTo___java_nio_ByteBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_compareTo___java_nio_ByteBuffer]
+ XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 306)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = java_nio_Buffer_remaining__(_r6.o);
+ XMLVM_CHECK_NPE(7)
+ _r1.i = java_nio_Buffer_remaining__(_r7.o);
+ if (_r0.i >= _r1.i) goto label33;
+ XMLVM_CHECK_NPE(6)
+ _r0.i = java_nio_Buffer_remaining__(_r6.o);
+ label14:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 308)
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_nio_Buffer*) _r6.o)->fields.java_nio_Buffer.position_;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 309)
+ XMLVM_CHECK_NPE(7)
+ _r2.i = ((java_nio_Buffer*) _r7.o)->fields.java_nio_Buffer.position_;
+ _r5 = _r2;
+ _r2 = _r0;
+ _r0 = _r5;
+ label21:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 311)
+ if (_r2.i > 0) goto label38;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 321)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = java_nio_Buffer_remaining__(_r6.o);
+ XMLVM_CHECK_NPE(7)
+ _r1.i = java_nio_Buffer_remaining__(_r7.o);
+ _r0.i = _r0.i - _r1.i;
+ label32:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label33:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 307)
+ XMLVM_CHECK_NPE(7)
+ _r0.i = java_nio_Buffer_remaining__(_r7.o);
+ goto label14;
+ label38:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 312)
+ //java_nio_ByteBuffer_get___int[35]
+ XMLVM_CHECK_NPE(6)
+ _r3.i = (*(JAVA_BYTE (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_ByteBuffer*) _r6.o)->tib->vtable[35])(_r6.o, _r1.i);
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 313)
+ //java_nio_ByteBuffer_get___int[35]
+ XMLVM_CHECK_NPE(7)
+ _r4.i = (*(JAVA_BYTE (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_ByteBuffer*) _r7.o)->tib->vtable[35])(_r7.o, _r0.i);
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 314)
+ if (_r3.i == _r4.i) goto label54;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 315)
+ if (_r3.i >= _r4.i) goto label52;
+ _r0.i = -1;
+ goto label32;
+ label52:;
+ _r0.i = 1;
+ goto label32;
+ label54:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 317)
+ _r1.i = _r1.i + 1;
+ _r0.i = _r0.i + 1;
+ _r2.i = _r2.i + -1;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 319)
+ goto label21;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_ByteBuffer_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ _r5.i = 1;
+ _r4.i = 0;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 353)
+ XMLVM_CLASS_INIT(java_nio_ByteBuffer)
+ _r0.i = XMLVM_ISA(_r7.o, __CLASS_java_nio_ByteBuffer);
+ if (_r0.i != 0) goto label8;
+ _r0 = _r4;
+ label7:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 354)
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 369)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label8:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 356)
+ _r7.o = _r7.o;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 358)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = java_nio_Buffer_remaining__(_r6.o);
+ XMLVM_CHECK_NPE(7)
+ _r1.i = java_nio_Buffer_remaining__(_r7.o);
+ if (_r0.i == _r1.i) goto label22;
+ _r0 = _r4;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 359)
+ goto label7;
+ label22:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 362)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_nio_Buffer*) _r6.o)->fields.java_nio_Buffer.position_;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 363)
+ XMLVM_CHECK_NPE(7)
+ _r1.i = ((java_nio_Buffer*) _r7.o)->fields.java_nio_Buffer.position_;
+ _r2 = _r0;
+ _r0 = _r5;
+ label28:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 365)
+ if (_r0.i == 0) goto label7;
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_nio_Buffer*) _r6.o)->fields.java_nio_Buffer.limit_;
+ if (_r2.i >= _r3.i) goto label7;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 366)
+ _r0.i = _r2.i + 1;
+ //java_nio_ByteBuffer_get___int[35]
+ XMLVM_CHECK_NPE(6)
+ _r2.i = (*(JAVA_BYTE (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_ByteBuffer*) _r6.o)->tib->vtable[35])(_r6.o, _r2.i);
+ _r3.i = _r1.i + 1;
+ //java_nio_ByteBuffer_get___int[35]
+ XMLVM_CHECK_NPE(7)
+ _r1.i = (*(JAVA_BYTE (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_ByteBuffer*) _r7.o)->tib->vtable[35])(_r7.o, _r1.i);
+ if (_r2.i != _r1.i) goto label53;
+ _r1 = _r5;
+ label49:;
+ _r2 = _r0;
+ _r0 = _r1;
+ _r1 = _r3;
+ goto label28;
+ label53:;
+ _r1 = _r4;
+ goto label49;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ByteBuffer_get___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_get___byte_1ARRAY]
+ XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "get", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 395)
+ _r0.i = 0;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ //java_nio_ByteBuffer_get___byte_1ARRAY_int_int[34]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_INT, JAVA_INT)) ((java_nio_ByteBuffer*) _r2.o)->tib->vtable[34])(_r2.o, _r3.o, _r0.i, _r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ByteBuffer_get___byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_get___byte_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "get", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r5.o = me;
+ _r6.o = n1;
+ _r7.i = n2;
+ _r8.i = n3;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 418)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 419)
+ if (_r7.i < 0) goto label13;
+ if (_r8.i < 0) goto label13;
+ _r1.l = (JAVA_LONG) _r7.i;
+ _r3.l = (JAVA_LONG) _r8.i;
+ _r1.l = _r1.l + _r3.l;
+ _r3.l = (JAVA_LONG) _r0.i;
+ _r0.i = _r1.l > _r3.l ? 1 : (_r1.l == _r3.l ? 0 : -1);
+ if (_r0.i <= 0) goto label19;
+ label13:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 420)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label19:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 423)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = java_nio_Buffer_remaining__(_r5.o);
+ if (_r8.i <= _r0.i) goto label31;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 424)
+
+
+ // Red class access removed: java.nio.BufferUnderflowException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.BufferUnderflowException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label31:;
+ _r0 = _r7;
+ label32:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 426)
+ _r1.i = _r7.i + _r8.i;
+ if (_r0.i < _r1.i) goto label37;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 429)
+ XMLVM_EXIT_METHOD()
+ return _r5.o;
+ label37:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 427)
+ //java_nio_ByteBuffer_get__[33]
+ XMLVM_CHECK_NPE(5)
+ _r1.i = (*(JAVA_BYTE (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r5.o)->tib->vtable[33])(_r5.o);
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r0.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r1.i;
+ _r0.i = _r0.i + 1;
+ goto label32;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_ByteBuffer_hasArray__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_hasArray__]
+ XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "hasArray", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 621)
+ //java_nio_ByteBuffer_protectedHasArray__[38]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r1.o)->tib->vtable[38])(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_nio_ByteBuffer_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_hashCode__]
+ XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 632)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.position_;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 633)
+ _r1.i = 0;
+ _r3 = _r1;
+ _r1 = _r0;
+ _r0 = _r3;
+ label6:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 634)
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.limit_;
+ if (_r1.i < _r2.i) goto label11;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 637)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label11:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 635)
+ _r2.i = _r1.i + 1;
+ //java_nio_ByteBuffer_get___int[35]
+ XMLVM_CHECK_NPE(4)
+ _r1.i = (*(JAVA_BYTE (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_ByteBuffer*) _r4.o)->tib->vtable[35])(_r4.o, _r1.i);
+ _r0.i = _r0.i + _r1.i;
+ _r1 = _r2;
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ByteBuffer_order__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_order__]
+ XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "order", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 658)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_nio_ByteBuffer*) _r2.o)->fields.java_nio_ByteBuffer.order_;
+ _r1.o = org_apache_harmony_luni_platform_Endianness_GET_BIG_ENDIAN();
+ if (_r0.o != _r1.o) goto label9;
+
+
+ // Red class access removed: java.nio.ByteOrder,java.nio.ByteOrder::BIG_ENDIAN
+ XMLVM_RED_CLASS_DEPENDENCY();
+ label8:;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label9:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 659)
+
+
+ // Red class access removed: java.nio.ByteOrder,java.nio.ByteOrder::LITTLE_ENDIAN
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label8;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ByteBuffer_order___java_nio_ByteOrder(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_order___java_nio_ByteOrder]
+ XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "order", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 672)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_nio_ByteBuffer_orderImpl___java_nio_ByteOrder(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ByteBuffer_orderImpl___java_nio_ByteOrder(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_orderImpl___java_nio_ByteOrder]
+ XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "orderImpl", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 676)
+
+
+ // Red class access removed: java.nio.ByteOrder,java.nio.ByteOrder::BIG_ENDIAN
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r2.o != _r0.o) goto label9;
+ _r0.o = org_apache_harmony_luni_platform_Endianness_GET_BIG_ENDIAN();
+ label6:;
+ XMLVM_CHECK_NPE(1)
+ ((java_nio_ByteBuffer*) _r1.o)->fields.java_nio_ByteBuffer.order_ = _r0.o;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 678)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label9:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 677)
+ _r0.o = org_apache_harmony_luni_platform_Endianness_GET_LITTLE_ENDIAN();
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ByteBuffer_put___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_put___byte_1ARRAY]
+ XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "put", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 732)
+ _r0.i = 0;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ //java_nio_ByteBuffer_put___byte_1ARRAY_int_int[52]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_INT, JAVA_INT)) ((java_nio_ByteBuffer*) _r2.o)->tib->vtable[52])(_r2.o, _r3.o, _r0.i, _r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ByteBuffer_put___byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_put___byte_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "put", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r5.o = me;
+ _r6.o = n1;
+ _r7.i = n2;
+ _r8.i = n3;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 757)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 758)
+ if (_r7.i < 0) goto label13;
+ if (_r8.i < 0) goto label13;
+ _r1.l = (JAVA_LONG) _r7.i;
+ _r3.l = (JAVA_LONG) _r8.i;
+ _r1.l = _r1.l + _r3.l;
+ _r3.l = (JAVA_LONG) _r0.i;
+ _r0.i = _r1.l > _r3.l ? 1 : (_r1.l == _r3.l ? 0 : -1);
+ if (_r0.i <= 0) goto label19;
+ label13:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 759)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label19:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 762)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = java_nio_Buffer_remaining__(_r5.o);
+ if (_r8.i <= _r0.i) goto label31;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 763)
+
+
+ // Red class access removed: java.nio.BufferOverflowException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.BufferOverflowException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label31:;
+ _r0 = _r7;
+ label32:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 765)
+ _r1.i = _r7.i + _r8.i;
+ if (_r0.i < _r1.i) goto label37;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 768)
+ XMLVM_EXIT_METHOD()
+ return _r5.o;
+ label37:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 766)
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r0.i);
+ _r1.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ //java_nio_ByteBuffer_put___byte[51]
+ XMLVM_CHECK_NPE(5)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_BYTE)) ((java_nio_ByteBuffer*) _r5.o)->tib->vtable[51])(_r5.o, _r1.i);
+ _r0.i = _r0.i + 1;
+ goto label32;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ByteBuffer_put___java_nio_ByteBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_put___java_nio_ByteBuffer]
+ XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "put", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 788)
+ if (_r3.o != _r2.o) goto label8;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 789)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 791)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_nio_Buffer_remaining__(_r3.o);
+ XMLVM_CHECK_NPE(2)
+ _r1.i = java_nio_Buffer_remaining__(_r2.o);
+ if (_r0.i <= _r1.i) goto label24;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 792)
+
+
+ // Red class access removed: java.nio.BufferOverflowException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.BufferOverflowException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label24:;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 794)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_nio_Buffer_remaining__(_r3.o);
+ XMLVM_CLASS_INIT(byte)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r0.i);
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 795)
+ XMLVM_CHECK_NPE(3)
+ java_nio_ByteBuffer_get___byte_1ARRAY(_r3.o, _r0.o);
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 796)
+ XMLVM_CHECK_NPE(2)
+ java_nio_ByteBuffer_put___byte_1ARRAY(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 797)
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ByteBuffer_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_toString__]
+ XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 1050)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 1051)
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(2)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r2.o)->tib->vtable[3])(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_Class_getName__(_r1.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 1052)
+ // ", status: capacity="
+ _r1.o = xmlvm_create_java_string_from_pool(719);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 1053)
+ XMLVM_CHECK_NPE(2)
+ _r1.i = java_nio_Buffer_capacity__(_r2.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___int(_r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 1054)
+ // " position="
+ _r1.o = xmlvm_create_java_string_from_pool(720);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 1055)
+ XMLVM_CHECK_NPE(2)
+ _r1.i = java_nio_Buffer_position__(_r2.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___int(_r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 1056)
+ // " limit="
+ _r1.o = xmlvm_create_java_string_from_pool(721);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 1057)
+ XMLVM_CHECK_NPE(2)
+ _r1.i = java_nio_Buffer_limit__(_r2.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___int(_r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 1058)
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_nio_ByteBuffer_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ByteBuffer_compareTo___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.nio.ByteBuffer", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ByteBuffer.java", 1)
+ _r2.o = _r2.o;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_nio_ByteBuffer_compareTo___java_nio_ByteBuffer(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_nio_ByteBuffer.h b/tests/nbody-java/java_nio_ByteBuffer.h
new file mode 100644
index 00000000..ac98a7e4
--- /dev/null
+++ b/tests/nbody-java/java_nio_ByteBuffer.h
@@ -0,0 +1,249 @@
+#ifndef __JAVA_NIO_BYTEBUFFER__
+#define __JAVA_NIO_BYTEBUFFER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_nio_ByteBuffer 8
+// Implemented interfaces:
+#include "java_lang_Comparable.h"
+// Super Class:
+#include "java_nio_Buffer.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+#define XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+XMLVM_FORWARD_DECL(java_lang_IndexOutOfBoundsException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_BufferFactory
+#define XMLVM_FORWARD_DECL_java_nio_BufferFactory
+XMLVM_FORWARD_DECL(java_nio_BufferFactory)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_CharBuffer
+#define XMLVM_FORWARD_DECL_java_nio_CharBuffer
+XMLVM_FORWARD_DECL(java_nio_CharBuffer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_Endianness
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_Endianness
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_platform_Endianness)
+#endif
+// Class declarations for java.nio.ByteBuffer
+XMLVM_DEFINE_CLASS(java_nio_ByteBuffer, 55, XMLVM_ITABLE_SIZE_java_nio_ByteBuffer)
+
+extern JAVA_OBJECT __CLASS_java_nio_ByteBuffer;
+extern JAVA_OBJECT __CLASS_java_nio_ByteBuffer_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_ByteBuffer_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_ByteBuffer_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_nio_ByteBuffer
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_nio_ByteBuffer \
+ __INSTANCE_FIELDS_java_nio_Buffer; \
+ struct { \
+ JAVA_OBJECT order_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_nio_ByteBuffer \
+ } java_nio_ByteBuffer
+
+struct java_nio_ByteBuffer {
+ __TIB_DEFINITION_java_nio_ByteBuffer* tib;
+ struct {
+ __INSTANCE_FIELDS_java_nio_ByteBuffer;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_nio_ByteBuffer
+#define XMLVM_FORWARD_DECL_java_nio_ByteBuffer
+typedef struct java_nio_ByteBuffer java_nio_ByteBuffer;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_nio_ByteBuffer 55
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_array__ 7
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_arrayOffset__ 6
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_asCharBuffer__ 11
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_asDoubleBuffer__ 12
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_asFloatBuffer__ 13
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_asIntBuffer__ 14
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_asLongBuffer__ 15
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_asReadOnlyBuffer__ 16
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_asShortBuffer__ 17
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_compact__ 18
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_duplicate__ 20
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_get__ 33
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_get___byte_1ARRAY_int_int 34
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_get___int 35
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_getChar__ 21
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_getChar___int 22
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_getDouble__ 23
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_getDouble___int 24
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_getFloat__ 25
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_getFloat___int 26
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_getInt__ 27
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_getInt___int 28
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_getLong__ 29
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_getLong___int 30
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_getShort__ 31
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_getShort___int 32
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_hasArray__ 8
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_isDirect__ 9
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_protectedArray__ 37
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_protectedArrayOffset__ 36
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_protectedHasArray__ 38
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_put___byte 51
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_put___byte_1ARRAY_int_int 52
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_put___int_byte 53
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_putChar___char 39
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_putChar___int_char 40
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_putDouble___double 41
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_putDouble___int_double 42
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_putFloat___float 43
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_putFloat___int_float 44
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_putInt___int 45
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_putInt___int_int 46
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_putLong___long 48
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_putLong___int_long 47
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_putShort___short 50
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_putShort___int_short 49
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_slice__ 54
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_toString__ 5
+#define XMLVM_VTABLE_IDX_java_nio_ByteBuffer_compareTo___java_lang_Object 19
+
+void __INIT_java_nio_ByteBuffer();
+void __INIT_IMPL_java_nio_ByteBuffer();
+void __DELETE_java_nio_ByteBuffer(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_nio_ByteBuffer(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_nio_ByteBuffer();
+JAVA_OBJECT __NEW_INSTANCE_java_nio_ByteBuffer();
+JAVA_OBJECT java_nio_ByteBuffer_allocate___int(JAVA_INT n1);
+JAVA_OBJECT java_nio_ByteBuffer_allocateDirect___int(JAVA_INT n1);
+JAVA_OBJECT java_nio_ByteBuffer_wrap___byte_1ARRAY(JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_ByteBuffer_wrap___byte_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+void java_nio_ByteBuffer___INIT____int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 7
+JAVA_OBJECT java_nio_ByteBuffer_array__(JAVA_OBJECT me);
+// Vtable index: 6
+JAVA_INT java_nio_ByteBuffer_arrayOffset__(JAVA_OBJECT me);
+// Vtable index: 11
+JAVA_OBJECT java_nio_ByteBuffer_asCharBuffer__(JAVA_OBJECT me);
+// Vtable index: 12
+JAVA_OBJECT java_nio_ByteBuffer_asDoubleBuffer__(JAVA_OBJECT me);
+// Vtable index: 13
+JAVA_OBJECT java_nio_ByteBuffer_asFloatBuffer__(JAVA_OBJECT me);
+// Vtable index: 14
+JAVA_OBJECT java_nio_ByteBuffer_asIntBuffer__(JAVA_OBJECT me);
+// Vtable index: 15
+JAVA_OBJECT java_nio_ByteBuffer_asLongBuffer__(JAVA_OBJECT me);
+// Vtable index: 16
+JAVA_OBJECT java_nio_ByteBuffer_asReadOnlyBuffer__(JAVA_OBJECT me);
+// Vtable index: 17
+JAVA_OBJECT java_nio_ByteBuffer_asShortBuffer__(JAVA_OBJECT me);
+// Vtable index: 18
+JAVA_OBJECT java_nio_ByteBuffer_compact__(JAVA_OBJECT me);
+JAVA_INT java_nio_ByteBuffer_compareTo___java_nio_ByteBuffer(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 20
+JAVA_OBJECT java_nio_ByteBuffer_duplicate__(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_nio_ByteBuffer_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 33
+JAVA_BYTE java_nio_ByteBuffer_get__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_ByteBuffer_get___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 34
+JAVA_OBJECT java_nio_ByteBuffer_get___byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+// Vtable index: 35
+JAVA_BYTE java_nio_ByteBuffer_get___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 21
+JAVA_CHAR java_nio_ByteBuffer_getChar__(JAVA_OBJECT me);
+// Vtable index: 22
+JAVA_CHAR java_nio_ByteBuffer_getChar___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 23
+JAVA_DOUBLE java_nio_ByteBuffer_getDouble__(JAVA_OBJECT me);
+// Vtable index: 24
+JAVA_DOUBLE java_nio_ByteBuffer_getDouble___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 25
+JAVA_FLOAT java_nio_ByteBuffer_getFloat__(JAVA_OBJECT me);
+// Vtable index: 26
+JAVA_FLOAT java_nio_ByteBuffer_getFloat___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 27
+JAVA_INT java_nio_ByteBuffer_getInt__(JAVA_OBJECT me);
+// Vtable index: 28
+JAVA_INT java_nio_ByteBuffer_getInt___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 29
+JAVA_LONG java_nio_ByteBuffer_getLong__(JAVA_OBJECT me);
+// Vtable index: 30
+JAVA_LONG java_nio_ByteBuffer_getLong___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 31
+JAVA_SHORT java_nio_ByteBuffer_getShort__(JAVA_OBJECT me);
+// Vtable index: 32
+JAVA_SHORT java_nio_ByteBuffer_getShort___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 8
+JAVA_BOOLEAN java_nio_ByteBuffer_hasArray__(JAVA_OBJECT me);
+// Vtable index: 4
+JAVA_INT java_nio_ByteBuffer_hashCode__(JAVA_OBJECT me);
+// Vtable index: 9
+JAVA_BOOLEAN java_nio_ByteBuffer_isDirect__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_ByteBuffer_order__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_ByteBuffer_order___java_nio_ByteOrder(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_ByteBuffer_orderImpl___java_nio_ByteOrder(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 37
+JAVA_OBJECT java_nio_ByteBuffer_protectedArray__(JAVA_OBJECT me);
+// Vtable index: 36
+JAVA_INT java_nio_ByteBuffer_protectedArrayOffset__(JAVA_OBJECT me);
+// Vtable index: 38
+JAVA_BOOLEAN java_nio_ByteBuffer_protectedHasArray__(JAVA_OBJECT me);
+// Vtable index: 51
+JAVA_OBJECT java_nio_ByteBuffer_put___byte(JAVA_OBJECT me, JAVA_BYTE n1);
+JAVA_OBJECT java_nio_ByteBuffer_put___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 52
+JAVA_OBJECT java_nio_ByteBuffer_put___byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+JAVA_OBJECT java_nio_ByteBuffer_put___java_nio_ByteBuffer(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 53
+JAVA_OBJECT java_nio_ByteBuffer_put___int_byte(JAVA_OBJECT me, JAVA_INT n1, JAVA_BYTE n2);
+// Vtable index: 39
+JAVA_OBJECT java_nio_ByteBuffer_putChar___char(JAVA_OBJECT me, JAVA_CHAR n1);
+// Vtable index: 40
+JAVA_OBJECT java_nio_ByteBuffer_putChar___int_char(JAVA_OBJECT me, JAVA_INT n1, JAVA_CHAR n2);
+// Vtable index: 41
+JAVA_OBJECT java_nio_ByteBuffer_putDouble___double(JAVA_OBJECT me, JAVA_DOUBLE n1);
+// Vtable index: 42
+JAVA_OBJECT java_nio_ByteBuffer_putDouble___int_double(JAVA_OBJECT me, JAVA_INT n1, JAVA_DOUBLE n2);
+// Vtable index: 43
+JAVA_OBJECT java_nio_ByteBuffer_putFloat___float(JAVA_OBJECT me, JAVA_FLOAT n1);
+// Vtable index: 44
+JAVA_OBJECT java_nio_ByteBuffer_putFloat___int_float(JAVA_OBJECT me, JAVA_INT n1, JAVA_FLOAT n2);
+// Vtable index: 45
+JAVA_OBJECT java_nio_ByteBuffer_putInt___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 46
+JAVA_OBJECT java_nio_ByteBuffer_putInt___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2);
+// Vtable index: 48
+JAVA_OBJECT java_nio_ByteBuffer_putLong___long(JAVA_OBJECT me, JAVA_LONG n1);
+// Vtable index: 47
+JAVA_OBJECT java_nio_ByteBuffer_putLong___int_long(JAVA_OBJECT me, JAVA_INT n1, JAVA_LONG n2);
+// Vtable index: 50
+JAVA_OBJECT java_nio_ByteBuffer_putShort___short(JAVA_OBJECT me, JAVA_SHORT n1);
+// Vtable index: 49
+JAVA_OBJECT java_nio_ByteBuffer_putShort___int_short(JAVA_OBJECT me, JAVA_INT n1, JAVA_SHORT n2);
+// Vtable index: 54
+JAVA_OBJECT java_nio_ByteBuffer_slice__(JAVA_OBJECT me);
+// Vtable index: 5
+JAVA_OBJECT java_nio_ByteBuffer_toString__(JAVA_OBJECT me);
+// Vtable index: 19
+JAVA_INT java_nio_ByteBuffer_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_nio_CharArrayBuffer.c b/tests/nbody-java/java_nio_CharArrayBuffer.c
new file mode 100644
index 00000000..08aca6cb
--- /dev/null
+++ b/tests/nbody-java/java_nio_CharArrayBuffer.c
@@ -0,0 +1,509 @@
+#include "xmlvm.h"
+#include "java_lang_CharSequence.h"
+#include "java_lang_IndexOutOfBoundsException.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+#include "java_lang_System.h"
+
+#include "java_nio_CharArrayBuffer.h"
+
+#define XMLVM_CURRENT_CLASS_NAME CharArrayBuffer
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_nio_CharArrayBuffer
+
+__TIB_DEFINITION_java_nio_CharArrayBuffer __TIB_java_nio_CharArrayBuffer = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_nio_CharArrayBuffer, // classInitializer
+ "java.nio.CharArrayBuffer", // className
+ "java.nio", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_CharBuffer, // extends
+ sizeof(java_nio_CharArrayBuffer), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_nio_CharArrayBuffer;
+JAVA_OBJECT __CLASS_java_nio_CharArrayBuffer_1ARRAY;
+JAVA_OBJECT __CLASS_java_nio_CharArrayBuffer_2ARRAY;
+JAVA_OBJECT __CLASS_java_nio_CharArrayBuffer_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_nio_CharArrayBuffer()
+{
+ staticInitializerLock(&__TIB_java_nio_CharArrayBuffer);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_nio_CharArrayBuffer.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_nio_CharArrayBuffer.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_nio_CharArrayBuffer);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_nio_CharArrayBuffer.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_nio_CharArrayBuffer.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_nio_CharArrayBuffer.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.nio.CharArrayBuffer")
+ __INIT_IMPL_java_nio_CharArrayBuffer();
+ }
+}
+
+void __INIT_IMPL_java_nio_CharArrayBuffer()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_nio_CharBuffer)
+ __TIB_java_nio_CharArrayBuffer.newInstanceFunc = __NEW_INSTANCE_java_nio_CharArrayBuffer;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_nio_CharArrayBuffer.vtable, __TIB_java_nio_CharBuffer.vtable, sizeof(__TIB_java_nio_CharBuffer.vtable));
+ // Initialize vtable for this class
+ __TIB_java_nio_CharArrayBuffer.vtable[19] = (VTABLE_PTR) &java_nio_CharArrayBuffer_get__;
+ __TIB_java_nio_CharArrayBuffer.vtable[21] = (VTABLE_PTR) &java_nio_CharArrayBuffer_get___int;
+ __TIB_java_nio_CharArrayBuffer.vtable[20] = (VTABLE_PTR) &java_nio_CharArrayBuffer_get___char_1ARRAY_int_int;
+ __TIB_java_nio_CharArrayBuffer.vtable[9] = (VTABLE_PTR) &java_nio_CharArrayBuffer_isDirect__;
+ __TIB_java_nio_CharArrayBuffer.vtable[23] = (VTABLE_PTR) &java_nio_CharArrayBuffer_order__;
+ __TIB_java_nio_CharArrayBuffer.vtable[32] = (VTABLE_PTR) &java_nio_CharArrayBuffer_subSequence___int_int;
+ __TIB_java_nio_CharArrayBuffer.vtable[5] = (VTABLE_PTR) &java_nio_CharArrayBuffer_toString__;
+ // Initialize interface information
+ __TIB_java_nio_CharArrayBuffer.numImplementedInterfaces = 4;
+ __TIB_java_nio_CharArrayBuffer.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 4);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_lang_Appendable)
+
+ __TIB_java_nio_CharArrayBuffer.implementedInterfaces[0][0] = &__TIB_java_lang_Appendable;
+
+ XMLVM_CLASS_INIT(java_lang_CharSequence)
+
+ __TIB_java_nio_CharArrayBuffer.implementedInterfaces[0][1] = &__TIB_java_lang_CharSequence;
+
+ XMLVM_CLASS_INIT(java_lang_Comparable)
+
+ __TIB_java_nio_CharArrayBuffer.implementedInterfaces[0][2] = &__TIB_java_lang_Comparable;
+
+ XMLVM_CLASS_INIT(java_lang_Readable)
+
+ __TIB_java_nio_CharArrayBuffer.implementedInterfaces[0][3] = &__TIB_java_lang_Readable;
+ // Initialize itable for this class
+ __TIB_java_nio_CharArrayBuffer.itableBegin = &__TIB_java_nio_CharArrayBuffer.itable[0];
+ __TIB_java_nio_CharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Appendable_append___char] = __TIB_java_nio_CharArrayBuffer.vtable[11];
+ __TIB_java_nio_CharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Appendable_append___java_lang_CharSequence] = __TIB_java_nio_CharArrayBuffer.vtable[12];
+ __TIB_java_nio_CharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Appendable_append___java_lang_CharSequence_int_int] = __TIB_java_nio_CharArrayBuffer.vtable[13];
+ __TIB_java_nio_CharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_charAt___int] = __TIB_java_nio_CharArrayBuffer.vtable[15];
+ __TIB_java_nio_CharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__] = __TIB_java_nio_CharArrayBuffer.vtable[22];
+ __TIB_java_nio_CharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_subSequence___int_int] = __TIB_java_nio_CharArrayBuffer.vtable[32];
+ __TIB_java_nio_CharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_toString__] = __TIB_java_nio_CharArrayBuffer.vtable[5];
+ __TIB_java_nio_CharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_nio_CharArrayBuffer.vtable[17];
+ __TIB_java_nio_CharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Readable_read___java_nio_CharBuffer] = __TIB_java_nio_CharArrayBuffer.vtable[30];
+
+
+ __TIB_java_nio_CharArrayBuffer.declaredFields = &__field_reflection_data[0];
+ __TIB_java_nio_CharArrayBuffer.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_nio_CharArrayBuffer.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_nio_CharArrayBuffer.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_nio_CharArrayBuffer.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_nio_CharArrayBuffer.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_nio_CharArrayBuffer.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_nio_CharArrayBuffer.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_nio_CharArrayBuffer = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_nio_CharArrayBuffer);
+ __TIB_java_nio_CharArrayBuffer.clazz = __CLASS_java_nio_CharArrayBuffer;
+ __TIB_java_nio_CharArrayBuffer.baseType = JAVA_NULL;
+ __CLASS_java_nio_CharArrayBuffer_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_CharArrayBuffer);
+ __CLASS_java_nio_CharArrayBuffer_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_CharArrayBuffer_1ARRAY);
+ __CLASS_java_nio_CharArrayBuffer_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_CharArrayBuffer_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_nio_CharArrayBuffer]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_nio_CharArrayBuffer.classInitialized = 1;
+}
+
+void __DELETE_java_nio_CharArrayBuffer(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_nio_CharArrayBuffer]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_nio_CharArrayBuffer(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_nio_CharBuffer(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_nio_CharArrayBuffer*) me)->fields.java_nio_CharArrayBuffer.backingArray_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ ((java_nio_CharArrayBuffer*) me)->fields.java_nio_CharArrayBuffer.offset_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_nio_CharArrayBuffer]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_nio_CharArrayBuffer()
+{ XMLVM_CLASS_INIT(java_nio_CharArrayBuffer)
+java_nio_CharArrayBuffer* me = (java_nio_CharArrayBuffer*) XMLVM_MALLOC(sizeof(java_nio_CharArrayBuffer));
+ me->tib = &__TIB_java_nio_CharArrayBuffer;
+ __INIT_INSTANCE_MEMBERS_java_nio_CharArrayBuffer(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_nio_CharArrayBuffer]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_nio_CharArrayBuffer()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+void java_nio_CharArrayBuffer___INIT____char_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharArrayBuffer___INIT____char_1ARRAY]
+ XMLVM_ENTER_METHOD("java.nio.CharArrayBuffer", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 39)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(2)
+ java_nio_CharArrayBuffer___INIT____int_char_1ARRAY_int(_r2.o, _r0.i, _r3.o, _r1.i);
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 40)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_CharArrayBuffer___INIT____int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharArrayBuffer___INIT____int]
+ XMLVM_ENTER_METHOD("java.nio.CharArrayBuffer", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.i = n1;
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 43)
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r3.i);
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(2)
+ java_nio_CharArrayBuffer___INIT____int_char_1ARRAY_int(_r2.o, _r3.i, _r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 44)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_CharArrayBuffer___INIT____int_char_1ARRAY_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharArrayBuffer___INIT____int_char_1ARRAY_int]
+ XMLVM_ENTER_METHOD("java.nio.CharArrayBuffer", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r0.o = me;
+ _r1.i = n1;
+ _r2.o = n2;
+ _r3.i = n3;
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 47)
+ XMLVM_CHECK_NPE(0)
+ java_nio_CharBuffer___INIT____int(_r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 48)
+ XMLVM_CHECK_NPE(0)
+ ((java_nio_CharArrayBuffer*) _r0.o)->fields.java_nio_CharArrayBuffer.backingArray_ = _r2.o;
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 49)
+ XMLVM_CHECK_NPE(0)
+ ((java_nio_CharArrayBuffer*) _r0.o)->fields.java_nio_CharArrayBuffer.offset_ = _r3.i;
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 50)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_CHAR java_nio_CharArrayBuffer_get__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharArrayBuffer_get__]
+ XMLVM_ENTER_METHOD("java.nio.CharArrayBuffer", "get", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 54)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.position_;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.limit_;
+ if (_r0.i != _r1.i) goto label12;
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 55)
+
+
+ // Red class access removed: java.nio.BufferUnderflowException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.BufferUnderflowException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label12:;
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 57)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_nio_CharArrayBuffer*) _r4.o)->fields.java_nio_CharArrayBuffer.backingArray_;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_nio_CharArrayBuffer*) _r4.o)->fields.java_nio_CharArrayBuffer.offset_;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.position_;
+ _r3.i = _r2.i + 1;
+ XMLVM_CHECK_NPE(4)
+ ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.position_ = _r3.i;
+ _r1.i = _r1.i + _r2.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_CHAR java_nio_CharArrayBuffer_get___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharArrayBuffer_get___int]
+ XMLVM_ENTER_METHOD("java.nio.CharArrayBuffer", "get", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.i = n1;
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 62)
+ if (_r3.i < 0) goto label6;
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.limit_;
+ if (_r3.i < _r0.i) goto label12;
+ label6:;
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 63)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label12:;
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 65)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_nio_CharArrayBuffer*) _r2.o)->fields.java_nio_CharArrayBuffer.backingArray_;
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_nio_CharArrayBuffer*) _r2.o)->fields.java_nio_CharArrayBuffer.offset_;
+ _r1.i = _r1.i + _r3.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_CharArrayBuffer_get___char_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharArrayBuffer_get___char_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.nio.CharArrayBuffer", "get", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r5.o = me;
+ _r6.o = n1;
+ _r7.i = n2;
+ _r8.i = n3;
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 70)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 71)
+ if (_r7.i < 0) goto label13;
+ if (_r8.i < 0) goto label13;
+ _r1.l = (JAVA_LONG) _r7.i;
+ _r3.l = (JAVA_LONG) _r8.i;
+ _r1.l = _r1.l + _r3.l;
+ _r3.l = (JAVA_LONG) _r0.i;
+ _r0.i = _r1.l > _r3.l ? 1 : (_r1.l == _r3.l ? 0 : -1);
+ if (_r0.i <= 0) goto label19;
+ label13:;
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 72)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label19:;
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 74)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = java_nio_Buffer_remaining__(_r5.o);
+ if (_r8.i <= _r0.i) goto label31;
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 75)
+
+
+ // Red class access removed: java.nio.BufferUnderflowException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.BufferUnderflowException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label31:;
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 77)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_nio_CharArrayBuffer*) _r5.o)->fields.java_nio_CharArrayBuffer.backingArray_;
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_nio_CharArrayBuffer*) _r5.o)->fields.java_nio_CharArrayBuffer.offset_;
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.position_;
+ _r1.i = _r1.i + _r2.i;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r6.o, _r7.i, _r8.i);
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 78)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.position_;
+ _r0.i = _r0.i + _r8.i;
+ XMLVM_CHECK_NPE(5)
+ ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.position_ = _r0.i;
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 79)
+ XMLVM_EXIT_METHOD()
+ return _r5.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_CharArrayBuffer_isDirect__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharArrayBuffer_isDirect__]
+ XMLVM_ENTER_METHOD("java.nio.CharArrayBuffer", "isDirect", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 84)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_CharArrayBuffer_order__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharArrayBuffer_order__]
+ XMLVM_ENTER_METHOD("java.nio.CharArrayBuffer", "order", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 89)
+
+
+ // Red class access removed: java.nio.ByteOrder::nativeOrder
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_CharArrayBuffer_subSequence___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharArrayBuffer_subSequence___int_int]
+ XMLVM_ENTER_METHOD("java.nio.CharArrayBuffer", "subSequence", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.i = n1;
+ _r4.i = n2;
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 94)
+ if (_r3.i < 0) goto label10;
+ if (_r4.i < _r3.i) goto label10;
+ XMLVM_CHECK_NPE(2)
+ _r0.i = java_nio_Buffer_remaining__(_r2.o);
+ if (_r4.i <= _r0.i) goto label16;
+ label10:;
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 95)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label16:;
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 98)
+ //java_nio_CharArrayBuffer_duplicate__[18]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_nio_CharArrayBuffer*) _r2.o)->tib->vtable[18])(_r2.o);
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 99)
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.position_;
+ _r1.i = _r1.i + _r4.i;
+ XMLVM_CHECK_NPE(0)
+ java_nio_Buffer_limit___int(_r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 100)
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.position_;
+ _r1.i = _r1.i + _r3.i;
+ XMLVM_CHECK_NPE(0)
+ java_nio_Buffer_position___int(_r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 101)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_CharArrayBuffer_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharArrayBuffer_toString__]
+ XMLVM_ENTER_METHOD("java.nio.CharArrayBuffer", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("CharArrayBuffer.java", 106)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_nio_CharArrayBuffer*) _r3.o)->fields.java_nio_CharArrayBuffer.backingArray_;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_nio_CharArrayBuffer*) _r3.o)->fields.java_nio_CharArrayBuffer.offset_;
+ XMLVM_CHECK_NPE(3)
+ _r2.i = ((java_nio_Buffer*) _r3.o)->fields.java_nio_Buffer.position_;
+ _r1.i = _r1.i + _r2.i;
+ XMLVM_CHECK_NPE(3)
+ _r2.i = java_nio_Buffer_remaining__(_r3.o);
+ _r0.o = java_lang_String_copyValueOf___char_1ARRAY_int_int(_r0.o, _r1.i, _r2.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_nio_CharArrayBuffer.h b/tests/nbody-java/java_nio_CharArrayBuffer.h
new file mode 100644
index 00000000..04883471
--- /dev/null
+++ b/tests/nbody-java/java_nio_CharArrayBuffer.h
@@ -0,0 +1,96 @@
+#ifndef __JAVA_NIO_CHARARRAYBUFFER__
+#define __JAVA_NIO_CHARARRAYBUFFER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_nio_CharArrayBuffer 9
+// Implemented interfaces:
+// Super Class:
+#include "java_nio_CharBuffer.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_CharSequence
+#define XMLVM_FORWARD_DECL_java_lang_CharSequence
+XMLVM_FORWARD_DECL(java_lang_CharSequence)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+#define XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+XMLVM_FORWARD_DECL(java_lang_IndexOutOfBoundsException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+// Class declarations for java.nio.CharArrayBuffer
+XMLVM_DEFINE_CLASS(java_nio_CharArrayBuffer, 33, XMLVM_ITABLE_SIZE_java_nio_CharArrayBuffer)
+
+extern JAVA_OBJECT __CLASS_java_nio_CharArrayBuffer;
+extern JAVA_OBJECT __CLASS_java_nio_CharArrayBuffer_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_CharArrayBuffer_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_CharArrayBuffer_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_nio_CharArrayBuffer
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_nio_CharArrayBuffer \
+ __INSTANCE_FIELDS_java_nio_CharBuffer; \
+ struct { \
+ JAVA_OBJECT backingArray_; \
+ JAVA_INT offset_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_nio_CharArrayBuffer \
+ } java_nio_CharArrayBuffer
+
+struct java_nio_CharArrayBuffer {
+ __TIB_DEFINITION_java_nio_CharArrayBuffer* tib;
+ struct {
+ __INSTANCE_FIELDS_java_nio_CharArrayBuffer;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_nio_CharArrayBuffer
+#define XMLVM_FORWARD_DECL_java_nio_CharArrayBuffer
+typedef struct java_nio_CharArrayBuffer java_nio_CharArrayBuffer;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_nio_CharArrayBuffer 33
+#define XMLVM_VTABLE_IDX_java_nio_CharArrayBuffer_get__ 19
+#define XMLVM_VTABLE_IDX_java_nio_CharArrayBuffer_get___int 21
+#define XMLVM_VTABLE_IDX_java_nio_CharArrayBuffer_get___char_1ARRAY_int_int 20
+#define XMLVM_VTABLE_IDX_java_nio_CharArrayBuffer_isDirect__ 9
+#define XMLVM_VTABLE_IDX_java_nio_CharArrayBuffer_order__ 23
+#define XMLVM_VTABLE_IDX_java_nio_CharArrayBuffer_subSequence___int_int 32
+#define XMLVM_VTABLE_IDX_java_nio_CharArrayBuffer_toString__ 5
+
+void __INIT_java_nio_CharArrayBuffer();
+void __INIT_IMPL_java_nio_CharArrayBuffer();
+void __DELETE_java_nio_CharArrayBuffer(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_nio_CharArrayBuffer(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_nio_CharArrayBuffer();
+JAVA_OBJECT __NEW_INSTANCE_java_nio_CharArrayBuffer();
+void java_nio_CharArrayBuffer___INIT____char_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_nio_CharArrayBuffer___INIT____int(JAVA_OBJECT me, JAVA_INT n1);
+void java_nio_CharArrayBuffer___INIT____int_char_1ARRAY_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2, JAVA_INT n3);
+// Vtable index: 19
+JAVA_CHAR java_nio_CharArrayBuffer_get__(JAVA_OBJECT me);
+// Vtable index: 21
+JAVA_CHAR java_nio_CharArrayBuffer_get___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 20
+JAVA_OBJECT java_nio_CharArrayBuffer_get___char_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+// Vtable index: 9
+JAVA_BOOLEAN java_nio_CharArrayBuffer_isDirect__(JAVA_OBJECT me);
+// Vtable index: 23
+JAVA_OBJECT java_nio_CharArrayBuffer_order__(JAVA_OBJECT me);
+// Vtable index: 32
+JAVA_OBJECT java_nio_CharArrayBuffer_subSequence___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2);
+// Vtable index: 5
+JAVA_OBJECT java_nio_CharArrayBuffer_toString__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_nio_CharBuffer.c b/tests/nbody-java/java_nio_CharBuffer.c
new file mode 100644
index 00000000..30b589f6
--- /dev/null
+++ b/tests/nbody-java/java_nio_CharBuffer.c
@@ -0,0 +1,1198 @@
+#include "xmlvm.h"
+#include "java_lang_IndexOutOfBoundsException.h"
+#include "java_lang_Math.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_nio_BufferFactory.h"
+
+#include "java_nio_CharBuffer.h"
+
+#define XMLVM_CURRENT_CLASS_NAME CharBuffer
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_nio_CharBuffer
+
+__TIB_DEFINITION_java_nio_CharBuffer __TIB_java_nio_CharBuffer = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_nio_CharBuffer, // classInitializer
+ "java.nio.CharBuffer", // className
+ "java.nio", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "Ljava/nio/Buffer;Ljava/lang/Comparable<Ljava/nio/CharBuffer;>;Ljava/lang/CharSequence;Ljava/lang/Appendable;Ljava/lang/Readable;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_Buffer, // extends
+ sizeof(java_nio_CharBuffer), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_nio_CharBuffer;
+JAVA_OBJECT __CLASS_java_nio_CharBuffer_1ARRAY;
+JAVA_OBJECT __CLASS_java_nio_CharBuffer_2ARRAY;
+JAVA_OBJECT __CLASS_java_nio_CharBuffer_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_nio_CharBuffer()
+{
+ staticInitializerLock(&__TIB_java_nio_CharBuffer);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_nio_CharBuffer.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_nio_CharBuffer.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_nio_CharBuffer);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_nio_CharBuffer.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_nio_CharBuffer.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_nio_CharBuffer.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.nio.CharBuffer")
+ __INIT_IMPL_java_nio_CharBuffer();
+ }
+}
+
+void __INIT_IMPL_java_nio_CharBuffer()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_nio_Buffer)
+ __TIB_java_nio_CharBuffer.newInstanceFunc = __NEW_INSTANCE_java_nio_CharBuffer;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_nio_CharBuffer.vtable, __TIB_java_nio_Buffer.vtable, sizeof(__TIB_java_nio_Buffer.vtable));
+ // Initialize vtable for this class
+ __TIB_java_nio_CharBuffer.vtable[7] = (VTABLE_PTR) &java_nio_CharBuffer_array__;
+ __TIB_java_nio_CharBuffer.vtable[6] = (VTABLE_PTR) &java_nio_CharBuffer_arrayOffset__;
+ __TIB_java_nio_CharBuffer.vtable[15] = (VTABLE_PTR) &java_nio_CharBuffer_charAt___int;
+ __TIB_java_nio_CharBuffer.vtable[1] = (VTABLE_PTR) &java_nio_CharBuffer_equals___java_lang_Object;
+ __TIB_java_nio_CharBuffer.vtable[20] = (VTABLE_PTR) &java_nio_CharBuffer_get___char_1ARRAY_int_int;
+ __TIB_java_nio_CharBuffer.vtable[8] = (VTABLE_PTR) &java_nio_CharBuffer_hasArray__;
+ __TIB_java_nio_CharBuffer.vtable[4] = (VTABLE_PTR) &java_nio_CharBuffer_hashCode__;
+ __TIB_java_nio_CharBuffer.vtable[22] = (VTABLE_PTR) &java_nio_CharBuffer_length__;
+ __TIB_java_nio_CharBuffer.vtable[28] = (VTABLE_PTR) &java_nio_CharBuffer_put___char_1ARRAY_int_int;
+ __TIB_java_nio_CharBuffer.vtable[5] = (VTABLE_PTR) &java_nio_CharBuffer_toString__;
+ __TIB_java_nio_CharBuffer.vtable[11] = (VTABLE_PTR) &java_nio_CharBuffer_append___char;
+ __TIB_java_nio_CharBuffer.vtable[12] = (VTABLE_PTR) &java_nio_CharBuffer_append___java_lang_CharSequence;
+ __TIB_java_nio_CharBuffer.vtable[13] = (VTABLE_PTR) &java_nio_CharBuffer_append___java_lang_CharSequence_int_int;
+ __TIB_java_nio_CharBuffer.vtable[30] = (VTABLE_PTR) &java_nio_CharBuffer_read___java_nio_CharBuffer;
+ __TIB_java_nio_CharBuffer.vtable[17] = (VTABLE_PTR) &java_nio_CharBuffer_compareTo___java_lang_Object;
+ // Initialize interface information
+ __TIB_java_nio_CharBuffer.numImplementedInterfaces = 4;
+ __TIB_java_nio_CharBuffer.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 4);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_lang_Appendable)
+
+ __TIB_java_nio_CharBuffer.implementedInterfaces[0][0] = &__TIB_java_lang_Appendable;
+
+ XMLVM_CLASS_INIT(java_lang_CharSequence)
+
+ __TIB_java_nio_CharBuffer.implementedInterfaces[0][1] = &__TIB_java_lang_CharSequence;
+
+ XMLVM_CLASS_INIT(java_lang_Comparable)
+
+ __TIB_java_nio_CharBuffer.implementedInterfaces[0][2] = &__TIB_java_lang_Comparable;
+
+ XMLVM_CLASS_INIT(java_lang_Readable)
+
+ __TIB_java_nio_CharBuffer.implementedInterfaces[0][3] = &__TIB_java_lang_Readable;
+ // Initialize itable for this class
+ __TIB_java_nio_CharBuffer.itableBegin = &__TIB_java_nio_CharBuffer.itable[0];
+ __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Appendable_append___char] = __TIB_java_nio_CharBuffer.vtable[11];
+ __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Appendable_append___java_lang_CharSequence] = __TIB_java_nio_CharBuffer.vtable[12];
+ __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Appendable_append___java_lang_CharSequence_int_int] = __TIB_java_nio_CharBuffer.vtable[13];
+ __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_charAt___int] = __TIB_java_nio_CharBuffer.vtable[15];
+ __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__] = __TIB_java_nio_CharBuffer.vtable[22];
+ __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_subSequence___int_int] = __TIB_java_nio_CharBuffer.vtable[32];
+ __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_toString__] = __TIB_java_nio_CharBuffer.vtable[5];
+ __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_nio_CharBuffer.vtable[17];
+ __TIB_java_nio_CharBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Readable_read___java_nio_CharBuffer] = __TIB_java_nio_CharBuffer.vtable[30];
+
+
+ __TIB_java_nio_CharBuffer.declaredFields = &__field_reflection_data[0];
+ __TIB_java_nio_CharBuffer.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_nio_CharBuffer.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_nio_CharBuffer.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_nio_CharBuffer.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_nio_CharBuffer.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_nio_CharBuffer.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_nio_CharBuffer.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_nio_CharBuffer = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_nio_CharBuffer);
+ __TIB_java_nio_CharBuffer.clazz = __CLASS_java_nio_CharBuffer;
+ __TIB_java_nio_CharBuffer.baseType = JAVA_NULL;
+ __CLASS_java_nio_CharBuffer_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_CharBuffer);
+ __CLASS_java_nio_CharBuffer_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_CharBuffer_1ARRAY);
+ __CLASS_java_nio_CharBuffer_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_CharBuffer_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_nio_CharBuffer]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_nio_CharBuffer.classInitialized = 1;
+}
+
+void __DELETE_java_nio_CharBuffer(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_nio_CharBuffer]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_nio_CharBuffer(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_nio_Buffer(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_nio_CharBuffer]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_nio_CharBuffer()
+{ XMLVM_CLASS_INIT(java_nio_CharBuffer)
+java_nio_CharBuffer* me = (java_nio_CharBuffer*) XMLVM_MALLOC(sizeof(java_nio_CharBuffer));
+ me->tib = &__TIB_java_nio_CharBuffer;
+ __INIT_INSTANCE_MEMBERS_java_nio_CharBuffer(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_nio_CharBuffer]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_nio_CharBuffer()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_OBJECT java_nio_CharBuffer_allocate___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_CharBuffer)
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_allocate___int]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "allocate", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 50)
+ if (_r1.i >= 0) goto label8;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 51)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 53)
+ _r0.o = java_nio_BufferFactory_newCharBuffer___int(_r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_CharBuffer_wrap___char_1ARRAY(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_CharBuffer)
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_wrap___char_1ARRAY]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "wrap", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 67)
+ _r0.i = 0;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ _r0.o = java_nio_CharBuffer_wrap___char_1ARRAY_int_int(_r2.o, _r0.i, _r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_CharBuffer_wrap___char_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ XMLVM_CLASS_INIT(java_nio_CharBuffer)
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_wrap___char_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "wrap", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r5.o = n1;
+ _r6.i = n2;
+ _r7.i = n3;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 89)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 90)
+ if (_r6.i < 0) goto label13;
+ if (_r7.i < 0) goto label13;
+ _r1.l = (JAVA_LONG) _r6.i;
+ _r3.l = (JAVA_LONG) _r7.i;
+ _r1.l = _r1.l + _r3.l;
+ _r3.l = (JAVA_LONG) _r0.i;
+ _r0.i = _r1.l > _r3.l ? 1 : (_r1.l == _r3.l ? 0 : -1);
+ if (_r0.i <= 0) goto label19;
+ label13:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 91)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label19:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 94)
+ _r0.o = java_nio_BufferFactory_newCharBuffer___char_1ARRAY(_r5.o);
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 95)
+ XMLVM_CHECK_NPE(0)
+ ((java_nio_Buffer*) _r0.o)->fields.java_nio_Buffer.position_ = _r6.i;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 96)
+ _r1.i = _r6.i + _r7.i;
+ XMLVM_CHECK_NPE(0)
+ ((java_nio_Buffer*) _r0.o)->fields.java_nio_Buffer.limit_ = _r1.i;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 98)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_CharBuffer_wrap___java_lang_CharSequence(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_CharBuffer)
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_wrap___java_lang_CharSequence]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "wrap", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 112)
+ _r0.o = java_nio_BufferFactory_newCharBuffer___java_lang_CharSequence(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_CharBuffer_wrap___java_lang_CharSequence_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ XMLVM_CLASS_INIT(java_nio_CharBuffer)
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_wrap___java_lang_CharSequence_int_int]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "wrap", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = n1;
+ _r2.i = n2;
+ _r3.i = n3;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 135)
+ if (_r1.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 136)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 138)
+ if (_r2.i < 0) goto label18;
+ if (_r3.i < _r2.i) goto label18;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__])(_r1.o);
+ if (_r3.i <= _r0.i) goto label24;
+ label18:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 139)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label24:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 142)
+ _r0.o = java_nio_BufferFactory_newCharBuffer___java_lang_CharSequence(_r1.o);
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 143)
+ XMLVM_CHECK_NPE(0)
+ ((java_nio_Buffer*) _r0.o)->fields.java_nio_Buffer.position_ = _r2.i;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 144)
+ XMLVM_CHECK_NPE(0)
+ ((java_nio_Buffer*) _r0.o)->fields.java_nio_Buffer.limit_ = _r3.i;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 145)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_CharBuffer___INIT____int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer___INIT____int]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 155)
+ XMLVM_CHECK_NPE(0)
+ java_nio_Buffer___INIT____int(_r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 156)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_CharBuffer_array__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_array__]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "array", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 168)
+ //java_nio_CharBuffer_protectedArray__[25]
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r1.o)->tib->vtable[25])(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_nio_CharBuffer_arrayOffset__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_arrayOffset__]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "arrayOffset", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 185)
+ //java_nio_CharBuffer_protectedArrayOffset__[24]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r1.o)->tib->vtable[24])(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_CHAR java_nio_CharBuffer_charAt___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_charAt___int]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "charAt", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 217)
+ if (_r2.i < 0) goto label8;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_nio_Buffer_remaining__(_r1.o);
+ if (_r2.i < _r0.i) goto label14;
+ label8:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 218)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label14:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 220)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.position_;
+ _r0.i = _r0.i + _r2.i;
+ //java_nio_CharBuffer_get___int[21]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_CharBuffer*) _r1.o)->tib->vtable[21])(_r1.o, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_nio_CharBuffer_compareTo___java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_compareTo___java_nio_CharBuffer]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 249)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = java_nio_Buffer_remaining__(_r6.o);
+ XMLVM_CHECK_NPE(7)
+ _r1.i = java_nio_Buffer_remaining__(_r7.o);
+ if (_r0.i >= _r1.i) goto label33;
+ XMLVM_CHECK_NPE(6)
+ _r0.i = java_nio_Buffer_remaining__(_r6.o);
+ label14:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 251)
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_nio_Buffer*) _r6.o)->fields.java_nio_Buffer.position_;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 252)
+ XMLVM_CHECK_NPE(7)
+ _r2.i = ((java_nio_Buffer*) _r7.o)->fields.java_nio_Buffer.position_;
+ _r5 = _r2;
+ _r2 = _r0;
+ _r0 = _r5;
+ label21:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 254)
+ if (_r2.i > 0) goto label38;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 264)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = java_nio_Buffer_remaining__(_r6.o);
+ XMLVM_CHECK_NPE(7)
+ _r1.i = java_nio_Buffer_remaining__(_r7.o);
+ _r0.i = _r0.i - _r1.i;
+ label32:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label33:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 250)
+ XMLVM_CHECK_NPE(7)
+ _r0.i = java_nio_Buffer_remaining__(_r7.o);
+ goto label14;
+ label38:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 255)
+ //java_nio_CharBuffer_get___int[21]
+ XMLVM_CHECK_NPE(6)
+ _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_CharBuffer*) _r6.o)->tib->vtable[21])(_r6.o, _r1.i);
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 256)
+ //java_nio_CharBuffer_get___int[21]
+ XMLVM_CHECK_NPE(7)
+ _r4.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_CharBuffer*) _r7.o)->tib->vtable[21])(_r7.o, _r0.i);
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 257)
+ if (_r3.i == _r4.i) goto label54;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 258)
+ if (_r3.i >= _r4.i) goto label52;
+ _r0.i = -1;
+ goto label32;
+ label52:;
+ _r0.i = 1;
+ goto label32;
+ label54:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 260)
+ _r1.i = _r1.i + 1;
+ _r0.i = _r0.i + 1;
+ _r2.i = _r2.i + -1;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 262)
+ goto label21;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_CharBuffer_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ _r5.i = 1;
+ _r4.i = 0;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 296)
+ XMLVM_CLASS_INIT(java_nio_CharBuffer)
+ _r0.i = XMLVM_ISA(_r7.o, __CLASS_java_nio_CharBuffer);
+ if (_r0.i != 0) goto label8;
+ _r0 = _r4;
+ label7:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 297)
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 312)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label8:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 299)
+ _r7.o = _r7.o;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 301)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = java_nio_Buffer_remaining__(_r6.o);
+ XMLVM_CHECK_NPE(7)
+ _r1.i = java_nio_Buffer_remaining__(_r7.o);
+ if (_r0.i == _r1.i) goto label22;
+ _r0 = _r4;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 302)
+ goto label7;
+ label22:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 305)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_nio_Buffer*) _r6.o)->fields.java_nio_Buffer.position_;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 306)
+ XMLVM_CHECK_NPE(7)
+ _r1.i = ((java_nio_Buffer*) _r7.o)->fields.java_nio_Buffer.position_;
+ _r2 = _r0;
+ _r0 = _r5;
+ label28:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 308)
+ if (_r0.i == 0) goto label7;
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_nio_Buffer*) _r6.o)->fields.java_nio_Buffer.limit_;
+ if (_r2.i >= _r3.i) goto label7;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 309)
+ _r0.i = _r2.i + 1;
+ //java_nio_CharBuffer_get___int[21]
+ XMLVM_CHECK_NPE(6)
+ _r2.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_CharBuffer*) _r6.o)->tib->vtable[21])(_r6.o, _r2.i);
+ _r3.i = _r1.i + 1;
+ //java_nio_CharBuffer_get___int[21]
+ XMLVM_CHECK_NPE(7)
+ _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_CharBuffer*) _r7.o)->tib->vtable[21])(_r7.o, _r1.i);
+ if (_r2.i != _r1.i) goto label53;
+ _r1 = _r5;
+ label49:;
+ _r2 = _r0;
+ _r0 = _r1;
+ _r1 = _r3;
+ goto label28;
+ label53:;
+ _r1 = _r4;
+ goto label49;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_CharBuffer_get___char_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_get___char_1ARRAY]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "get", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 338)
+ _r0.i = 0;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ //java_nio_CharBuffer_get___char_1ARRAY_int_int[20]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_INT, JAVA_INT)) ((java_nio_CharBuffer*) _r2.o)->tib->vtable[20])(_r2.o, _r3.o, _r0.i, _r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_CharBuffer_get___char_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_get___char_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "get", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r5.o = me;
+ _r6.o = n1;
+ _r7.i = n2;
+ _r8.i = n3;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 361)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 362)
+ if (_r7.i < 0) goto label13;
+ if (_r8.i < 0) goto label13;
+ _r1.l = (JAVA_LONG) _r7.i;
+ _r3.l = (JAVA_LONG) _r8.i;
+ _r1.l = _r1.l + _r3.l;
+ _r3.l = (JAVA_LONG) _r0.i;
+ _r0.i = _r1.l > _r3.l ? 1 : (_r1.l == _r3.l ? 0 : -1);
+ if (_r0.i <= 0) goto label19;
+ label13:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 363)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label19:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 366)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = java_nio_Buffer_remaining__(_r5.o);
+ if (_r8.i <= _r0.i) goto label31;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 367)
+
+
+ // Red class access removed: java.nio.BufferUnderflowException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.BufferUnderflowException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label31:;
+ _r0 = _r7;
+ label32:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 369)
+ _r1.i = _r7.i + _r8.i;
+ if (_r0.i < _r1.i) goto label37;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 372)
+ XMLVM_EXIT_METHOD()
+ return _r5.o;
+ label37:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 370)
+ //java_nio_CharBuffer_get__[19]
+ XMLVM_CHECK_NPE(5)
+ _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r5.o)->tib->vtable[19])(_r5.o);
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r0.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r1.i;
+ _r0.i = _r0.i + 1;
+ goto label32;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_CharBuffer_hasArray__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_hasArray__]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "hasArray", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 393)
+ //java_nio_CharBuffer_protectedHasArray__[26]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r1.o)->tib->vtable[26])(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_nio_CharBuffer_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_hashCode__]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 404)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.position_;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 405)
+ _r1.i = 0;
+ _r3 = _r1;
+ _r1 = _r0;
+ _r0 = _r3;
+ label6:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 406)
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.limit_;
+ if (_r1.i < _r2.i) goto label11;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 409)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label11:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 407)
+ _r2.i = _r1.i + 1;
+ //java_nio_CharBuffer_get___int[21]
+ XMLVM_CHECK_NPE(4)
+ _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_CharBuffer*) _r4.o)->tib->vtable[21])(_r4.o, _r1.i);
+ _r0.i = _r0.i + _r1.i;
+ _r1 = _r2;
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_nio_CharBuffer_length__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_length__]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "length", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 430)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_nio_Buffer_remaining__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_CharBuffer_put___char_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_put___char_1ARRAY]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "put", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 496)
+ _r0.i = 0;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ //java_nio_CharBuffer_put___char_1ARRAY_int_int[28]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_INT, JAVA_INT)) ((java_nio_CharBuffer*) _r2.o)->tib->vtable[28])(_r2.o, _r3.o, _r0.i, _r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_CharBuffer_put___char_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_put___char_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "put", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r5.o = me;
+ _r6.o = n1;
+ _r7.i = n2;
+ _r8.i = n3;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 521)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 522)
+ if (_r7.i < 0) goto label13;
+ if (_r8.i < 0) goto label13;
+ _r1.l = (JAVA_LONG) _r7.i;
+ _r3.l = (JAVA_LONG) _r8.i;
+ _r1.l = _r1.l + _r3.l;
+ _r3.l = (JAVA_LONG) _r0.i;
+ _r0.i = _r1.l > _r3.l ? 1 : (_r1.l == _r3.l ? 0 : -1);
+ if (_r0.i <= 0) goto label19;
+ label13:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 523)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label19:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 526)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = java_nio_Buffer_remaining__(_r5.o);
+ if (_r8.i <= _r0.i) goto label31;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 527)
+
+
+ // Red class access removed: java.nio.BufferOverflowException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.BufferOverflowException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label31:;
+ _r0 = _r7;
+ label32:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 529)
+ _r1.i = _r7.i + _r8.i;
+ if (_r0.i < _r1.i) goto label37;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 532)
+ XMLVM_EXIT_METHOD()
+ return _r5.o;
+ label37:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 530)
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r0.i);
+ _r1.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ //java_nio_CharBuffer_put___char[27]
+ XMLVM_CHECK_NPE(5)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_nio_CharBuffer*) _r5.o)->tib->vtable[27])(_r5.o, _r1.i);
+ _r0.i = _r0.i + 1;
+ goto label32;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_CharBuffer_put___java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_put___java_nio_CharBuffer]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "put", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 552)
+ if (_r3.o != _r2.o) goto label8;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 553)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 555)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_nio_Buffer_remaining__(_r3.o);
+ XMLVM_CHECK_NPE(2)
+ _r1.i = java_nio_Buffer_remaining__(_r2.o);
+ if (_r0.i <= _r1.i) goto label24;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 556)
+
+
+ // Red class access removed: java.nio.BufferOverflowException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.BufferOverflowException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label24:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 559)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_nio_Buffer_remaining__(_r3.o);
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 560)
+ XMLVM_CHECK_NPE(3)
+ java_nio_CharBuffer_get___char_1ARRAY(_r3.o, _r0.o);
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 561)
+ XMLVM_CHECK_NPE(2)
+ java_nio_CharBuffer_put___char_1ARRAY(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 562)
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_CharBuffer_put___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_put___java_lang_String]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "put", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 597)
+ _r0.i = 0;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(3)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r3.o)->tib->vtable[8])(_r3.o);
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_nio_CharBuffer_put___java_lang_String_int_int(_r2.o, _r3.o, _r0.i, _r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_CharBuffer_put___java_lang_String_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_put___java_lang_String_int_int]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "put", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.i = n2;
+ _r5.i = n3;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 621)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r3.o)->tib->vtable[8])(_r3.o);
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 622)
+ if (_r4.i < 0) goto label10;
+ if (_r5.i < _r4.i) goto label10;
+ if (_r5.i <= _r0.i) goto label16;
+ label10:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 623)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label16:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 626)
+ _r0.i = _r5.i - _r4.i;
+ XMLVM_CHECK_NPE(2)
+ _r1.i = java_nio_Buffer_remaining__(_r2.o);
+ if (_r0.i <= _r1.i) goto label30;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 627)
+
+
+ // Red class access removed: java.nio.BufferOverflowException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.BufferOverflowException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label30:;
+ _r0 = _r4;
+ label31:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 629)
+ if (_r0.i < _r5.i) goto label34;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 632)
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ label34:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 630)
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(3)
+ _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r3.o)->tib->vtable[6])(_r3.o, _r0.i);
+ //java_nio_CharBuffer_put___char[27]
+ XMLVM_CHECK_NPE(2)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_nio_CharBuffer*) _r2.o)->tib->vtable[27])(_r2.o, _r1.i);
+ _r0.i = _r0.i + 1;
+ goto label31;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_CharBuffer_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_toString__]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 689)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 690)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_nio_Buffer*) _r3.o)->fields.java_nio_Buffer.position_;
+ label7:;
+ XMLVM_CHECK_NPE(3)
+ _r2.i = ((java_nio_Buffer*) _r3.o)->fields.java_nio_Buffer.limit_;
+ if (_r1.i < _r2.i) goto label16;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 693)
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label16:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 691)
+ //java_nio_CharBuffer_get___int[21]
+ XMLVM_CHECK_NPE(3)
+ _r2.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_CharBuffer*) _r3.o)->tib->vtable[21])(_r3.o, _r1.i);
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r2.i);
+ _r1.i = _r1.i + 1;
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_CharBuffer_append___char(JAVA_OBJECT me, JAVA_CHAR n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_append___char]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "append", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 709)
+ //java_nio_CharBuffer_put___char[27]
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_nio_CharBuffer*) _r1.o)->tib->vtable[27])(_r1.o, _r2.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_CharBuffer_append___java_lang_CharSequence(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_append___java_lang_CharSequence]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "append", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 730)
+ if (_r2.o == JAVA_NULL) goto label11;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 731)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_toString__])(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_nio_CharBuffer_put___java_lang_String(_r1.o, _r0.o);
+ label10:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 733)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label11:;
+ // "null"
+ _r0.o = xmlvm_create_java_string_from_pool(63);
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_nio_CharBuffer_put___java_lang_String(_r1.o, _r0.o);
+ goto label10;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_CharBuffer_append___java_lang_CharSequence_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_append___java_lang_CharSequence_int_int]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "append", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.i = n2;
+ _r5.i = n3;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 757)
+ if (_r3.o != JAVA_NULL) goto label25;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 758)
+ // "null"
+ _r0.o = xmlvm_create_java_string_from_pool(63);
+ label4:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 760)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT, JAVA_INT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_subSequence___int_int])(_r0.o, _r4.i, _r5.i);
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 761)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__])(_r0.o);
+ if (_r1.i <= 0) goto label23;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 762)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_CharSequence_toString__])(_r0.o);
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_nio_CharBuffer_put___java_lang_String(_r2.o, _r0.o);
+ label22:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 764)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label23:;
+ _r0 = _r2;
+ goto label22;
+ label25:;
+ _r0 = _r3;
+ goto label4;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_nio_CharBuffer_read___java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_read___java_nio_CharBuffer]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "read", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ _r1.i = -1;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 785)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = java_nio_Buffer_remaining__(_r2.o);
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 786)
+ if (_r3.o != _r2.o) goto label17;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 787)
+ if (_r0.i != 0) goto label11;
+ _r0 = _r1;
+ label10:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 788)
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 801)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label11:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 790)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label17:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 792)
+ if (_r0.i != 0) goto label33;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 793)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.limit_;
+ if (_r0.i <= 0) goto label31;
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_nio_Buffer_remaining__(_r3.o);
+ if (_r0.i != 0) goto label31;
+ _r0.i = 0;
+ goto label10;
+ label31:;
+ _r0 = _r1;
+ goto label10;
+ label33:;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 795)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = java_nio_Buffer_remaining__(_r3.o);
+ _r0.i = java_lang_Math_min___int_int(_r1.i, _r0.i);
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 796)
+ if (_r0.i <= 0) goto label10;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 797)
+ XMLVM_CLASS_INIT(char)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 798)
+ XMLVM_CHECK_NPE(2)
+ java_nio_CharBuffer_get___char_1ARRAY(_r2.o, _r1.o);
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 799)
+ XMLVM_CHECK_NPE(3)
+ java_nio_CharBuffer_put___char_1ARRAY(_r3.o, _r1.o);
+ goto label10;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_nio_CharBuffer_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_CharBuffer_compareTo___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.nio.CharBuffer", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("CharBuffer.java", 1)
+ _r2.o = _r2.o;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_nio_CharBuffer_compareTo___java_nio_CharBuffer(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_nio_CharBuffer.h b/tests/nbody-java/java_nio_CharBuffer.h
new file mode 100644
index 00000000..a3ce2568
--- /dev/null
+++ b/tests/nbody-java/java_nio_CharBuffer.h
@@ -0,0 +1,181 @@
+#ifndef __JAVA_NIO_CHARBUFFER__
+#define __JAVA_NIO_CHARBUFFER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_nio_CharBuffer 9
+// Implemented interfaces:
+#include "java_lang_Appendable.h"
+#include "java_lang_CharSequence.h"
+#include "java_lang_Comparable.h"
+#include "java_lang_Readable.h"
+// Super Class:
+#include "java_nio_Buffer.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+#define XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+XMLVM_FORWARD_DECL(java_lang_IndexOutOfBoundsException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Math
+#define XMLVM_FORWARD_DECL_java_lang_Math
+XMLVM_FORWARD_DECL(java_lang_Math)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_BufferFactory
+#define XMLVM_FORWARD_DECL_java_nio_BufferFactory
+XMLVM_FORWARD_DECL(java_nio_BufferFactory)
+#endif
+// Class declarations for java.nio.CharBuffer
+XMLVM_DEFINE_CLASS(java_nio_CharBuffer, 33, XMLVM_ITABLE_SIZE_java_nio_CharBuffer)
+
+extern JAVA_OBJECT __CLASS_java_nio_CharBuffer;
+extern JAVA_OBJECT __CLASS_java_nio_CharBuffer_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_CharBuffer_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_CharBuffer_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_nio_CharBuffer
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_nio_CharBuffer \
+ __INSTANCE_FIELDS_java_nio_Buffer; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_nio_CharBuffer \
+ } java_nio_CharBuffer
+
+struct java_nio_CharBuffer {
+ __TIB_DEFINITION_java_nio_CharBuffer* tib;
+ struct {
+ __INSTANCE_FIELDS_java_nio_CharBuffer;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_nio_CharBuffer
+#define XMLVM_FORWARD_DECL_java_nio_CharBuffer
+typedef struct java_nio_CharBuffer java_nio_CharBuffer;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_nio_CharBuffer 33
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_array__ 7
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_arrayOffset__ 6
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_asReadOnlyBuffer__ 14
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_charAt___int 15
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_compact__ 16
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_duplicate__ 18
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_get__ 19
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_get___char_1ARRAY_int_int 20
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_get___int 21
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_hasArray__ 8
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_isDirect__ 9
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_length__ 22
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_order__ 23
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_protectedArray__ 25
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_protectedArrayOffset__ 24
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_protectedHasArray__ 26
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_put___char 27
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_put___char_1ARRAY_int_int 28
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_put___int_char 29
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_slice__ 31
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_subSequence___int_int 32
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_toString__ 5
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_append___char 11
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_append___java_lang_CharSequence 12
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_append___java_lang_CharSequence_int_int 13
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_read___java_nio_CharBuffer 30
+#define XMLVM_VTABLE_IDX_java_nio_CharBuffer_compareTo___java_lang_Object 17
+
+void __INIT_java_nio_CharBuffer();
+void __INIT_IMPL_java_nio_CharBuffer();
+void __DELETE_java_nio_CharBuffer(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_nio_CharBuffer(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_nio_CharBuffer();
+JAVA_OBJECT __NEW_INSTANCE_java_nio_CharBuffer();
+JAVA_OBJECT java_nio_CharBuffer_allocate___int(JAVA_INT n1);
+JAVA_OBJECT java_nio_CharBuffer_wrap___char_1ARRAY(JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_CharBuffer_wrap___char_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+JAVA_OBJECT java_nio_CharBuffer_wrap___java_lang_CharSequence(JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_CharBuffer_wrap___java_lang_CharSequence_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+void java_nio_CharBuffer___INIT____int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 7
+JAVA_OBJECT java_nio_CharBuffer_array__(JAVA_OBJECT me);
+// Vtable index: 6
+JAVA_INT java_nio_CharBuffer_arrayOffset__(JAVA_OBJECT me);
+// Vtable index: 14
+JAVA_OBJECT java_nio_CharBuffer_asReadOnlyBuffer__(JAVA_OBJECT me);
+// Vtable index: 15
+JAVA_CHAR java_nio_CharBuffer_charAt___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 16
+JAVA_OBJECT java_nio_CharBuffer_compact__(JAVA_OBJECT me);
+JAVA_INT java_nio_CharBuffer_compareTo___java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 18
+JAVA_OBJECT java_nio_CharBuffer_duplicate__(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_nio_CharBuffer_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 19
+JAVA_CHAR java_nio_CharBuffer_get__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_CharBuffer_get___char_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 20
+JAVA_OBJECT java_nio_CharBuffer_get___char_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+// Vtable index: 21
+JAVA_CHAR java_nio_CharBuffer_get___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 8
+JAVA_BOOLEAN java_nio_CharBuffer_hasArray__(JAVA_OBJECT me);
+// Vtable index: 4
+JAVA_INT java_nio_CharBuffer_hashCode__(JAVA_OBJECT me);
+// Vtable index: 9
+JAVA_BOOLEAN java_nio_CharBuffer_isDirect__(JAVA_OBJECT me);
+// Vtable index: 22
+JAVA_INT java_nio_CharBuffer_length__(JAVA_OBJECT me);
+// Vtable index: 23
+JAVA_OBJECT java_nio_CharBuffer_order__(JAVA_OBJECT me);
+// Vtable index: 25
+JAVA_OBJECT java_nio_CharBuffer_protectedArray__(JAVA_OBJECT me);
+// Vtable index: 24
+JAVA_INT java_nio_CharBuffer_protectedArrayOffset__(JAVA_OBJECT me);
+// Vtable index: 26
+JAVA_BOOLEAN java_nio_CharBuffer_protectedHasArray__(JAVA_OBJECT me);
+// Vtable index: 27
+JAVA_OBJECT java_nio_CharBuffer_put___char(JAVA_OBJECT me, JAVA_CHAR n1);
+JAVA_OBJECT java_nio_CharBuffer_put___char_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 28
+JAVA_OBJECT java_nio_CharBuffer_put___char_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+JAVA_OBJECT java_nio_CharBuffer_put___java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 29
+JAVA_OBJECT java_nio_CharBuffer_put___int_char(JAVA_OBJECT me, JAVA_INT n1, JAVA_CHAR n2);
+JAVA_OBJECT java_nio_CharBuffer_put___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_CharBuffer_put___java_lang_String_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+// Vtable index: 31
+JAVA_OBJECT java_nio_CharBuffer_slice__(JAVA_OBJECT me);
+// Vtable index: 32
+JAVA_OBJECT java_nio_CharBuffer_subSequence___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2);
+// Vtable index: 5
+JAVA_OBJECT java_nio_CharBuffer_toString__(JAVA_OBJECT me);
+// Vtable index: 11
+JAVA_OBJECT java_nio_CharBuffer_append___char(JAVA_OBJECT me, JAVA_CHAR n1);
+// Vtable index: 12
+JAVA_OBJECT java_nio_CharBuffer_append___java_lang_CharSequence(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 13
+JAVA_OBJECT java_nio_CharBuffer_append___java_lang_CharSequence_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+// Vtable index: 30
+JAVA_INT java_nio_CharBuffer_read___java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 17
+JAVA_INT java_nio_CharBuffer_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_nio_HeapByteBuffer.c b/tests/nbody-java/java_nio_HeapByteBuffer.c
new file mode 100644
index 00000000..50aa8f4f
--- /dev/null
+++ b/tests/nbody-java/java_nio_HeapByteBuffer.c
@@ -0,0 +1,1346 @@
+#include "xmlvm.h"
+#include "java_lang_Double.h"
+#include "java_lang_Float.h"
+#include "java_lang_IndexOutOfBoundsException.h"
+#include "java_lang_Object.h"
+#include "java_lang_System.h"
+#include "java_nio_CharBuffer.h"
+#include "org_apache_harmony_luni_platform_Endianness.h"
+
+#include "java_nio_HeapByteBuffer.h"
+
+#define XMLVM_CURRENT_CLASS_NAME HeapByteBuffer
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_nio_HeapByteBuffer
+
+__TIB_DEFINITION_java_nio_HeapByteBuffer __TIB_java_nio_HeapByteBuffer = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_nio_HeapByteBuffer, // classInitializer
+ "java.nio.HeapByteBuffer", // className
+ "java.nio", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_ByteBuffer, // extends
+ sizeof(java_nio_HeapByteBuffer), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_nio_HeapByteBuffer;
+JAVA_OBJECT __CLASS_java_nio_HeapByteBuffer_1ARRAY;
+JAVA_OBJECT __CLASS_java_nio_HeapByteBuffer_2ARRAY;
+JAVA_OBJECT __CLASS_java_nio_HeapByteBuffer_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_nio_HeapByteBuffer()
+{
+ staticInitializerLock(&__TIB_java_nio_HeapByteBuffer);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_nio_HeapByteBuffer.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_nio_HeapByteBuffer.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_nio_HeapByteBuffer);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_nio_HeapByteBuffer.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_nio_HeapByteBuffer.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_nio_HeapByteBuffer.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.nio.HeapByteBuffer")
+ __INIT_IMPL_java_nio_HeapByteBuffer();
+ }
+}
+
+void __INIT_IMPL_java_nio_HeapByteBuffer()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_nio_ByteBuffer)
+ __TIB_java_nio_HeapByteBuffer.newInstanceFunc = __NEW_INSTANCE_java_nio_HeapByteBuffer;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_nio_HeapByteBuffer.vtable, __TIB_java_nio_ByteBuffer.vtable, sizeof(__TIB_java_nio_ByteBuffer.vtable));
+ // Initialize vtable for this class
+ __TIB_java_nio_HeapByteBuffer.vtable[34] = (VTABLE_PTR) &java_nio_HeapByteBuffer_get___byte_1ARRAY_int_int;
+ __TIB_java_nio_HeapByteBuffer.vtable[33] = (VTABLE_PTR) &java_nio_HeapByteBuffer_get__;
+ __TIB_java_nio_HeapByteBuffer.vtable[35] = (VTABLE_PTR) &java_nio_HeapByteBuffer_get___int;
+ __TIB_java_nio_HeapByteBuffer.vtable[23] = (VTABLE_PTR) &java_nio_HeapByteBuffer_getDouble__;
+ __TIB_java_nio_HeapByteBuffer.vtable[24] = (VTABLE_PTR) &java_nio_HeapByteBuffer_getDouble___int;
+ __TIB_java_nio_HeapByteBuffer.vtable[25] = (VTABLE_PTR) &java_nio_HeapByteBuffer_getFloat__;
+ __TIB_java_nio_HeapByteBuffer.vtable[26] = (VTABLE_PTR) &java_nio_HeapByteBuffer_getFloat___int;
+ __TIB_java_nio_HeapByteBuffer.vtable[27] = (VTABLE_PTR) &java_nio_HeapByteBuffer_getInt__;
+ __TIB_java_nio_HeapByteBuffer.vtable[28] = (VTABLE_PTR) &java_nio_HeapByteBuffer_getInt___int;
+ __TIB_java_nio_HeapByteBuffer.vtable[29] = (VTABLE_PTR) &java_nio_HeapByteBuffer_getLong__;
+ __TIB_java_nio_HeapByteBuffer.vtable[30] = (VTABLE_PTR) &java_nio_HeapByteBuffer_getLong___int;
+ __TIB_java_nio_HeapByteBuffer.vtable[31] = (VTABLE_PTR) &java_nio_HeapByteBuffer_getShort__;
+ __TIB_java_nio_HeapByteBuffer.vtable[32] = (VTABLE_PTR) &java_nio_HeapByteBuffer_getShort___int;
+ __TIB_java_nio_HeapByteBuffer.vtable[9] = (VTABLE_PTR) &java_nio_HeapByteBuffer_isDirect__;
+ __TIB_java_nio_HeapByteBuffer.vtable[11] = (VTABLE_PTR) &java_nio_HeapByteBuffer_asCharBuffer__;
+ __TIB_java_nio_HeapByteBuffer.vtable[12] = (VTABLE_PTR) &java_nio_HeapByteBuffer_asDoubleBuffer__;
+ __TIB_java_nio_HeapByteBuffer.vtable[13] = (VTABLE_PTR) &java_nio_HeapByteBuffer_asFloatBuffer__;
+ __TIB_java_nio_HeapByteBuffer.vtable[14] = (VTABLE_PTR) &java_nio_HeapByteBuffer_asIntBuffer__;
+ __TIB_java_nio_HeapByteBuffer.vtable[15] = (VTABLE_PTR) &java_nio_HeapByteBuffer_asLongBuffer__;
+ __TIB_java_nio_HeapByteBuffer.vtable[17] = (VTABLE_PTR) &java_nio_HeapByteBuffer_asShortBuffer__;
+ __TIB_java_nio_HeapByteBuffer.vtable[21] = (VTABLE_PTR) &java_nio_HeapByteBuffer_getChar__;
+ __TIB_java_nio_HeapByteBuffer.vtable[22] = (VTABLE_PTR) &java_nio_HeapByteBuffer_getChar___int;
+ __TIB_java_nio_HeapByteBuffer.vtable[39] = (VTABLE_PTR) &java_nio_HeapByteBuffer_putChar___char;
+ __TIB_java_nio_HeapByteBuffer.vtable[40] = (VTABLE_PTR) &java_nio_HeapByteBuffer_putChar___int_char;
+ // Initialize interface information
+ __TIB_java_nio_HeapByteBuffer.numImplementedInterfaces = 1;
+ __TIB_java_nio_HeapByteBuffer.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_lang_Comparable)
+
+ __TIB_java_nio_HeapByteBuffer.implementedInterfaces[0][0] = &__TIB_java_lang_Comparable;
+ // Initialize itable for this class
+ __TIB_java_nio_HeapByteBuffer.itableBegin = &__TIB_java_nio_HeapByteBuffer.itable[0];
+ __TIB_java_nio_HeapByteBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_nio_HeapByteBuffer.vtable[19];
+
+
+ __TIB_java_nio_HeapByteBuffer.declaredFields = &__field_reflection_data[0];
+ __TIB_java_nio_HeapByteBuffer.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_nio_HeapByteBuffer.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_nio_HeapByteBuffer.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_nio_HeapByteBuffer.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_nio_HeapByteBuffer.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_nio_HeapByteBuffer.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_nio_HeapByteBuffer.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_nio_HeapByteBuffer = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_nio_HeapByteBuffer);
+ __TIB_java_nio_HeapByteBuffer.clazz = __CLASS_java_nio_HeapByteBuffer;
+ __TIB_java_nio_HeapByteBuffer.baseType = JAVA_NULL;
+ __CLASS_java_nio_HeapByteBuffer_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_HeapByteBuffer);
+ __CLASS_java_nio_HeapByteBuffer_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_HeapByteBuffer_1ARRAY);
+ __CLASS_java_nio_HeapByteBuffer_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_HeapByteBuffer_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_nio_HeapByteBuffer]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_nio_HeapByteBuffer.classInitialized = 1;
+}
+
+void __DELETE_java_nio_HeapByteBuffer(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_nio_HeapByteBuffer]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_nio_HeapByteBuffer(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_nio_ByteBuffer(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_nio_HeapByteBuffer*) me)->fields.java_nio_HeapByteBuffer.backingArray_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ ((java_nio_HeapByteBuffer*) me)->fields.java_nio_HeapByteBuffer.offset_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_nio_HeapByteBuffer]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_nio_HeapByteBuffer()
+{ XMLVM_CLASS_INIT(java_nio_HeapByteBuffer)
+java_nio_HeapByteBuffer* me = (java_nio_HeapByteBuffer*) XMLVM_MALLOC(sizeof(java_nio_HeapByteBuffer));
+ me->tib = &__TIB_java_nio_HeapByteBuffer;
+ __INIT_INSTANCE_MEMBERS_java_nio_HeapByteBuffer(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_nio_HeapByteBuffer]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_nio_HeapByteBuffer()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+void java_nio_HeapByteBuffer___INIT____byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer___INIT____byte_1ARRAY]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 41)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(2)
+ java_nio_HeapByteBuffer___INIT____byte_1ARRAY_int_int(_r2.o, _r3.o, _r0.i, _r1.i);
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 42)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_HeapByteBuffer___INIT____int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer___INIT____int]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.i = n1;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 45)
+ XMLVM_CLASS_INIT(byte)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r3.i);
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(2)
+ java_nio_HeapByteBuffer___INIT____byte_1ARRAY_int_int(_r2.o, _r0.o, _r3.i, _r1.i);
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 46)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_HeapByteBuffer___INIT____byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer___INIT____byte_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.i = n2;
+ _r5.i = n3;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 49)
+ XMLVM_CHECK_NPE(2)
+ java_nio_ByteBuffer___INIT____int(_r2.o, _r4.i);
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 50)
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_HeapByteBuffer*) _r2.o)->fields.java_nio_HeapByteBuffer.backingArray_ = _r3.o;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 51)
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_HeapByteBuffer*) _r2.o)->fields.java_nio_HeapByteBuffer.offset_ = _r5.i;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 53)
+ _r0.i = _r5.i + _r4.i;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ if (_r0.i <= _r1.i) goto label18;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 54)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label18:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 56)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_HeapByteBuffer_get___byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_get___byte_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "get", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r5.o = me;
+ _r6.o = n1;
+ _r7.i = n2;
+ _r8.i = n3;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 67)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 68)
+ if (_r7.i < 0) goto label13;
+ if (_r8.i < 0) goto label13;
+ _r1.l = (JAVA_LONG) _r7.i;
+ _r3.l = (JAVA_LONG) _r8.i;
+ _r1.l = _r1.l + _r3.l;
+ _r3.l = (JAVA_LONG) _r0.i;
+ _r0.i = _r1.l > _r3.l ? 1 : (_r1.l == _r3.l ? 0 : -1);
+ if (_r0.i <= 0) goto label19;
+ label13:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 69)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label19:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 71)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = java_nio_Buffer_remaining__(_r5.o);
+ if (_r8.i <= _r0.i) goto label31;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 72)
+
+
+ // Red class access removed: java.nio.BufferUnderflowException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.BufferUnderflowException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label31:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 74)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_nio_HeapByteBuffer*) _r5.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_nio_HeapByteBuffer*) _r5.o)->fields.java_nio_HeapByteBuffer.offset_;
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.position_;
+ _r1.i = _r1.i + _r2.i;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r6.o, _r7.i, _r8.i);
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 75)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.position_;
+ _r0.i = _r0.i + _r8.i;
+ XMLVM_CHECK_NPE(5)
+ ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.position_ = _r0.i;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 76)
+ XMLVM_EXIT_METHOD()
+ return _r5.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BYTE java_nio_HeapByteBuffer_get__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_get__]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "get", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 81)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.position_;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.limit_;
+ if (_r0.i != _r1.i) goto label12;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 82)
+
+
+ // Red class access removed: java.nio.BufferUnderflowException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.BufferUnderflowException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label12:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 84)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_nio_HeapByteBuffer*) _r4.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_nio_HeapByteBuffer*) _r4.o)->fields.java_nio_HeapByteBuffer.offset_;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.position_;
+ _r3.i = _r2.i + 1;
+ XMLVM_CHECK_NPE(4)
+ ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.position_ = _r3.i;
+ _r1.i = _r1.i + _r2.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r0.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BYTE java_nio_HeapByteBuffer_get___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_get___int]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "get", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.i = n1;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 89)
+ if (_r3.i < 0) goto label6;
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.limit_;
+ if (_r3.i < _r0.i) goto label12;
+ label6:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 90)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label12:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 92)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_nio_HeapByteBuffer*) _r2.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_nio_HeapByteBuffer*) _r2.o)->fields.java_nio_HeapByteBuffer.offset_;
+ _r1.i = _r1.i + _r3.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r0.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_DOUBLE java_nio_HeapByteBuffer_getDouble__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_getDouble__]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "getDouble", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 97)
+ //java_nio_HeapByteBuffer_getLong__[29]
+ XMLVM_CHECK_NPE(2)
+ _r0.l = (*(JAVA_LONG (*)(JAVA_OBJECT)) ((java_nio_HeapByteBuffer*) _r2.o)->tib->vtable[29])(_r2.o);
+ _r0.d = java_lang_Double_longBitsToDouble___long(_r0.l);
+ XMLVM_EXIT_METHOD()
+ return _r0.d;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_DOUBLE java_nio_HeapByteBuffer_getDouble___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_getDouble___int]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "getDouble", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.i = n1;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 102)
+ //java_nio_HeapByteBuffer_getLong___int[30]
+ XMLVM_CHECK_NPE(2)
+ _r0.l = (*(JAVA_LONG (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_HeapByteBuffer*) _r2.o)->tib->vtable[30])(_r2.o, _r3.i);
+ _r0.d = java_lang_Double_longBitsToDouble___long(_r0.l);
+ XMLVM_EXIT_METHOD()
+ return _r0.d;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_FLOAT java_nio_HeapByteBuffer_getFloat__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_getFloat__]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "getFloat", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 107)
+ //java_nio_HeapByteBuffer_getInt__[27]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_HeapByteBuffer*) _r1.o)->tib->vtable[27])(_r1.o);
+ _r0.f = java_lang_Float_intBitsToFloat___int(_r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_FLOAT java_nio_HeapByteBuffer_getFloat___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_getFloat___int]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "getFloat", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 112)
+ //java_nio_HeapByteBuffer_getInt___int[28]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_HeapByteBuffer*) _r1.o)->tib->vtable[28])(_r1.o, _r2.i);
+ _r0.f = java_lang_Float_intBitsToFloat___int(_r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_nio_HeapByteBuffer_getInt__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_getInt__]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "getInt", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 117)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.position_;
+ _r0.i = _r0.i + 4;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 118)
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.limit_;
+ if (_r0.i <= _r1.i) goto label14;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 119)
+
+
+ // Red class access removed: java.nio.BufferUnderflowException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.BufferUnderflowException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label14:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 121)
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.position_;
+ XMLVM_CHECK_NPE(2)
+ _r1.i = java_nio_HeapByteBuffer_loadInt___int(_r2.o, _r1.i);
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 122)
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.position_ = _r0.i;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 123)
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_nio_HeapByteBuffer_getInt___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_getInt___int]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "getInt", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.i = n1;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 128)
+ if (_r3.i < 0) goto label8;
+ _r0.i = _r3.i + 4;
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.limit_;
+ if (_r0.i <= _r1.i) goto label14;
+ label8:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 129)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label14:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 131)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = java_nio_HeapByteBuffer_loadInt___int(_r2.o, _r3.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_nio_HeapByteBuffer_getLong__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_getLong__]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "getLong", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 136)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_nio_Buffer*) _r3.o)->fields.java_nio_Buffer.position_;
+ _r0.i = _r0.i + 8;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 137)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_nio_Buffer*) _r3.o)->fields.java_nio_Buffer.limit_;
+ if (_r0.i <= _r1.i) goto label14;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 138)
+
+
+ // Red class access removed: java.nio.BufferUnderflowException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.BufferUnderflowException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label14:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 140)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_nio_Buffer*) _r3.o)->fields.java_nio_Buffer.position_;
+ XMLVM_CHECK_NPE(3)
+ _r1.l = java_nio_HeapByteBuffer_loadLong___int(_r3.o, _r1.i);
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 141)
+ XMLVM_CHECK_NPE(3)
+ ((java_nio_Buffer*) _r3.o)->fields.java_nio_Buffer.position_ = _r0.i;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 142)
+ XMLVM_EXIT_METHOD()
+ return _r1.l;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_nio_HeapByteBuffer_getLong___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_getLong___int]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "getLong", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.i = n1;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 147)
+ if (_r3.i < 0) goto label8;
+ _r0.i = _r3.i + 8;
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.limit_;
+ if (_r0.i <= _r1.i) goto label14;
+ label8:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 148)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label14:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 150)
+ XMLVM_CHECK_NPE(2)
+ _r0.l = java_nio_HeapByteBuffer_loadLong___int(_r2.o, _r3.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_SHORT java_nio_HeapByteBuffer_getShort__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_getShort__]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "getShort", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 155)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.position_;
+ _r0.i = _r0.i + 2;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 156)
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.limit_;
+ if (_r0.i <= _r1.i) goto label14;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 157)
+
+
+ // Red class access removed: java.nio.BufferUnderflowException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.BufferUnderflowException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label14:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 159)
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.position_;
+ XMLVM_CHECK_NPE(2)
+ _r1.i = java_nio_HeapByteBuffer_loadShort___int(_r2.o, _r1.i);
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 160)
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.position_ = _r0.i;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 161)
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_SHORT java_nio_HeapByteBuffer_getShort___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_getShort___int]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "getShort", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.i = n1;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 166)
+ if (_r3.i < 0) goto label8;
+ _r0.i = _r3.i + 2;
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.limit_;
+ if (_r0.i <= _r1.i) goto label14;
+ label8:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 167)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label14:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 169)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = java_nio_HeapByteBuffer_loadShort___int(_r2.o, _r3.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_HeapByteBuffer_isDirect__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_isDirect__]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "isDirect", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 174)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_nio_HeapByteBuffer_loadInt___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_loadInt___int]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "loadInt", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r5.o = me;
+ _r6.i = n1;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 178)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_nio_HeapByteBuffer*) _r5.o)->fields.java_nio_HeapByteBuffer.offset_;
+ _r0.i = _r0.i + _r6.i;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 180)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_nio_ByteBuffer*) _r5.o)->fields.java_nio_ByteBuffer.order_;
+ _r2.o = org_apache_harmony_luni_platform_Endianness_GET_BIG_ENDIAN();
+ if (_r1.o != _r2.o) goto label31;
+ _r1 = _r3;
+ _r2 = _r3;
+ label12:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 181)
+ _r3.i = 4;
+ if (_r1.i < _r3.i) goto label17;
+ _r0 = _r2;
+ label16:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 191)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label17:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 182)
+ _r2.i = _r2.i << 8;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 183)
+ XMLVM_CHECK_NPE(5)
+ _r3.o = ((java_nio_HeapByteBuffer*) _r5.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ _r4.i = _r0.i + _r1.i;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ _r3.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ _r3.i = _r3.i & 255;
+ _r2.i = _r2.i | _r3.i;
+ _r1.i = _r1.i + 1;
+ goto label12;
+ label31:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 186)
+ _r1.i = 3;
+ _r2 = _r3;
+ label33:;
+ if (_r1.i >= 0) goto label37;
+ _r0 = _r2;
+ goto label16;
+ label37:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 187)
+ _r2.i = _r2.i << 8;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 188)
+ XMLVM_CHECK_NPE(5)
+ _r3.o = ((java_nio_HeapByteBuffer*) _r5.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ _r4.i = _r0.i + _r1.i;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ _r3.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ _r3.i = _r3.i & 255;
+ _r2.i = _r2.i | _r3.i;
+ _r1.i = _r1.i + -1;
+ goto label33;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG java_nio_HeapByteBuffer_loadLong___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_loadLong___int]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "loadLong", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ _r10.o = me;
+ _r11.i = n1;
+ _r6.i = 8;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 195)
+ XMLVM_CHECK_NPE(10)
+ _r0.i = ((java_nio_HeapByteBuffer*) _r10.o)->fields.java_nio_HeapByteBuffer.offset_;
+ _r0.i = _r0.i + _r11.i;
+ _r1.l = 0;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 197)
+ XMLVM_CHECK_NPE(10)
+ _r3.o = ((java_nio_ByteBuffer*) _r10.o)->fields.java_nio_ByteBuffer.order_;
+ _r4.o = org_apache_harmony_luni_platform_Endianness_GET_BIG_ENDIAN();
+ if (_r3.o != _r4.o) goto label36;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 198)
+ _r3.i = 0;
+ _r7 = _r3;
+ _r8 = _r1;
+ _r2 = _r8;
+ _r1 = _r7;
+ label18:;
+ if (_r1.i < _r6.i) goto label22;
+ _r0 = _r2;
+ label21:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 208)
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ label22:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 199)
+ _r2.l = _r2.l << (0x3f & _r6.l);
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 200)
+ XMLVM_CHECK_NPE(10)
+ _r4.o = ((java_nio_HeapByteBuffer*) _r10.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ _r5.i = _r0.i + _r1.i;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r5.i);
+ _r4.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i];
+ _r4.i = _r4.i & 255;
+ _r4.l = (JAVA_LONG) _r4.i;
+ _r2.l = _r2.l | _r4.l;
+ _r1.i = _r1.i + 1;
+ goto label18;
+ label36:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 203)
+ _r3.i = 7;
+ _r7 = _r3;
+ _r8 = _r1;
+ _r2 = _r8;
+ _r1 = _r7;
+ label41:;
+ if (_r1.i >= 0) goto label45;
+ _r0 = _r2;
+ goto label21;
+ label45:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 204)
+ _r2.l = _r2.l << (0x3f & _r6.l);
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 205)
+ XMLVM_CHECK_NPE(10)
+ _r4.o = ((java_nio_HeapByteBuffer*) _r10.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ _r5.i = _r0.i + _r1.i;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r5.i);
+ _r4.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i];
+ _r4.i = _r4.i & 255;
+ _r4.l = (JAVA_LONG) _r4.i;
+ _r2.l = _r2.l | _r4.l;
+ _r1.i = _r1.i + -1;
+ goto label41;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_SHORT java_nio_HeapByteBuffer_loadShort___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_loadShort___int]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "loadShort", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.i = n1;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 212)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_nio_HeapByteBuffer*) _r3.o)->fields.java_nio_HeapByteBuffer.offset_;
+ _r0.i = _r0.i + _r4.i;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 214)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_nio_ByteBuffer*) _r3.o)->fields.java_nio_ByteBuffer.order_;
+ _r2.o = org_apache_harmony_luni_platform_Endianness_GET_BIG_ENDIAN();
+ if (_r1.o != _r2.o) goto label27;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 215)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_nio_HeapByteBuffer*) _r3.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r1.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ _r1.i = _r1.i << 8;
+ _r1.i = (_r1.i << 16) >> 16;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 216)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_nio_HeapByteBuffer*) _r3.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
+ _r0.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ _r0.i = _r0.i & 255;
+ _r0.i = _r0.i | _r1.i;
+ _r0.i = (_r0.i << 16) >> 16;
+ label26:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 221)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label27:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 218)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_nio_HeapByteBuffer*) _r3.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ _r2.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r2.i);
+ _r1.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ _r1.i = _r1.i << 8;
+ _r1.i = (_r1.i << 16) >> 16;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 219)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_nio_HeapByteBuffer*) _r3.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
+ _r0.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ _r0.i = _r0.i & 255;
+ _r0.i = _r0.i | _r1.i;
+ _r0.i = (_r0.i << 16) >> 16;
+ goto label26;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_HeapByteBuffer_store___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_store___int_int]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "store", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r7.o = me;
+ _r8.i = n1;
+ _r9.i = n2;
+ _r6.i = 3;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 225)
+ XMLVM_CHECK_NPE(7)
+ _r0.i = ((java_nio_HeapByteBuffer*) _r7.o)->fields.java_nio_HeapByteBuffer.offset_;
+ _r0.i = _r0.i + _r8.i;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 226)
+ XMLVM_CHECK_NPE(7)
+ _r1.o = ((java_nio_ByteBuffer*) _r7.o)->fields.java_nio_ByteBuffer.order_;
+ _r2.o = org_apache_harmony_luni_platform_Endianness_GET_BIG_ENDIAN();
+ if (_r1.o != _r2.o) goto label29;
+ _r1 = _r6;
+ _r2 = _r9;
+ label12:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 227)
+ if (_r1.i >= 0) goto label15;
+ label14:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 237)
+ XMLVM_EXIT_METHOD()
+ return;
+ label15:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 228)
+ XMLVM_CHECK_NPE(7)
+ _r3.o = ((java_nio_HeapByteBuffer*) _r7.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ _r4.i = _r0.i + _r1.i;
+ _r5.i = _r2.i & 255;
+ _r5.i = (_r5.i << 24) >> 24;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.i;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 229)
+ _r2.i = _r2.i >> 8;
+ _r1.i = _r1.i + -1;
+ goto label12;
+ label29:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 232)
+ _r1.i = 0;
+ _r2 = _r9;
+ label31:;
+ if (_r1.i > _r6.i) goto label14;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 233)
+ XMLVM_CHECK_NPE(7)
+ _r3.o = ((java_nio_HeapByteBuffer*) _r7.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ _r4.i = _r0.i + _r1.i;
+ _r5.i = _r2.i & 255;
+ _r5.i = (_r5.i << 24) >> 24;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.i;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 234)
+ _r2.i = _r2.i >> 8;
+ _r1.i = _r1.i + 1;
+ goto label31;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_HeapByteBuffer_store___int_long(JAVA_OBJECT me, JAVA_INT n1, JAVA_LONG n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_store___int_long]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "store", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ XMLVMElem _r14;
+ XMLVMElem _r15;
+ _r12.o = me;
+ _r13.i = n1;
+ _r14.l = n2;
+ _r10.l = 255;
+ _r9.i = 8;
+ _r8.i = 7;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 240)
+ XMLVM_CHECK_NPE(12)
+ _r0.i = ((java_nio_HeapByteBuffer*) _r12.o)->fields.java_nio_HeapByteBuffer.offset_;
+ _r0.i = _r0.i + _r13.i;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 241)
+ XMLVM_CHECK_NPE(12)
+ _r1.o = ((java_nio_ByteBuffer*) _r12.o)->fields.java_nio_ByteBuffer.order_;
+ _r2.o = org_apache_harmony_luni_platform_Endianness_GET_BIG_ENDIAN();
+ if (_r1.o != _r2.o) goto label33;
+ _r1 = _r8;
+ _r2 = _r14;
+ label16:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 242)
+ if (_r1.i >= 0) goto label19;
+ label18:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 252)
+ XMLVM_EXIT_METHOD()
+ return;
+ label19:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 243)
+ XMLVM_CHECK_NPE(12)
+ _r4.o = ((java_nio_HeapByteBuffer*) _r12.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ _r5.i = _r0.i + _r1.i;
+ _r6.l = _r2.l & _r10.l;
+ _r6.i = (JAVA_INT) _r6.l;
+ _r6.i = (_r6.i << 24) >> 24;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r5.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i] = _r6.i;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 244)
+ _r2.l = _r2.l >> (0x3f & _r9.l);
+ _r1.i = _r1.i + -1;
+ goto label16;
+ label33:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 247)
+ _r1.i = 0;
+ _r2 = _r14;
+ label35:;
+ if (_r1.i > _r8.i) goto label18;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 248)
+ XMLVM_CHECK_NPE(12)
+ _r4.o = ((java_nio_HeapByteBuffer*) _r12.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ _r5.i = _r0.i + _r1.i;
+ _r6.l = _r2.l & _r10.l;
+ _r6.i = (JAVA_INT) _r6.l;
+ _r6.i = (_r6.i << 24) >> 24;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r5.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i] = _r6.i;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 249)
+ _r2.l = _r2.l >> (0x3f & _r9.l);
+ _r1.i = _r1.i + 1;
+ goto label35;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_HeapByteBuffer_store___int_short(JAVA_OBJECT me, JAVA_INT n1, JAVA_SHORT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_store___int_short]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "store", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r4.o = me;
+ _r5.i = n1;
+ _r6.i = n2;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 255)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_nio_HeapByteBuffer*) _r4.o)->fields.java_nio_HeapByteBuffer.offset_;
+ _r0.i = _r0.i + _r5.i;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 256)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_nio_ByteBuffer*) _r4.o)->fields.java_nio_ByteBuffer.order_;
+ _r2.o = org_apache_harmony_luni_platform_Endianness_GET_BIG_ENDIAN();
+ if (_r1.o != _r2.o) goto label28;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 257)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_nio_HeapByteBuffer*) _r4.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ _r2.i = _r6.i >> 8;
+ _r2.i = _r2.i & 255;
+ _r2.i = (_r2.i << 24) >> 24;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r2.i;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 258)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_nio_HeapByteBuffer*) _r4.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ _r0.i = _r0.i + 1;
+ _r2.i = _r6.i & 255;
+ _r2.i = (_r2.i << 24) >> 24;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r2.i;
+ label27:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 263)
+ XMLVM_EXIT_METHOD()
+ return;
+ label28:;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 260)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_nio_HeapByteBuffer*) _r4.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ _r2.i = _r0.i + 1;
+ _r3.i = _r6.i >> 8;
+ _r3.i = _r3.i & 255;
+ _r3.i = (_r3.i << 24) >> 24;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r2.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r3.i;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 261)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_nio_HeapByteBuffer*) _r4.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ _r2.i = _r6.i & 255;
+ _r2.i = (_r2.i << 24) >> 24;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r2.i;
+ goto label27;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_HeapByteBuffer_asCharBuffer__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_asCharBuffer__]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "asCharBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 267)
+
+
+ // Red class access removed: java.nio.CharToByteBufferAdapter::wrap
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_HeapByteBuffer_asDoubleBuffer__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_asDoubleBuffer__]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "asDoubleBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 272)
+
+
+ // Red class access removed: java.nio.DoubleToByteBufferAdapter::wrap
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_HeapByteBuffer_asFloatBuffer__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_asFloatBuffer__]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "asFloatBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 277)
+
+
+ // Red class access removed: java.nio.FloatToByteBufferAdapter::wrap
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_HeapByteBuffer_asIntBuffer__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_asIntBuffer__]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "asIntBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 282)
+
+
+ // Red class access removed: java.nio.IntToByteBufferAdapter::wrap
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_HeapByteBuffer_asLongBuffer__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_asLongBuffer__]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "asLongBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 287)
+
+
+ // Red class access removed: java.nio.LongToByteBufferAdapter::wrap
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_HeapByteBuffer_asShortBuffer__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_asShortBuffer__]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "asShortBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 292)
+
+
+ // Red class access removed: java.nio.ShortToByteBufferAdapter::wrap
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_CHAR java_nio_HeapByteBuffer_getChar__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_getChar__]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "getChar", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 297)
+ //java_nio_HeapByteBuffer_getShort__[31]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_SHORT (*)(JAVA_OBJECT)) ((java_nio_HeapByteBuffer*) _r1.o)->tib->vtable[31])(_r1.o);
+ _r0.i = _r0.i & 0xffff;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_CHAR java_nio_HeapByteBuffer_getChar___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_getChar___int]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "getChar", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 302)
+ //java_nio_HeapByteBuffer_getShort___int[32]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_SHORT (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_HeapByteBuffer*) _r1.o)->tib->vtable[32])(_r1.o, _r2.i);
+ _r0.i = _r0.i & 0xffff;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_HeapByteBuffer_putChar___char(JAVA_OBJECT me, JAVA_CHAR n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_putChar___char]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "putChar", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 307)
+ _r0.i = (_r2.i << 16) >> 16;
+ //java_nio_HeapByteBuffer_putShort___short[50]
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_SHORT)) ((java_nio_HeapByteBuffer*) _r1.o)->tib->vtable[50])(_r1.o, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_HeapByteBuffer_putChar___int_char(JAVA_OBJECT me, JAVA_INT n1, JAVA_CHAR n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_HeapByteBuffer_putChar___int_char]
+ XMLVM_ENTER_METHOD("java.nio.HeapByteBuffer", "putChar", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.i = n2;
+ XMLVM_SOURCE_POSITION("HeapByteBuffer.java", 312)
+ _r0.i = (_r3.i << 16) >> 16;
+ //java_nio_HeapByteBuffer_putShort___int_short[49]
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT, JAVA_SHORT)) ((java_nio_HeapByteBuffer*) _r1.o)->tib->vtable[49])(_r1.o, _r2.i, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_nio_HeapByteBuffer.h b/tests/nbody-java/java_nio_HeapByteBuffer.h
new file mode 100644
index 00000000..0cedeae1
--- /dev/null
+++ b/tests/nbody-java/java_nio_HeapByteBuffer.h
@@ -0,0 +1,161 @@
+#ifndef __JAVA_NIO_HEAPBYTEBUFFER__
+#define __JAVA_NIO_HEAPBYTEBUFFER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_nio_HeapByteBuffer 8
+// Implemented interfaces:
+// Super Class:
+#include "java_nio_ByteBuffer.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Double
+#define XMLVM_FORWARD_DECL_java_lang_Double
+XMLVM_FORWARD_DECL(java_lang_Double)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Float
+#define XMLVM_FORWARD_DECL_java_lang_Float
+XMLVM_FORWARD_DECL(java_lang_Float)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+#define XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+XMLVM_FORWARD_DECL(java_lang_IndexOutOfBoundsException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_CharBuffer
+#define XMLVM_FORWARD_DECL_java_nio_CharBuffer
+XMLVM_FORWARD_DECL(java_nio_CharBuffer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_Endianness
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_Endianness
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_platform_Endianness)
+#endif
+// Class declarations for java.nio.HeapByteBuffer
+XMLVM_DEFINE_CLASS(java_nio_HeapByteBuffer, 55, XMLVM_ITABLE_SIZE_java_nio_HeapByteBuffer)
+
+extern JAVA_OBJECT __CLASS_java_nio_HeapByteBuffer;
+extern JAVA_OBJECT __CLASS_java_nio_HeapByteBuffer_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_HeapByteBuffer_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_HeapByteBuffer_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_nio_HeapByteBuffer
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_nio_HeapByteBuffer \
+ __INSTANCE_FIELDS_java_nio_ByteBuffer; \
+ struct { \
+ JAVA_OBJECT backingArray_; \
+ JAVA_INT offset_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_nio_HeapByteBuffer \
+ } java_nio_HeapByteBuffer
+
+struct java_nio_HeapByteBuffer {
+ __TIB_DEFINITION_java_nio_HeapByteBuffer* tib;
+ struct {
+ __INSTANCE_FIELDS_java_nio_HeapByteBuffer;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_nio_HeapByteBuffer
+#define XMLVM_FORWARD_DECL_java_nio_HeapByteBuffer
+typedef struct java_nio_HeapByteBuffer java_nio_HeapByteBuffer;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_nio_HeapByteBuffer 55
+#define XMLVM_VTABLE_IDX_java_nio_HeapByteBuffer_get___byte_1ARRAY_int_int 34
+#define XMLVM_VTABLE_IDX_java_nio_HeapByteBuffer_get__ 33
+#define XMLVM_VTABLE_IDX_java_nio_HeapByteBuffer_get___int 35
+#define XMLVM_VTABLE_IDX_java_nio_HeapByteBuffer_getDouble__ 23
+#define XMLVM_VTABLE_IDX_java_nio_HeapByteBuffer_getDouble___int 24
+#define XMLVM_VTABLE_IDX_java_nio_HeapByteBuffer_getFloat__ 25
+#define XMLVM_VTABLE_IDX_java_nio_HeapByteBuffer_getFloat___int 26
+#define XMLVM_VTABLE_IDX_java_nio_HeapByteBuffer_getInt__ 27
+#define XMLVM_VTABLE_IDX_java_nio_HeapByteBuffer_getInt___int 28
+#define XMLVM_VTABLE_IDX_java_nio_HeapByteBuffer_getLong__ 29
+#define XMLVM_VTABLE_IDX_java_nio_HeapByteBuffer_getLong___int 30
+#define XMLVM_VTABLE_IDX_java_nio_HeapByteBuffer_getShort__ 31
+#define XMLVM_VTABLE_IDX_java_nio_HeapByteBuffer_getShort___int 32
+#define XMLVM_VTABLE_IDX_java_nio_HeapByteBuffer_isDirect__ 9
+#define XMLVM_VTABLE_IDX_java_nio_HeapByteBuffer_asCharBuffer__ 11
+#define XMLVM_VTABLE_IDX_java_nio_HeapByteBuffer_asDoubleBuffer__ 12
+#define XMLVM_VTABLE_IDX_java_nio_HeapByteBuffer_asFloatBuffer__ 13
+#define XMLVM_VTABLE_IDX_java_nio_HeapByteBuffer_asIntBuffer__ 14
+#define XMLVM_VTABLE_IDX_java_nio_HeapByteBuffer_asLongBuffer__ 15
+#define XMLVM_VTABLE_IDX_java_nio_HeapByteBuffer_asShortBuffer__ 17
+#define XMLVM_VTABLE_IDX_java_nio_HeapByteBuffer_getChar__ 21
+#define XMLVM_VTABLE_IDX_java_nio_HeapByteBuffer_getChar___int 22
+#define XMLVM_VTABLE_IDX_java_nio_HeapByteBuffer_putChar___char 39
+#define XMLVM_VTABLE_IDX_java_nio_HeapByteBuffer_putChar___int_char 40
+
+void __INIT_java_nio_HeapByteBuffer();
+void __INIT_IMPL_java_nio_HeapByteBuffer();
+void __DELETE_java_nio_HeapByteBuffer(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_nio_HeapByteBuffer(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_nio_HeapByteBuffer();
+JAVA_OBJECT __NEW_INSTANCE_java_nio_HeapByteBuffer();
+void java_nio_HeapByteBuffer___INIT____byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_nio_HeapByteBuffer___INIT____int(JAVA_OBJECT me, JAVA_INT n1);
+void java_nio_HeapByteBuffer___INIT____byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+// Vtable index: 34
+JAVA_OBJECT java_nio_HeapByteBuffer_get___byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+// Vtable index: 33
+JAVA_BYTE java_nio_HeapByteBuffer_get__(JAVA_OBJECT me);
+// Vtable index: 35
+JAVA_BYTE java_nio_HeapByteBuffer_get___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 23
+JAVA_DOUBLE java_nio_HeapByteBuffer_getDouble__(JAVA_OBJECT me);
+// Vtable index: 24
+JAVA_DOUBLE java_nio_HeapByteBuffer_getDouble___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 25
+JAVA_FLOAT java_nio_HeapByteBuffer_getFloat__(JAVA_OBJECT me);
+// Vtable index: 26
+JAVA_FLOAT java_nio_HeapByteBuffer_getFloat___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 27
+JAVA_INT java_nio_HeapByteBuffer_getInt__(JAVA_OBJECT me);
+// Vtable index: 28
+JAVA_INT java_nio_HeapByteBuffer_getInt___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 29
+JAVA_LONG java_nio_HeapByteBuffer_getLong__(JAVA_OBJECT me);
+// Vtable index: 30
+JAVA_LONG java_nio_HeapByteBuffer_getLong___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 31
+JAVA_SHORT java_nio_HeapByteBuffer_getShort__(JAVA_OBJECT me);
+// Vtable index: 32
+JAVA_SHORT java_nio_HeapByteBuffer_getShort___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 9
+JAVA_BOOLEAN java_nio_HeapByteBuffer_isDirect__(JAVA_OBJECT me);
+JAVA_INT java_nio_HeapByteBuffer_loadInt___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_LONG java_nio_HeapByteBuffer_loadLong___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_SHORT java_nio_HeapByteBuffer_loadShort___int(JAVA_OBJECT me, JAVA_INT n1);
+void java_nio_HeapByteBuffer_store___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2);
+void java_nio_HeapByteBuffer_store___int_long(JAVA_OBJECT me, JAVA_INT n1, JAVA_LONG n2);
+void java_nio_HeapByteBuffer_store___int_short(JAVA_OBJECT me, JAVA_INT n1, JAVA_SHORT n2);
+// Vtable index: 11
+JAVA_OBJECT java_nio_HeapByteBuffer_asCharBuffer__(JAVA_OBJECT me);
+// Vtable index: 12
+JAVA_OBJECT java_nio_HeapByteBuffer_asDoubleBuffer__(JAVA_OBJECT me);
+// Vtable index: 13
+JAVA_OBJECT java_nio_HeapByteBuffer_asFloatBuffer__(JAVA_OBJECT me);
+// Vtable index: 14
+JAVA_OBJECT java_nio_HeapByteBuffer_asIntBuffer__(JAVA_OBJECT me);
+// Vtable index: 15
+JAVA_OBJECT java_nio_HeapByteBuffer_asLongBuffer__(JAVA_OBJECT me);
+// Vtable index: 17
+JAVA_OBJECT java_nio_HeapByteBuffer_asShortBuffer__(JAVA_OBJECT me);
+// Vtable index: 21
+JAVA_CHAR java_nio_HeapByteBuffer_getChar__(JAVA_OBJECT me);
+// Vtable index: 22
+JAVA_CHAR java_nio_HeapByteBuffer_getChar___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 39
+JAVA_OBJECT java_nio_HeapByteBuffer_putChar___char(JAVA_OBJECT me, JAVA_CHAR n1);
+// Vtable index: 40
+JAVA_OBJECT java_nio_HeapByteBuffer_putChar___int_char(JAVA_OBJECT me, JAVA_INT n1, JAVA_CHAR n2);
+
+#endif
diff --git a/tests/nbody-java/java_nio_ReadWriteCharArrayBuffer.c b/tests/nbody-java/java_nio_ReadWriteCharArrayBuffer.c
new file mode 100644
index 00000000..4c2b36a8
--- /dev/null
+++ b/tests/nbody-java/java_nio_ReadWriteCharArrayBuffer.c
@@ -0,0 +1,614 @@
+#include "xmlvm.h"
+#include "java_lang_IndexOutOfBoundsException.h"
+#include "java_lang_Object.h"
+#include "java_lang_System.h"
+#include "java_nio_CharBuffer.h"
+
+#include "java_nio_ReadWriteCharArrayBuffer.h"
+
+#define XMLVM_CURRENT_CLASS_NAME ReadWriteCharArrayBuffer
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_nio_ReadWriteCharArrayBuffer
+
+__TIB_DEFINITION_java_nio_ReadWriteCharArrayBuffer __TIB_java_nio_ReadWriteCharArrayBuffer = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_nio_ReadWriteCharArrayBuffer, // classInitializer
+ "java.nio.ReadWriteCharArrayBuffer", // className
+ "java.nio", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_CharArrayBuffer, // extends
+ sizeof(java_nio_ReadWriteCharArrayBuffer), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_nio_ReadWriteCharArrayBuffer;
+JAVA_OBJECT __CLASS_java_nio_ReadWriteCharArrayBuffer_1ARRAY;
+JAVA_OBJECT __CLASS_java_nio_ReadWriteCharArrayBuffer_2ARRAY;
+JAVA_OBJECT __CLASS_java_nio_ReadWriteCharArrayBuffer_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_nio_ReadWriteCharArrayBuffer()
+{
+ staticInitializerLock(&__TIB_java_nio_ReadWriteCharArrayBuffer);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_nio_ReadWriteCharArrayBuffer.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_nio_ReadWriteCharArrayBuffer.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_nio_ReadWriteCharArrayBuffer);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_nio_ReadWriteCharArrayBuffer.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_nio_ReadWriteCharArrayBuffer.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_nio_ReadWriteCharArrayBuffer.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.nio.ReadWriteCharArrayBuffer")
+ __INIT_IMPL_java_nio_ReadWriteCharArrayBuffer();
+ }
+}
+
+void __INIT_IMPL_java_nio_ReadWriteCharArrayBuffer()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_nio_CharArrayBuffer)
+ __TIB_java_nio_ReadWriteCharArrayBuffer.newInstanceFunc = __NEW_INSTANCE_java_nio_ReadWriteCharArrayBuffer;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_nio_ReadWriteCharArrayBuffer.vtable, __TIB_java_nio_CharArrayBuffer.vtable, sizeof(__TIB_java_nio_CharArrayBuffer.vtable));
+ // Initialize vtable for this class
+ __TIB_java_nio_ReadWriteCharArrayBuffer.vtable[14] = (VTABLE_PTR) &java_nio_ReadWriteCharArrayBuffer_asReadOnlyBuffer__;
+ __TIB_java_nio_ReadWriteCharArrayBuffer.vtable[16] = (VTABLE_PTR) &java_nio_ReadWriteCharArrayBuffer_compact__;
+ __TIB_java_nio_ReadWriteCharArrayBuffer.vtable[18] = (VTABLE_PTR) &java_nio_ReadWriteCharArrayBuffer_duplicate__;
+ __TIB_java_nio_ReadWriteCharArrayBuffer.vtable[10] = (VTABLE_PTR) &java_nio_ReadWriteCharArrayBuffer_isReadOnly__;
+ __TIB_java_nio_ReadWriteCharArrayBuffer.vtable[25] = (VTABLE_PTR) &java_nio_ReadWriteCharArrayBuffer_protectedArray__;
+ __TIB_java_nio_ReadWriteCharArrayBuffer.vtable[24] = (VTABLE_PTR) &java_nio_ReadWriteCharArrayBuffer_protectedArrayOffset__;
+ __TIB_java_nio_ReadWriteCharArrayBuffer.vtable[26] = (VTABLE_PTR) &java_nio_ReadWriteCharArrayBuffer_protectedHasArray__;
+ __TIB_java_nio_ReadWriteCharArrayBuffer.vtable[27] = (VTABLE_PTR) &java_nio_ReadWriteCharArrayBuffer_put___char;
+ __TIB_java_nio_ReadWriteCharArrayBuffer.vtable[29] = (VTABLE_PTR) &java_nio_ReadWriteCharArrayBuffer_put___int_char;
+ __TIB_java_nio_ReadWriteCharArrayBuffer.vtable[28] = (VTABLE_PTR) &java_nio_ReadWriteCharArrayBuffer_put___char_1ARRAY_int_int;
+ __TIB_java_nio_ReadWriteCharArrayBuffer.vtable[31] = (VTABLE_PTR) &java_nio_ReadWriteCharArrayBuffer_slice__;
+ // Initialize interface information
+ __TIB_java_nio_ReadWriteCharArrayBuffer.numImplementedInterfaces = 4;
+ __TIB_java_nio_ReadWriteCharArrayBuffer.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 4);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_lang_Appendable)
+
+ __TIB_java_nio_ReadWriteCharArrayBuffer.implementedInterfaces[0][0] = &__TIB_java_lang_Appendable;
+
+ XMLVM_CLASS_INIT(java_lang_CharSequence)
+
+ __TIB_java_nio_ReadWriteCharArrayBuffer.implementedInterfaces[0][1] = &__TIB_java_lang_CharSequence;
+
+ XMLVM_CLASS_INIT(java_lang_Comparable)
+
+ __TIB_java_nio_ReadWriteCharArrayBuffer.implementedInterfaces[0][2] = &__TIB_java_lang_Comparable;
+
+ XMLVM_CLASS_INIT(java_lang_Readable)
+
+ __TIB_java_nio_ReadWriteCharArrayBuffer.implementedInterfaces[0][3] = &__TIB_java_lang_Readable;
+ // Initialize itable for this class
+ __TIB_java_nio_ReadWriteCharArrayBuffer.itableBegin = &__TIB_java_nio_ReadWriteCharArrayBuffer.itable[0];
+ __TIB_java_nio_ReadWriteCharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Appendable_append___char] = __TIB_java_nio_ReadWriteCharArrayBuffer.vtable[11];
+ __TIB_java_nio_ReadWriteCharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Appendable_append___java_lang_CharSequence] = __TIB_java_nio_ReadWriteCharArrayBuffer.vtable[12];
+ __TIB_java_nio_ReadWriteCharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Appendable_append___java_lang_CharSequence_int_int] = __TIB_java_nio_ReadWriteCharArrayBuffer.vtable[13];
+ __TIB_java_nio_ReadWriteCharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_charAt___int] = __TIB_java_nio_ReadWriteCharArrayBuffer.vtable[15];
+ __TIB_java_nio_ReadWriteCharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_length__] = __TIB_java_nio_ReadWriteCharArrayBuffer.vtable[22];
+ __TIB_java_nio_ReadWriteCharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_subSequence___int_int] = __TIB_java_nio_ReadWriteCharArrayBuffer.vtable[32];
+ __TIB_java_nio_ReadWriteCharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_CharSequence_toString__] = __TIB_java_nio_ReadWriteCharArrayBuffer.vtable[5];
+ __TIB_java_nio_ReadWriteCharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_nio_ReadWriteCharArrayBuffer.vtable[17];
+ __TIB_java_nio_ReadWriteCharArrayBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Readable_read___java_nio_CharBuffer] = __TIB_java_nio_ReadWriteCharArrayBuffer.vtable[30];
+
+
+ __TIB_java_nio_ReadWriteCharArrayBuffer.declaredFields = &__field_reflection_data[0];
+ __TIB_java_nio_ReadWriteCharArrayBuffer.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_nio_ReadWriteCharArrayBuffer.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_nio_ReadWriteCharArrayBuffer.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_nio_ReadWriteCharArrayBuffer.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_nio_ReadWriteCharArrayBuffer.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_nio_ReadWriteCharArrayBuffer.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_nio_ReadWriteCharArrayBuffer.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_nio_ReadWriteCharArrayBuffer = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_nio_ReadWriteCharArrayBuffer);
+ __TIB_java_nio_ReadWriteCharArrayBuffer.clazz = __CLASS_java_nio_ReadWriteCharArrayBuffer;
+ __TIB_java_nio_ReadWriteCharArrayBuffer.baseType = JAVA_NULL;
+ __CLASS_java_nio_ReadWriteCharArrayBuffer_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_ReadWriteCharArrayBuffer);
+ __CLASS_java_nio_ReadWriteCharArrayBuffer_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_ReadWriteCharArrayBuffer_1ARRAY);
+ __CLASS_java_nio_ReadWriteCharArrayBuffer_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_ReadWriteCharArrayBuffer_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_nio_ReadWriteCharArrayBuffer]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_nio_ReadWriteCharArrayBuffer.classInitialized = 1;
+}
+
+void __DELETE_java_nio_ReadWriteCharArrayBuffer(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_nio_ReadWriteCharArrayBuffer]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_nio_ReadWriteCharArrayBuffer(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_nio_CharArrayBuffer(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_nio_ReadWriteCharArrayBuffer]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_nio_ReadWriteCharArrayBuffer()
+{ XMLVM_CLASS_INIT(java_nio_ReadWriteCharArrayBuffer)
+java_nio_ReadWriteCharArrayBuffer* me = (java_nio_ReadWriteCharArrayBuffer*) XMLVM_MALLOC(sizeof(java_nio_ReadWriteCharArrayBuffer));
+ me->tib = &__TIB_java_nio_ReadWriteCharArrayBuffer;
+ __INIT_INSTANCE_MEMBERS_java_nio_ReadWriteCharArrayBuffer(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_nio_ReadWriteCharArrayBuffer]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_nio_ReadWriteCharArrayBuffer()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_OBJECT java_nio_ReadWriteCharArrayBuffer_copy___java_nio_CharArrayBuffer_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_nio_ReadWriteCharArrayBuffer)
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteCharArrayBuffer_copy___java_nio_CharArrayBuffer_int]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteCharArrayBuffer", "copy", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = n1;
+ _r5.i = n2;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 34)
+ _r0.o = __NEW_java_nio_ReadWriteCharArrayBuffer();
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 35)
+ XMLVM_CHECK_NPE(4)
+ _r1.i = java_nio_Buffer_capacity__(_r4.o);
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_nio_CharArrayBuffer*) _r4.o)->fields.java_nio_CharArrayBuffer.backingArray_;
+ XMLVM_CHECK_NPE(4)
+ _r3.i = ((java_nio_CharArrayBuffer*) _r4.o)->fields.java_nio_CharArrayBuffer.offset_;
+ XMLVM_CHECK_NPE(0)
+ java_nio_ReadWriteCharArrayBuffer___INIT____int_char_1ARRAY_int(_r0.o, _r1.i, _r2.o, _r3.i);
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 36)
+ XMLVM_CHECK_NPE(4)
+ _r1.i = java_nio_Buffer_limit__(_r4.o);
+ XMLVM_CHECK_NPE(0)
+ ((java_nio_Buffer*) _r0.o)->fields.java_nio_Buffer.limit_ = _r1.i;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 37)
+ XMLVM_CHECK_NPE(4)
+ _r1.i = java_nio_Buffer_position__(_r4.o);
+ XMLVM_CHECK_NPE(0)
+ ((java_nio_Buffer*) _r0.o)->fields.java_nio_Buffer.position_ = _r1.i;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 38)
+ XMLVM_CHECK_NPE(0)
+ ((java_nio_Buffer*) _r0.o)->fields.java_nio_Buffer.mark_ = _r5.i;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 39)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_ReadWriteCharArrayBuffer___INIT____char_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteCharArrayBuffer___INIT____char_1ARRAY]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteCharArrayBuffer", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 43)
+ XMLVM_CHECK_NPE(0)
+ java_nio_CharArrayBuffer___INIT____char_1ARRAY(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 44)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_ReadWriteCharArrayBuffer___INIT____int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteCharArrayBuffer___INIT____int]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteCharArrayBuffer", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 47)
+ XMLVM_CHECK_NPE(0)
+ java_nio_CharArrayBuffer___INIT____int(_r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 48)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_ReadWriteCharArrayBuffer___INIT____int_char_1ARRAY_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteCharArrayBuffer___INIT____int_char_1ARRAY_int]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteCharArrayBuffer", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r0.o = me;
+ _r1.i = n1;
+ _r2.o = n2;
+ _r3.i = n3;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 51)
+ XMLVM_CHECK_NPE(0)
+ java_nio_CharArrayBuffer___INIT____int_char_1ARRAY_int(_r0.o, _r1.i, _r2.o, _r3.i);
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 52)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteCharArrayBuffer_asReadOnlyBuffer__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteCharArrayBuffer_asReadOnlyBuffer__]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteCharArrayBuffer", "asReadOnlyBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 56)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.mark_;
+
+
+ // Red class access removed: java.nio.ReadOnlyCharArrayBuffer::copy
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteCharArrayBuffer_compact__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteCharArrayBuffer_compact__]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteCharArrayBuffer", "compact", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.o = me;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 61)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_nio_CharArrayBuffer*) _r5.o)->fields.java_nio_CharArrayBuffer.backingArray_;
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.position_;
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_nio_CharArrayBuffer*) _r5.o)->fields.java_nio_CharArrayBuffer.offset_;
+ _r1.i = _r1.i + _r2.i;
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_nio_CharArrayBuffer*) _r5.o)->fields.java_nio_CharArrayBuffer.backingArray_;
+ XMLVM_CHECK_NPE(5)
+ _r3.i = ((java_nio_CharArrayBuffer*) _r5.o)->fields.java_nio_CharArrayBuffer.offset_;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 62)
+ XMLVM_CHECK_NPE(5)
+ _r4.i = java_nio_Buffer_remaining__(_r5.o);
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r2.o, _r3.i, _r4.i);
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 63)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.limit_;
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.position_;
+ _r0.i = _r0.i - _r1.i;
+ XMLVM_CHECK_NPE(5)
+ ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.position_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 64)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.capacity_;
+ XMLVM_CHECK_NPE(5)
+ ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.limit_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 65)
+ _r0.i = -1;
+ XMLVM_CHECK_NPE(5)
+ ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.mark_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 66)
+ XMLVM_EXIT_METHOD()
+ return _r5.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteCharArrayBuffer_duplicate__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteCharArrayBuffer_duplicate__]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteCharArrayBuffer", "duplicate", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 71)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.mark_;
+ _r0.o = java_nio_ReadWriteCharArrayBuffer_copy___java_nio_CharArrayBuffer_int(_r1.o, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_ReadWriteCharArrayBuffer_isReadOnly__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteCharArrayBuffer_isReadOnly__]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteCharArrayBuffer", "isReadOnly", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 76)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteCharArrayBuffer_protectedArray__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteCharArrayBuffer_protectedArray__]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteCharArrayBuffer", "protectedArray", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 81)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_nio_CharArrayBuffer*) _r1.o)->fields.java_nio_CharArrayBuffer.backingArray_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_nio_ReadWriteCharArrayBuffer_protectedArrayOffset__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteCharArrayBuffer_protectedArrayOffset__]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteCharArrayBuffer", "protectedArrayOffset", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 86)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_nio_CharArrayBuffer*) _r1.o)->fields.java_nio_CharArrayBuffer.offset_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_ReadWriteCharArrayBuffer_protectedHasArray__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteCharArrayBuffer_protectedHasArray__]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteCharArrayBuffer", "protectedHasArray", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 91)
+ _r0.i = 1;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteCharArrayBuffer_put___char(JAVA_OBJECT me, JAVA_CHAR n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteCharArrayBuffer_put___char]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteCharArrayBuffer", "put", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.i = n1;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 96)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.position_;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.limit_;
+ if (_r0.i != _r1.i) goto label12;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 97)
+
+
+ // Red class access removed: java.nio.BufferOverflowException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.BufferOverflowException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label12:;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 99)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_nio_CharArrayBuffer*) _r4.o)->fields.java_nio_CharArrayBuffer.backingArray_;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_nio_CharArrayBuffer*) _r4.o)->fields.java_nio_CharArrayBuffer.offset_;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.position_;
+ _r3.i = _r2.i + 1;
+ XMLVM_CHECK_NPE(4)
+ ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.position_ = _r3.i;
+ _r1.i = _r1.i + _r2.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 100)
+ XMLVM_EXIT_METHOD()
+ return _r4.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteCharArrayBuffer_put___int_char(JAVA_OBJECT me, JAVA_INT n1, JAVA_CHAR n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteCharArrayBuffer_put___int_char]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteCharArrayBuffer", "put", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.i = n1;
+ _r4.i = n2;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 105)
+ if (_r3.i < 0) goto label6;
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.limit_;
+ if (_r3.i < _r0.i) goto label12;
+ label6:;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 106)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label12:;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 108)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_nio_CharArrayBuffer*) _r2.o)->fields.java_nio_CharArrayBuffer.backingArray_;
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_nio_CharArrayBuffer*) _r2.o)->fields.java_nio_CharArrayBuffer.offset_;
+ _r1.i = _r1.i + _r3.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 109)
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteCharArrayBuffer_put___char_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteCharArrayBuffer_put___char_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteCharArrayBuffer", "put", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r5.o = me;
+ _r6.o = n1;
+ _r7.i = n2;
+ _r8.i = n3;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 114)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 115)
+ if (_r7.i < 0) goto label13;
+ if (_r8.i < 0) goto label13;
+ _r1.l = (JAVA_LONG) _r8.i;
+ _r3.l = (JAVA_LONG) _r7.i;
+ _r1.l = _r1.l + _r3.l;
+ _r3.l = (JAVA_LONG) _r0.i;
+ _r0.i = _r1.l > _r3.l ? 1 : (_r1.l == _r3.l ? 0 : -1);
+ if (_r0.i <= 0) goto label19;
+ label13:;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 116)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label19:;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 118)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = java_nio_Buffer_remaining__(_r5.o);
+ if (_r8.i <= _r0.i) goto label31;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 119)
+
+
+ // Red class access removed: java.nio.BufferOverflowException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.BufferOverflowException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label31:;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 121)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_nio_CharArrayBuffer*) _r5.o)->fields.java_nio_CharArrayBuffer.backingArray_;
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_nio_CharArrayBuffer*) _r5.o)->fields.java_nio_CharArrayBuffer.offset_;
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.position_;
+ _r1.i = _r1.i + _r2.i;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r6.o, _r7.i, _r0.o, _r1.i, _r8.i);
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 122)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.position_;
+ _r0.i = _r0.i + _r8.i;
+ XMLVM_CHECK_NPE(5)
+ ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.position_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 123)
+ XMLVM_EXIT_METHOD()
+ return _r5.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteCharArrayBuffer_slice__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteCharArrayBuffer_slice__]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteCharArrayBuffer", "slice", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.o = me;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 128)
+ _r0.o = __NEW_java_nio_ReadWriteCharArrayBuffer();
+ XMLVM_CHECK_NPE(5)
+ _r1.i = java_nio_Buffer_remaining__(_r5.o);
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_nio_CharArrayBuffer*) _r5.o)->fields.java_nio_CharArrayBuffer.backingArray_;
+ XMLVM_CHECK_NPE(5)
+ _r3.i = ((java_nio_CharArrayBuffer*) _r5.o)->fields.java_nio_CharArrayBuffer.offset_;
+ XMLVM_SOURCE_POSITION("ReadWriteCharArrayBuffer.java", 129)
+ XMLVM_CHECK_NPE(5)
+ _r4.i = ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.position_;
+ _r3.i = _r3.i + _r4.i;
+ XMLVM_CHECK_NPE(0)
+ java_nio_ReadWriteCharArrayBuffer___INIT____int_char_1ARRAY_int(_r0.o, _r1.i, _r2.o, _r3.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_nio_ReadWriteCharArrayBuffer.h b/tests/nbody-java/java_nio_ReadWriteCharArrayBuffer.h
new file mode 100644
index 00000000..b4fd5304
--- /dev/null
+++ b/tests/nbody-java/java_nio_ReadWriteCharArrayBuffer.h
@@ -0,0 +1,103 @@
+#ifndef __JAVA_NIO_READWRITECHARARRAYBUFFER__
+#define __JAVA_NIO_READWRITECHARARRAYBUFFER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_nio_ReadWriteCharArrayBuffer 9
+// Implemented interfaces:
+// Super Class:
+#include "java_nio_CharArrayBuffer.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+#define XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+XMLVM_FORWARD_DECL(java_lang_IndexOutOfBoundsException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_CharBuffer
+#define XMLVM_FORWARD_DECL_java_nio_CharBuffer
+XMLVM_FORWARD_DECL(java_nio_CharBuffer)
+#endif
+// Class declarations for java.nio.ReadWriteCharArrayBuffer
+XMLVM_DEFINE_CLASS(java_nio_ReadWriteCharArrayBuffer, 33, XMLVM_ITABLE_SIZE_java_nio_ReadWriteCharArrayBuffer)
+
+extern JAVA_OBJECT __CLASS_java_nio_ReadWriteCharArrayBuffer;
+extern JAVA_OBJECT __CLASS_java_nio_ReadWriteCharArrayBuffer_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_ReadWriteCharArrayBuffer_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_ReadWriteCharArrayBuffer_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_nio_ReadWriteCharArrayBuffer
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_nio_ReadWriteCharArrayBuffer \
+ __INSTANCE_FIELDS_java_nio_CharArrayBuffer; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_nio_ReadWriteCharArrayBuffer \
+ } java_nio_ReadWriteCharArrayBuffer
+
+struct java_nio_ReadWriteCharArrayBuffer {
+ __TIB_DEFINITION_java_nio_ReadWriteCharArrayBuffer* tib;
+ struct {
+ __INSTANCE_FIELDS_java_nio_ReadWriteCharArrayBuffer;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_nio_ReadWriteCharArrayBuffer
+#define XMLVM_FORWARD_DECL_java_nio_ReadWriteCharArrayBuffer
+typedef struct java_nio_ReadWriteCharArrayBuffer java_nio_ReadWriteCharArrayBuffer;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_nio_ReadWriteCharArrayBuffer 33
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteCharArrayBuffer_asReadOnlyBuffer__ 14
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteCharArrayBuffer_compact__ 16
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteCharArrayBuffer_duplicate__ 18
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteCharArrayBuffer_isReadOnly__ 10
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteCharArrayBuffer_protectedArray__ 25
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteCharArrayBuffer_protectedArrayOffset__ 24
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteCharArrayBuffer_protectedHasArray__ 26
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteCharArrayBuffer_put___char 27
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteCharArrayBuffer_put___int_char 29
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteCharArrayBuffer_put___char_1ARRAY_int_int 28
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteCharArrayBuffer_slice__ 31
+
+void __INIT_java_nio_ReadWriteCharArrayBuffer();
+void __INIT_IMPL_java_nio_ReadWriteCharArrayBuffer();
+void __DELETE_java_nio_ReadWriteCharArrayBuffer(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_nio_ReadWriteCharArrayBuffer(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_nio_ReadWriteCharArrayBuffer();
+JAVA_OBJECT __NEW_INSTANCE_java_nio_ReadWriteCharArrayBuffer();
+JAVA_OBJECT java_nio_ReadWriteCharArrayBuffer_copy___java_nio_CharArrayBuffer_int(JAVA_OBJECT n1, JAVA_INT n2);
+void java_nio_ReadWriteCharArrayBuffer___INIT____char_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_nio_ReadWriteCharArrayBuffer___INIT____int(JAVA_OBJECT me, JAVA_INT n1);
+void java_nio_ReadWriteCharArrayBuffer___INIT____int_char_1ARRAY_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2, JAVA_INT n3);
+// Vtable index: 14
+JAVA_OBJECT java_nio_ReadWriteCharArrayBuffer_asReadOnlyBuffer__(JAVA_OBJECT me);
+// Vtable index: 16
+JAVA_OBJECT java_nio_ReadWriteCharArrayBuffer_compact__(JAVA_OBJECT me);
+// Vtable index: 18
+JAVA_OBJECT java_nio_ReadWriteCharArrayBuffer_duplicate__(JAVA_OBJECT me);
+// Vtable index: 10
+JAVA_BOOLEAN java_nio_ReadWriteCharArrayBuffer_isReadOnly__(JAVA_OBJECT me);
+// Vtable index: 25
+JAVA_OBJECT java_nio_ReadWriteCharArrayBuffer_protectedArray__(JAVA_OBJECT me);
+// Vtable index: 24
+JAVA_INT java_nio_ReadWriteCharArrayBuffer_protectedArrayOffset__(JAVA_OBJECT me);
+// Vtable index: 26
+JAVA_BOOLEAN java_nio_ReadWriteCharArrayBuffer_protectedHasArray__(JAVA_OBJECT me);
+// Vtable index: 27
+JAVA_OBJECT java_nio_ReadWriteCharArrayBuffer_put___char(JAVA_OBJECT me, JAVA_CHAR n1);
+// Vtable index: 29
+JAVA_OBJECT java_nio_ReadWriteCharArrayBuffer_put___int_char(JAVA_OBJECT me, JAVA_INT n1, JAVA_CHAR n2);
+// Vtable index: 28
+JAVA_OBJECT java_nio_ReadWriteCharArrayBuffer_put___char_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+// Vtable index: 31
+JAVA_OBJECT java_nio_ReadWriteCharArrayBuffer_slice__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_nio_ReadWriteHeapByteBuffer.c b/tests/nbody-java/java_nio_ReadWriteHeapByteBuffer.c
new file mode 100644
index 00000000..2540b894
--- /dev/null
+++ b/tests/nbody-java/java_nio_ReadWriteHeapByteBuffer.c
@@ -0,0 +1,967 @@
+#include "xmlvm.h"
+#include "java_lang_Double.h"
+#include "java_lang_Float.h"
+#include "java_lang_IndexOutOfBoundsException.h"
+#include "java_lang_Object.h"
+#include "java_lang_System.h"
+#include "java_nio_ByteBuffer.h"
+#include "org_apache_harmony_luni_platform_Endianness.h"
+
+#include "java_nio_ReadWriteHeapByteBuffer.h"
+
+#define XMLVM_CURRENT_CLASS_NAME ReadWriteHeapByteBuffer
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_nio_ReadWriteHeapByteBuffer
+
+__TIB_DEFINITION_java_nio_ReadWriteHeapByteBuffer __TIB_java_nio_ReadWriteHeapByteBuffer = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_nio_ReadWriteHeapByteBuffer, // classInitializer
+ "java.nio.ReadWriteHeapByteBuffer", // className
+ "java.nio", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_HeapByteBuffer, // extends
+ sizeof(java_nio_ReadWriteHeapByteBuffer), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_nio_ReadWriteHeapByteBuffer;
+JAVA_OBJECT __CLASS_java_nio_ReadWriteHeapByteBuffer_1ARRAY;
+JAVA_OBJECT __CLASS_java_nio_ReadWriteHeapByteBuffer_2ARRAY;
+JAVA_OBJECT __CLASS_java_nio_ReadWriteHeapByteBuffer_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_nio_ReadWriteHeapByteBuffer()
+{
+ staticInitializerLock(&__TIB_java_nio_ReadWriteHeapByteBuffer);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_nio_ReadWriteHeapByteBuffer.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_nio_ReadWriteHeapByteBuffer.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_nio_ReadWriteHeapByteBuffer);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_nio_ReadWriteHeapByteBuffer.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_nio_ReadWriteHeapByteBuffer.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_nio_ReadWriteHeapByteBuffer.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.nio.ReadWriteHeapByteBuffer")
+ __INIT_IMPL_java_nio_ReadWriteHeapByteBuffer();
+ }
+}
+
+void __INIT_IMPL_java_nio_ReadWriteHeapByteBuffer()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_nio_HeapByteBuffer)
+ __TIB_java_nio_ReadWriteHeapByteBuffer.newInstanceFunc = __NEW_INSTANCE_java_nio_ReadWriteHeapByteBuffer;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_nio_ReadWriteHeapByteBuffer.vtable, __TIB_java_nio_HeapByteBuffer.vtable, sizeof(__TIB_java_nio_HeapByteBuffer.vtable));
+ // Initialize vtable for this class
+ __TIB_java_nio_ReadWriteHeapByteBuffer.vtable[16] = (VTABLE_PTR) &java_nio_ReadWriteHeapByteBuffer_asReadOnlyBuffer__;
+ __TIB_java_nio_ReadWriteHeapByteBuffer.vtable[18] = (VTABLE_PTR) &java_nio_ReadWriteHeapByteBuffer_compact__;
+ __TIB_java_nio_ReadWriteHeapByteBuffer.vtable[20] = (VTABLE_PTR) &java_nio_ReadWriteHeapByteBuffer_duplicate__;
+ __TIB_java_nio_ReadWriteHeapByteBuffer.vtable[10] = (VTABLE_PTR) &java_nio_ReadWriteHeapByteBuffer_isReadOnly__;
+ __TIB_java_nio_ReadWriteHeapByteBuffer.vtable[37] = (VTABLE_PTR) &java_nio_ReadWriteHeapByteBuffer_protectedArray__;
+ __TIB_java_nio_ReadWriteHeapByteBuffer.vtable[36] = (VTABLE_PTR) &java_nio_ReadWriteHeapByteBuffer_protectedArrayOffset__;
+ __TIB_java_nio_ReadWriteHeapByteBuffer.vtable[38] = (VTABLE_PTR) &java_nio_ReadWriteHeapByteBuffer_protectedHasArray__;
+ __TIB_java_nio_ReadWriteHeapByteBuffer.vtable[51] = (VTABLE_PTR) &java_nio_ReadWriteHeapByteBuffer_put___byte;
+ __TIB_java_nio_ReadWriteHeapByteBuffer.vtable[53] = (VTABLE_PTR) &java_nio_ReadWriteHeapByteBuffer_put___int_byte;
+ __TIB_java_nio_ReadWriteHeapByteBuffer.vtable[52] = (VTABLE_PTR) &java_nio_ReadWriteHeapByteBuffer_put___byte_1ARRAY_int_int;
+ __TIB_java_nio_ReadWriteHeapByteBuffer.vtable[41] = (VTABLE_PTR) &java_nio_ReadWriteHeapByteBuffer_putDouble___double;
+ __TIB_java_nio_ReadWriteHeapByteBuffer.vtable[42] = (VTABLE_PTR) &java_nio_ReadWriteHeapByteBuffer_putDouble___int_double;
+ __TIB_java_nio_ReadWriteHeapByteBuffer.vtable[43] = (VTABLE_PTR) &java_nio_ReadWriteHeapByteBuffer_putFloat___float;
+ __TIB_java_nio_ReadWriteHeapByteBuffer.vtable[44] = (VTABLE_PTR) &java_nio_ReadWriteHeapByteBuffer_putFloat___int_float;
+ __TIB_java_nio_ReadWriteHeapByteBuffer.vtable[45] = (VTABLE_PTR) &java_nio_ReadWriteHeapByteBuffer_putInt___int;
+ __TIB_java_nio_ReadWriteHeapByteBuffer.vtable[46] = (VTABLE_PTR) &java_nio_ReadWriteHeapByteBuffer_putInt___int_int;
+ __TIB_java_nio_ReadWriteHeapByteBuffer.vtable[47] = (VTABLE_PTR) &java_nio_ReadWriteHeapByteBuffer_putLong___int_long;
+ __TIB_java_nio_ReadWriteHeapByteBuffer.vtable[48] = (VTABLE_PTR) &java_nio_ReadWriteHeapByteBuffer_putLong___long;
+ __TIB_java_nio_ReadWriteHeapByteBuffer.vtable[49] = (VTABLE_PTR) &java_nio_ReadWriteHeapByteBuffer_putShort___int_short;
+ __TIB_java_nio_ReadWriteHeapByteBuffer.vtable[50] = (VTABLE_PTR) &java_nio_ReadWriteHeapByteBuffer_putShort___short;
+ __TIB_java_nio_ReadWriteHeapByteBuffer.vtable[54] = (VTABLE_PTR) &java_nio_ReadWriteHeapByteBuffer_slice__;
+ // Initialize interface information
+ __TIB_java_nio_ReadWriteHeapByteBuffer.numImplementedInterfaces = 1;
+ __TIB_java_nio_ReadWriteHeapByteBuffer.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_lang_Comparable)
+
+ __TIB_java_nio_ReadWriteHeapByteBuffer.implementedInterfaces[0][0] = &__TIB_java_lang_Comparable;
+ // Initialize itable for this class
+ __TIB_java_nio_ReadWriteHeapByteBuffer.itableBegin = &__TIB_java_nio_ReadWriteHeapByteBuffer.itable[0];
+ __TIB_java_nio_ReadWriteHeapByteBuffer.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_nio_ReadWriteHeapByteBuffer.vtable[19];
+
+
+ __TIB_java_nio_ReadWriteHeapByteBuffer.declaredFields = &__field_reflection_data[0];
+ __TIB_java_nio_ReadWriteHeapByteBuffer.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_nio_ReadWriteHeapByteBuffer.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_nio_ReadWriteHeapByteBuffer.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_nio_ReadWriteHeapByteBuffer.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_nio_ReadWriteHeapByteBuffer.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_nio_ReadWriteHeapByteBuffer.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_nio_ReadWriteHeapByteBuffer.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_nio_ReadWriteHeapByteBuffer = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_nio_ReadWriteHeapByteBuffer);
+ __TIB_java_nio_ReadWriteHeapByteBuffer.clazz = __CLASS_java_nio_ReadWriteHeapByteBuffer;
+ __TIB_java_nio_ReadWriteHeapByteBuffer.baseType = JAVA_NULL;
+ __CLASS_java_nio_ReadWriteHeapByteBuffer_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_ReadWriteHeapByteBuffer);
+ __CLASS_java_nio_ReadWriteHeapByteBuffer_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_ReadWriteHeapByteBuffer_1ARRAY);
+ __CLASS_java_nio_ReadWriteHeapByteBuffer_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_ReadWriteHeapByteBuffer_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_nio_ReadWriteHeapByteBuffer]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_nio_ReadWriteHeapByteBuffer.classInitialized = 1;
+}
+
+void __DELETE_java_nio_ReadWriteHeapByteBuffer(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_nio_ReadWriteHeapByteBuffer]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_nio_ReadWriteHeapByteBuffer(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_nio_HeapByteBuffer(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_nio_ReadWriteHeapByteBuffer]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_nio_ReadWriteHeapByteBuffer()
+{ XMLVM_CLASS_INIT(java_nio_ReadWriteHeapByteBuffer)
+java_nio_ReadWriteHeapByteBuffer* me = (java_nio_ReadWriteHeapByteBuffer*) XMLVM_MALLOC(sizeof(java_nio_ReadWriteHeapByteBuffer));
+ me->tib = &__TIB_java_nio_ReadWriteHeapByteBuffer;
+ __INIT_INSTANCE_MEMBERS_java_nio_ReadWriteHeapByteBuffer(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_nio_ReadWriteHeapByteBuffer]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_nio_ReadWriteHeapByteBuffer()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_copy___java_nio_HeapByteBuffer_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_nio_ReadWriteHeapByteBuffer)
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer_copy___java_nio_HeapByteBuffer_int]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "copy", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = n1;
+ _r5.i = n2;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 33)
+ _r0.o = __NEW_java_nio_ReadWriteHeapByteBuffer();
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 34)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_nio_HeapByteBuffer*) _r4.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = java_nio_Buffer_capacity__(_r4.o);
+ XMLVM_CHECK_NPE(4)
+ _r3.i = ((java_nio_HeapByteBuffer*) _r4.o)->fields.java_nio_HeapByteBuffer.offset_;
+ XMLVM_CHECK_NPE(0)
+ java_nio_ReadWriteHeapByteBuffer___INIT____byte_1ARRAY_int_int(_r0.o, _r1.o, _r2.i, _r3.i);
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 35)
+ XMLVM_CHECK_NPE(4)
+ _r1.i = java_nio_Buffer_limit__(_r4.o);
+ XMLVM_CHECK_NPE(0)
+ ((java_nio_Buffer*) _r0.o)->fields.java_nio_Buffer.limit_ = _r1.i;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 36)
+ XMLVM_CHECK_NPE(4)
+ _r1.i = java_nio_Buffer_position__(_r4.o);
+ XMLVM_CHECK_NPE(0)
+ ((java_nio_Buffer*) _r0.o)->fields.java_nio_Buffer.position_ = _r1.i;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 37)
+ XMLVM_CHECK_NPE(0)
+ ((java_nio_Buffer*) _r0.o)->fields.java_nio_Buffer.mark_ = _r5.i;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 38)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = java_nio_ByteBuffer_order__(_r4.o);
+ XMLVM_CHECK_NPE(0)
+ java_nio_ByteBuffer_order___java_nio_ByteOrder(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 39)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_ReadWriteHeapByteBuffer___INIT____byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer___INIT____byte_1ARRAY]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 43)
+ XMLVM_CHECK_NPE(0)
+ java_nio_HeapByteBuffer___INIT____byte_1ARRAY(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 44)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_ReadWriteHeapByteBuffer___INIT____int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer___INIT____int]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 47)
+ XMLVM_CHECK_NPE(0)
+ java_nio_HeapByteBuffer___INIT____int(_r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 48)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_ReadWriteHeapByteBuffer___INIT____byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer___INIT____byte_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.i = n2;
+ _r3.i = n3;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 51)
+ XMLVM_CHECK_NPE(0)
+ java_nio_HeapByteBuffer___INIT____byte_1ARRAY_int_int(_r0.o, _r1.o, _r2.i, _r3.i);
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 52)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_asReadOnlyBuffer__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer_asReadOnlyBuffer__]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "asReadOnlyBuffer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 56)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.mark_;
+
+
+ // Red class access removed: java.nio.ReadOnlyHeapByteBuffer::copy
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_compact__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer_compact__]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "compact", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.o = me;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 61)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_nio_HeapByteBuffer*) _r5.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.position_;
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_nio_HeapByteBuffer*) _r5.o)->fields.java_nio_HeapByteBuffer.offset_;
+ _r1.i = _r1.i + _r2.i;
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_nio_HeapByteBuffer*) _r5.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ XMLVM_CHECK_NPE(5)
+ _r3.i = ((java_nio_HeapByteBuffer*) _r5.o)->fields.java_nio_HeapByteBuffer.offset_;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 62)
+ XMLVM_CHECK_NPE(5)
+ _r4.i = java_nio_Buffer_remaining__(_r5.o);
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r2.o, _r3.i, _r4.i);
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 63)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.limit_;
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.position_;
+ _r0.i = _r0.i - _r1.i;
+ XMLVM_CHECK_NPE(5)
+ ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.position_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 64)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.capacity_;
+ XMLVM_CHECK_NPE(5)
+ ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.limit_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 65)
+ _r0.i = -1;
+ XMLVM_CHECK_NPE(5)
+ ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.mark_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 66)
+ XMLVM_EXIT_METHOD()
+ return _r5.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_duplicate__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer_duplicate__]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "duplicate", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 71)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_nio_Buffer*) _r1.o)->fields.java_nio_Buffer.mark_;
+ _r0.o = java_nio_ReadWriteHeapByteBuffer_copy___java_nio_HeapByteBuffer_int(_r1.o, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_ReadWriteHeapByteBuffer_isReadOnly__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer_isReadOnly__]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "isReadOnly", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 76)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_protectedArray__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer_protectedArray__]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "protectedArray", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 81)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_nio_HeapByteBuffer*) _r1.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_nio_ReadWriteHeapByteBuffer_protectedArrayOffset__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer_protectedArrayOffset__]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "protectedArrayOffset", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 86)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_nio_HeapByteBuffer*) _r1.o)->fields.java_nio_HeapByteBuffer.offset_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_ReadWriteHeapByteBuffer_protectedHasArray__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer_protectedHasArray__]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "protectedHasArray", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 91)
+ _r0.i = 1;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_put___byte(JAVA_OBJECT me, JAVA_BYTE n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer_put___byte]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "put", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.i = n1;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 96)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.position_;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.limit_;
+ if (_r0.i != _r1.i) goto label12;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 97)
+
+
+ // Red class access removed: java.nio.BufferOverflowException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.BufferOverflowException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label12:;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 99)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_nio_HeapByteBuffer*) _r4.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_nio_HeapByteBuffer*) _r4.o)->fields.java_nio_HeapByteBuffer.offset_;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.position_;
+ _r3.i = _r2.i + 1;
+ XMLVM_CHECK_NPE(4)
+ ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.position_ = _r3.i;
+ _r1.i = _r1.i + _r2.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 100)
+ XMLVM_EXIT_METHOD()
+ return _r4.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_put___int_byte(JAVA_OBJECT me, JAVA_INT n1, JAVA_BYTE n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer_put___int_byte]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "put", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.i = n1;
+ _r4.i = n2;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 105)
+ if (_r3.i < 0) goto label6;
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.limit_;
+ if (_r3.i < _r0.i) goto label12;
+ label6:;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 106)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label12:;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 108)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_nio_HeapByteBuffer*) _r2.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_nio_HeapByteBuffer*) _r2.o)->fields.java_nio_HeapByteBuffer.offset_;
+ _r1.i = _r1.i + _r3.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 109)
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_put___byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer_put___byte_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "put", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r4.o = me;
+ _r5.o = n1;
+ _r6.i = n2;
+ _r7.i = n3;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 121)
+ if (_r6.i < 0) goto label13;
+ if (_r7.i < 0) goto label13;
+ _r0.l = (JAVA_LONG) _r6.i;
+ _r2.l = (JAVA_LONG) _r7.i;
+ _r0.l = _r0.l + _r2.l;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ _r2.l = (JAVA_LONG) _r2.i;
+ _r0.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r0.i <= 0) goto label19;
+ label13:;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 122)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label19:;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 124)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = java_nio_Buffer_remaining__(_r4.o);
+ if (_r7.i <= _r0.i) goto label31;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 125)
+
+
+ // Red class access removed: java.nio.BufferOverflowException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.BufferOverflowException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label31:;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 127)
+ //java_nio_ReadWriteHeapByteBuffer_isReadOnly__[10]
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) ((java_nio_ReadWriteHeapByteBuffer*) _r4.o)->tib->vtable[10])(_r4.o);
+ if (_r0.i == 0) goto label43;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 128)
+
+
+ // Red class access removed: java.nio.ReadOnlyBufferException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.ReadOnlyBufferException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label43:;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 130)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_nio_HeapByteBuffer*) _r4.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_nio_HeapByteBuffer*) _r4.o)->fields.java_nio_HeapByteBuffer.offset_;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.position_;
+ _r1.i = _r1.i + _r2.i;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r5.o, _r6.i, _r0.o, _r1.i, _r7.i);
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 131)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.position_;
+ _r0.i = _r0.i + _r7.i;
+ XMLVM_CHECK_NPE(4)
+ ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.position_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 132)
+ XMLVM_EXIT_METHOD()
+ return _r4.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_putDouble___double(JAVA_OBJECT me, JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer_putDouble___double]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "putDouble", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.d = n1;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 137)
+ _r0.l = java_lang_Double_doubleToRawLongBits___double(_r3.d);
+ //java_nio_ReadWriteHeapByteBuffer_putLong___long[48]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_LONG)) ((java_nio_ReadWriteHeapByteBuffer*) _r2.o)->tib->vtable[48])(_r2.o, _r0.l);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_putDouble___int_double(JAVA_OBJECT me, JAVA_INT n1, JAVA_DOUBLE n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer_putDouble___int_double]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "putDouble", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r2.o = me;
+ _r3.i = n1;
+ _r4.d = n2;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 142)
+ _r0.l = java_lang_Double_doubleToRawLongBits___double(_r4.d);
+ //java_nio_ReadWriteHeapByteBuffer_putLong___int_long[47]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT, JAVA_LONG)) ((java_nio_ReadWriteHeapByteBuffer*) _r2.o)->tib->vtable[47])(_r2.o, _r3.i, _r0.l);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_putFloat___float(JAVA_OBJECT me, JAVA_FLOAT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer_putFloat___float]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "putFloat", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.f = n1;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 147)
+ _r0.i = java_lang_Float_floatToIntBits___float(_r2.f);
+ //java_nio_ReadWriteHeapByteBuffer_putInt___int[45]
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) ((java_nio_ReadWriteHeapByteBuffer*) _r1.o)->tib->vtable[45])(_r1.o, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_putFloat___int_float(JAVA_OBJECT me, JAVA_INT n1, JAVA_FLOAT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer_putFloat___int_float]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "putFloat", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.f = n2;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 152)
+ _r0.i = java_lang_Float_floatToIntBits___float(_r3.f);
+ //java_nio_ReadWriteHeapByteBuffer_putInt___int_int[46]
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT, JAVA_INT)) ((java_nio_ReadWriteHeapByteBuffer*) _r1.o)->tib->vtable[46])(_r1.o, _r2.i, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_putInt___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer_putInt___int]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "putInt", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.i = n1;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 157)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.position_;
+ _r0.i = _r0.i + 4;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 158)
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.limit_;
+ if (_r0.i <= _r1.i) goto label14;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 159)
+
+
+ // Red class access removed: java.nio.BufferOverflowException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.BufferOverflowException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label14:;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 161)
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.position_;
+ XMLVM_CHECK_NPE(2)
+ java_nio_HeapByteBuffer_store___int_int(_r2.o, _r1.i, _r3.i);
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 162)
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.position_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 163)
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_putInt___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer_putInt___int_int]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "putInt", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r4.o = me;
+ _r5.i = n1;
+ _r6.i = n2;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 168)
+ if (_r5.i < 0) goto label13;
+ _r0.l = (JAVA_LONG) _r5.i;
+ _r2.l = 4;
+ _r0.l = _r0.l + _r2.l;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.limit_;
+ _r2.l = (JAVA_LONG) _r2.i;
+ _r0.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r0.i <= 0) goto label19;
+ label13:;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 169)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label19:;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 171)
+ XMLVM_CHECK_NPE(4)
+ java_nio_HeapByteBuffer_store___int_int(_r4.o, _r5.i, _r6.i);
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 172)
+ XMLVM_EXIT_METHOD()
+ return _r4.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_putLong___int_long(JAVA_OBJECT me, JAVA_INT n1, JAVA_LONG n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer_putLong___int_long]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "putLong", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r4.o = me;
+ _r5.i = n1;
+ _r6.l = n2;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 177)
+ if (_r5.i < 0) goto label13;
+ _r0.l = (JAVA_LONG) _r5.i;
+ _r2.l = 8;
+ _r0.l = _r0.l + _r2.l;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.limit_;
+ _r2.l = (JAVA_LONG) _r2.i;
+ _r0.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r0.i <= 0) goto label19;
+ label13:;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 178)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label19:;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 180)
+ XMLVM_CHECK_NPE(4)
+ java_nio_HeapByteBuffer_store___int_long(_r4.o, _r5.i, _r6.l);
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 181)
+ XMLVM_EXIT_METHOD()
+ return _r4.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_putLong___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer_putLong___long]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "putLong", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.l = n1;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 186)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.position_;
+ _r0.i = _r0.i + 8;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 187)
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.limit_;
+ if (_r0.i <= _r1.i) goto label14;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 188)
+
+
+ // Red class access removed: java.nio.BufferOverflowException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.BufferOverflowException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label14:;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 190)
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.position_;
+ XMLVM_CHECK_NPE(2)
+ java_nio_HeapByteBuffer_store___int_long(_r2.o, _r1.i, _r3.l);
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 191)
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.position_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 192)
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_putShort___int_short(JAVA_OBJECT me, JAVA_INT n1, JAVA_SHORT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer_putShort___int_short]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "putShort", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r4.o = me;
+ _r5.i = n1;
+ _r6.i = n2;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 197)
+ if (_r5.i < 0) goto label13;
+ _r0.l = (JAVA_LONG) _r5.i;
+ _r2.l = 2;
+ _r0.l = _r0.l + _r2.l;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_nio_Buffer*) _r4.o)->fields.java_nio_Buffer.limit_;
+ _r2.l = (JAVA_LONG) _r2.i;
+ _r0.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r0.i <= 0) goto label19;
+ label13:;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 198)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label19:;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 200)
+ XMLVM_CHECK_NPE(4)
+ java_nio_HeapByteBuffer_store___int_short(_r4.o, _r5.i, _r6.i);
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 201)
+ XMLVM_EXIT_METHOD()
+ return _r4.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_putShort___short(JAVA_OBJECT me, JAVA_SHORT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer_putShort___short]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "putShort", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.i = n1;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 206)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.position_;
+ _r0.i = _r0.i + 2;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 207)
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.limit_;
+ if (_r0.i <= _r1.i) goto label14;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 208)
+
+
+ // Red class access removed: java.nio.BufferOverflowException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.BufferOverflowException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label14:;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 210)
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.position_;
+ XMLVM_CHECK_NPE(2)
+ java_nio_HeapByteBuffer_store___int_short(_r2.o, _r1.i, _r3.i);
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 211)
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_Buffer*) _r2.o)->fields.java_nio_Buffer.position_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 212)
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_slice__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_ReadWriteHeapByteBuffer_slice__]
+ XMLVM_ENTER_METHOD("java.nio.ReadWriteHeapByteBuffer", "slice", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.o = me;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 217)
+ _r0.o = __NEW_java_nio_ReadWriteHeapByteBuffer();
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 218)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_nio_HeapByteBuffer*) _r5.o)->fields.java_nio_HeapByteBuffer.backingArray_;
+ XMLVM_CHECK_NPE(5)
+ _r2.i = java_nio_Buffer_remaining__(_r5.o);
+ XMLVM_CHECK_NPE(5)
+ _r3.i = ((java_nio_HeapByteBuffer*) _r5.o)->fields.java_nio_HeapByteBuffer.offset_;
+ XMLVM_CHECK_NPE(5)
+ _r4.i = ((java_nio_Buffer*) _r5.o)->fields.java_nio_Buffer.position_;
+ _r3.i = _r3.i + _r4.i;
+ XMLVM_CHECK_NPE(0)
+ java_nio_ReadWriteHeapByteBuffer___INIT____byte_1ARRAY_int_int(_r0.o, _r1.o, _r2.i, _r3.i);
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 219)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_nio_ByteBuffer*) _r5.o)->fields.java_nio_ByteBuffer.order_;
+ XMLVM_CHECK_NPE(0)
+ ((java_nio_ByteBuffer*) _r0.o)->fields.java_nio_ByteBuffer.order_ = _r1.o;
+ XMLVM_SOURCE_POSITION("ReadWriteHeapByteBuffer.java", 220)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_nio_ReadWriteHeapByteBuffer.h b/tests/nbody-java/java_nio_ReadWriteHeapByteBuffer.h
new file mode 100644
index 00000000..21678ccc
--- /dev/null
+++ b/tests/nbody-java/java_nio_ReadWriteHeapByteBuffer.h
@@ -0,0 +1,145 @@
+#ifndef __JAVA_NIO_READWRITEHEAPBYTEBUFFER__
+#define __JAVA_NIO_READWRITEHEAPBYTEBUFFER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_nio_ReadWriteHeapByteBuffer 8
+// Implemented interfaces:
+// Super Class:
+#include "java_nio_HeapByteBuffer.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Double
+#define XMLVM_FORWARD_DECL_java_lang_Double
+XMLVM_FORWARD_DECL(java_lang_Double)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Float
+#define XMLVM_FORWARD_DECL_java_lang_Float
+XMLVM_FORWARD_DECL(java_lang_Float)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+#define XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+XMLVM_FORWARD_DECL(java_lang_IndexOutOfBoundsException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_ByteBuffer
+#define XMLVM_FORWARD_DECL_java_nio_ByteBuffer
+XMLVM_FORWARD_DECL(java_nio_ByteBuffer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_Endianness
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_Endianness
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_platform_Endianness)
+#endif
+// Class declarations for java.nio.ReadWriteHeapByteBuffer
+XMLVM_DEFINE_CLASS(java_nio_ReadWriteHeapByteBuffer, 55, XMLVM_ITABLE_SIZE_java_nio_ReadWriteHeapByteBuffer)
+
+extern JAVA_OBJECT __CLASS_java_nio_ReadWriteHeapByteBuffer;
+extern JAVA_OBJECT __CLASS_java_nio_ReadWriteHeapByteBuffer_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_ReadWriteHeapByteBuffer_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_ReadWriteHeapByteBuffer_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_nio_ReadWriteHeapByteBuffer
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_nio_ReadWriteHeapByteBuffer \
+ __INSTANCE_FIELDS_java_nio_HeapByteBuffer; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_nio_ReadWriteHeapByteBuffer \
+ } java_nio_ReadWriteHeapByteBuffer
+
+struct java_nio_ReadWriteHeapByteBuffer {
+ __TIB_DEFINITION_java_nio_ReadWriteHeapByteBuffer* tib;
+ struct {
+ __INSTANCE_FIELDS_java_nio_ReadWriteHeapByteBuffer;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_nio_ReadWriteHeapByteBuffer
+#define XMLVM_FORWARD_DECL_java_nio_ReadWriteHeapByteBuffer
+typedef struct java_nio_ReadWriteHeapByteBuffer java_nio_ReadWriteHeapByteBuffer;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_nio_ReadWriteHeapByteBuffer 55
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteHeapByteBuffer_asReadOnlyBuffer__ 16
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteHeapByteBuffer_compact__ 18
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteHeapByteBuffer_duplicate__ 20
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteHeapByteBuffer_isReadOnly__ 10
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteHeapByteBuffer_protectedArray__ 37
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteHeapByteBuffer_protectedArrayOffset__ 36
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteHeapByteBuffer_protectedHasArray__ 38
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteHeapByteBuffer_put___byte 51
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteHeapByteBuffer_put___int_byte 53
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteHeapByteBuffer_put___byte_1ARRAY_int_int 52
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteHeapByteBuffer_putDouble___double 41
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteHeapByteBuffer_putDouble___int_double 42
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteHeapByteBuffer_putFloat___float 43
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteHeapByteBuffer_putFloat___int_float 44
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteHeapByteBuffer_putInt___int 45
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteHeapByteBuffer_putInt___int_int 46
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteHeapByteBuffer_putLong___int_long 47
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteHeapByteBuffer_putLong___long 48
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteHeapByteBuffer_putShort___int_short 49
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteHeapByteBuffer_putShort___short 50
+#define XMLVM_VTABLE_IDX_java_nio_ReadWriteHeapByteBuffer_slice__ 54
+
+void __INIT_java_nio_ReadWriteHeapByteBuffer();
+void __INIT_IMPL_java_nio_ReadWriteHeapByteBuffer();
+void __DELETE_java_nio_ReadWriteHeapByteBuffer(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_nio_ReadWriteHeapByteBuffer(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_nio_ReadWriteHeapByteBuffer();
+JAVA_OBJECT __NEW_INSTANCE_java_nio_ReadWriteHeapByteBuffer();
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_copy___java_nio_HeapByteBuffer_int(JAVA_OBJECT n1, JAVA_INT n2);
+void java_nio_ReadWriteHeapByteBuffer___INIT____byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_nio_ReadWriteHeapByteBuffer___INIT____int(JAVA_OBJECT me, JAVA_INT n1);
+void java_nio_ReadWriteHeapByteBuffer___INIT____byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+// Vtable index: 16
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_asReadOnlyBuffer__(JAVA_OBJECT me);
+// Vtable index: 18
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_compact__(JAVA_OBJECT me);
+// Vtable index: 20
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_duplicate__(JAVA_OBJECT me);
+// Vtable index: 10
+JAVA_BOOLEAN java_nio_ReadWriteHeapByteBuffer_isReadOnly__(JAVA_OBJECT me);
+// Vtable index: 37
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_protectedArray__(JAVA_OBJECT me);
+// Vtable index: 36
+JAVA_INT java_nio_ReadWriteHeapByteBuffer_protectedArrayOffset__(JAVA_OBJECT me);
+// Vtable index: 38
+JAVA_BOOLEAN java_nio_ReadWriteHeapByteBuffer_protectedHasArray__(JAVA_OBJECT me);
+// Vtable index: 51
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_put___byte(JAVA_OBJECT me, JAVA_BYTE n1);
+// Vtable index: 53
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_put___int_byte(JAVA_OBJECT me, JAVA_INT n1, JAVA_BYTE n2);
+// Vtable index: 52
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_put___byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+// Vtable index: 41
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_putDouble___double(JAVA_OBJECT me, JAVA_DOUBLE n1);
+// Vtable index: 42
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_putDouble___int_double(JAVA_OBJECT me, JAVA_INT n1, JAVA_DOUBLE n2);
+// Vtable index: 43
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_putFloat___float(JAVA_OBJECT me, JAVA_FLOAT n1);
+// Vtable index: 44
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_putFloat___int_float(JAVA_OBJECT me, JAVA_INT n1, JAVA_FLOAT n2);
+// Vtable index: 45
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_putInt___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 46
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_putInt___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2);
+// Vtable index: 47
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_putLong___int_long(JAVA_OBJECT me, JAVA_INT n1, JAVA_LONG n2);
+// Vtable index: 48
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_putLong___long(JAVA_OBJECT me, JAVA_LONG n1);
+// Vtable index: 49
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_putShort___int_short(JAVA_OBJECT me, JAVA_INT n1, JAVA_SHORT n2);
+// Vtable index: 50
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_putShort___short(JAVA_OBJECT me, JAVA_SHORT n1);
+// Vtable index: 54
+JAVA_OBJECT java_nio_ReadWriteHeapByteBuffer_slice__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_nio_charset_Charset.c b/tests/nbody-java/java_nio_charset_Charset.c
new file mode 100644
index 00000000..605fcae8
--- /dev/null
+++ b/tests/nbody-java/java_nio_charset_Charset.c
@@ -0,0 +1,2310 @@
+#include "xmlvm.h"
+#include "java_io_IOException.h"
+#include "java_lang_Class.h"
+#include "java_lang_ClassLoader.h"
+#include "java_lang_Exception.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_lang_Thread.h"
+#include "java_lang_Throwable.h"
+#include "java_nio_ByteBuffer.h"
+#include "java_nio_CharBuffer.h"
+#include "java_nio_charset_Charset_1.h"
+#include "java_nio_charset_Charset_2.h"
+#include "java_nio_charset_CharsetDecoder.h"
+#include "java_nio_charset_CharsetEncoder.h"
+#include "java_nio_charset_CodingErrorAction.h"
+#include "java_nio_charset_spi_CharsetProvider.h"
+#include "java_security_AccessController.h"
+#include "java_util_Collections.h"
+#include "java_util_Comparator.h"
+#include "java_util_Enumeration.h"
+#include "java_util_HashMap.h"
+#include "java_util_HashSet.h"
+#include "java_util_Iterator.h"
+#include "java_util_Locale.h"
+#include "java_util_Set.h"
+#include "org_apache_harmony_niochar_CharsetProviderImpl.h"
+
+#include "java_nio_charset_Charset.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Charset
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_nio_charset_Charset
+
+__TIB_DEFINITION_java_nio_charset_Charset __TIB_java_nio_charset_Charset = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_nio_charset_Charset, // classInitializer
+ "java.nio.charset.Charset", // className
+ "java.nio.charset", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "Ljava/lang/Object;Ljava/lang/Comparable<Ljava/nio/charset/Charset;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_nio_charset_Charset), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_nio_charset_Charset;
+JAVA_OBJECT __CLASS_java_nio_charset_Charset_1ARRAY;
+JAVA_OBJECT __CLASS_java_nio_charset_Charset_2ARRAY;
+JAVA_OBJECT __CLASS_java_nio_charset_Charset_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_OBJECT _STATIC_java_nio_charset_Charset_PROVIDER_CONFIGURATION_FILE_NAME;
+static JAVA_OBJECT _STATIC_java_nio_charset_Charset_PROVIDER_CONFIGURATION_FILE_ENCODING;
+static JAVA_OBJECT _STATIC_java_nio_charset_Charset_PROVIDER_CONFIGURATION_FILE_COMMENT;
+static JAVA_OBJECT _STATIC_java_nio_charset_Charset_systemClassLoader;
+static JAVA_OBJECT _STATIC_java_nio_charset_Charset__builtInProvider;
+static JAVA_OBJECT _STATIC_java_nio_charset_Charset__builtInCharsets;
+static JAVA_OBJECT _STATIC_java_nio_charset_Charset_cachedCharsetTable;
+static JAVA_BOOLEAN _STATIC_java_nio_charset_Charset_inForNameInternal;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_nio_charset_Charset()
+{
+ staticInitializerLock(&__TIB_java_nio_charset_Charset);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_nio_charset_Charset.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_nio_charset_Charset.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_nio_charset_Charset);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_nio_charset_Charset.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_nio_charset_Charset.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_nio_charset_Charset.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.nio.charset.Charset")
+ __INIT_IMPL_java_nio_charset_Charset();
+ }
+}
+
+void __INIT_IMPL_java_nio_charset_Charset()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_nio_charset_Charset.newInstanceFunc = __NEW_INSTANCE_java_nio_charset_Charset;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_nio_charset_Charset.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_nio_charset_Charset.vtable[1] = (VTABLE_PTR) &java_nio_charset_Charset_equals___java_lang_Object;
+ __TIB_java_nio_charset_Charset.vtable[4] = (VTABLE_PTR) &java_nio_charset_Charset_hashCode__;
+ __TIB_java_nio_charset_Charset.vtable[5] = (VTABLE_PTR) &java_nio_charset_Charset_toString__;
+ __TIB_java_nio_charset_Charset.vtable[6] = (VTABLE_PTR) &java_nio_charset_Charset_compareTo___java_lang_Object;
+ // Initialize interface information
+ __TIB_java_nio_charset_Charset.numImplementedInterfaces = 1;
+ __TIB_java_nio_charset_Charset.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_lang_Comparable)
+
+ __TIB_java_nio_charset_Charset.implementedInterfaces[0][0] = &__TIB_java_lang_Comparable;
+ // Initialize itable for this class
+ __TIB_java_nio_charset_Charset.itableBegin = &__TIB_java_nio_charset_Charset.itable[0];
+ __TIB_java_nio_charset_Charset.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_java_nio_charset_Charset.vtable[6];
+
+ _STATIC_java_nio_charset_Charset_PROVIDER_CONFIGURATION_FILE_NAME = (java_lang_String*) xmlvm_create_java_string_from_pool(709);
+ _STATIC_java_nio_charset_Charset_PROVIDER_CONFIGURATION_FILE_ENCODING = (java_lang_String*) xmlvm_create_java_string_from_pool(100);
+ _STATIC_java_nio_charset_Charset_PROVIDER_CONFIGURATION_FILE_COMMENT = (java_lang_String*) xmlvm_create_java_string_from_pool(710);
+ _STATIC_java_nio_charset_Charset_systemClassLoader = (java_lang_ClassLoader*) JAVA_NULL;
+ _STATIC_java_nio_charset_Charset__builtInProvider = (org_apache_harmony_niochar_CharsetProviderImpl*) JAVA_NULL;
+ _STATIC_java_nio_charset_Charset__builtInCharsets = (java_lang_Object*) JAVA_NULL;
+ _STATIC_java_nio_charset_Charset_cachedCharsetTable = (java_util_HashMap*) JAVA_NULL;
+ _STATIC_java_nio_charset_Charset_inForNameInternal = 0;
+
+ __TIB_java_nio_charset_Charset.declaredFields = &__field_reflection_data[0];
+ __TIB_java_nio_charset_Charset.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_nio_charset_Charset.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_nio_charset_Charset.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_nio_charset_Charset.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_nio_charset_Charset.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_nio_charset_Charset.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_nio_charset_Charset.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_nio_charset_Charset = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_nio_charset_Charset);
+ __TIB_java_nio_charset_Charset.clazz = __CLASS_java_nio_charset_Charset;
+ __TIB_java_nio_charset_Charset.baseType = JAVA_NULL;
+ __CLASS_java_nio_charset_Charset_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_charset_Charset);
+ __CLASS_java_nio_charset_Charset_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_charset_Charset_1ARRAY);
+ __CLASS_java_nio_charset_Charset_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_charset_Charset_2ARRAY);
+ java_nio_charset_Charset___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_nio_charset_Charset]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_nio_charset_Charset.classInitialized = 1;
+}
+
+void __DELETE_java_nio_charset_Charset(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_nio_charset_Charset]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_nio_charset_Charset(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_nio_charset_Charset*) me)->fields.java_nio_charset_Charset.canonicalName_ = (java_lang_String*) JAVA_NULL;
+ ((java_nio_charset_Charset*) me)->fields.java_nio_charset_Charset.aliasesSet_ = (java_util_HashSet*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_nio_charset_Charset]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_nio_charset_Charset()
+{ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+java_nio_charset_Charset* me = (java_nio_charset_Charset*) XMLVM_MALLOC(sizeof(java_nio_charset_Charset));
+ me->tib = &__TIB_java_nio_charset_Charset;
+ __INIT_INSTANCE_MEMBERS_java_nio_charset_Charset(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_nio_charset_Charset]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_nio_charset_Charset()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_OBJECT java_nio_charset_Charset_GET_PROVIDER_CONFIGURATION_FILE_NAME()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ return _STATIC_java_nio_charset_Charset_PROVIDER_CONFIGURATION_FILE_NAME;
+}
+
+void java_nio_charset_Charset_PUT_PROVIDER_CONFIGURATION_FILE_NAME(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+_STATIC_java_nio_charset_Charset_PROVIDER_CONFIGURATION_FILE_NAME = v;
+}
+
+JAVA_OBJECT java_nio_charset_Charset_GET_PROVIDER_CONFIGURATION_FILE_ENCODING()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ return _STATIC_java_nio_charset_Charset_PROVIDER_CONFIGURATION_FILE_ENCODING;
+}
+
+void java_nio_charset_Charset_PUT_PROVIDER_CONFIGURATION_FILE_ENCODING(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+_STATIC_java_nio_charset_Charset_PROVIDER_CONFIGURATION_FILE_ENCODING = v;
+}
+
+JAVA_OBJECT java_nio_charset_Charset_GET_PROVIDER_CONFIGURATION_FILE_COMMENT()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ return _STATIC_java_nio_charset_Charset_PROVIDER_CONFIGURATION_FILE_COMMENT;
+}
+
+void java_nio_charset_Charset_PUT_PROVIDER_CONFIGURATION_FILE_COMMENT(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+_STATIC_java_nio_charset_Charset_PROVIDER_CONFIGURATION_FILE_COMMENT = v;
+}
+
+JAVA_OBJECT java_nio_charset_Charset_GET_systemClassLoader()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ return _STATIC_java_nio_charset_Charset_systemClassLoader;
+}
+
+void java_nio_charset_Charset_PUT_systemClassLoader(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+_STATIC_java_nio_charset_Charset_systemClassLoader = v;
+}
+
+JAVA_OBJECT java_nio_charset_Charset_GET__builtInProvider()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ return _STATIC_java_nio_charset_Charset__builtInProvider;
+}
+
+void java_nio_charset_Charset_PUT__builtInProvider(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+_STATIC_java_nio_charset_Charset__builtInProvider = v;
+}
+
+JAVA_OBJECT java_nio_charset_Charset_GET__builtInCharsets()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ return _STATIC_java_nio_charset_Charset__builtInCharsets;
+}
+
+void java_nio_charset_Charset_PUT__builtInCharsets(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+_STATIC_java_nio_charset_Charset__builtInCharsets = v;
+}
+
+JAVA_OBJECT java_nio_charset_Charset_GET_cachedCharsetTable()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ return _STATIC_java_nio_charset_Charset_cachedCharsetTable;
+}
+
+void java_nio_charset_Charset_PUT_cachedCharsetTable(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+_STATIC_java_nio_charset_Charset_cachedCharsetTable = v;
+}
+
+JAVA_BOOLEAN java_nio_charset_Charset_GET_inForNameInternal()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ return _STATIC_java_nio_charset_Charset_inForNameInternal;
+}
+
+void java_nio_charset_Charset_PUT_inForNameInternal(JAVA_BOOLEAN v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+_STATIC_java_nio_charset_Charset_inForNameInternal = v;
+}
+
+void java_nio_charset_Charset___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset___CLINIT___]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "<clinit>", "?")
+ XMLVMElem _r0;
+ _r0.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("Charset.java", 96)
+ java_nio_charset_Charset_PUT__builtInProvider( _r0.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 99)
+ java_nio_charset_Charset_PUT__builtInCharsets( _r0.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 107)
+ _r0.o = __NEW_java_util_HashMap();
+ XMLVM_CHECK_NPE(0)
+ java_util_HashMap___INIT___(_r0.o);
+ java_nio_charset_Charset_PUT_cachedCharsetTable( _r0.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 109)
+ _r0.i = 0;
+ java_nio_charset_Charset_PUT_inForNameInternal( _r0.i);
+ XMLVM_SOURCE_POSITION("Charset.java", 117)
+ _r0.o = __NEW_java_nio_charset_Charset_1();
+ XMLVM_CHECK_NPE(0)
+ java_nio_charset_Charset_1___INIT___(_r0.o);
+ _r0.o = java_security_AccessController_doPrivileged___java_security_PrivilegedAction(_r0.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("Charset.java", 116)
+ java_nio_charset_Charset_PUT__builtInProvider( _r0.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 75)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_charset_Charset___INIT____java_lang_String_java_lang_String_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset___INIT____java_lang_String_java_lang_String_1ARRAY]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r3.o = me;
+ _r4.o = n1;
+ _r5.o = n2;
+ XMLVM_SOURCE_POSITION("Charset.java", 137)
+ XMLVM_CHECK_NPE(3)
+ java_lang_Object___INIT___(_r3.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 138)
+ if (_r4.o != JAVA_NULL) goto label11;
+ XMLVM_SOURCE_POSITION("Charset.java", 139)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label11:;
+ XMLVM_SOURCE_POSITION("Charset.java", 142)
+ java_nio_charset_Charset_checkCharsetName___java_lang_String(_r4.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 143)
+ XMLVM_CHECK_NPE(3)
+ ((java_nio_charset_Charset*) _r3.o)->fields.java_nio_charset_Charset.canonicalName_ = _r4.o;
+ XMLVM_SOURCE_POSITION("Charset.java", 145)
+ _r0.o = __NEW_java_util_HashSet();
+ XMLVM_CHECK_NPE(0)
+ java_util_HashSet___INIT___(_r0.o);
+ XMLVM_CHECK_NPE(3)
+ ((java_nio_charset_Charset*) _r3.o)->fields.java_nio_charset_Charset.aliasesSet_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Charset.java", 146)
+ if (_r5.o == JAVA_NULL) goto label29;
+ XMLVM_SOURCE_POSITION("Charset.java", 147)
+ _r0.i = 0;
+ label26:;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ if (_r0.i < _r1.i) goto label30;
+ label29:;
+ XMLVM_SOURCE_POSITION("Charset.java", 152)
+ XMLVM_EXIT_METHOD()
+ return;
+ label30:;
+ XMLVM_SOURCE_POSITION("Charset.java", 148)
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r0.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ java_nio_charset_Charset_checkCharsetName___java_lang_String(_r1.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 149)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_nio_charset_Charset*) _r3.o)->fields.java_nio_charset_Charset.aliasesSet_;
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r0.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ //java_util_HashSet_add___java_lang_Object[7]
+ XMLVM_CHECK_NPE(1)
+ (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_HashSet*) _r1.o)->tib->vtable[7])(_r1.o, _r2.o);
+ _r0.i = _r0.i + 1;
+ goto label26;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_charset_Charset_isSpecial___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_isSpecial___char]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "isSpecial", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Charset.java", 159)
+ _r0.i = 45;
+ if (_r0.i == _r1.i) goto label18;
+ _r0.i = 46;
+ if (_r0.i == _r1.i) goto label18;
+ _r0.i = 58;
+ if (_r0.i == _r1.i) goto label18;
+ _r0.i = 95;
+ if (_r0.i == _r1.i) goto label18;
+ _r0.i = 0;
+ label17:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label18:;
+ _r0.i = 1;
+ goto label17;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_charset_Charset_isLetter___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_isLetter___char]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "isLetter", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Charset.java", 167)
+ _r0.i = 97;
+ if (_r0.i > _r1.i) goto label8;
+ _r0.i = 122;
+ if (_r1.i <= _r0.i) goto label18;
+ label8:;
+ _r0.i = 65;
+ if (_r0.i > _r1.i) goto label16;
+ _r0.i = 90;
+ if (_r1.i <= _r0.i) goto label18;
+ label16:;
+ _r0.i = 0;
+ label17:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label18:;
+ _r0.i = 1;
+ goto label17;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_charset_Charset_isDigit___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_isDigit___char]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "isDigit", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("Charset.java", 175)
+ _r0.i = 48;
+ if (_r0.i > _r1.i) goto label10;
+ _r0.i = 57;
+ if (_r1.i > _r0.i) goto label10;
+ _r0.i = 1;
+ label9:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label10:;
+ _r0.i = 0;
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_charset_Charset_checkCharsetName___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_checkCharsetName___java_lang_String]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "checkCharsetName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("Charset.java", 184)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r4.o)->tib->vtable[8])(_r4.o);
+ if (_r0.i != 0) goto label12;
+ XMLVM_SOURCE_POSITION("Charset.java", 185)
+
+
+ // Red class access removed: java.nio.charset.IllegalCharsetNameException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.charset.IllegalCharsetNameException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label12:;
+ XMLVM_SOURCE_POSITION("Charset.java", 194)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r4.o)->tib->vtable[8])(_r4.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 195)
+ _r1.i = 0;
+ label17:;
+ if (_r1.i < _r0.i) goto label20;
+ XMLVM_SOURCE_POSITION("Charset.java", 201)
+ XMLVM_EXIT_METHOD()
+ return;
+ label20:;
+ XMLVM_SOURCE_POSITION("Charset.java", 196)
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(4)
+ _r2.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r4.o)->tib->vtable[6])(_r4.o, _r1.i);
+ XMLVM_SOURCE_POSITION("Charset.java", 197)
+ _r3.i = java_nio_charset_Charset_isLetter___char(_r2.i);
+ if (_r3.i != 0) goto label48;
+ _r3.i = java_nio_charset_Charset_isDigit___char(_r2.i);
+ if (_r3.i != 0) goto label48;
+ _r2.i = java_nio_charset_Charset_isSpecial___char(_r2.i);
+ if (_r2.i != 0) goto label48;
+ XMLVM_SOURCE_POSITION("Charset.java", 198)
+
+
+ // Red class access removed: java.nio.charset.IllegalCharsetNameException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.charset.IllegalCharsetNameException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label48:;
+ _r1.i = _r1.i + 1;
+ goto label17;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_Charset_getContextClassLoader__()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_getContextClassLoader__]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "getContextClassLoader", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVM_SOURCE_POSITION("Charset.java", 207)
+ _r0.o = java_lang_Thread_currentThread__();
+ XMLVM_SOURCE_POSITION("Charset.java", 209)
+ _r1.o = __NEW_java_nio_charset_Charset_2();
+ XMLVM_CHECK_NPE(1)
+ java_nio_charset_Charset_2___INIT____java_lang_Thread(_r1.o, _r0.o);
+ _r0.o = java_security_AccessController_doPrivileged___java_security_PrivilegedAction(_r1.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("Charset.java", 208)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_charset_Charset_getSystemClassLoader__()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_getSystemClassLoader__]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "getSystemClassLoader", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("Charset.java", 220)
+ _r0.o = java_nio_charset_Charset_GET_systemClassLoader();
+ if (_r0.o != JAVA_NULL) goto label17;
+ XMLVM_SOURCE_POSITION("Charset.java", 222)
+
+
+ // Red class access removed: java.nio.charset.Charset$3::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.charset.Charset$3::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r0.o = java_security_AccessController_doPrivileged___java_security_PrivilegedAction(_r0.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("Charset.java", 221)
+ java_nio_charset_Charset_PUT_systemClassLoader( _r0.o);
+ label17:;
+ XMLVM_SOURCE_POSITION("Charset.java", 228)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_charset_Charset_addCharsets___java_nio_charset_spi_CharsetProvider_java_util_TreeMap(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_addCharsets___java_nio_charset_spi_CharsetProvider_java_util_TreeMap]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "addCharsets", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("Charset.java", 235)
+ //java_nio_charset_spi_CharsetProvider_charsets__[7]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_nio_charset_spi_CharsetProvider*) _r2.o)->tib->vtable[7])(_r2.o);
+ label4:;
+ XMLVM_SOURCE_POSITION("Charset.java", 236)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r1.i != 0) goto label11;
+ XMLVM_SOURCE_POSITION("Charset.java", 243)
+ XMLVM_EXIT_METHOD()
+ return;
+ label11:;
+ XMLVM_SOURCE_POSITION("Charset.java", 237)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ _r2.o = _r2.o;
+ XMLVM_SOURCE_POSITION("Charset.java", 239)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = java_nio_charset_Charset_name__(_r2.o);
+
+
+ // Red class access removed: java.util.TreeMap::containsKey
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r1.i != 0) goto label4;
+ XMLVM_SOURCE_POSITION("Charset.java", 240)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = java_nio_charset_Charset_name__(_r2.o);
+
+
+ // Red class access removed: java.util.TreeMap::put
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label4;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_Charset_trimClassName___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_trimClassName___java_lang_String]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "trimClassName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Charset.java", 249)
+ XMLVM_SOURCE_POSITION("Charset.java", 250)
+ // "#"
+ _r0.o = xmlvm_create_java_string_from_pool(710);
+ XMLVM_CHECK_NPE(2)
+ _r0.i = java_lang_String_indexOf___java_lang_String(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 252)
+ _r1.i = -1;
+ if (_r0.i == _r1.i) goto label19;
+ XMLVM_SOURCE_POSITION("Charset.java", 253)
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_lang_String_substring___int_int(_r2.o, _r1.i, _r0.i);
+ label14:;
+ XMLVM_SOURCE_POSITION("Charset.java", 255)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_String_trim__(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label19:;
+ _r0 = _r2;
+ goto label14;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_charset_Charset_loadConfiguredCharsets___java_net_URL_java_lang_ClassLoader_java_util_TreeMap(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_loadConfiguredCharsets___java_net_URL_java_lang_ClassLoader_java_util_TreeMap]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "loadConfiguredCharsets", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ _r6.o = n1;
+ _r7.o = n2;
+ _r8.o = n3;
+ XMLVM_SOURCE_POSITION("Charset.java", 264)
+ _r0.o = JAVA_NULL;
+ XMLVM_TRY_BEGIN(w4567aaac20b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 266)
+
+
+ // Red class access removed: java.net.URL::openStream
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Charset.java", 268)
+
+
+ // Red class access removed: java.io.BufferedReader::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.io.InputStreamReader::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Charset.java", 269)
+ // "UTF-8"
+ _r4.o = xmlvm_create_java_string_from_pool(100);
+
+
+ // Red class access removed: java.io.InputStreamReader::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.io.BufferedReader::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac20b1b6)
+ XMLVM_CATCH_SPECIFIC(w4567aaac20b1b6,java_io_IOException,114)
+ XMLVM_CATCH_SPECIFIC(w4567aaac20b1b6,java_lang_Object,97)
+ XMLVM_CATCH_END(w4567aaac20b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac20b1b6)
+ XMLVM_TRY_BEGIN(w4567aaac20b1b7)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 270)
+
+
+ // Red class access removed: java.io.BufferedReader::readLine
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac20b1b7)
+ XMLVM_CATCH_SPECIFIC(w4567aaac20b1b7,java_io_IOException,87)
+ XMLVM_CATCH_SPECIFIC(w4567aaac20b1b7,java_lang_Object,111)
+ XMLVM_CATCH_END(w4567aaac20b1b7)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac20b1b7)
+ label21:;
+ XMLVM_SOURCE_POSITION("Charset.java", 271)
+ if (_r0.o != JAVA_NULL) goto label29;
+ XMLVM_SOURCE_POSITION("Charset.java", 303)
+ if (_r2.o == JAVA_NULL) goto label28;
+ XMLVM_TRY_BEGIN(w4567aaac20b1c13)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 304)
+
+
+ // Red class access removed: java.io.BufferedReader::close
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac20b1c13)
+ XMLVM_CATCH_SPECIFIC(w4567aaac20b1c13,java_io_IOException,109)
+ XMLVM_CATCH_END(w4567aaac20b1c13)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac20b1c13)
+ label28:;
+ XMLVM_SOURCE_POSITION("Charset.java", 310)
+ XMLVM_EXIT_METHOD()
+ return;
+ label29:;
+ XMLVM_TRY_BEGIN(w4567aaac20b1c18)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 272)
+ _r0.o = java_nio_charset_Charset_trimClassName___java_lang_String(_r0.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 274)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[8])(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac20b1c18)
+ XMLVM_CATCH_SPECIFIC(w4567aaac20b1c18,java_io_IOException,87)
+ XMLVM_CATCH_SPECIFIC(w4567aaac20b1c18,java_lang_Object,111)
+ XMLVM_CATCH_END(w4567aaac20b1c18)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac20b1c18)
+ if (_r1.i <= 0) goto label54;
+ XMLVM_SOURCE_POSITION("Charset.java", 278)
+ _r1.i = 1;
+ XMLVM_TRY_BEGIN(w4567aaac20b1c22)
+ // Begin try
+ _r1.o = java_lang_Class_forName___java_lang_String_boolean_java_lang_ClassLoader(_r0.o, _r1.i, _r7.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 280)
+ //java_lang_Class_newInstance__[12]
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Class*) _r1.o)->tib->vtable[12])(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac20b1c22)
+ XMLVM_CATCH_SPECIFIC(w4567aaac20b1c22,java_lang_Exception,59)
+ XMLVM_CATCH_SPECIFIC(w4567aaac20b1c22,java_io_IOException,87)
+ XMLVM_CATCH_SPECIFIC(w4567aaac20b1c22,java_lang_Object,111)
+ XMLVM_CATCH_END(w4567aaac20b1c22)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac20b1c22)
+ _r6 = _r0;
+ label49:;
+ XMLVM_TRY_BEGIN(w4567aaac20b1c25)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 294)
+ _r6.o = _r6.o;
+ java_nio_charset_Charset_addCharsets___java_nio_charset_spi_CharsetProvider_java_util_TreeMap(_r6.o, _r8.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac20b1c25)
+ XMLVM_CATCH_SPECIFIC(w4567aaac20b1c25,java_io_IOException,87)
+ XMLVM_CATCH_SPECIFIC(w4567aaac20b1c25,java_lang_Object,111)
+ XMLVM_CATCH_END(w4567aaac20b1c25)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac20b1c25)
+ label54:;
+ XMLVM_TRY_BEGIN(w4567aaac20b1c27)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 297)
+
+
+ // Red class access removed: java.io.BufferedReader::readLine
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac20b1c27)
+ XMLVM_CATCH_SPECIFIC(w4567aaac20b1c27,java_io_IOException,87)
+ XMLVM_CATCH_SPECIFIC(w4567aaac20b1c27,java_lang_Object,111)
+ XMLVM_CATCH_END(w4567aaac20b1c27)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac20b1c27)
+ goto label21;
+ label59:;
+ java_lang_Thread* curThread_w4567aaac20b1c30 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4567aaac20b1c30->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_TRY_BEGIN(w4567aaac20b1c31)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 285)
+ java_nio_charset_Charset_getSystemClassLoader__();
+ XMLVM_SOURCE_POSITION("Charset.java", 286)
+ _r1.i = 1;
+ XMLVM_SOURCE_POSITION("Charset.java", 287)
+ _r3.o = java_nio_charset_Charset_GET_systemClassLoader();
+ _r0.o = java_lang_Class_forName___java_lang_String_boolean_java_lang_ClassLoader(_r0.o, _r1.i, _r3.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 288)
+ //java_lang_Class_newInstance__[12]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Class*) _r0.o)->tib->vtable[12])(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac20b1c31)
+ XMLVM_CATCH_SPECIFIC(w4567aaac20b1c31,java_lang_Exception,76)
+ XMLVM_CATCH_SPECIFIC(w4567aaac20b1c31,java_io_IOException,87)
+ XMLVM_CATCH_SPECIFIC(w4567aaac20b1c31,java_lang_Object,111)
+ XMLVM_CATCH_END(w4567aaac20b1c31)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac20b1c31)
+ _r6 = _r0;
+ goto label49;
+ label76:;
+ XMLVM_SOURCE_POSITION("Charset.java", 289)
+ java_lang_Thread* curThread_w4567aaac20b1c36 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4567aaac20b1c36->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_TRY_BEGIN(w4567aaac20b1c37)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 290)
+
+
+ // Red class access removed: java.lang.Error::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ //java_lang_Exception_getMessage__[7]
+ XMLVM_CHECK_NPE(0)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Exception*) _r0.o)->tib->vtable[7])(_r0.o);
+
+
+ // Red class access removed: java.lang.Error::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac20b1c37)
+ XMLVM_CATCH_SPECIFIC(w4567aaac20b1c37,java_io_IOException,87)
+ XMLVM_CATCH_SPECIFIC(w4567aaac20b1c37,java_lang_Object,111)
+ XMLVM_CATCH_END(w4567aaac20b1c37)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac20b1c37)
+ label87:;
+ java_lang_Thread* curThread_w4567aaac20b1c39 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4567aaac20b1c39->fields.java_lang_Thread.xmlvmException_;
+ _r0 = _r2;
+ label89:;
+ if (_r0.o == JAVA_NULL) goto label28;
+ XMLVM_TRY_BEGIN(w4567aaac20b1c43)
+ // Begin try
+
+
+ // Red class access removed: java.io.BufferedReader::close
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac20b1c43)
+ XMLVM_CATCH_SPECIFIC(w4567aaac20b1c43,java_io_IOException,95)
+ XMLVM_CATCH_END(w4567aaac20b1c43)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac20b1c43)
+ goto label28;
+ label95:;
+ XMLVM_SOURCE_POSITION("Charset.java", 306)
+ java_lang_Thread* curThread_w4567aaac20b1c47 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4567aaac20b1c47->fields.java_lang_Thread.xmlvmException_;
+ goto label28;
+ label97:;
+ XMLVM_SOURCE_POSITION("Charset.java", 301)
+ java_lang_Thread* curThread_w4567aaac20b1c51 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4567aaac20b1c51->fields.java_lang_Thread.xmlvmException_;
+ _r5 = _r1;
+ _r1 = _r0;
+ _r0 = _r5;
+ label101:;
+ if (_r1.o == JAVA_NULL) goto label106;
+ XMLVM_TRY_BEGIN(w4567aaac20b1c57)
+ // Begin try
+
+
+ // Red class access removed: java.io.BufferedReader::close
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac20b1c57)
+ XMLVM_CATCH_SPECIFIC(w4567aaac20b1c57,java_io_IOException,107)
+ XMLVM_CATCH_END(w4567aaac20b1c57)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac20b1c57)
+ label106:;
+ XMLVM_SOURCE_POSITION("Charset.java", 309)
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label107:;
+ java_lang_Thread* curThread_w4567aaac20b1c62 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4567aaac20b1c62->fields.java_lang_Thread.xmlvmException_;
+ goto label106;
+ label109:;
+ java_lang_Thread* curThread_w4567aaac20b1c65 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4567aaac20b1c65->fields.java_lang_Thread.xmlvmException_;
+ goto label28;
+ label111:;
+ java_lang_Thread* curThread_w4567aaac20b1c68 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4567aaac20b1c68->fields.java_lang_Thread.xmlvmException_;
+ _r1 = _r2;
+ goto label101;
+ label114:;
+ java_lang_Thread* curThread_w4567aaac20b1c72 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4567aaac20b1c72->fields.java_lang_Thread.xmlvmException_;
+ goto label89;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_Charset_availableCharsets__()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_availableCharsets__]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "availableCharsets", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ // "META-INF/services/java.nio.charset.spi.CharsetProvider"
+ _r0.o = xmlvm_create_java_string_from_pool(709);
+ XMLVM_SOURCE_POSITION("Charset.java", 325)
+ _r0.o = java_nio_charset_Charset_GET__builtInCharsets();
+ if (_r0.o != JAVA_NULL) goto label32;
+ XMLVM_SOURCE_POSITION("Charset.java", 326)
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ _r0.o = __CLASS_java_nio_charset_Charset;
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_TRY_BEGIN(w4567aaac21b1b8)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 327)
+ _r1.o = java_nio_charset_Charset_GET__builtInCharsets();
+ if (_r1.o != JAVA_NULL) { XMLVM_MEMCPY(curThread_w4567aaac21b1b8->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4567aaac21b1b8, sizeof(XMLVM_JMP_BUF)); goto label31; };
+ XMLVM_SOURCE_POSITION("Charset.java", 328)
+
+
+ // Red class access removed: java.util.TreeMap::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Charset.java", 329)
+
+
+ // Red class access removed: java.nio.charset.Charset$IgnoreCaseComparator::getInstance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.TreeMap::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ java_nio_charset_Charset_PUT__builtInCharsets( _r1.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 330)
+ _r1.o = java_nio_charset_Charset_GET__builtInProvider();
+ _r2.o = java_nio_charset_Charset_GET__builtInCharsets();
+ XMLVM_CHECK_NPE(1)
+ org_apache_harmony_niochar_CharsetProviderImpl_putCharsets___java_util_Map(_r1.o, _r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac21b1b8)
+ XMLVM_CATCH_SPECIFIC(w4567aaac21b1b8,java_lang_Object,64)
+ XMLVM_CATCH_END(w4567aaac21b1b8)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac21b1b8)
+ label31:;
+ XMLVM_TRY_BEGIN(w4567aaac21b1c10)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac21b1c10)
+ XMLVM_CATCH_SPECIFIC(w4567aaac21b1c10,java_lang_Object,64)
+ XMLVM_CATCH_END(w4567aaac21b1c10)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac21b1c10)
+ label32:;
+ XMLVM_SOURCE_POSITION("Charset.java", 336)
+ _r0.o = java_nio_charset_Charset_GET__builtInCharsets();
+ XMLVM_SOURCE_POSITION("Charset.java", 337)
+
+
+ // Red class access removed: java.util.TreeMap::clone
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.TreeMap::check-cast
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Charset.java", 340)
+ _r2.o = java_nio_charset_Charset_getContextClassLoader__();
+ XMLVM_SOURCE_POSITION("Charset.java", 343)
+ if (_r2.o == JAVA_NULL) goto label67;
+ XMLVM_TRY_BEGIN(w4567aaac21b1c21)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 345)
+ // "META-INF/services/java.nio.charset.spi.CharsetProvider"
+ _r1.o = xmlvm_create_java_string_from_pool(709);
+ XMLVM_CHECK_NPE(2)
+ _r1.o = java_lang_ClassLoader_getResources___java_lang_String(_r2.o, _r1.o);
+ _r3 = _r1;
+ XMLVM_SOURCE_POSITION("Charset.java", 344)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac21b1c21)
+ XMLVM_CATCH_SPECIFIC(w4567aaac21b1c21,java_io_IOException,90)
+ XMLVM_CATCH_END(w4567aaac21b1c21)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac21b1c21)
+ label53:;
+ XMLVM_TRY_BEGIN(w4567aaac21b1c23)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 352)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Enumeration_hasMoreElements__])(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac21b1c23)
+ XMLVM_CATCH_SPECIFIC(w4567aaac21b1c23,java_io_IOException,90)
+ XMLVM_CATCH_END(w4567aaac21b1c23)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac21b1c23)
+ if (_r1.i != 0) goto label80;
+ label59:;
+ XMLVM_SOURCE_POSITION("Charset.java", 359)
+ _r0.o = java_util_Collections_unmodifiableSortedMap___java_util_SortedMap(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label64:;
+ java_lang_Thread* curThread_w4567aaac21b1c30 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4567aaac21b1c30->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_TRY_BEGIN(w4567aaac21b1c31)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac21b1c31)
+ XMLVM_CATCH_SPECIFIC(w4567aaac21b1c31,java_lang_Object,64)
+ XMLVM_CATCH_END(w4567aaac21b1c31)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac21b1c31)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label67:;
+ XMLVM_TRY_BEGIN(w4567aaac21b1c34)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 347)
+ java_nio_charset_Charset_getSystemClassLoader__();
+ XMLVM_SOURCE_POSITION("Charset.java", 348)
+ _r1.o = java_nio_charset_Charset_GET_systemClassLoader();
+ XMLVM_SOURCE_POSITION("Charset.java", 349)
+ // "META-INF/services/java.nio.charset.spi.CharsetProvider"
+ _r3.o = xmlvm_create_java_string_from_pool(709);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_ClassLoader_getResources___java_lang_String(_r1.o, _r3.o);
+ _r3 = _r1;
+ { XMLVM_MEMCPY(curThread_w4567aaac21b1c34->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4567aaac21b1c34, sizeof(XMLVM_JMP_BUF)); goto label53; };
+ XMLVM_SOURCE_POSITION("Charset.java", 353)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac21b1c34)
+ XMLVM_CATCH_SPECIFIC(w4567aaac21b1c34,java_io_IOException,90)
+ XMLVM_CATCH_END(w4567aaac21b1c34)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac21b1c34)
+ label80:;
+ XMLVM_TRY_BEGIN(w4567aaac21b1c36)
+ // Begin try
+ XMLVM_CHECK_NPE(3)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Enumeration_nextElement__])(_r3.o);
+
+
+ // Red class access removed: java.net.URL::check-cast
+ XMLVM_RED_CLASS_DEPENDENCY();
+ java_nio_charset_Charset_loadConfiguredCharsets___java_net_URL_java_lang_ClassLoader_java_util_TreeMap(_r1.o, _r2.o, _r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac21b1c36)
+ XMLVM_CATCH_SPECIFIC(w4567aaac21b1c36,java_io_IOException,90)
+ XMLVM_CATCH_END(w4567aaac21b1c36)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac21b1c36)
+ goto label53;
+ label90:;
+ java_lang_Thread* curThread_w4567aaac21b1c39 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4567aaac21b1c39->fields.java_lang_Thread.xmlvmException_;
+ goto label59;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_Charset_searchConfiguredCharsets___java_lang_String_java_lang_ClassLoader_java_net_URL(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_searchConfiguredCharsets___java_lang_String_java_lang_ClassLoader_java_net_URL]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "searchConfiguredCharsets", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ _r5.o = n1;
+ _r6.o = n2;
+ _r7.o = n3;
+ _r4.o = JAVA_NULL;
+ XMLVM_TRY_BEGIN(w4567aaac22b1b5)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 369)
+ XMLVM_SOURCE_POSITION("Charset.java", 371)
+
+
+ // Red class access removed: java.net.URL::openStream
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Charset.java", 373)
+
+
+ // Red class access removed: java.io.BufferedReader::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.io.InputStreamReader::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Charset.java", 374)
+ // "UTF-8"
+ _r3.o = xmlvm_create_java_string_from_pool(100);
+
+
+ // Red class access removed: java.io.InputStreamReader::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.io.BufferedReader::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac22b1b5)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1b5,java_io_IOException,117)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1b5,java_lang_Object,114)
+ XMLVM_CATCH_END(w4567aaac22b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac22b1b5)
+ XMLVM_TRY_BEGIN(w4567aaac22b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 375)
+
+
+ // Red class access removed: java.io.BufferedReader::readLine
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac22b1b6)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1b6,java_io_IOException,84)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1b6,java_lang_Object,98)
+ XMLVM_CATCH_END(w4567aaac22b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac22b1b6)
+ label21:;
+ XMLVM_SOURCE_POSITION("Charset.java", 376)
+ if (_r0.o != JAVA_NULL) goto label31;
+ _r0 = _r1;
+ label24:;
+ XMLVM_SOURCE_POSITION("Charset.java", 415)
+ if (_r0.o == JAVA_NULL) goto label29;
+ XMLVM_TRY_BEGIN(w4567aaac22b1c14)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 416)
+
+
+ // Red class access removed: java.io.BufferedReader::close
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac22b1c14)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1c14,java_io_IOException,110)
+ XMLVM_CATCH_END(w4567aaac22b1c14)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac22b1c14)
+ label29:;
+ _r0 = _r4;
+ label30:;
+ XMLVM_SOURCE_POSITION("Charset.java", 409)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label31:;
+ XMLVM_TRY_BEGIN(w4567aaac22b1c21)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 377)
+ _r0.o = java_nio_charset_Charset_trimClassName___java_lang_String(_r0.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 378)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(0)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[8])(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac22b1c21)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1c21,java_io_IOException,84)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1c21,java_lang_Object,98)
+ XMLVM_CATCH_END(w4567aaac22b1c21)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac22b1c21)
+ if (_r2.i <= 0) goto label105;
+ XMLVM_SOURCE_POSITION("Charset.java", 382)
+ _r2.i = 1;
+ XMLVM_TRY_BEGIN(w4567aaac22b1c25)
+ // Begin try
+ _r2.o = java_lang_Class_forName___java_lang_String_boolean_java_lang_ClassLoader(_r0.o, _r2.i, _r6.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 384)
+ //java_lang_Class_newInstance__[12]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Class*) _r2.o)->tib->vtable[12])(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac22b1c25)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1c25,java_lang_Exception,66)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1c25,java_io_IOException,84)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1c25,java_lang_Object,98)
+ XMLVM_CATCH_END(w4567aaac22b1c25)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac22b1c25)
+ label50:;
+ XMLVM_TRY_BEGIN(w4567aaac22b1c27)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 400)
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("Charset.java", 401)
+ //java_nio_charset_spi_CharsetProvider_charsetForName___java_lang_String[6]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_nio_charset_spi_CharsetProvider*) _r0.o)->tib->vtable[6])(_r0.o, _r5.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac22b1c27)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1c27,java_io_IOException,84)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1c27,java_lang_Object,98)
+ XMLVM_CATCH_END(w4567aaac22b1c27)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac22b1c27)
+ XMLVM_SOURCE_POSITION("Charset.java", 402)
+ if (_r0.o == JAVA_NULL) goto label105;
+ if (_r1.o == JAVA_NULL) goto label30;
+ XMLVM_TRY_BEGIN(w4567aaac22b1c31)
+ // Begin try
+
+
+ // Red class access removed: java.io.BufferedReader::close
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac22b1c31)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1c31,java_io_IOException,64)
+ XMLVM_CATCH_END(w4567aaac22b1c31)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac22b1c31)
+ goto label30;
+ label64:;
+ java_lang_Thread* curThread_w4567aaac22b1c34 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4567aaac22b1c34->fields.java_lang_Thread.xmlvmException_;
+ goto label30;
+ label66:;
+ java_lang_Thread* curThread_w4567aaac22b1c37 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r2.o = curThread_w4567aaac22b1c37->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_TRY_BEGIN(w4567aaac22b1c38)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 389)
+ java_nio_charset_Charset_getSystemClassLoader__();
+ XMLVM_SOURCE_POSITION("Charset.java", 390)
+ _r2.i = 1;
+ XMLVM_SOURCE_POSITION("Charset.java", 391)
+ _r3.o = java_nio_charset_Charset_GET_systemClassLoader();
+ _r0.o = java_lang_Class_forName___java_lang_String_boolean_java_lang_ClassLoader(_r0.o, _r2.i, _r3.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 392)
+ //java_lang_Class_newInstance__[12]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Class*) _r0.o)->tib->vtable[12])(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac22b1c38)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1c38,java_lang_Exception,87)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1c38,java_io_IOException,84)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1c38,java_lang_Object,98)
+ XMLVM_CATCH_END(w4567aaac22b1c38)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac22b1c38)
+ goto label50;
+ label82:;
+ XMLVM_SOURCE_POSITION("Charset.java", 393)
+ java_lang_Thread* curThread_w4567aaac22b1c42 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4567aaac22b1c42->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_TRY_BEGIN(w4567aaac22b1c43)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 394)
+ XMLVM_THROW_CUSTOM(_r0.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac22b1c43)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1c43,java_io_IOException,84)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1c43,java_lang_Object,98)
+ XMLVM_CATCH_END(w4567aaac22b1c43)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac22b1c43)
+ label84:;
+ XMLVM_TRY_BEGIN(w4567aaac22b1c45)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 412)
+ java_lang_Thread* curThread_w4567aaac22b1c45ab1 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4567aaac22b1c45ab1->fields.java_lang_Thread.xmlvmException_;
+ _r0 = _r1;
+ { XMLVM_MEMCPY(curThread_w4567aaac22b1c45->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4567aaac22b1c45, sizeof(XMLVM_JMP_BUF)); goto label24; };
+ XMLVM_SOURCE_POSITION("Charset.java", 395)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac22b1c45)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1c45,java_io_IOException,84)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1c45,java_lang_Object,98)
+ XMLVM_CATCH_END(w4567aaac22b1c45)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac22b1c45)
+ label87:;
+ XMLVM_TRY_BEGIN(w4567aaac22b1c47)
+ // Begin try
+ java_lang_Thread* curThread_w4567aaac22b1c47aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4567aaac22b1c47aa->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_SOURCE_POSITION("Charset.java", 396)
+
+
+ // Red class access removed: java.lang.Error::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ //java_lang_Exception_getMessage__[7]
+ XMLVM_CHECK_NPE(0)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Exception*) _r0.o)->tib->vtable[7])(_r0.o);
+
+
+ // Red class access removed: java.lang.Error::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r2.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac22b1c47)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1c47,java_io_IOException,84)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1c47,java_lang_Object,98)
+ XMLVM_CATCH_END(w4567aaac22b1c47)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac22b1c47)
+ label98:;
+ XMLVM_SOURCE_POSITION("Charset.java", 413)
+ java_lang_Thread* curThread_w4567aaac22b1c50 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4567aaac22b1c50->fields.java_lang_Thread.xmlvmException_;
+ label99:;
+ if (_r1.o == JAVA_NULL) goto label104;
+ XMLVM_TRY_BEGIN(w4567aaac22b1c53)
+ // Begin try
+
+
+ // Red class access removed: java.io.BufferedReader::close
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac22b1c53)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1c53,java_io_IOException,112)
+ XMLVM_CATCH_END(w4567aaac22b1c53)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac22b1c53)
+ label104:;
+ XMLVM_SOURCE_POSITION("Charset.java", 421)
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label105:;
+ XMLVM_TRY_BEGIN(w4567aaac22b1c58)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 407)
+
+
+ // Red class access removed: java.io.BufferedReader::readLine
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac22b1c58)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1c58,java_io_IOException,84)
+ XMLVM_CATCH_SPECIFIC(w4567aaac22b1c58,java_lang_Object,98)
+ XMLVM_CATCH_END(w4567aaac22b1c58)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac22b1c58)
+ goto label21;
+ label110:;
+ java_lang_Thread* curThread_w4567aaac22b1c61 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4567aaac22b1c61->fields.java_lang_Thread.xmlvmException_;
+ goto label29;
+ label112:;
+ java_lang_Thread* curThread_w4567aaac22b1c64 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4567aaac22b1c64->fields.java_lang_Thread.xmlvmException_;
+ goto label104;
+ label114:;
+ java_lang_Thread* curThread_w4567aaac22b1c67 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4567aaac22b1c67->fields.java_lang_Thread.xmlvmException_;
+ _r1 = _r4;
+ goto label99;
+ label117:;
+ java_lang_Thread* curThread_w4567aaac22b1c71 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4567aaac22b1c71->fields.java_lang_Thread.xmlvmException_;
+ _r0 = _r4;
+ goto label24;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_Charset_forNameInternal___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_forNameInternal___java_lang_String]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "forNameInternal", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ _r5.o = n1;
+ // "META-INF/services/java.nio.charset.spi.CharsetProvider"
+ _r0.o = xmlvm_create_java_string_from_pool(709);
+ XMLVM_SOURCE_POSITION("Charset.java", 431)
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ _r1.o = __CLASS_java_nio_charset_Charset;
+ java_lang_Object_acquireLockRecursive__(_r1.o);
+ XMLVM_TRY_BEGIN(w4567aaac23b1b6)
+ // Begin try
+ _r0.o = java_nio_charset_Charset_GET_cachedCharsetTable();
+ //java_util_HashMap_get___java_lang_Object[10]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_HashMap*) _r0.o)->tib->vtable[10])(_r0.o, _r5.o);
+ _r0.o = _r0.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac23b1b6)
+ XMLVM_CATCH_SPECIFIC(w4567aaac23b1b6,java_lang_Object,25)
+ XMLVM_CATCH_END(w4567aaac23b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac23b1b6)
+ XMLVM_SOURCE_POSITION("Charset.java", 432)
+ if (_r0.o == JAVA_NULL) goto label17;
+ label15:;
+ XMLVM_SOURCE_POSITION("Charset.java", 484)
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label17:;
+ XMLVM_SOURCE_POSITION("Charset.java", 436)
+ if (_r5.o != JAVA_NULL) goto label28;
+ XMLVM_TRY_BEGIN(w4567aaac23b1c16)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 437)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac23b1c16)
+ XMLVM_CATCH_SPECIFIC(w4567aaac23b1c16,java_lang_Object,25)
+ XMLVM_CATCH_END(w4567aaac23b1c16)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac23b1c16)
+ label25:;
+ java_lang_Thread* curThread_w4567aaac23b1c18 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4567aaac23b1c18->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label28:;
+ XMLVM_TRY_BEGIN(w4567aaac23b1c22)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 439)
+ java_nio_charset_Charset_checkCharsetName___java_lang_String(_r5.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 441)
+ _r0.o = java_nio_charset_Charset_GET__builtInProvider();
+ if (_r0.o != JAVA_NULL) { XMLVM_MEMCPY(curThread_w4567aaac23b1c22->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4567aaac23b1c22, sizeof(XMLVM_JMP_BUF)); goto label42; };
+ XMLVM_SOURCE_POSITION("Charset.java", 442)
+ _r0.o = __NEW_org_apache_harmony_niochar_CharsetProviderImpl();
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_niochar_CharsetProviderImpl___INIT___(_r0.o);
+ java_nio_charset_Charset_PUT__builtInProvider( _r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac23b1c22)
+ XMLVM_CATCH_SPECIFIC(w4567aaac23b1c22,java_lang_Object,25)
+ XMLVM_CATCH_END(w4567aaac23b1c22)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac23b1c22)
+ label42:;
+ XMLVM_TRY_BEGIN(w4567aaac23b1c24)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 444)
+ _r0.o = java_nio_charset_Charset_GET__builtInProvider();
+ //org_apache_harmony_niochar_CharsetProviderImpl_charsetForName___java_lang_String[6]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) ((org_apache_harmony_niochar_CharsetProviderImpl*) _r0.o)->tib->vtable[6])(_r0.o, _r5.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 445)
+ if (_r0.o == JAVA_NULL) { XMLVM_MEMCPY(curThread_w4567aaac23b1c24->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4567aaac23b1c24, sizeof(XMLVM_JMP_BUF)); goto label54; };
+ XMLVM_SOURCE_POSITION("Charset.java", 446)
+ java_nio_charset_Charset_cacheCharset___java_nio_charset_Charset_java_lang_String(_r0.o, _r5.o);
+ { XMLVM_MEMCPY(curThread_w4567aaac23b1c24->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4567aaac23b1c24, sizeof(XMLVM_JMP_BUF)); goto label15; };
+ XMLVM_SOURCE_POSITION("Charset.java", 451)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac23b1c24)
+ XMLVM_CATCH_SPECIFIC(w4567aaac23b1c24,java_lang_Object,25)
+ XMLVM_CATCH_END(w4567aaac23b1c24)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac23b1c24)
+ label54:;
+ XMLVM_TRY_BEGIN(w4567aaac23b1c26)
+ // Begin try
+ _r2.o = java_nio_charset_Charset_getContextClassLoader__();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac23b1c26)
+ XMLVM_CATCH_SPECIFIC(w4567aaac23b1c26,java_lang_Object,25)
+ XMLVM_CATCH_END(w4567aaac23b1c26)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac23b1c26)
+ XMLVM_SOURCE_POSITION("Charset.java", 454)
+ if (_r2.o == JAVA_NULL) goto label78;
+ XMLVM_TRY_BEGIN(w4567aaac23b1c29)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 456)
+ // "META-INF/services/java.nio.charset.spi.CharsetProvider"
+ _r0.o = xmlvm_create_java_string_from_pool(709);
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_lang_ClassLoader_getResources___java_lang_String(_r2.o, _r0.o);
+ _r3 = _r0;
+ XMLVM_SOURCE_POSITION("Charset.java", 455)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac23b1c29)
+ XMLVM_CATCH_SPECIFIC(w4567aaac23b1c29,java_io_IOException,131)
+ XMLVM_CATCH_SPECIFIC(w4567aaac23b1c29,java_lang_Object,136)
+ XMLVM_CATCH_END(w4567aaac23b1c29)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac23b1c29)
+ label67:;
+ XMLVM_TRY_BEGIN(w4567aaac23b1c31)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 469)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Enumeration_hasMoreElements__])(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac23b1c31)
+ XMLVM_CATCH_SPECIFIC(w4567aaac23b1c31,java_io_IOException,131)
+ XMLVM_CATCH_SPECIFIC(w4567aaac23b1c31,java_lang_Object,136)
+ XMLVM_CATCH_END(w4567aaac23b1c31)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac23b1c31)
+ if (_r0.i != 0) goto label106;
+ XMLVM_SOURCE_POSITION("Charset.java", 482)
+ _r0.i = 0;
+ XMLVM_TRY_BEGIN(w4567aaac23b1c35)
+ // Begin try
+ java_nio_charset_Charset_PUT_inForNameInternal( _r0.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac23b1c35)
+ XMLVM_CATCH_SPECIFIC(w4567aaac23b1c35,java_lang_Object,25)
+ XMLVM_CATCH_END(w4567aaac23b1c35)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac23b1c35)
+ label76:;
+ _r0.o = JAVA_NULL;
+ goto label15;
+ label78:;
+ XMLVM_TRY_BEGIN(w4567aaac23b1c40)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 458)
+ java_nio_charset_Charset_getSystemClassLoader__();
+ XMLVM_SOURCE_POSITION("Charset.java", 459)
+ _r0.o = java_nio_charset_Charset_GET_systemClassLoader();
+ if (_r0.o != JAVA_NULL) { XMLVM_MEMCPY(curThread_w4567aaac23b1c40->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4567aaac23b1c40, sizeof(XMLVM_JMP_BUF)); goto label96; };
+ XMLVM_SOURCE_POSITION("Charset.java", 461)
+
+
+ // Red class access removed: java.util.Vector::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Vector::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Vector::elements
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r3 = _r0;
+ { XMLVM_MEMCPY(curThread_w4567aaac23b1c40->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4567aaac23b1c40, sizeof(XMLVM_JMP_BUF)); goto label67; };
+ XMLVM_SOURCE_POSITION("Charset.java", 463)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac23b1c40)
+ XMLVM_CATCH_SPECIFIC(w4567aaac23b1c40,java_io_IOException,131)
+ XMLVM_CATCH_SPECIFIC(w4567aaac23b1c40,java_lang_Object,136)
+ XMLVM_CATCH_END(w4567aaac23b1c40)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac23b1c40)
+ label96:;
+ XMLVM_TRY_BEGIN(w4567aaac23b1c42)
+ // Begin try
+ _r0.o = java_nio_charset_Charset_GET_systemClassLoader();
+ XMLVM_SOURCE_POSITION("Charset.java", 464)
+ // "META-INF/services/java.nio.charset.spi.CharsetProvider"
+ _r3.o = xmlvm_create_java_string_from_pool(709);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_ClassLoader_getResources___java_lang_String(_r0.o, _r3.o);
+ _r3 = _r0;
+ { XMLVM_MEMCPY(curThread_w4567aaac23b1c42->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4567aaac23b1c42, sizeof(XMLVM_JMP_BUF)); goto label67; };
+ XMLVM_SOURCE_POSITION("Charset.java", 470)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac23b1c42)
+ XMLVM_CATCH_SPECIFIC(w4567aaac23b1c42,java_io_IOException,131)
+ XMLVM_CATCH_SPECIFIC(w4567aaac23b1c42,java_lang_Object,136)
+ XMLVM_CATCH_END(w4567aaac23b1c42)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac23b1c42)
+ label106:;
+ XMLVM_TRY_BEGIN(w4567aaac23b1c44)
+ // Begin try
+ _r0.i = 1;
+ java_nio_charset_Charset_PUT_inForNameInternal( _r0.i);
+ XMLVM_SOURCE_POSITION("Charset.java", 472)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Enumeration_nextElement__])(_r3.o);
+
+
+ // Red class access removed: java.net.URL::check-cast
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Charset.java", 471)
+ _r0.o = java_nio_charset_Charset_searchConfiguredCharsets___java_lang_String_java_lang_ClassLoader_java_net_URL(_r5.o, _r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 473)
+ _r4.i = 0;
+ java_nio_charset_Charset_PUT_inForNameInternal( _r4.i);
+ XMLVM_SOURCE_POSITION("Charset.java", 474)
+ if (_r0.o == JAVA_NULL) { XMLVM_MEMCPY(curThread_w4567aaac23b1c44->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4567aaac23b1c44, sizeof(XMLVM_JMP_BUF)); goto label67; };
+ XMLVM_SOURCE_POSITION("Charset.java", 475)
+ java_nio_charset_Charset_cacheCharset___java_nio_charset_Charset_java_lang_String(_r0.o, _r5.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac23b1c44)
+ XMLVM_CATCH_SPECIFIC(w4567aaac23b1c44,java_io_IOException,131)
+ XMLVM_CATCH_SPECIFIC(w4567aaac23b1c44,java_lang_Object,136)
+ XMLVM_CATCH_END(w4567aaac23b1c44)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac23b1c44)
+ _r2.i = 0;
+ XMLVM_TRY_BEGIN(w4567aaac23b1c46)
+ // Begin try
+ java_nio_charset_Charset_PUT_inForNameInternal( _r2.i);
+ { XMLVM_MEMCPY(curThread_w4567aaac23b1c46->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4567aaac23b1c46, sizeof(XMLVM_JMP_BUF)); goto label15; };
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac23b1c46)
+ XMLVM_CATCH_SPECIFIC(w4567aaac23b1c46,java_lang_Object,25)
+ XMLVM_CATCH_END(w4567aaac23b1c46)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac23b1c46)
+ label131:;
+ XMLVM_TRY_BEGIN(w4567aaac23b1c48)
+ // Begin try
+ java_lang_Thread* curThread_w4567aaac23b1c48aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4567aaac23b1c48aa->fields.java_lang_Thread.xmlvmException_;
+ _r0.i = 0;
+ java_nio_charset_Charset_PUT_inForNameInternal( _r0.i);
+ { XMLVM_MEMCPY(curThread_w4567aaac23b1c48->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4567aaac23b1c48, sizeof(XMLVM_JMP_BUF)); goto label76; };
+ XMLVM_SOURCE_POSITION("Charset.java", 481)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac23b1c48)
+ XMLVM_CATCH_SPECIFIC(w4567aaac23b1c48,java_lang_Object,25)
+ XMLVM_CATCH_END(w4567aaac23b1c48)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac23b1c48)
+ label136:;
+ XMLVM_TRY_BEGIN(w4567aaac23b1c50)
+ // Begin try
+ java_lang_Thread* curThread_w4567aaac23b1c50aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4567aaac23b1c50aa->fields.java_lang_Thread.xmlvmException_;
+ _r2.i = 0;
+ java_nio_charset_Charset_PUT_inForNameInternal( _r2.i);
+ XMLVM_SOURCE_POSITION("Charset.java", 483)
+ XMLVM_THROW_CUSTOM(_r0.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac23b1c50)
+ XMLVM_CATCH_SPECIFIC(w4567aaac23b1c50,java_lang_Object,25)
+ XMLVM_CATCH_END(w4567aaac23b1c50)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac23b1c50)
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_charset_Charset_cacheCharset___java_nio_charset_Charset_java_lang_String(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_cacheCharset___java_nio_charset_Charset_java_lang_String]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "cacheCharset", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("Charset.java", 491)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_nio_charset_Charset_name__(_r2.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 492)
+ _r1.o = java_nio_charset_Charset_GET_cachedCharsetTable();
+ //java_util_HashMap_containsKey___java_lang_Object[7]
+ XMLVM_CHECK_NPE(1)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_HashMap*) _r1.o)->tib->vtable[7])(_r1.o, _r0.o);
+ if (_r1.i != 0) goto label17;
+ XMLVM_SOURCE_POSITION("Charset.java", 493)
+ _r1.o = java_nio_charset_Charset_GET_cachedCharsetTable();
+ //java_util_HashMap_put___java_lang_Object_java_lang_Object[14]
+ XMLVM_CHECK_NPE(1)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_HashMap*) _r1.o)->tib->vtable[14])(_r1.o, _r0.o, _r2.o);
+ label17:;
+ XMLVM_SOURCE_POSITION("Charset.java", 496)
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[1])(_r0.o, _r3.o);
+ if (_r0.i != 0) goto label36;
+ XMLVM_SOURCE_POSITION("Charset.java", 497)
+ _r0.o = java_nio_charset_Charset_GET_cachedCharsetTable();
+ //java_util_HashMap_containsKey___java_lang_Object[7]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_HashMap*) _r0.o)->tib->vtable[7])(_r0.o, _r3.o);
+ if (_r0.i != 0) goto label36;
+ XMLVM_SOURCE_POSITION("Charset.java", 498)
+ _r0.o = java_nio_charset_Charset_GET_cachedCharsetTable();
+ //java_util_HashMap_put___java_lang_Object_java_lang_Object[14]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_HashMap*) _r0.o)->tib->vtable[14])(_r0.o, _r3.o, _r2.o);
+ label36:;
+ XMLVM_SOURCE_POSITION("Charset.java", 501)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_Charset_forName___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_forName___java_lang_String]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "forName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Charset.java", 515)
+ _r0.o = java_nio_charset_Charset_forNameInternal___java_lang_String(_r1.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 516)
+ if (_r0.o != JAVA_NULL) goto label12;
+ XMLVM_SOURCE_POSITION("Charset.java", 517)
+
+
+ // Red class access removed: java.nio.charset.UnsupportedCharsetException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.charset.UnsupportedCharsetException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label12:;
+ XMLVM_SOURCE_POSITION("Charset.java", 519)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_charset_Charset_isSupported___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_isSupported___java_lang_String]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "isSupported", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ _r4.o = n1;
+ _r3.i = 0;
+ _r2.i = 1;
+ XMLVM_SOURCE_POSITION("Charset.java", 532)
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ _r1.o = __CLASS_java_nio_charset_Charset;
+ java_lang_Object_acquireLockRecursive__(_r1.o);
+ XMLVM_TRY_BEGIN(w4567aaac26b1b7)
+ // Begin try
+ _r0.i = java_nio_charset_Charset_GET_inForNameInternal();
+ if (_r0.i == 0) { XMLVM_MEMCPY(curThread_w4567aaac26b1b7->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4567aaac26b1b7, sizeof(XMLVM_JMP_BUF)); goto label62; };
+ XMLVM_SOURCE_POSITION("Charset.java", 533)
+ _r0.o = java_nio_charset_Charset_GET_cachedCharsetTable();
+ //java_util_HashMap_get___java_lang_Object[10]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_HashMap*) _r0.o)->tib->vtable[10])(_r0.o, _r4.o);
+ _r0.o = _r0.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac26b1b7)
+ XMLVM_CATCH_SPECIFIC(w4567aaac26b1b7,java_lang_Object,30)
+ XMLVM_CATCH_END(w4567aaac26b1b7)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac26b1b7)
+ XMLVM_SOURCE_POSITION("Charset.java", 534)
+ if (_r0.o == JAVA_NULL) goto label22;
+ _r0 = _r2;
+ label20:;
+ XMLVM_SOURCE_POSITION("Charset.java", 535)
+ XMLVM_SOURCE_POSITION("Charset.java", 555)
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label22:;
+ XMLVM_SOURCE_POSITION("Charset.java", 538)
+ if (_r4.o != JAVA_NULL) goto label33;
+ XMLVM_TRY_BEGIN(w4567aaac26b1c19)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 539)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac26b1c19)
+ XMLVM_CATCH_SPECIFIC(w4567aaac26b1c19,java_lang_Object,30)
+ XMLVM_CATCH_END(w4567aaac26b1c19)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac26b1c19)
+ label30:;
+ java_lang_Thread* curThread_w4567aaac26b1c21 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4567aaac26b1c21->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label33:;
+ XMLVM_TRY_BEGIN(w4567aaac26b1c25)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 541)
+ java_nio_charset_Charset_checkCharsetName___java_lang_String(_r4.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 544)
+ _r0.o = java_nio_charset_Charset_GET__builtInProvider();
+ if (_r0.o != JAVA_NULL) { XMLVM_MEMCPY(curThread_w4567aaac26b1c25->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4567aaac26b1c25, sizeof(XMLVM_JMP_BUF)); goto label47; };
+ XMLVM_SOURCE_POSITION("Charset.java", 545)
+ _r0.o = __NEW_org_apache_harmony_niochar_CharsetProviderImpl();
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_niochar_CharsetProviderImpl___INIT___(_r0.o);
+ java_nio_charset_Charset_PUT__builtInProvider( _r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac26b1c25)
+ XMLVM_CATCH_SPECIFIC(w4567aaac26b1c25,java_lang_Object,30)
+ XMLVM_CATCH_END(w4567aaac26b1c25)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac26b1c25)
+ label47:;
+ XMLVM_TRY_BEGIN(w4567aaac26b1c27)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 547)
+ _r0.o = java_nio_charset_Charset_GET__builtInProvider();
+ //org_apache_harmony_niochar_CharsetProviderImpl_charsetForName___java_lang_String[6]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) ((org_apache_harmony_niochar_CharsetProviderImpl*) _r0.o)->tib->vtable[6])(_r0.o, _r4.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 548)
+ if (_r0.o == JAVA_NULL) { XMLVM_MEMCPY(curThread_w4567aaac26b1c27->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4567aaac26b1c27, sizeof(XMLVM_JMP_BUF)); goto label60; };
+ XMLVM_SOURCE_POSITION("Charset.java", 549)
+ java_nio_charset_Charset_cacheCharset___java_nio_charset_Charset_java_lang_String(_r0.o, _r4.o);
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("Charset.java", 550)
+ { XMLVM_MEMCPY(curThread_w4567aaac26b1c27->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4567aaac26b1c27, sizeof(XMLVM_JMP_BUF)); goto label20; };
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac26b1c27)
+ XMLVM_CATCH_SPECIFIC(w4567aaac26b1c27,java_lang_Object,30)
+ XMLVM_CATCH_END(w4567aaac26b1c27)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac26b1c27)
+ label60:;
+ XMLVM_TRY_BEGIN(w4567aaac26b1c29)
+ // Begin try
+ _r0 = _r3;
+ XMLVM_SOURCE_POSITION("Charset.java", 552)
+ { XMLVM_MEMCPY(curThread_w4567aaac26b1c29->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4567aaac26b1c29, sizeof(XMLVM_JMP_BUF)); goto label20; };
+ XMLVM_SOURCE_POSITION("Charset.java", 554)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac26b1c29)
+ XMLVM_CATCH_SPECIFIC(w4567aaac26b1c29,java_lang_Object,30)
+ XMLVM_CATCH_END(w4567aaac26b1c29)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac26b1c29)
+ label62:;
+ XMLVM_TRY_BEGIN(w4567aaac26b1c31)
+ // Begin try
+ _r0.o = java_nio_charset_Charset_forNameInternal___java_lang_String(_r4.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac26b1c31)
+ XMLVM_CATCH_SPECIFIC(w4567aaac26b1c31,java_lang_Object,30)
+ XMLVM_CATCH_END(w4567aaac26b1c31)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac26b1c31)
+ if (_r0.o == JAVA_NULL) goto label70;
+ _r0 = _r2;
+ goto label20;
+ label70:;
+ _r0 = _r3;
+ goto label20;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_Charset_name__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_name__]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "name", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Charset.java", 591)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_nio_charset_Charset*) _r1.o)->fields.java_nio_charset_Charset.canonicalName_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_Charset_aliases__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_aliases__]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "aliases", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Charset.java", 600)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_nio_charset_Charset*) _r1.o)->fields.java_nio_charset_Charset.aliasesSet_;
+ _r0.o = java_util_Collections_unmodifiableSet___java_util_Set(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_Charset_displayName__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_displayName__]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "displayName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Charset.java", 612)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_nio_charset_Charset*) _r1.o)->fields.java_nio_charset_Charset.canonicalName_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_Charset_displayName___java_util_Locale(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_displayName___java_util_Locale]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "displayName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Charset.java", 626)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_nio_charset_Charset*) _r1.o)->fields.java_nio_charset_Charset.canonicalName_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_charset_Charset_isRegistered__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_isRegistered__]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "isRegistered", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Charset.java", 637)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_nio_charset_Charset*) _r2.o)->fields.java_nio_charset_Charset.canonicalName_;
+ // "x-"
+ _r1.o = xmlvm_create_java_string_from_pool(711);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_startsWith___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label22;
+ XMLVM_SOURCE_POSITION("Charset.java", 638)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_nio_charset_Charset*) _r2.o)->fields.java_nio_charset_Charset.canonicalName_;
+ // "X-"
+ _r1.o = xmlvm_create_java_string_from_pool(712);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_startsWith___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label22;
+ _r0.i = 1;
+ label21:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label22:;
+ _r0.i = 0;
+ goto label21;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_charset_Charset_canEncode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_canEncode__]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "canEncode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Charset.java", 647)
+ _r0.i = 1;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_Charset_encode___java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_encode___java_nio_CharBuffer]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "encode", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_TRY_BEGIN(w4567aaac36b1b3)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 663)
+ //java_nio_charset_Charset_newEncoder__[9]
+ XMLVM_CHECK_NPE(3)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_nio_charset_Charset*) _r3.o)->tib->vtable[9])(_r3.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 664)
+ _r1.o = java_nio_charset_CodingErrorAction_GET_REPLACE();
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_nio_charset_CharsetEncoder_onMalformedInput___java_nio_charset_CodingErrorAction(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 665)
+ _r1.o = java_nio_charset_CodingErrorAction_GET_REPLACE();
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_nio_charset_CharsetEncoder_onUnmappableCharacter___java_nio_charset_CodingErrorAction(_r0.o, _r1.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_nio_charset_CharsetEncoder_encode___java_nio_CharBuffer(_r0.o, _r4.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac36b1b3)
+ XMLVM_CATCH_END(w4567aaac36b1b3)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac36b1b3)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label21:;
+ XMLVM_SOURCE_POSITION("Charset.java", 668)
+ java_lang_Thread* curThread_w4567aaac36b1b7 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4567aaac36b1b7->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_SOURCE_POSITION("Charset.java", 669)
+
+
+ // Red class access removed: java.lang.Error::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.charset.CharacterCodingException::getMessage
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.Error::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_Charset_encode___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_encode___java_lang_String]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "encode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Charset.java", 684)
+ _r0.o = java_nio_CharBuffer_wrap___java_lang_CharSequence(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_nio_charset_Charset_encode___java_nio_CharBuffer(_r1.o, _r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_Charset_decode___java_nio_ByteBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_decode___java_nio_ByteBuffer]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "decode", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_TRY_BEGIN(w4567aaac38b1b3)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 701)
+ //java_nio_charset_Charset_newDecoder__[8]
+ XMLVM_CHECK_NPE(3)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_nio_charset_Charset*) _r3.o)->tib->vtable[8])(_r3.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 702)
+ _r1.o = java_nio_charset_CodingErrorAction_GET_REPLACE();
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_nio_charset_CharsetDecoder_onMalformedInput___java_nio_charset_CodingErrorAction(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 703)
+ _r1.o = java_nio_charset_CodingErrorAction_GET_REPLACE();
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_nio_charset_CharsetDecoder_onUnmappableCharacter___java_nio_charset_CodingErrorAction(_r0.o, _r1.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_nio_charset_CharsetDecoder_decode___java_nio_ByteBuffer(_r0.o, _r4.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac38b1b3)
+ XMLVM_CATCH_END(w4567aaac38b1b3)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac38b1b3)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label21:;
+ XMLVM_SOURCE_POSITION("Charset.java", 706)
+ java_lang_Thread* curThread_w4567aaac38b1b7 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4567aaac38b1b7->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_SOURCE_POSITION("Charset.java", 707)
+
+
+ // Red class access removed: java.lang.Error::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.charset.CharacterCodingException::getMessage
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.Error::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_nio_charset_Charset_compareTo___java_nio_charset_Charset(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_compareTo___java_nio_charset_Charset]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Charset.java", 727)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_nio_charset_Charset*) _r2.o)->fields.java_nio_charset_Charset.canonicalName_;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_nio_charset_Charset*) _r3.o)->fields.java_nio_charset_Charset.canonicalName_;
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_compareToIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_charset_Charset_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Charset.java", 746)
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ _r0.i = XMLVM_ISA(_r3.o, __CLASS_java_nio_charset_Charset);
+ if (_r0.i == 0) goto label15;
+ XMLVM_SOURCE_POSITION("Charset.java", 747)
+ _r3.o = _r3.o;
+ XMLVM_SOURCE_POSITION("Charset.java", 748)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_nio_charset_Charset*) _r2.o)->fields.java_nio_charset_Charset.canonicalName_;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_nio_charset_Charset*) _r3.o)->fields.java_nio_charset_Charset.canonicalName_;
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[1])(_r0.o, _r1.o);
+ label14:;
+ XMLVM_SOURCE_POSITION("Charset.java", 750)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label15:;
+ _r0.i = 0;
+ goto label14;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_nio_charset_Charset_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_hashCode__]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Charset.java", 760)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_nio_charset_Charset*) _r1.o)->fields.java_nio_charset_Charset.canonicalName_;
+ //java_lang_String_hashCode__[4]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[4])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_Charset_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_toString__]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Charset.java", 771)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ // "Charset["
+ _r1.o = xmlvm_create_java_string_from_pool(713);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_nio_charset_Charset*) _r2.o)->fields.java_nio_charset_Charset.canonicalName_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ // "]"
+ _r1.o = xmlvm_create_java_string_from_pool(183);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_Charset_defaultCharset__()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_defaultCharset__]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "defaultCharset", "?")
+ volatile XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("Charset.java", 782)
+
+
+ // Red class access removed: java.nio.charset.Charset$4::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.charset.Charset$4::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r0.o = java_security_AccessController_doPrivileged___java_security_PrivilegedAction(_r0.o);
+ _r0.o = _r0.o;
+ XMLVM_TRY_BEGIN(w4567aaac43b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Charset.java", 788)
+ _r0.o = java_nio_charset_Charset_forName___java_lang_String(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4567aaac43b1b6)
+ XMLVM_CATCH_END(w4567aaac43b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4567aaac43b1b6)
+ label15:;
+ XMLVM_SOURCE_POSITION("Charset.java", 792)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label16:;
+ XMLVM_SOURCE_POSITION("Charset.java", 790)
+ java_lang_Thread* curThread_w4567aaac43b1c12 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4567aaac43b1c12->fields.java_lang_Thread.xmlvmException_;
+ // "UTF-8"
+ _r0.o = xmlvm_create_java_string_from_pool(100);
+ _r0.o = java_nio_charset_Charset_forName___java_lang_String(_r0.o);
+ goto label15;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_nio_charset_Charset_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_compareTo___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset", "compareTo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Charset.java", 1)
+ _r2.o = _r2.o;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_nio_charset_Charset_compareTo___java_nio_charset_Charset(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_nio_charset_Charset.h b/tests/nbody-java/java_nio_charset_Charset.h
new file mode 100644
index 00000000..d15ddd2a
--- /dev/null
+++ b/tests/nbody-java/java_nio_charset_Charset.h
@@ -0,0 +1,226 @@
+#ifndef __JAVA_NIO_CHARSET_CHARSET__
+#define __JAVA_NIO_CHARSET_CHARSET__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_nio_charset_Charset 8
+// Implemented interfaces:
+#include "java_lang_Comparable.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_io_IOException
+#define XMLVM_FORWARD_DECL_java_io_IOException
+XMLVM_FORWARD_DECL(java_io_IOException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_ClassLoader
+#define XMLVM_FORWARD_DECL_java_lang_ClassLoader
+XMLVM_FORWARD_DECL(java_lang_ClassLoader)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Exception
+#define XMLVM_FORWARD_DECL_java_lang_Exception
+XMLVM_FORWARD_DECL(java_lang_Exception)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Thread
+#define XMLVM_FORWARD_DECL_java_lang_Thread
+XMLVM_FORWARD_DECL(java_lang_Thread)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Throwable
+#define XMLVM_FORWARD_DECL_java_lang_Throwable
+XMLVM_FORWARD_DECL(java_lang_Throwable)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_ByteBuffer
+#define XMLVM_FORWARD_DECL_java_nio_ByteBuffer
+XMLVM_FORWARD_DECL(java_nio_ByteBuffer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_CharBuffer
+#define XMLVM_FORWARD_DECL_java_nio_CharBuffer
+XMLVM_FORWARD_DECL(java_nio_CharBuffer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_Charset_1
+#define XMLVM_FORWARD_DECL_java_nio_charset_Charset_1
+XMLVM_FORWARD_DECL(java_nio_charset_Charset_1)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_Charset_2
+#define XMLVM_FORWARD_DECL_java_nio_charset_Charset_2
+XMLVM_FORWARD_DECL(java_nio_charset_Charset_2)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_CharsetDecoder
+#define XMLVM_FORWARD_DECL_java_nio_charset_CharsetDecoder
+XMLVM_FORWARD_DECL(java_nio_charset_CharsetDecoder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_CharsetEncoder
+#define XMLVM_FORWARD_DECL_java_nio_charset_CharsetEncoder
+XMLVM_FORWARD_DECL(java_nio_charset_CharsetEncoder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_CodingErrorAction
+#define XMLVM_FORWARD_DECL_java_nio_charset_CodingErrorAction
+XMLVM_FORWARD_DECL(java_nio_charset_CodingErrorAction)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_spi_CharsetProvider
+#define XMLVM_FORWARD_DECL_java_nio_charset_spi_CharsetProvider
+XMLVM_FORWARD_DECL(java_nio_charset_spi_CharsetProvider)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_security_AccessController
+#define XMLVM_FORWARD_DECL_java_security_AccessController
+XMLVM_FORWARD_DECL(java_security_AccessController)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Collections
+#define XMLVM_FORWARD_DECL_java_util_Collections
+XMLVM_FORWARD_DECL(java_util_Collections)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Comparator
+#define XMLVM_FORWARD_DECL_java_util_Comparator
+XMLVM_FORWARD_DECL(java_util_Comparator)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Enumeration
+#define XMLVM_FORWARD_DECL_java_util_Enumeration
+XMLVM_FORWARD_DECL(java_util_Enumeration)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_HashMap
+#define XMLVM_FORWARD_DECL_java_util_HashMap
+XMLVM_FORWARD_DECL(java_util_HashMap)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_HashSet
+#define XMLVM_FORWARD_DECL_java_util_HashSet
+XMLVM_FORWARD_DECL(java_util_HashSet)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Iterator
+#define XMLVM_FORWARD_DECL_java_util_Iterator
+XMLVM_FORWARD_DECL(java_util_Iterator)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Locale
+#define XMLVM_FORWARD_DECL_java_util_Locale
+XMLVM_FORWARD_DECL(java_util_Locale)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Set
+#define XMLVM_FORWARD_DECL_java_util_Set
+XMLVM_FORWARD_DECL(java_util_Set)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_niochar_CharsetProviderImpl
+#define XMLVM_FORWARD_DECL_org_apache_harmony_niochar_CharsetProviderImpl
+XMLVM_FORWARD_DECL(org_apache_harmony_niochar_CharsetProviderImpl)
+#endif
+// Class declarations for java.nio.charset.Charset
+XMLVM_DEFINE_CLASS(java_nio_charset_Charset, 10, XMLVM_ITABLE_SIZE_java_nio_charset_Charset)
+
+extern JAVA_OBJECT __CLASS_java_nio_charset_Charset;
+extern JAVA_OBJECT __CLASS_java_nio_charset_Charset_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_charset_Charset_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_charset_Charset_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_nio_charset_Charset
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_nio_charset_Charset \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT canonicalName_; \
+ JAVA_OBJECT aliasesSet_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_nio_charset_Charset \
+ } java_nio_charset_Charset
+
+struct java_nio_charset_Charset {
+ __TIB_DEFINITION_java_nio_charset_Charset* tib;
+ struct {
+ __INSTANCE_FIELDS_java_nio_charset_Charset;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_Charset
+#define XMLVM_FORWARD_DECL_java_nio_charset_Charset
+typedef struct java_nio_charset_Charset java_nio_charset_Charset;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_nio_charset_Charset 10
+#define XMLVM_VTABLE_IDX_java_nio_charset_Charset_contains___java_nio_charset_Charset 7
+#define XMLVM_VTABLE_IDX_java_nio_charset_Charset_newEncoder__ 9
+#define XMLVM_VTABLE_IDX_java_nio_charset_Charset_newDecoder__ 8
+#define XMLVM_VTABLE_IDX_java_nio_charset_Charset_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_nio_charset_Charset_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_nio_charset_Charset_toString__ 5
+#define XMLVM_VTABLE_IDX_java_nio_charset_Charset_compareTo___java_lang_Object 6
+
+void __INIT_java_nio_charset_Charset();
+void __INIT_IMPL_java_nio_charset_Charset();
+void __DELETE_java_nio_charset_Charset(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_nio_charset_Charset(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_nio_charset_Charset();
+JAVA_OBJECT __NEW_INSTANCE_java_nio_charset_Charset();
+JAVA_OBJECT java_nio_charset_Charset_GET_PROVIDER_CONFIGURATION_FILE_NAME();
+void java_nio_charset_Charset_PUT_PROVIDER_CONFIGURATION_FILE_NAME(JAVA_OBJECT v);
+JAVA_OBJECT java_nio_charset_Charset_GET_PROVIDER_CONFIGURATION_FILE_ENCODING();
+void java_nio_charset_Charset_PUT_PROVIDER_CONFIGURATION_FILE_ENCODING(JAVA_OBJECT v);
+JAVA_OBJECT java_nio_charset_Charset_GET_PROVIDER_CONFIGURATION_FILE_COMMENT();
+void java_nio_charset_Charset_PUT_PROVIDER_CONFIGURATION_FILE_COMMENT(JAVA_OBJECT v);
+JAVA_OBJECT java_nio_charset_Charset_GET_systemClassLoader();
+void java_nio_charset_Charset_PUT_systemClassLoader(JAVA_OBJECT v);
+JAVA_OBJECT java_nio_charset_Charset_GET__builtInProvider();
+void java_nio_charset_Charset_PUT__builtInProvider(JAVA_OBJECT v);
+JAVA_OBJECT java_nio_charset_Charset_GET__builtInCharsets();
+void java_nio_charset_Charset_PUT__builtInCharsets(JAVA_OBJECT v);
+JAVA_OBJECT java_nio_charset_Charset_GET_cachedCharsetTable();
+void java_nio_charset_Charset_PUT_cachedCharsetTable(JAVA_OBJECT v);
+JAVA_BOOLEAN java_nio_charset_Charset_GET_inForNameInternal();
+void java_nio_charset_Charset_PUT_inForNameInternal(JAVA_BOOLEAN v);
+void java_nio_charset_Charset___CLINIT_();
+void java_nio_charset_Charset___INIT____java_lang_String_java_lang_String_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_BOOLEAN java_nio_charset_Charset_isSpecial___char(JAVA_CHAR n1);
+JAVA_BOOLEAN java_nio_charset_Charset_isLetter___char(JAVA_CHAR n1);
+JAVA_BOOLEAN java_nio_charset_Charset_isDigit___char(JAVA_CHAR n1);
+void java_nio_charset_Charset_checkCharsetName___java_lang_String(JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_charset_Charset_getContextClassLoader__();
+void java_nio_charset_Charset_getSystemClassLoader__();
+void java_nio_charset_Charset_addCharsets___java_nio_charset_spi_CharsetProvider_java_util_TreeMap(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_nio_charset_Charset_trimClassName___java_lang_String(JAVA_OBJECT n1);
+void java_nio_charset_Charset_loadConfiguredCharsets___java_net_URL_java_lang_ClassLoader_java_util_TreeMap(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3);
+JAVA_OBJECT java_nio_charset_Charset_availableCharsets__();
+JAVA_OBJECT java_nio_charset_Charset_searchConfiguredCharsets___java_lang_String_java_lang_ClassLoader_java_net_URL(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3);
+JAVA_OBJECT java_nio_charset_Charset_forNameInternal___java_lang_String(JAVA_OBJECT n1);
+void java_nio_charset_Charset_cacheCharset___java_nio_charset_Charset_java_lang_String(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_nio_charset_Charset_forName___java_lang_String(JAVA_OBJECT n1);
+JAVA_BOOLEAN java_nio_charset_Charset_isSupported___java_lang_String(JAVA_OBJECT n1);
+// Vtable index: 7
+JAVA_BOOLEAN java_nio_charset_Charset_contains___java_nio_charset_Charset(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 9
+JAVA_OBJECT java_nio_charset_Charset_newEncoder__(JAVA_OBJECT me);
+// Vtable index: 8
+JAVA_OBJECT java_nio_charset_Charset_newDecoder__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_charset_Charset_name__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_charset_Charset_aliases__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_charset_Charset_displayName__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_charset_Charset_displayName___java_util_Locale(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_nio_charset_Charset_isRegistered__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_nio_charset_Charset_canEncode__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_charset_Charset_encode___java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_charset_Charset_encode___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_charset_Charset_decode___java_nio_ByteBuffer(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_INT java_nio_charset_Charset_compareTo___java_nio_charset_Charset(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 1
+JAVA_BOOLEAN java_nio_charset_Charset_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 4
+JAVA_INT java_nio_charset_Charset_hashCode__(JAVA_OBJECT me);
+// Vtable index: 5
+JAVA_OBJECT java_nio_charset_Charset_toString__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_charset_Charset_defaultCharset__();
+// Vtable index: 6
+JAVA_INT java_nio_charset_Charset_compareTo___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_nio_charset_CharsetDecoder.c b/tests/nbody-java/java_nio_charset_CharsetDecoder.c
new file mode 100644
index 00000000..c6f36459
--- /dev/null
+++ b/tests/nbody-java/java_nio_charset_CharsetDecoder.c
@@ -0,0 +1,1057 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_String.h"
+#include "java_nio_ByteBuffer.h"
+#include "java_nio_CharBuffer.h"
+#include "java_nio_charset_Charset.h"
+#include "java_nio_charset_CoderResult.h"
+#include "java_nio_charset_CodingErrorAction.h"
+
+#include "java_nio_charset_CharsetDecoder.h"
+
+#define XMLVM_CURRENT_CLASS_NAME CharsetDecoder
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_nio_charset_CharsetDecoder
+
+__TIB_DEFINITION_java_nio_charset_CharsetDecoder __TIB_java_nio_charset_CharsetDecoder = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_nio_charset_CharsetDecoder, // classInitializer
+ "java.nio.charset.CharsetDecoder", // className
+ "java.nio.charset", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_nio_charset_CharsetDecoder), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_nio_charset_CharsetDecoder;
+JAVA_OBJECT __CLASS_java_nio_charset_CharsetDecoder_1ARRAY;
+JAVA_OBJECT __CLASS_java_nio_charset_CharsetDecoder_2ARRAY;
+JAVA_OBJECT __CLASS_java_nio_charset_CharsetDecoder_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_INT _STATIC_java_nio_charset_CharsetDecoder_INIT;
+static JAVA_INT _STATIC_java_nio_charset_CharsetDecoder_ONGOING;
+static JAVA_INT _STATIC_java_nio_charset_CharsetDecoder_END;
+static JAVA_INT _STATIC_java_nio_charset_CharsetDecoder_FLUSH;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_nio_charset_CharsetDecoder()
+{
+ staticInitializerLock(&__TIB_java_nio_charset_CharsetDecoder);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_nio_charset_CharsetDecoder.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_nio_charset_CharsetDecoder.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_nio_charset_CharsetDecoder);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_nio_charset_CharsetDecoder.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_nio_charset_CharsetDecoder.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_nio_charset_CharsetDecoder.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.nio.charset.CharsetDecoder")
+ __INIT_IMPL_java_nio_charset_CharsetDecoder();
+ }
+}
+
+void __INIT_IMPL_java_nio_charset_CharsetDecoder()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_nio_charset_CharsetDecoder.newInstanceFunc = __NEW_INSTANCE_java_nio_charset_CharsetDecoder;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_nio_charset_CharsetDecoder.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_nio_charset_CharsetDecoder.numImplementedInterfaces = 0;
+ __TIB_java_nio_charset_CharsetDecoder.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_java_nio_charset_CharsetDecoder_INIT = 0;
+ _STATIC_java_nio_charset_CharsetDecoder_ONGOING = 1;
+ _STATIC_java_nio_charset_CharsetDecoder_END = 2;
+ _STATIC_java_nio_charset_CharsetDecoder_FLUSH = 3;
+
+ __TIB_java_nio_charset_CharsetDecoder.declaredFields = &__field_reflection_data[0];
+ __TIB_java_nio_charset_CharsetDecoder.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_nio_charset_CharsetDecoder.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_nio_charset_CharsetDecoder.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_nio_charset_CharsetDecoder.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_nio_charset_CharsetDecoder.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_nio_charset_CharsetDecoder.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_nio_charset_CharsetDecoder.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_nio_charset_CharsetDecoder = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_nio_charset_CharsetDecoder);
+ __TIB_java_nio_charset_CharsetDecoder.clazz = __CLASS_java_nio_charset_CharsetDecoder;
+ __TIB_java_nio_charset_CharsetDecoder.baseType = JAVA_NULL;
+ __CLASS_java_nio_charset_CharsetDecoder_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_charset_CharsetDecoder);
+ __CLASS_java_nio_charset_CharsetDecoder_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_charset_CharsetDecoder_1ARRAY);
+ __CLASS_java_nio_charset_CharsetDecoder_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_charset_CharsetDecoder_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_nio_charset_CharsetDecoder]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_nio_charset_CharsetDecoder.classInitialized = 1;
+}
+
+void __DELETE_java_nio_charset_CharsetDecoder(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_nio_charset_CharsetDecoder]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_nio_charset_CharsetDecoder(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_nio_charset_CharsetDecoder*) me)->fields.java_nio_charset_CharsetDecoder.averChars_ = 0;
+ ((java_nio_charset_CharsetDecoder*) me)->fields.java_nio_charset_CharsetDecoder.maxChars_ = 0;
+ ((java_nio_charset_CharsetDecoder*) me)->fields.java_nio_charset_CharsetDecoder.cs_ = (java_nio_charset_Charset*) JAVA_NULL;
+ ((java_nio_charset_CharsetDecoder*) me)->fields.java_nio_charset_CharsetDecoder.malformAction_ = (java_nio_charset_CodingErrorAction*) JAVA_NULL;
+ ((java_nio_charset_CharsetDecoder*) me)->fields.java_nio_charset_CharsetDecoder.unmapAction_ = (java_nio_charset_CodingErrorAction*) JAVA_NULL;
+ ((java_nio_charset_CharsetDecoder*) me)->fields.java_nio_charset_CharsetDecoder.replace_ = (java_lang_String*) JAVA_NULL;
+ ((java_nio_charset_CharsetDecoder*) me)->fields.java_nio_charset_CharsetDecoder.status_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_nio_charset_CharsetDecoder]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_nio_charset_CharsetDecoder()
+{ XMLVM_CLASS_INIT(java_nio_charset_CharsetDecoder)
+java_nio_charset_CharsetDecoder* me = (java_nio_charset_CharsetDecoder*) XMLVM_MALLOC(sizeof(java_nio_charset_CharsetDecoder));
+ me->tib = &__TIB_java_nio_charset_CharsetDecoder;
+ __INIT_INSTANCE_MEMBERS_java_nio_charset_CharsetDecoder(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_nio_charset_CharsetDecoder]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_nio_charset_CharsetDecoder()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_INT java_nio_charset_CharsetDecoder_GET_INIT()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CharsetDecoder)
+ return _STATIC_java_nio_charset_CharsetDecoder_INIT;
+}
+
+void java_nio_charset_CharsetDecoder_PUT_INIT(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CharsetDecoder)
+_STATIC_java_nio_charset_CharsetDecoder_INIT = v;
+}
+
+JAVA_INT java_nio_charset_CharsetDecoder_GET_ONGOING()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CharsetDecoder)
+ return _STATIC_java_nio_charset_CharsetDecoder_ONGOING;
+}
+
+void java_nio_charset_CharsetDecoder_PUT_ONGOING(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CharsetDecoder)
+_STATIC_java_nio_charset_CharsetDecoder_ONGOING = v;
+}
+
+JAVA_INT java_nio_charset_CharsetDecoder_GET_END()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CharsetDecoder)
+ return _STATIC_java_nio_charset_CharsetDecoder_END;
+}
+
+void java_nio_charset_CharsetDecoder_PUT_END(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CharsetDecoder)
+_STATIC_java_nio_charset_CharsetDecoder_END = v;
+}
+
+JAVA_INT java_nio_charset_CharsetDecoder_GET_FLUSH()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CharsetDecoder)
+ return _STATIC_java_nio_charset_CharsetDecoder_FLUSH;
+}
+
+void java_nio_charset_CharsetDecoder_PUT_FLUSH(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CharsetDecoder)
+_STATIC_java_nio_charset_CharsetDecoder_FLUSH = v;
+}
+
+void java_nio_charset_CharsetDecoder___INIT____java_nio_charset_Charset_float_float(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_FLOAT n2, JAVA_FLOAT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetDecoder___INIT____java_nio_charset_Charset_float_float]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetDecoder", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.f = n2;
+ _r5.f = n3;
+ _r1.f = 0.0;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 138)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 140)
+ _r0.i = _r4.f > _r1.f ? 1 : (_r4.f == _r1.f ? 0 : -1);
+ if (_r0.i <= 0) goto label12;
+ _r0.i = _r5.f > _r1.f ? 1 : (_r5.f == _r1.f ? 0 : -1);
+ if (_r0.i > 0) goto label24;
+ label12:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 142)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "niochar.00"
+ _r1.o = xmlvm_create_java_string_from_pool(722);
+
+
+ // Red class access removed: org.apache.harmony.niochar.internal.nls.Messages::getString
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label24:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 144)
+ _r0.i = _r4.f > _r5.f ? 1 : (_r4.f == _r5.f ? 0 : -1);
+ if (_r0.i <= 0) goto label40;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 146)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "niochar.01"
+ _r1.o = xmlvm_create_java_string_from_pool(723);
+
+
+ // Red class access removed: org.apache.harmony.niochar.internal.nls.Messages::getString
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label40:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 148)
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_charset_CharsetDecoder*) _r2.o)->fields.java_nio_charset_CharsetDecoder.averChars_ = _r4.f;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 149)
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_charset_CharsetDecoder*) _r2.o)->fields.java_nio_charset_CharsetDecoder.maxChars_ = _r5.f;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 150)
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_charset_CharsetDecoder*) _r2.o)->fields.java_nio_charset_CharsetDecoder.cs_ = _r3.o;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 151)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_charset_CharsetDecoder*) _r2.o)->fields.java_nio_charset_CharsetDecoder.status_ = _r0.i;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 152)
+ _r0.o = java_nio_charset_CodingErrorAction_GET_REPORT();
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_charset_CharsetDecoder*) _r2.o)->fields.java_nio_charset_CharsetDecoder.malformAction_ = _r0.o;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 153)
+ _r0.o = java_nio_charset_CodingErrorAction_GET_REPORT();
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_charset_CharsetDecoder*) _r2.o)->fields.java_nio_charset_CharsetDecoder.unmapAction_ = _r0.o;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 154)
+ // "\177775"
+ _r0.o = xmlvm_create_java_string_from_pool(724);
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_charset_CharsetDecoder*) _r2.o)->fields.java_nio_charset_CharsetDecoder.replace_ = _r0.o;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 155)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_FLOAT java_nio_charset_CharsetDecoder_averageCharsPerByte__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetDecoder_averageCharsPerByte__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetDecoder", "averageCharsPerByte", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 165)
+ XMLVM_CHECK_NPE(1)
+ _r0.f = ((java_nio_charset_CharsetDecoder*) _r1.o)->fields.java_nio_charset_CharsetDecoder.averChars_;
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetDecoder_charset__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetDecoder_charset__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetDecoder", "charset", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 174)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_nio_charset_CharsetDecoder*) _r1.o)->fields.java_nio_charset_CharsetDecoder.cs_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetDecoder_decode___java_nio_ByteBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetDecoder_decode___java_nio_ByteBuffer]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetDecoder", "decode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 212)
+ XMLVM_CHECK_NPE(3)
+ java_nio_charset_CharsetDecoder_reset__(_r3.o);
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 213)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = java_nio_Buffer_remaining__(_r4.o);
+ _r0.f = (JAVA_FLOAT) _r0.i;
+ XMLVM_CHECK_NPE(3)
+ _r1.f = ((java_nio_charset_CharsetDecoder*) _r3.o)->fields.java_nio_charset_CharsetDecoder.averChars_;
+ _r0.f = _r0.f * _r1.f;
+ _r0.i = (JAVA_INT) _r0.f;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 214)
+ _r0.o = java_nio_CharBuffer_allocate___int(_r0.i);
+ label16:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 217)
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_nio_charset_CharsetDecoder_decode___java_nio_ByteBuffer_java_nio_CharBuffer_boolean(_r3.o, _r4.o, _r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 218)
+ XMLVM_CHECK_NPE(3)
+ java_nio_charset_CharsetDecoder_checkCoderResult___java_nio_charset_CoderResult(_r3.o, _r1.o);
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 219)
+ XMLVM_CHECK_NPE(1)
+ _r2.i = java_nio_charset_CoderResult_isUnderflow__(_r1.o);
+ if (_r2.i == 0) goto label56;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 225)
+ _r1.i = 1;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_nio_charset_CharsetDecoder_decode___java_nio_ByteBuffer_java_nio_CharBuffer_boolean(_r3.o, _r4.o, _r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 226)
+ XMLVM_CHECK_NPE(3)
+ java_nio_charset_CharsetDecoder_checkCoderResult___java_nio_charset_CoderResult(_r3.o, _r1.o);
+ label38:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 229)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_nio_charset_CharsetDecoder_flush___java_nio_CharBuffer(_r3.o, _r0.o);
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 230)
+ XMLVM_CHECK_NPE(3)
+ java_nio_charset_CharsetDecoder_checkCoderResult___java_nio_charset_CoderResult(_r3.o, _r1.o);
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 231)
+ XMLVM_CHECK_NPE(1)
+ _r1.i = java_nio_charset_CoderResult_isOverflow__(_r1.o);
+ if (_r1.i == 0) goto label67;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 232)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_CharsetDecoder_allocateMore___java_nio_CharBuffer(_r3.o, _r0.o);
+ goto label38;
+ label56:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 221)
+ XMLVM_CHECK_NPE(1)
+ _r1.i = java_nio_charset_CoderResult_isOverflow__(_r1.o);
+ if (_r1.i == 0) goto label16;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 222)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_CharsetDecoder_allocateMore___java_nio_CharBuffer(_r3.o, _r0.o);
+ goto label16;
+ label67:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 238)
+ XMLVM_CHECK_NPE(0)
+ java_nio_Buffer_flip__(_r0.o);
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 239)
+ _r1.i = 3;
+ XMLVM_CHECK_NPE(3)
+ ((java_nio_charset_CharsetDecoder*) _r3.o)->fields.java_nio_charset_CharsetDecoder.status_ = _r1.i;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 240)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_charset_CharsetDecoder_checkCoderResult___java_nio_charset_CoderResult(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetDecoder_checkCoderResult___java_nio_charset_CoderResult]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetDecoder", "checkCoderResult", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 248)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_nio_charset_CoderResult_isMalformed__(_r3.o);
+ if (_r0.i == 0) goto label22;
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_nio_charset_CharsetDecoder*) _r2.o)->fields.java_nio_charset_CharsetDecoder.malformAction_;
+ _r1.o = java_nio_charset_CodingErrorAction_GET_REPORT();
+ if (_r0.o != _r1.o) goto label22;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 249)
+
+
+ // Red class access removed: java.nio.charset.MalformedInputException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(3)
+ _r1.i = java_nio_charset_CoderResult_length__(_r3.o);
+
+
+ // Red class access removed: java.nio.charset.MalformedInputException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label22:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 250)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_nio_charset_CoderResult_isUnmappable__(_r3.o);
+ if (_r0.i == 0) goto label44;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 251)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_nio_charset_CharsetDecoder*) _r2.o)->fields.java_nio_charset_CharsetDecoder.unmapAction_;
+ _r1.o = java_nio_charset_CodingErrorAction_GET_REPORT();
+ if (_r0.o != _r1.o) goto label44;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 252)
+
+
+ // Red class access removed: java.nio.charset.UnmappableCharacterException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(3)
+ _r1.i = java_nio_charset_CoderResult_length__(_r3.o);
+
+
+ // Red class access removed: java.nio.charset.UnmappableCharacterException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label44:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 254)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetDecoder_allocateMore___java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetDecoder_allocateMore___java_nio_CharBuffer]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetDecoder", "allocateMore", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 262)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = java_nio_Buffer_capacity__(_r2.o);
+ if (_r0.i != 0) goto label12;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 263)
+ _r0.i = 1;
+ _r0.o = java_nio_CharBuffer_allocate___int(_r0.i);
+ label11:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 268)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label12:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 265)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = java_nio_Buffer_capacity__(_r2.o);
+ _r0.i = _r0.i * 2;
+ _r0.o = java_nio_CharBuffer_allocate___int(_r0.i);
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 266)
+ XMLVM_CHECK_NPE(2)
+ java_nio_Buffer_flip__(_r2.o);
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 267)
+ XMLVM_CHECK_NPE(0)
+ java_nio_CharBuffer_put___java_nio_CharBuffer(_r0.o, _r2.o);
+ goto label11;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetDecoder_decode___java_nio_ByteBuffer_java_nio_CharBuffer_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_BOOLEAN n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetDecoder_decode___java_nio_ByteBuffer_java_nio_CharBuffer_boolean]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetDecoder", "decode", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ _r4.o = me;
+ _r5.o = n1;
+ _r6.o = n2;
+ _r7.i = n3;
+ _r3.i = 2;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 340)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_nio_charset_CharsetDecoder*) _r4.o)->fields.java_nio_charset_CharsetDecoder.status_;
+ _r1.i = 3;
+ if (_r0.i == _r1.i) goto label12;
+ if (_r7.i != 0) goto label35;
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_nio_charset_CharsetDecoder*) _r4.o)->fields.java_nio_charset_CharsetDecoder.status_;
+ if (_r0.i != _r3.i) goto label35;
+ label12:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 341)
+
+
+ // Red class access removed: java.lang.IllegalStateException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalStateException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label18:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 384)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_nio_charset_CharsetDecoder*) _r4.o)->fields.java_nio_charset_CharsetDecoder.replace_;
+ XMLVM_CHECK_NPE(6)
+ java_nio_CharBuffer_put___java_lang_String(_r6.o, _r1.o);
+ label23:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 389)
+ XMLVM_CHECK_NPE(5)
+ _r1.i = java_nio_Buffer_position__(_r5.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_nio_charset_CoderResult_length__(_r0.o);
+ _r0.i = _r0.i + _r1.i;
+ XMLVM_CHECK_NPE(5)
+ java_nio_Buffer_position___int(_r5.o, _r0.i);
+ label35:;
+ XMLVM_TRY_BEGIN(w4896aaac17b1c29)
+ // Begin try
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 350)
+ //java_nio_charset_CharsetDecoder_decodeLoop___java_nio_ByteBuffer_java_nio_CharBuffer[6]
+ XMLVM_CHECK_NPE(4)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_nio_charset_CharsetDecoder*) _r4.o)->tib->vtable[6])(_r4.o, _r5.o, _r6.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4896aaac17b1c29)
+ XMLVM_CATCH_END(w4896aaac17b1c29)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4896aaac17b1c29)
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 362)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = java_nio_charset_CoderResult_isUnderflow__(_r0.o);
+ if (_r1.i == 0) goto label62;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 363)
+ XMLVM_CHECK_NPE(5)
+ _r1.i = java_nio_Buffer_remaining__(_r5.o);
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 364)
+ if (_r7.i == 0) goto label83;
+ _r2 = _r3;
+ label52:;
+ XMLVM_CHECK_NPE(4)
+ ((java_nio_charset_CharsetDecoder*) _r4.o)->fields.java_nio_charset_CharsetDecoder.status_ = _r2.i;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 365)
+ if (_r7.i == 0) goto label68;
+ if (_r1.i <= 0) goto label68;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 366)
+ _r0.o = java_nio_charset_CoderResult_malformedForLength___int(_r1.i);
+ label62:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 371)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = java_nio_charset_CoderResult_isOverflow__(_r0.o);
+ if (_r1.i == 0) goto label85;
+ label68:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 387)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label69:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 351)
+ java_lang_Thread* curThread_w4896aaac17b1c54 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4896aaac17b1c54->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 353)
+
+
+ // Red class access removed: java.nio.charset.CoderMalfunctionError::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.charset.CoderMalfunctionError::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label76:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 354)
+ java_lang_Thread* curThread_w4896aaac17b1c61 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4896aaac17b1c61->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 356)
+
+
+ // Red class access removed: java.nio.charset.CoderMalfunctionError::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.charset.CoderMalfunctionError::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label83:;
+ _r2.i = 1;
+ goto label52;
+ label85:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 375)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_nio_charset_CharsetDecoder*) _r4.o)->fields.java_nio_charset_CharsetDecoder.malformAction_;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 376)
+ XMLVM_CHECK_NPE(0)
+ _r2.i = java_nio_charset_CoderResult_isUnmappable__(_r0.o);
+ if (_r2.i == 0) goto label95;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 377)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_nio_charset_CharsetDecoder*) _r4.o)->fields.java_nio_charset_CharsetDecoder.unmapAction_;
+ label95:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 380)
+ _r2.o = java_nio_charset_CodingErrorAction_GET_REPLACE();
+ if (_r1.o != _r2.o) goto label114;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 381)
+ XMLVM_CHECK_NPE(6)
+ _r1.i = java_nio_Buffer_remaining__(_r6.o);
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_nio_charset_CharsetDecoder*) _r4.o)->fields.java_nio_charset_CharsetDecoder.replace_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(2)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r2.o)->tib->vtable[8])(_r2.o);
+ if (_r1.i >= _r2.i) goto label18;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 382)
+ _r0.o = java_nio_charset_CoderResult_GET_OVERFLOW();
+ goto label68;
+ label114:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 386)
+ _r2.o = java_nio_charset_CodingErrorAction_GET_IGNORE();
+ if (_r1.o == _r2.o) goto label23;
+ goto label68;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetDecoder_detectedCharset__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetDecoder_detectedCharset__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetDecoder", "detectedCharset", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 450)
+
+
+ // Red class access removed: java.lang.UnsupportedOperationException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.UnsupportedOperationException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetDecoder_flush___java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetDecoder_flush___java_nio_CharBuffer]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetDecoder", "flush", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 486)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_charset_CharsetDecoder*) _r2.o)->fields.java_nio_charset_CharsetDecoder.status_;
+ _r1.i = 2;
+ if (_r0.i == _r1.i) goto label15;
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_charset_CharsetDecoder*) _r2.o)->fields.java_nio_charset_CharsetDecoder.status_;
+ if (_r0.i == 0) goto label15;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 487)
+
+
+ // Red class access removed: java.lang.IllegalStateException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalStateException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label15:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 489)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_nio_charset_CharsetDecoder_implFlush___java_nio_CharBuffer(_r2.o, _r3.o);
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 490)
+ _r1.o = java_nio_charset_CoderResult_GET_UNDERFLOW();
+ if (_r0.o != _r1.o) goto label26;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 491)
+ _r1.i = 3;
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_charset_CharsetDecoder*) _r2.o)->fields.java_nio_charset_CharsetDecoder.status_ = _r1.i;
+ label26:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 493)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetDecoder_implFlush___java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetDecoder_implFlush___java_nio_CharBuffer]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetDecoder", "implFlush", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 507)
+ _r0.o = java_nio_charset_CoderResult_GET_UNDERFLOW();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_charset_CharsetDecoder_implOnMalformedInput___java_nio_charset_CodingErrorAction(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetDecoder_implOnMalformedInput___java_nio_charset_CodingErrorAction]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetDecoder", "implOnMalformedInput", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 520)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_charset_CharsetDecoder_implOnUnmappableCharacter___java_nio_charset_CodingErrorAction(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetDecoder_implOnUnmappableCharacter___java_nio_charset_CodingErrorAction]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetDecoder", "implOnUnmappableCharacter", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 532)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_charset_CharsetDecoder_implReplaceWith___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetDecoder_implReplaceWith___java_lang_String]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetDecoder", "implReplaceWith", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 543)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_charset_CharsetDecoder_implReset__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetDecoder_implReset__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetDecoder", "implReset", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 551)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_charset_CharsetDecoder_isAutoDetecting__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetDecoder_isAutoDetecting__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetDecoder", "isAutoDetecting", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 560)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_charset_CharsetDecoder_isCharsetDetected__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetDecoder_isCharsetDetected__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetDecoder", "isCharsetDetected", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 588)
+
+
+ // Red class access removed: java.lang.UnsupportedOperationException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.UnsupportedOperationException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetDecoder_malformedInputAction__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetDecoder_malformedInputAction__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetDecoder", "malformedInputAction", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 599)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_nio_charset_CharsetDecoder*) _r1.o)->fields.java_nio_charset_CharsetDecoder.malformAction_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_FLOAT java_nio_charset_CharsetDecoder_maxCharsPerByte__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetDecoder_maxCharsPerByte__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetDecoder", "maxCharsPerByte", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 610)
+ XMLVM_CHECK_NPE(1)
+ _r0.f = ((java_nio_charset_CharsetDecoder*) _r1.o)->fields.java_nio_charset_CharsetDecoder.maxChars_;
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetDecoder_onMalformedInput___java_nio_charset_CodingErrorAction(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetDecoder_onMalformedInput___java_nio_charset_CodingErrorAction]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetDecoder", "onMalformedInput", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 627)
+ if (_r2.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 628)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 630)
+ XMLVM_CHECK_NPE(1)
+ ((java_nio_charset_CharsetDecoder*) _r1.o)->fields.java_nio_charset_CharsetDecoder.malformAction_ = _r2.o;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 631)
+ XMLVM_CHECK_NPE(1)
+ java_nio_charset_CharsetDecoder_implOnMalformedInput___java_nio_charset_CodingErrorAction(_r1.o, _r2.o);
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 632)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetDecoder_onUnmappableCharacter___java_nio_charset_CodingErrorAction(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetDecoder_onUnmappableCharacter___java_nio_charset_CodingErrorAction]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetDecoder", "onUnmappableCharacter", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 650)
+ if (_r2.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 651)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 653)
+ XMLVM_CHECK_NPE(1)
+ ((java_nio_charset_CharsetDecoder*) _r1.o)->fields.java_nio_charset_CharsetDecoder.unmapAction_ = _r2.o;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 654)
+ XMLVM_CHECK_NPE(1)
+ java_nio_charset_CharsetDecoder_implOnUnmappableCharacter___java_nio_charset_CodingErrorAction(_r1.o, _r2.o);
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 655)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetDecoder_replacement__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetDecoder_replacement__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetDecoder", "replacement", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 664)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_nio_charset_CharsetDecoder*) _r1.o)->fields.java_nio_charset_CharsetDecoder.replace_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetDecoder_replaceWith___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetDecoder_replaceWith___java_lang_String]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetDecoder", "replaceWith", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 684)
+ if (_r3.o == JAVA_NULL) goto label8;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r3.o)->tib->vtable[8])(_r3.o);
+ if (_r0.i != 0) goto label20;
+ label8:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 686)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "niochar.06"
+ _r1.o = xmlvm_create_java_string_from_pool(725);
+
+
+ // Red class access removed: org.apache.harmony.niochar.internal.nls.Messages::getString
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label20:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 688)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r3.o)->tib->vtable[8])(_r3.o);
+ _r0.f = (JAVA_FLOAT) _r0.i;
+ XMLVM_CHECK_NPE(2)
+ _r1.f = ((java_nio_charset_CharsetDecoder*) _r2.o)->fields.java_nio_charset_CharsetDecoder.maxChars_;
+ _r0.i = _r0.f > _r1.f ? 1 : (_r0.f == _r1.f ? 0 : -1);
+ if (_r0.i <= 0) goto label43;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 691)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "niochar.07"
+ _r1.o = xmlvm_create_java_string_from_pool(726);
+
+
+ // Red class access removed: org.apache.harmony.niochar.internal.nls.Messages::getString
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label43:;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 693)
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_charset_CharsetDecoder*) _r2.o)->fields.java_nio_charset_CharsetDecoder.replace_ = _r3.o;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 694)
+ XMLVM_CHECK_NPE(2)
+ java_nio_charset_CharsetDecoder_implReplaceWith___java_lang_String(_r2.o, _r3.o);
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 695)
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetDecoder_reset__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetDecoder_reset__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetDecoder", "reset", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 706)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(1)
+ ((java_nio_charset_CharsetDecoder*) _r1.o)->fields.java_nio_charset_CharsetDecoder.status_ = _r0.i;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 707)
+ XMLVM_CHECK_NPE(1)
+ java_nio_charset_CharsetDecoder_implReset__(_r1.o);
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 708)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetDecoder_unmappableCharacterAction__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetDecoder_unmappableCharacterAction__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetDecoder", "unmappableCharacterAction", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("CharsetDecoder.java", 719)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_nio_charset_CharsetDecoder*) _r1.o)->fields.java_nio_charset_CharsetDecoder.unmapAction_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_nio_charset_CharsetDecoder.h b/tests/nbody-java/java_nio_charset_CharsetDecoder.h
new file mode 100644
index 00000000..6cb8fd8d
--- /dev/null
+++ b/tests/nbody-java/java_nio_charset_CharsetDecoder.h
@@ -0,0 +1,120 @@
+#ifndef __JAVA_NIO_CHARSET_CHARSETDECODER__
+#define __JAVA_NIO_CHARSET_CHARSETDECODER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_nio_charset_CharsetDecoder 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_ByteBuffer
+#define XMLVM_FORWARD_DECL_java_nio_ByteBuffer
+XMLVM_FORWARD_DECL(java_nio_ByteBuffer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_CharBuffer
+#define XMLVM_FORWARD_DECL_java_nio_CharBuffer
+XMLVM_FORWARD_DECL(java_nio_CharBuffer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_Charset
+#define XMLVM_FORWARD_DECL_java_nio_charset_Charset
+XMLVM_FORWARD_DECL(java_nio_charset_Charset)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_CoderResult
+#define XMLVM_FORWARD_DECL_java_nio_charset_CoderResult
+XMLVM_FORWARD_DECL(java_nio_charset_CoderResult)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_CodingErrorAction
+#define XMLVM_FORWARD_DECL_java_nio_charset_CodingErrorAction
+XMLVM_FORWARD_DECL(java_nio_charset_CodingErrorAction)
+#endif
+// Class declarations for java.nio.charset.CharsetDecoder
+XMLVM_DEFINE_CLASS(java_nio_charset_CharsetDecoder, 7, XMLVM_ITABLE_SIZE_java_nio_charset_CharsetDecoder)
+
+extern JAVA_OBJECT __CLASS_java_nio_charset_CharsetDecoder;
+extern JAVA_OBJECT __CLASS_java_nio_charset_CharsetDecoder_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_charset_CharsetDecoder_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_charset_CharsetDecoder_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_nio_charset_CharsetDecoder
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_nio_charset_CharsetDecoder \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_FLOAT averChars_; \
+ JAVA_FLOAT maxChars_; \
+ JAVA_OBJECT cs_; \
+ JAVA_OBJECT malformAction_; \
+ JAVA_OBJECT unmapAction_; \
+ JAVA_OBJECT replace_; \
+ JAVA_INT status_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_nio_charset_CharsetDecoder \
+ } java_nio_charset_CharsetDecoder
+
+struct java_nio_charset_CharsetDecoder {
+ __TIB_DEFINITION_java_nio_charset_CharsetDecoder* tib;
+ struct {
+ __INSTANCE_FIELDS_java_nio_charset_CharsetDecoder;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_CharsetDecoder
+#define XMLVM_FORWARD_DECL_java_nio_charset_CharsetDecoder
+typedef struct java_nio_charset_CharsetDecoder java_nio_charset_CharsetDecoder;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_nio_charset_CharsetDecoder 7
+#define XMLVM_VTABLE_IDX_java_nio_charset_CharsetDecoder_decodeLoop___java_nio_ByteBuffer_java_nio_CharBuffer 6
+
+void __INIT_java_nio_charset_CharsetDecoder();
+void __INIT_IMPL_java_nio_charset_CharsetDecoder();
+void __DELETE_java_nio_charset_CharsetDecoder(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_nio_charset_CharsetDecoder(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_nio_charset_CharsetDecoder();
+JAVA_OBJECT __NEW_INSTANCE_java_nio_charset_CharsetDecoder();
+JAVA_INT java_nio_charset_CharsetDecoder_GET_INIT();
+void java_nio_charset_CharsetDecoder_PUT_INIT(JAVA_INT v);
+JAVA_INT java_nio_charset_CharsetDecoder_GET_ONGOING();
+void java_nio_charset_CharsetDecoder_PUT_ONGOING(JAVA_INT v);
+JAVA_INT java_nio_charset_CharsetDecoder_GET_END();
+void java_nio_charset_CharsetDecoder_PUT_END(JAVA_INT v);
+JAVA_INT java_nio_charset_CharsetDecoder_GET_FLUSH();
+void java_nio_charset_CharsetDecoder_PUT_FLUSH(JAVA_INT v);
+void java_nio_charset_CharsetDecoder___INIT____java_nio_charset_Charset_float_float(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_FLOAT n2, JAVA_FLOAT n3);
+JAVA_FLOAT java_nio_charset_CharsetDecoder_averageCharsPerByte__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_charset_CharsetDecoder_charset__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_charset_CharsetDecoder_decode___java_nio_ByteBuffer(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_nio_charset_CharsetDecoder_checkCoderResult___java_nio_charset_CoderResult(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_charset_CharsetDecoder_allocateMore___java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_charset_CharsetDecoder_decode___java_nio_ByteBuffer_java_nio_CharBuffer_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_BOOLEAN n3);
+// Vtable index: 6
+JAVA_OBJECT java_nio_charset_CharsetDecoder_decodeLoop___java_nio_ByteBuffer_java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_nio_charset_CharsetDecoder_detectedCharset__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_charset_CharsetDecoder_flush___java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_charset_CharsetDecoder_implFlush___java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_nio_charset_CharsetDecoder_implOnMalformedInput___java_nio_charset_CodingErrorAction(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_nio_charset_CharsetDecoder_implOnUnmappableCharacter___java_nio_charset_CodingErrorAction(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_nio_charset_CharsetDecoder_implReplaceWith___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_nio_charset_CharsetDecoder_implReset__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_nio_charset_CharsetDecoder_isAutoDetecting__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_nio_charset_CharsetDecoder_isCharsetDetected__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_charset_CharsetDecoder_malformedInputAction__(JAVA_OBJECT me);
+JAVA_FLOAT java_nio_charset_CharsetDecoder_maxCharsPerByte__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_charset_CharsetDecoder_onMalformedInput___java_nio_charset_CodingErrorAction(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_charset_CharsetDecoder_onUnmappableCharacter___java_nio_charset_CodingErrorAction(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_charset_CharsetDecoder_replacement__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_charset_CharsetDecoder_replaceWith___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_charset_CharsetDecoder_reset__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_charset_CharsetDecoder_unmappableCharacterAction__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_nio_charset_CharsetEncoder.c b/tests/nbody-java/java_nio_charset_CharsetEncoder.c
new file mode 100644
index 00000000..74f7b9f4
--- /dev/null
+++ b/tests/nbody-java/java_nio_charset_CharsetEncoder.c
@@ -0,0 +1,1375 @@
+#include "xmlvm.h"
+#include "java_lang_CharSequence.h"
+#include "java_lang_Class.h"
+#include "java_lang_String.h"
+#include "java_nio_ByteBuffer.h"
+#include "java_nio_CharBuffer.h"
+#include "java_nio_charset_Charset.h"
+#include "java_nio_charset_CharsetDecoder.h"
+#include "java_nio_charset_CoderResult.h"
+#include "java_nio_charset_CodingErrorAction.h"
+
+#include "java_nio_charset_CharsetEncoder.h"
+
+#define XMLVM_CURRENT_CLASS_NAME CharsetEncoder
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_nio_charset_CharsetEncoder
+
+__TIB_DEFINITION_java_nio_charset_CharsetEncoder __TIB_java_nio_charset_CharsetEncoder = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_nio_charset_CharsetEncoder, // classInitializer
+ "java.nio.charset.CharsetEncoder", // className
+ "java.nio.charset", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_nio_charset_CharsetEncoder), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_nio_charset_CharsetEncoder;
+JAVA_OBJECT __CLASS_java_nio_charset_CharsetEncoder_1ARRAY;
+JAVA_OBJECT __CLASS_java_nio_charset_CharsetEncoder_2ARRAY;
+JAVA_OBJECT __CLASS_java_nio_charset_CharsetEncoder_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_INT _STATIC_java_nio_charset_CharsetEncoder_READY;
+static JAVA_INT _STATIC_java_nio_charset_CharsetEncoder_ONGOING;
+static JAVA_INT _STATIC_java_nio_charset_CharsetEncoder_END;
+static JAVA_INT _STATIC_java_nio_charset_CharsetEncoder_FLUSH;
+static JAVA_INT _STATIC_java_nio_charset_CharsetEncoder_INIT;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_nio_charset_CharsetEncoder()
+{
+ staticInitializerLock(&__TIB_java_nio_charset_CharsetEncoder);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_nio_charset_CharsetEncoder.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_nio_charset_CharsetEncoder.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_nio_charset_CharsetEncoder);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_nio_charset_CharsetEncoder.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_nio_charset_CharsetEncoder.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_nio_charset_CharsetEncoder.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.nio.charset.CharsetEncoder")
+ __INIT_IMPL_java_nio_charset_CharsetEncoder();
+ }
+}
+
+void __INIT_IMPL_java_nio_charset_CharsetEncoder()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_nio_charset_CharsetEncoder.newInstanceFunc = __NEW_INSTANCE_java_nio_charset_CharsetEncoder;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_nio_charset_CharsetEncoder.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_nio_charset_CharsetEncoder.numImplementedInterfaces = 0;
+ __TIB_java_nio_charset_CharsetEncoder.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_java_nio_charset_CharsetEncoder_READY = 0;
+ _STATIC_java_nio_charset_CharsetEncoder_ONGOING = 1;
+ _STATIC_java_nio_charset_CharsetEncoder_END = 2;
+ _STATIC_java_nio_charset_CharsetEncoder_FLUSH = 3;
+ _STATIC_java_nio_charset_CharsetEncoder_INIT = 4;
+
+ __TIB_java_nio_charset_CharsetEncoder.declaredFields = &__field_reflection_data[0];
+ __TIB_java_nio_charset_CharsetEncoder.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_nio_charset_CharsetEncoder.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_nio_charset_CharsetEncoder.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_nio_charset_CharsetEncoder.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_nio_charset_CharsetEncoder.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_nio_charset_CharsetEncoder.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_nio_charset_CharsetEncoder.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_nio_charset_CharsetEncoder = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_nio_charset_CharsetEncoder);
+ __TIB_java_nio_charset_CharsetEncoder.clazz = __CLASS_java_nio_charset_CharsetEncoder;
+ __TIB_java_nio_charset_CharsetEncoder.baseType = JAVA_NULL;
+ __CLASS_java_nio_charset_CharsetEncoder_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_charset_CharsetEncoder);
+ __CLASS_java_nio_charset_CharsetEncoder_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_charset_CharsetEncoder_1ARRAY);
+ __CLASS_java_nio_charset_CharsetEncoder_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_charset_CharsetEncoder_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_nio_charset_CharsetEncoder]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_nio_charset_CharsetEncoder.classInitialized = 1;
+}
+
+void __DELETE_java_nio_charset_CharsetEncoder(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_nio_charset_CharsetEncoder]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_nio_charset_CharsetEncoder(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_nio_charset_CharsetEncoder*) me)->fields.java_nio_charset_CharsetEncoder.cs_ = (java_nio_charset_Charset*) JAVA_NULL;
+ ((java_nio_charset_CharsetEncoder*) me)->fields.java_nio_charset_CharsetEncoder.averBytes_ = 0;
+ ((java_nio_charset_CharsetEncoder*) me)->fields.java_nio_charset_CharsetEncoder.maxBytes_ = 0;
+ ((java_nio_charset_CharsetEncoder*) me)->fields.java_nio_charset_CharsetEncoder.replace_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ ((java_nio_charset_CharsetEncoder*) me)->fields.java_nio_charset_CharsetEncoder.status_ = 0;
+ ((java_nio_charset_CharsetEncoder*) me)->fields.java_nio_charset_CharsetEncoder.finished_ = 0;
+ ((java_nio_charset_CharsetEncoder*) me)->fields.java_nio_charset_CharsetEncoder.malformAction_ = (java_nio_charset_CodingErrorAction*) JAVA_NULL;
+ ((java_nio_charset_CharsetEncoder*) me)->fields.java_nio_charset_CharsetEncoder.unmapAction_ = (java_nio_charset_CodingErrorAction*) JAVA_NULL;
+ ((java_nio_charset_CharsetEncoder*) me)->fields.java_nio_charset_CharsetEncoder.decoder_ = (java_nio_charset_CharsetDecoder*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_nio_charset_CharsetEncoder]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_nio_charset_CharsetEncoder()
+{ XMLVM_CLASS_INIT(java_nio_charset_CharsetEncoder)
+java_nio_charset_CharsetEncoder* me = (java_nio_charset_CharsetEncoder*) XMLVM_MALLOC(sizeof(java_nio_charset_CharsetEncoder));
+ me->tib = &__TIB_java_nio_charset_CharsetEncoder;
+ __INIT_INSTANCE_MEMBERS_java_nio_charset_CharsetEncoder(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_nio_charset_CharsetEncoder]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_nio_charset_CharsetEncoder()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_INT java_nio_charset_CharsetEncoder_GET_READY()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CharsetEncoder)
+ return _STATIC_java_nio_charset_CharsetEncoder_READY;
+}
+
+void java_nio_charset_CharsetEncoder_PUT_READY(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CharsetEncoder)
+_STATIC_java_nio_charset_CharsetEncoder_READY = v;
+}
+
+JAVA_INT java_nio_charset_CharsetEncoder_GET_ONGOING()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CharsetEncoder)
+ return _STATIC_java_nio_charset_CharsetEncoder_ONGOING;
+}
+
+void java_nio_charset_CharsetEncoder_PUT_ONGOING(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CharsetEncoder)
+_STATIC_java_nio_charset_CharsetEncoder_ONGOING = v;
+}
+
+JAVA_INT java_nio_charset_CharsetEncoder_GET_END()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CharsetEncoder)
+ return _STATIC_java_nio_charset_CharsetEncoder_END;
+}
+
+void java_nio_charset_CharsetEncoder_PUT_END(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CharsetEncoder)
+_STATIC_java_nio_charset_CharsetEncoder_END = v;
+}
+
+JAVA_INT java_nio_charset_CharsetEncoder_GET_FLUSH()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CharsetEncoder)
+ return _STATIC_java_nio_charset_CharsetEncoder_FLUSH;
+}
+
+void java_nio_charset_CharsetEncoder_PUT_FLUSH(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CharsetEncoder)
+_STATIC_java_nio_charset_CharsetEncoder_FLUSH = v;
+}
+
+JAVA_INT java_nio_charset_CharsetEncoder_GET_INIT()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CharsetEncoder)
+ return _STATIC_java_nio_charset_CharsetEncoder_INIT;
+}
+
+void java_nio_charset_CharsetEncoder_PUT_INIT(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CharsetEncoder)
+_STATIC_java_nio_charset_CharsetEncoder_INIT = v;
+}
+
+void java_nio_charset_CharsetEncoder___INIT____java_nio_charset_Charset_float_float(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_FLOAT n2, JAVA_FLOAT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder___INIT____java_nio_charset_Charset_float_float]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r3.o = me;
+ _r4.o = n1;
+ _r5.f = n2;
+ _r6.f = n3;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 148)
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 149)
+ _r0.i = 1;
+ XMLVM_CLASS_INIT(byte)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_byte, _r0.i);
+ _r1.i = 0;
+ _r2.i = 63;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ XMLVM_CHECK_NPE(3)
+ java_nio_charset_CharsetEncoder___INIT____java_nio_charset_Charset_float_float_byte_1ARRAY(_r3.o, _r4.o, _r5.f, _r6.f, _r0.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 150)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_charset_CharsetEncoder___INIT____java_nio_charset_Charset_float_float_byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_FLOAT n2, JAVA_FLOAT n3, JAVA_OBJECT n4)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder___INIT____java_nio_charset_Charset_float_float_byte_1ARRAY]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.f = n2;
+ _r5.f = n3;
+ _r6.o = n4;
+ _r1.f = 0.0;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 173)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 175)
+ _r0.i = _r4.f > _r1.f ? 1 : (_r4.f == _r1.f ? 0 : -1);
+ if (_r0.i <= 0) goto label12;
+ _r0.i = _r5.f > _r1.f ? 1 : (_r5.f == _r1.f ? 0 : -1);
+ if (_r0.i > 0) goto label24;
+ label12:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 177)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "niochar.02"
+ _r1.o = xmlvm_create_java_string_from_pool(86);
+
+
+ // Red class access removed: org.apache.harmony.niochar.internal.nls.Messages::getString
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label24:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 179)
+ _r0.i = _r4.f > _r5.f ? 1 : (_r4.f == _r5.f ? 0 : -1);
+ if (_r0.i <= 0) goto label40;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 181)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "niochar.03"
+ _r1.o = xmlvm_create_java_string_from_pool(87);
+
+
+ // Red class access removed: org.apache.harmony.niochar.internal.nls.Messages::getString
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label40:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 183)
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_charset_CharsetEncoder*) _r2.o)->fields.java_nio_charset_CharsetEncoder.cs_ = _r3.o;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 184)
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_charset_CharsetEncoder*) _r2.o)->fields.java_nio_charset_CharsetEncoder.averBytes_ = _r4.f;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 185)
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_charset_CharsetEncoder*) _r2.o)->fields.java_nio_charset_CharsetEncoder.maxBytes_ = _r5.f;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 186)
+ _r0.i = 4;
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_charset_CharsetEncoder*) _r2.o)->fields.java_nio_charset_CharsetEncoder.status_ = _r0.i;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 187)
+ _r0.o = java_nio_charset_CodingErrorAction_GET_REPORT();
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_charset_CharsetEncoder*) _r2.o)->fields.java_nio_charset_CharsetEncoder.malformAction_ = _r0.o;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 188)
+ _r0.o = java_nio_charset_CodingErrorAction_GET_REPORT();
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_charset_CharsetEncoder*) _r2.o)->fields.java_nio_charset_CharsetEncoder.unmapAction_ = _r0.o;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 189)
+ XMLVM_CHECK_NPE(2)
+ java_nio_charset_CharsetEncoder_replaceWith___byte_1ARRAY(_r2.o, _r6.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 190)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_FLOAT java_nio_charset_CharsetEncoder_averageBytesPerChar__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder_averageBytesPerChar__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "averageBytesPerChar", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 200)
+ XMLVM_CHECK_NPE(1)
+ _r0.f = ((java_nio_charset_CharsetEncoder*) _r1.o)->fields.java_nio_charset_CharsetEncoder.averBytes_;
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_charset_CharsetEncoder_canEncode___char(JAVA_OBJECT me, JAVA_CHAR n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder_canEncode___char]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "canEncode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.i = n1;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 220)
+ _r0.i = 1;
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.i;
+ _r0.o = java_nio_CharBuffer_wrap___char_1ARRAY(_r0.o);
+ XMLVM_CHECK_NPE(2)
+ _r0.i = java_nio_charset_CharsetEncoder_implCanEncode___java_nio_CharBuffer(_r2.o, _r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_charset_CharsetEncoder_implCanEncode___java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder_implCanEncode___java_nio_CharBuffer]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "implCanEncode", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ _r4.o = me;
+ _r5.o = n1;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 225)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_nio_charset_CharsetEncoder*) _r4.o)->fields.java_nio_charset_CharsetEncoder.status_;
+ _r1.i = 3;
+ if (_r0.i == _r1.i) goto label11;
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_nio_charset_CharsetEncoder*) _r4.o)->fields.java_nio_charset_CharsetEncoder.status_;
+ _r1.i = 4;
+ if (_r0.i != _r1.i) goto label13;
+ label11:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 226)
+ XMLVM_CHECK_NPE(4)
+ ((java_nio_charset_CharsetEncoder*) _r4.o)->fields.java_nio_charset_CharsetEncoder.status_ = _r3.i;
+ label13:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 228)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_nio_charset_CharsetEncoder*) _r4.o)->fields.java_nio_charset_CharsetEncoder.status_;
+ if (_r0.i == 0) goto label29;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 230)
+
+
+ // Red class access removed: java.lang.IllegalStateException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "niochar.0B"
+ _r1.o = xmlvm_create_java_string_from_pool(88);
+
+
+ // Red class access removed: org.apache.harmony.niochar.internal.nls.Messages::getString
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalStateException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label29:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 232)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_nio_charset_CharsetEncoder*) _r4.o)->fields.java_nio_charset_CharsetEncoder.malformAction_;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 233)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_nio_charset_CharsetEncoder*) _r4.o)->fields.java_nio_charset_CharsetEncoder.unmapAction_;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 234)
+ _r2.o = java_nio_charset_CodingErrorAction_GET_REPORT();
+ XMLVM_CHECK_NPE(4)
+ java_nio_charset_CharsetEncoder_onMalformedInput___java_nio_charset_CodingErrorAction(_r4.o, _r2.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 235)
+ _r2.o = java_nio_charset_CodingErrorAction_GET_REPORT();
+ XMLVM_CHECK_NPE(4)
+ java_nio_charset_CharsetEncoder_onUnmappableCharacter___java_nio_charset_CodingErrorAction(_r4.o, _r2.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 236)
+ _r2.i = 1;
+ XMLVM_TRY_BEGIN(w1507aaac18b1c37)
+ // Begin try
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 238)
+ XMLVM_CHECK_NPE(4)
+ java_nio_charset_CharsetEncoder_encode___java_nio_CharBuffer(_r4.o, _r5.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1507aaac18b1c37)
+ XMLVM_CATCH_END(w1507aaac18b1c37)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1507aaac18b1c37)
+ label47:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 242)
+ XMLVM_CHECK_NPE(4)
+ java_nio_charset_CharsetEncoder_onMalformedInput___java_nio_charset_CodingErrorAction(_r4.o, _r0.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 243)
+ XMLVM_CHECK_NPE(4)
+ java_nio_charset_CharsetEncoder_onUnmappableCharacter___java_nio_charset_CodingErrorAction(_r4.o, _r1.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 244)
+ XMLVM_CHECK_NPE(4)
+ java_nio_charset_CharsetEncoder_reset__(_r4.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 245)
+ XMLVM_EXIT_METHOD()
+ return _r2.i;
+ label57:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 240)
+ java_lang_Thread* curThread_w1507aaac18b1c49 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r2.o = curThread_w1507aaac18b1c49->fields.java_lang_Thread.xmlvmException_;
+ _r2 = _r3;
+ goto label47;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_charset_CharsetEncoder_canEncode___java_lang_CharSequence(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder_canEncode___java_lang_CharSequence]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "canEncode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 267)
+ XMLVM_CLASS_INIT(java_nio_CharBuffer)
+ _r0.i = XMLVM_ISA(_r2.o, __CLASS_java_nio_CharBuffer);
+ if (_r0.i == 0) goto label15;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 268)
+ _r2.o = _r2.o;
+ //java_nio_CharBuffer_duplicate__[18]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r2.o)->tib->vtable[18])(_r2.o);
+ label10:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 272)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_nio_charset_CharsetEncoder_implCanEncode___java_nio_CharBuffer(_r1.o, _r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label15:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 270)
+ _r0.o = java_nio_CharBuffer_wrap___java_lang_CharSequence(_r2.o);
+ goto label10;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetEncoder_charset__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder_charset__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "charset", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 281)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_nio_charset_CharsetEncoder*) _r1.o)->fields.java_nio_charset_CharsetEncoder.cs_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetEncoder_encode___java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder_encode___java_nio_CharBuffer]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "encode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r5.o = me;
+ _r6.o = n1;
+ _r4.i = 1;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 317)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = java_nio_Buffer_remaining__(_r6.o);
+ if (_r0.i != 0) goto label13;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 318)
+ _r0.o = java_nio_ByteBuffer_allocate___int(_r3.i);
+ label12:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 357)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label13:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 320)
+ XMLVM_CHECK_NPE(5)
+ java_nio_charset_CharsetEncoder_reset__(_r5.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 321)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = java_nio_Buffer_remaining__(_r6.o);
+ _r0.f = (JAVA_FLOAT) _r0.i;
+ XMLVM_CHECK_NPE(5)
+ _r1.f = ((java_nio_charset_CharsetEncoder*) _r5.o)->fields.java_nio_charset_CharsetEncoder.averBytes_;
+ _r0.f = _r0.f * _r1.f;
+ _r0.i = (JAVA_INT) _r0.f;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 322)
+ _r0.o = java_nio_ByteBuffer_allocate___int(_r0.i);
+ label29:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 325)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = java_nio_charset_CharsetEncoder_encode___java_nio_CharBuffer_java_nio_ByteBuffer_boolean(_r5.o, _r6.o, _r0.o, _r3.i);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 326)
+ _r2.o = java_nio_charset_CoderResult_GET_UNDERFLOW();
+ if (_r1.o != _r2.o) goto label60;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 334)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = java_nio_charset_CharsetEncoder_encode___java_nio_CharBuffer_java_nio_ByteBuffer_boolean(_r5.o, _r6.o, _r0.o, _r4.i);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 335)
+ XMLVM_CHECK_NPE(5)
+ java_nio_charset_CharsetEncoder_checkCoderResult___java_nio_charset_CoderResult(_r5.o, _r1.o);
+ label44:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 338)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = java_nio_charset_CharsetEncoder_flush___java_nio_ByteBuffer(_r5.o, _r0.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 339)
+ _r2.o = java_nio_charset_CoderResult_GET_UNDERFLOW();
+ if (_r1.o != _r2.o) goto label73;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 340)
+ XMLVM_CHECK_NPE(0)
+ java_nio_Buffer_flip__(_r0.o);
+ label55:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 355)
+ XMLVM_CHECK_NPE(5)
+ ((java_nio_charset_CharsetEncoder*) _r5.o)->fields.java_nio_charset_CharsetEncoder.status_ = _r3.i;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 356)
+ XMLVM_CHECK_NPE(5)
+ ((java_nio_charset_CharsetEncoder*) _r5.o)->fields.java_nio_charset_CharsetEncoder.finished_ = _r4.i;
+ goto label12;
+ label60:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 328)
+ _r2.o = java_nio_charset_CoderResult_GET_OVERFLOW();
+ if (_r1.o != _r2.o) goto label69;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 329)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = java_nio_charset_CharsetEncoder_allocateMore___java_nio_ByteBuffer(_r5.o, _r0.o);
+ goto label29;
+ label69:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 332)
+ XMLVM_CHECK_NPE(5)
+ java_nio_charset_CharsetEncoder_checkCoderResult___java_nio_charset_CoderResult(_r5.o, _r1.o);
+ goto label29;
+ label73:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 342)
+ _r2.o = java_nio_charset_CoderResult_GET_OVERFLOW();
+ if (_r1.o != _r2.o) goto label82;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 343)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = java_nio_charset_CharsetEncoder_allocateMore___java_nio_ByteBuffer(_r5.o, _r0.o);
+ goto label44;
+ label82:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 346)
+ XMLVM_CHECK_NPE(5)
+ java_nio_charset_CharsetEncoder_checkCoderResult___java_nio_charset_CoderResult(_r5.o, _r1.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 347)
+ XMLVM_CHECK_NPE(0)
+ java_nio_Buffer_flip__(_r0.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 348)
+ XMLVM_CHECK_NPE(1)
+ _r2.i = java_nio_charset_CoderResult_isMalformed__(_r1.o);
+ if (_r2.i == 0) goto label104;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 349)
+
+
+ // Red class access removed: java.nio.charset.MalformedInputException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(1)
+ _r1.i = java_nio_charset_CoderResult_length__(_r1.o);
+
+
+ // Red class access removed: java.nio.charset.MalformedInputException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label104:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 350)
+ XMLVM_CHECK_NPE(1)
+ _r2.i = java_nio_charset_CoderResult_isUnmappable__(_r1.o);
+ if (_r2.i == 0) goto label55;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 351)
+
+
+ // Red class access removed: java.nio.charset.UnmappableCharacterException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(1)
+ _r1.i = java_nio_charset_CoderResult_length__(_r1.o);
+
+
+ // Red class access removed: java.nio.charset.UnmappableCharacterException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_charset_CharsetEncoder_checkCoderResult___java_nio_charset_CoderResult(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder_checkCoderResult___java_nio_charset_CoderResult]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "checkCoderResult", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 365)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_nio_charset_CharsetEncoder*) _r2.o)->fields.java_nio_charset_CharsetEncoder.malformAction_;
+ _r1.o = java_nio_charset_CodingErrorAction_GET_REPORT();
+ if (_r0.o != _r1.o) goto label22;
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_nio_charset_CoderResult_isMalformed__(_r3.o);
+ if (_r0.i == 0) goto label22;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 366)
+
+
+ // Red class access removed: java.nio.charset.MalformedInputException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(3)
+ _r1.i = java_nio_charset_CoderResult_length__(_r3.o);
+
+
+ // Red class access removed: java.nio.charset.MalformedInputException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label22:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 367)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_nio_charset_CharsetEncoder*) _r2.o)->fields.java_nio_charset_CharsetEncoder.unmapAction_;
+ _r1.o = java_nio_charset_CodingErrorAction_GET_REPORT();
+ if (_r0.o != _r1.o) goto label44;
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_nio_charset_CoderResult_isUnmappable__(_r3.o);
+ if (_r0.i == 0) goto label44;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 368)
+
+
+ // Red class access removed: java.nio.charset.UnmappableCharacterException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(3)
+ _r1.i = java_nio_charset_CoderResult_length__(_r3.o);
+
+
+ // Red class access removed: java.nio.charset.UnmappableCharacterException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label44:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 370)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetEncoder_allocateMore___java_nio_ByteBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder_allocateMore___java_nio_ByteBuffer]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "allocateMore", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 374)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = java_nio_Buffer_capacity__(_r2.o);
+ if (_r0.i != 0) goto label12;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 375)
+ _r0.i = 1;
+ _r0.o = java_nio_ByteBuffer_allocate___int(_r0.i);
+ label11:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 380)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label12:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 377)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = java_nio_Buffer_capacity__(_r2.o);
+ _r0.i = _r0.i * 2;
+ _r0.o = java_nio_ByteBuffer_allocate___int(_r0.i);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 378)
+ XMLVM_CHECK_NPE(2)
+ java_nio_Buffer_flip__(_r2.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 379)
+ XMLVM_CHECK_NPE(0)
+ java_nio_ByteBuffer_put___java_nio_ByteBuffer(_r0.o, _r2.o);
+ goto label11;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetEncoder_encode___java_nio_CharBuffer_java_nio_ByteBuffer_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_BOOLEAN n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder_encode___java_nio_CharBuffer_java_nio_ByteBuffer_boolean]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "encode", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ _r5.o = me;
+ _r6.o = n1;
+ _r7.o = n2;
+ _r8.i = n3;
+ _r4.i = 1;
+ _r3.i = 2;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 449)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_nio_charset_CharsetEncoder*) _r5.o)->fields.java_nio_charset_CharsetEncoder.status_;
+ if (_r0.i != 0) goto label18;
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_nio_charset_CharsetEncoder*) _r5.o)->fields.java_nio_charset_CharsetEncoder.finished_;
+ if (_r0.i == 0) goto label18;
+ if (_r8.i != 0) goto label18;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 450)
+
+
+ // Red class access removed: java.lang.IllegalStateException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalStateException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label18:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 453)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_nio_charset_CharsetEncoder*) _r5.o)->fields.java_nio_charset_CharsetEncoder.status_;
+ _r1.i = 3;
+ if (_r0.i == _r1.i) goto label29;
+ if (_r8.i != 0) goto label52;
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_nio_charset_CharsetEncoder*) _r5.o)->fields.java_nio_charset_CharsetEncoder.status_;
+ if (_r0.i != _r3.i) goto label52;
+ label29:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 454)
+
+
+ // Red class access removed: java.lang.IllegalStateException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalStateException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label35:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 492)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_nio_charset_CharsetEncoder*) _r5.o)->fields.java_nio_charset_CharsetEncoder.replace_;
+ XMLVM_CHECK_NPE(7)
+ java_nio_ByteBuffer_put___byte_1ARRAY(_r7.o, _r1.o);
+ label40:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 498)
+ XMLVM_CHECK_NPE(6)
+ _r1.i = java_nio_Buffer_position__(_r6.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_nio_charset_CoderResult_length__(_r0.o);
+ _r0.i = _r0.i + _r1.i;
+ XMLVM_CHECK_NPE(6)
+ java_nio_Buffer_position___int(_r6.o, _r0.i);
+ label52:;
+ XMLVM_TRY_BEGIN(w1507aaac24b1c41)
+ // Begin try
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 460)
+ //java_nio_charset_CharsetEncoder_encodeLoop___java_nio_CharBuffer_java_nio_ByteBuffer[6]
+ XMLVM_CHECK_NPE(5)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_nio_charset_CharsetEncoder*) _r5.o)->tib->vtable[6])(_r5.o, _r6.o, _r7.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1507aaac24b1c41)
+ XMLVM_CATCH_END(w1507aaac24b1c41)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1507aaac24b1c41)
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 466)
+ _r1.o = java_nio_charset_CoderResult_GET_UNDERFLOW();
+ if (_r0.o != _r1.o) goto label119;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 467)
+ if (_r8.i == 0) goto label117;
+ _r1 = _r3;
+ label63:;
+ XMLVM_CHECK_NPE(5)
+ ((java_nio_charset_CharsetEncoder*) _r5.o)->fields.java_nio_charset_CharsetEncoder.status_ = _r1.i;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 468)
+ if (_r8.i == 0) goto label102;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 469)
+ XMLVM_CHECK_NPE(6)
+ _r1.i = java_nio_Buffer_remaining__(_r6.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 470)
+ if (_r1.i <= 0) goto label102;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 471)
+ _r0.o = java_nio_charset_CoderResult_malformedForLength___int(_r1.i);
+ label77:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 482)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_nio_charset_CharsetEncoder*) _r5.o)->fields.java_nio_charset_CharsetEncoder.malformAction_;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 483)
+ XMLVM_CHECK_NPE(0)
+ _r2.i = java_nio_charset_CoderResult_isUnmappable__(_r0.o);
+ if (_r2.i == 0) goto label87;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 484)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_nio_charset_CharsetEncoder*) _r5.o)->fields.java_nio_charset_CharsetEncoder.unmapAction_;
+ label87:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 488)
+ _r2.o = java_nio_charset_CodingErrorAction_GET_REPLACE();
+ if (_r1.o != _r2.o) goto label131;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 489)
+ XMLVM_CHECK_NPE(7)
+ _r1.i = java_nio_Buffer_remaining__(_r7.o);
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_nio_charset_CharsetEncoder*) _r5.o)->fields.java_nio_charset_CharsetEncoder.replace_;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ if (_r1.i >= _r2.i) goto label35;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 490)
+ _r0.o = java_nio_charset_CoderResult_GET_OVERFLOW();
+ label102:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 495)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label103:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 461)
+ java_lang_Thread* curThread_w1507aaac24b1c82 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w1507aaac24b1c82->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 462)
+
+
+ // Red class access removed: java.nio.charset.CoderMalfunctionError::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.charset.CoderMalfunctionError::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label110:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 463)
+ java_lang_Thread* curThread_w1507aaac24b1c89 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w1507aaac24b1c89->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 464)
+
+
+ // Red class access removed: java.nio.charset.CoderMalfunctionError::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.charset.CoderMalfunctionError::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label117:;
+ _r1 = _r4;
+ goto label63;
+ label119:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 478)
+ _r1.o = java_nio_charset_CoderResult_GET_OVERFLOW();
+ if (_r0.o != _r1.o) goto label77;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 479)
+ if (_r8.i == 0) goto label129;
+ _r1 = _r3;
+ label126:;
+ XMLVM_CHECK_NPE(5)
+ ((java_nio_charset_CharsetEncoder*) _r5.o)->fields.java_nio_charset_CharsetEncoder.status_ = _r1.i;
+ goto label102;
+ label129:;
+ _r1 = _r4;
+ goto label126;
+ label131:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 494)
+ _r2.o = java_nio_charset_CodingErrorAction_GET_IGNORE();
+ if (_r1.o == _r2.o) goto label40;
+ goto label102;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetEncoder_flush___java_nio_ByteBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder_flush___java_nio_ByteBuffer]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "flush", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 568)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_charset_CharsetEncoder*) _r2.o)->fields.java_nio_charset_CharsetEncoder.status_;
+ _r1.i = 2;
+ if (_r0.i == _r1.i) goto label15;
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_charset_CharsetEncoder*) _r2.o)->fields.java_nio_charset_CharsetEncoder.status_;
+ if (_r0.i == 0) goto label15;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 569)
+
+
+ // Red class access removed: java.lang.IllegalStateException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalStateException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label15:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 571)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_nio_charset_CharsetEncoder_implFlush___java_nio_ByteBuffer(_r2.o, _r3.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 572)
+ _r1.o = java_nio_charset_CoderResult_GET_UNDERFLOW();
+ if (_r0.o != _r1.o) goto label26;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 573)
+ _r1.i = 3;
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_charset_CharsetEncoder*) _r2.o)->fields.java_nio_charset_CharsetEncoder.status_ = _r1.i;
+ label26:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 575)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetEncoder_implFlush___java_nio_ByteBuffer(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder_implFlush___java_nio_ByteBuffer]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "implFlush", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 589)
+ _r0.o = java_nio_charset_CoderResult_GET_UNDERFLOW();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_charset_CharsetEncoder_implOnMalformedInput___java_nio_charset_CodingErrorAction(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder_implOnMalformedInput___java_nio_charset_CodingErrorAction]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "implOnMalformedInput", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 602)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_charset_CharsetEncoder_implOnUnmappableCharacter___java_nio_charset_CodingErrorAction(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder_implOnUnmappableCharacter___java_nio_charset_CodingErrorAction]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "implOnUnmappableCharacter", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 614)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_charset_CharsetEncoder_implReplaceWith___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder_implReplaceWith___byte_1ARRAY]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "implReplaceWith", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 625)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_charset_CharsetEncoder_implReset__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder_implReset__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "implReset", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 633)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_charset_CharsetEncoder_isLegalReplacement___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder_isLegalReplacement___byte_1ARRAY]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "isLegalReplacement", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ _r5.i = 1;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 650)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_nio_charset_CharsetEncoder*) _r6.o)->fields.java_nio_charset_CharsetEncoder.decoder_;
+ if (_r0.o != JAVA_NULL) goto label13;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 651)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_nio_charset_CharsetEncoder*) _r6.o)->fields.java_nio_charset_CharsetEncoder.cs_;
+ //java_nio_charset_Charset_newDecoder__[8]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_nio_charset_Charset*) _r0.o)->tib->vtable[8])(_r0.o);
+ XMLVM_CHECK_NPE(6)
+ ((java_nio_charset_CharsetEncoder*) _r6.o)->fields.java_nio_charset_CharsetEncoder.decoder_ = _r0.o;
+ label13:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 654)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_nio_charset_CharsetEncoder*) _r6.o)->fields.java_nio_charset_CharsetEncoder.decoder_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_nio_charset_CharsetDecoder_malformedInputAction__(_r0.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 655)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_nio_charset_CharsetEncoder*) _r6.o)->fields.java_nio_charset_CharsetEncoder.decoder_;
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_nio_charset_CharsetDecoder_unmappableCharacterAction__(_r1.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 656)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_nio_charset_CharsetEncoder*) _r6.o)->fields.java_nio_charset_CharsetEncoder.decoder_;
+ _r3.o = java_nio_charset_CodingErrorAction_GET_REPORT();
+ XMLVM_CHECK_NPE(2)
+ java_nio_charset_CharsetDecoder_onMalformedInput___java_nio_charset_CodingErrorAction(_r2.o, _r3.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 657)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_nio_charset_CharsetEncoder*) _r6.o)->fields.java_nio_charset_CharsetEncoder.decoder_;
+ _r3.o = java_nio_charset_CodingErrorAction_GET_REPORT();
+ XMLVM_CHECK_NPE(2)
+ java_nio_charset_CharsetDecoder_onUnmappableCharacter___java_nio_charset_CodingErrorAction(_r2.o, _r3.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 658)
+ _r2.o = java_nio_ByteBuffer_wrap___byte_1ARRAY(_r7.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 659)
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r7.o));
+ _r3.f = (JAVA_FLOAT) _r3.i;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 660)
+ XMLVM_CHECK_NPE(6)
+ _r4.o = ((java_nio_charset_CharsetEncoder*) _r6.o)->fields.java_nio_charset_CharsetEncoder.decoder_;
+ XMLVM_CHECK_NPE(4)
+ _r4.f = java_nio_charset_CharsetDecoder_maxCharsPerByte__(_r4.o);
+ _r3.f = _r3.f * _r4.f;
+ _r3.i = (JAVA_INT) _r3.f;
+ _r3.o = java_nio_CharBuffer_allocate___int(_r3.i);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 661)
+ XMLVM_CHECK_NPE(6)
+ _r4.o = ((java_nio_charset_CharsetEncoder*) _r6.o)->fields.java_nio_charset_CharsetEncoder.decoder_;
+ XMLVM_CHECK_NPE(4)
+ _r2.o = java_nio_charset_CharsetDecoder_decode___java_nio_ByteBuffer_java_nio_CharBuffer_boolean(_r4.o, _r2.o, _r3.o, _r5.i);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 662)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_nio_charset_CharsetEncoder*) _r6.o)->fields.java_nio_charset_CharsetEncoder.decoder_;
+ XMLVM_CHECK_NPE(3)
+ java_nio_charset_CharsetDecoder_onMalformedInput___java_nio_charset_CodingErrorAction(_r3.o, _r0.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 663)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_nio_charset_CharsetEncoder*) _r6.o)->fields.java_nio_charset_CharsetEncoder.decoder_;
+ XMLVM_CHECK_NPE(0)
+ java_nio_charset_CharsetDecoder_onUnmappableCharacter___java_nio_charset_CodingErrorAction(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 664)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = java_nio_charset_CoderResult_isError__(_r2.o);
+ if (_r0.i == 0) goto label81;
+ _r0.i = 0;
+ label80:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label81:;
+ _r0 = _r5;
+ goto label80;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetEncoder_malformedInputAction__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder_malformedInputAction__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "malformedInputAction", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 675)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_nio_charset_CharsetEncoder*) _r1.o)->fields.java_nio_charset_CharsetEncoder.malformAction_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_FLOAT java_nio_charset_CharsetEncoder_maxBytesPerChar__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder_maxBytesPerChar__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "maxBytesPerChar", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 686)
+ XMLVM_CHECK_NPE(1)
+ _r0.f = ((java_nio_charset_CharsetEncoder*) _r1.o)->fields.java_nio_charset_CharsetEncoder.maxBytes_;
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetEncoder_onMalformedInput___java_nio_charset_CodingErrorAction(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder_onMalformedInput___java_nio_charset_CodingErrorAction]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "onMalformedInput", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 703)
+ if (_r3.o != JAVA_NULL) goto label14;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 705)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "niochar.0C"
+ _r1.o = xmlvm_create_java_string_from_pool(89);
+
+
+ // Red class access removed: org.apache.harmony.niochar.internal.nls.Messages::getString
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label14:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 707)
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_charset_CharsetEncoder*) _r2.o)->fields.java_nio_charset_CharsetEncoder.malformAction_ = _r3.o;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 708)
+ XMLVM_CHECK_NPE(2)
+ java_nio_charset_CharsetEncoder_implOnMalformedInput___java_nio_charset_CodingErrorAction(_r2.o, _r3.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 709)
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetEncoder_onUnmappableCharacter___java_nio_charset_CodingErrorAction(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder_onUnmappableCharacter___java_nio_charset_CodingErrorAction]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "onUnmappableCharacter", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 727)
+ if (_r3.o != JAVA_NULL) goto label14;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 729)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "niochar.0D"
+ _r1.o = xmlvm_create_java_string_from_pool(90);
+
+
+ // Red class access removed: org.apache.harmony.niochar.internal.nls.Messages::getString
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label14:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 731)
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_charset_CharsetEncoder*) _r2.o)->fields.java_nio_charset_CharsetEncoder.unmapAction_ = _r3.o;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 732)
+ XMLVM_CHECK_NPE(2)
+ java_nio_charset_CharsetEncoder_implOnUnmappableCharacter___java_nio_charset_CodingErrorAction(_r2.o, _r3.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 733)
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetEncoder_replacement__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder_replacement__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "replacement", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 742)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_nio_charset_CharsetEncoder*) _r1.o)->fields.java_nio_charset_CharsetEncoder.replace_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetEncoder_replaceWith___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder_replaceWith___byte_1ARRAY]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "replaceWith", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 764)
+ if (_r3.o == JAVA_NULL) goto label19;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ if (_r0.i == 0) goto label19;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 765)
+ XMLVM_CHECK_NPE(2)
+ _r0.f = ((java_nio_charset_CharsetEncoder*) _r2.o)->fields.java_nio_charset_CharsetEncoder.maxBytes_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ _r1.f = (JAVA_FLOAT) _r1.i;
+ _r0.i = _r0.f > _r1.f ? 1 : (_r0.f == _r1.f ? 0 : -1);
+ if (_r0.i < 0) goto label19;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 766)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = java_nio_charset_CharsetEncoder_isLegalReplacement___byte_1ARRAY(_r2.o, _r3.o);
+ if (_r0.i != 0) goto label31;
+ label19:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 768)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "niochar.0E"
+ _r1.o = xmlvm_create_java_string_from_pool(91);
+
+
+ // Red class access removed: org.apache.harmony.niochar.internal.nls.Messages::getString
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label31:;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 770)
+ XMLVM_CHECK_NPE(2)
+ ((java_nio_charset_CharsetEncoder*) _r2.o)->fields.java_nio_charset_CharsetEncoder.replace_ = _r3.o;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 771)
+ XMLVM_CHECK_NPE(2)
+ java_nio_charset_CharsetEncoder_implReplaceWith___byte_1ARRAY(_r2.o, _r3.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 772)
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetEncoder_reset__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder_reset__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "reset", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 783)
+ _r0.i = 4;
+ XMLVM_CHECK_NPE(1)
+ ((java_nio_charset_CharsetEncoder*) _r1.o)->fields.java_nio_charset_CharsetEncoder.status_ = _r0.i;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 784)
+ XMLVM_CHECK_NPE(1)
+ java_nio_charset_CharsetEncoder_implReset__(_r1.o);
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 785)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CharsetEncoder_unmappableCharacterAction__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CharsetEncoder_unmappableCharacterAction__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CharsetEncoder", "unmappableCharacterAction", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("CharsetEncoder.java", 796)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_nio_charset_CharsetEncoder*) _r1.o)->fields.java_nio_charset_CharsetEncoder.unmapAction_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_nio_charset_CharsetEncoder.h b/tests/nbody-java/java_nio_charset_CharsetEncoder.h
new file mode 100644
index 00000000..b0c45efa
--- /dev/null
+++ b/tests/nbody-java/java_nio_charset_CharsetEncoder.h
@@ -0,0 +1,134 @@
+#ifndef __JAVA_NIO_CHARSET_CHARSETENCODER__
+#define __JAVA_NIO_CHARSET_CHARSETENCODER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_nio_charset_CharsetEncoder 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_CharSequence
+#define XMLVM_FORWARD_DECL_java_lang_CharSequence
+XMLVM_FORWARD_DECL(java_lang_CharSequence)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_ByteBuffer
+#define XMLVM_FORWARD_DECL_java_nio_ByteBuffer
+XMLVM_FORWARD_DECL(java_nio_ByteBuffer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_CharBuffer
+#define XMLVM_FORWARD_DECL_java_nio_CharBuffer
+XMLVM_FORWARD_DECL(java_nio_CharBuffer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_Charset
+#define XMLVM_FORWARD_DECL_java_nio_charset_Charset
+XMLVM_FORWARD_DECL(java_nio_charset_Charset)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_CharsetDecoder
+#define XMLVM_FORWARD_DECL_java_nio_charset_CharsetDecoder
+XMLVM_FORWARD_DECL(java_nio_charset_CharsetDecoder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_CoderResult
+#define XMLVM_FORWARD_DECL_java_nio_charset_CoderResult
+XMLVM_FORWARD_DECL(java_nio_charset_CoderResult)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_CodingErrorAction
+#define XMLVM_FORWARD_DECL_java_nio_charset_CodingErrorAction
+XMLVM_FORWARD_DECL(java_nio_charset_CodingErrorAction)
+#endif
+// Class declarations for java.nio.charset.CharsetEncoder
+XMLVM_DEFINE_CLASS(java_nio_charset_CharsetEncoder, 7, XMLVM_ITABLE_SIZE_java_nio_charset_CharsetEncoder)
+
+extern JAVA_OBJECT __CLASS_java_nio_charset_CharsetEncoder;
+extern JAVA_OBJECT __CLASS_java_nio_charset_CharsetEncoder_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_charset_CharsetEncoder_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_charset_CharsetEncoder_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_nio_charset_CharsetEncoder
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_nio_charset_CharsetEncoder \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT cs_; \
+ JAVA_FLOAT averBytes_; \
+ JAVA_FLOAT maxBytes_; \
+ JAVA_OBJECT replace_; \
+ JAVA_INT status_; \
+ JAVA_BOOLEAN finished_; \
+ JAVA_OBJECT malformAction_; \
+ JAVA_OBJECT unmapAction_; \
+ JAVA_OBJECT decoder_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_nio_charset_CharsetEncoder \
+ } java_nio_charset_CharsetEncoder
+
+struct java_nio_charset_CharsetEncoder {
+ __TIB_DEFINITION_java_nio_charset_CharsetEncoder* tib;
+ struct {
+ __INSTANCE_FIELDS_java_nio_charset_CharsetEncoder;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_CharsetEncoder
+#define XMLVM_FORWARD_DECL_java_nio_charset_CharsetEncoder
+typedef struct java_nio_charset_CharsetEncoder java_nio_charset_CharsetEncoder;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_nio_charset_CharsetEncoder 7
+#define XMLVM_VTABLE_IDX_java_nio_charset_CharsetEncoder_encodeLoop___java_nio_CharBuffer_java_nio_ByteBuffer 6
+
+void __INIT_java_nio_charset_CharsetEncoder();
+void __INIT_IMPL_java_nio_charset_CharsetEncoder();
+void __DELETE_java_nio_charset_CharsetEncoder(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_nio_charset_CharsetEncoder(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_nio_charset_CharsetEncoder();
+JAVA_OBJECT __NEW_INSTANCE_java_nio_charset_CharsetEncoder();
+JAVA_INT java_nio_charset_CharsetEncoder_GET_READY();
+void java_nio_charset_CharsetEncoder_PUT_READY(JAVA_INT v);
+JAVA_INT java_nio_charset_CharsetEncoder_GET_ONGOING();
+void java_nio_charset_CharsetEncoder_PUT_ONGOING(JAVA_INT v);
+JAVA_INT java_nio_charset_CharsetEncoder_GET_END();
+void java_nio_charset_CharsetEncoder_PUT_END(JAVA_INT v);
+JAVA_INT java_nio_charset_CharsetEncoder_GET_FLUSH();
+void java_nio_charset_CharsetEncoder_PUT_FLUSH(JAVA_INT v);
+JAVA_INT java_nio_charset_CharsetEncoder_GET_INIT();
+void java_nio_charset_CharsetEncoder_PUT_INIT(JAVA_INT v);
+void java_nio_charset_CharsetEncoder___INIT____java_nio_charset_Charset_float_float(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_FLOAT n2, JAVA_FLOAT n3);
+void java_nio_charset_CharsetEncoder___INIT____java_nio_charset_Charset_float_float_byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_FLOAT n2, JAVA_FLOAT n3, JAVA_OBJECT n4);
+JAVA_FLOAT java_nio_charset_CharsetEncoder_averageBytesPerChar__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_nio_charset_CharsetEncoder_canEncode___char(JAVA_OBJECT me, JAVA_CHAR n1);
+JAVA_BOOLEAN java_nio_charset_CharsetEncoder_implCanEncode___java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_nio_charset_CharsetEncoder_canEncode___java_lang_CharSequence(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_charset_CharsetEncoder_charset__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_charset_CharsetEncoder_encode___java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_nio_charset_CharsetEncoder_checkCoderResult___java_nio_charset_CoderResult(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_charset_CharsetEncoder_allocateMore___java_nio_ByteBuffer(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_charset_CharsetEncoder_encode___java_nio_CharBuffer_java_nio_ByteBuffer_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_BOOLEAN n3);
+// Vtable index: 6
+JAVA_OBJECT java_nio_charset_CharsetEncoder_encodeLoop___java_nio_CharBuffer_java_nio_ByteBuffer(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_nio_charset_CharsetEncoder_flush___java_nio_ByteBuffer(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_charset_CharsetEncoder_implFlush___java_nio_ByteBuffer(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_nio_charset_CharsetEncoder_implOnMalformedInput___java_nio_charset_CodingErrorAction(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_nio_charset_CharsetEncoder_implOnUnmappableCharacter___java_nio_charset_CodingErrorAction(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_nio_charset_CharsetEncoder_implReplaceWith___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_nio_charset_CharsetEncoder_implReset__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_nio_charset_CharsetEncoder_isLegalReplacement___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_charset_CharsetEncoder_malformedInputAction__(JAVA_OBJECT me);
+JAVA_FLOAT java_nio_charset_CharsetEncoder_maxBytesPerChar__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_charset_CharsetEncoder_onMalformedInput___java_nio_charset_CodingErrorAction(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_charset_CharsetEncoder_onUnmappableCharacter___java_nio_charset_CodingErrorAction(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_charset_CharsetEncoder_replacement__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_charset_CharsetEncoder_replaceWith___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_nio_charset_CharsetEncoder_reset__(JAVA_OBJECT me);
+JAVA_OBJECT java_nio_charset_CharsetEncoder_unmappableCharacterAction__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_nio_charset_Charset_1.c b/tests/nbody-java/java_nio_charset_Charset_1.c
new file mode 100644
index 00000000..76c8f813
--- /dev/null
+++ b/tests/nbody-java/java_nio_charset_Charset_1.c
@@ -0,0 +1,185 @@
+#include "xmlvm.h"
+#include "java_nio_charset_Charset.h"
+#include "org_apache_harmony_niochar_CharsetProviderImpl.h"
+
+#include "java_nio_charset_Charset_1.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Charset_1
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_nio_charset_Charset_1
+
+__TIB_DEFINITION_java_nio_charset_Charset_1 __TIB_java_nio_charset_Charset_1 = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_nio_charset_Charset_1, // classInitializer
+ "java.nio.charset.Charset$1", // className
+ "java.nio.charset", // package
+ "java.nio.charset.Charset", // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "Ljava/lang/Object;Ljava/security/PrivilegedAction<Lorg/apache/harmony/niochar/CharsetProviderImpl;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_nio_charset_Charset_1), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_nio_charset_Charset_1;
+JAVA_OBJECT __CLASS_java_nio_charset_Charset_1_1ARRAY;
+JAVA_OBJECT __CLASS_java_nio_charset_Charset_1_2ARRAY;
+JAVA_OBJECT __CLASS_java_nio_charset_Charset_1_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_nio_charset_Charset_1()
+{
+ staticInitializerLock(&__TIB_java_nio_charset_Charset_1);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_nio_charset_Charset_1.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_nio_charset_Charset_1.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_nio_charset_Charset_1);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_nio_charset_Charset_1.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_nio_charset_Charset_1.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_nio_charset_Charset_1.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.nio.charset.Charset$1")
+ __INIT_IMPL_java_nio_charset_Charset_1();
+ }
+}
+
+void __INIT_IMPL_java_nio_charset_Charset_1()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_nio_charset_Charset_1.newInstanceFunc = __NEW_INSTANCE_java_nio_charset_Charset_1;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_nio_charset_Charset_1.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_nio_charset_Charset_1.vtable[6] = (VTABLE_PTR) &java_nio_charset_Charset_1_run__;
+ // Initialize interface information
+ __TIB_java_nio_charset_Charset_1.numImplementedInterfaces = 1;
+ __TIB_java_nio_charset_Charset_1.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_security_PrivilegedAction)
+
+ __TIB_java_nio_charset_Charset_1.implementedInterfaces[0][0] = &__TIB_java_security_PrivilegedAction;
+ // Initialize itable for this class
+ __TIB_java_nio_charset_Charset_1.itableBegin = &__TIB_java_nio_charset_Charset_1.itable[0];
+ __TIB_java_nio_charset_Charset_1.itable[XMLVM_ITABLE_IDX_java_security_PrivilegedAction_run__] = __TIB_java_nio_charset_Charset_1.vtable[6];
+
+
+ __TIB_java_nio_charset_Charset_1.declaredFields = &__field_reflection_data[0];
+ __TIB_java_nio_charset_Charset_1.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_nio_charset_Charset_1.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_nio_charset_Charset_1.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_nio_charset_Charset_1.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_nio_charset_Charset_1.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_nio_charset_Charset_1.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_nio_charset_Charset_1.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_nio_charset_Charset_1 = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_nio_charset_Charset_1);
+ __TIB_java_nio_charset_Charset_1.clazz = __CLASS_java_nio_charset_Charset_1;
+ __TIB_java_nio_charset_Charset_1.baseType = JAVA_NULL;
+ __CLASS_java_nio_charset_Charset_1_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_charset_Charset_1);
+ __CLASS_java_nio_charset_Charset_1_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_charset_Charset_1_1ARRAY);
+ __CLASS_java_nio_charset_Charset_1_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_charset_Charset_1_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_nio_charset_Charset_1]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_nio_charset_Charset_1.classInitialized = 1;
+}
+
+void __DELETE_java_nio_charset_Charset_1(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_nio_charset_Charset_1]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_nio_charset_Charset_1(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_nio_charset_Charset_1]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_nio_charset_Charset_1()
+{ XMLVM_CLASS_INIT(java_nio_charset_Charset_1)
+java_nio_charset_Charset_1* me = (java_nio_charset_Charset_1*) XMLVM_MALLOC(sizeof(java_nio_charset_Charset_1));
+ me->tib = &__TIB_java_nio_charset_Charset_1;
+ __INIT_INSTANCE_MEMBERS_java_nio_charset_Charset_1(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_nio_charset_Charset_1]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_nio_charset_Charset_1()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_nio_charset_Charset_1();
+ java_nio_charset_Charset_1___INIT___(me);
+ return me;
+}
+
+void java_nio_charset_Charset_1___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_1___INIT___]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset$1", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Charset.java", 117)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Charset.java", 1)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_Charset_1_run__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_1_run__]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset$1", "run", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Charset.java", 119)
+ _r0.o = __NEW_org_apache_harmony_niochar_CharsetProviderImpl();
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_niochar_CharsetProviderImpl___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_nio_charset_Charset_1.h b/tests/nbody-java/java_nio_charset_Charset_1.h
new file mode 100644
index 00000000..c99db1f3
--- /dev/null
+++ b/tests/nbody-java/java_nio_charset_Charset_1.h
@@ -0,0 +1,63 @@
+#ifndef __JAVA_NIO_CHARSET_CHARSET_1__
+#define __JAVA_NIO_CHARSET_CHARSET_1__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_nio_charset_Charset_1 1
+// Implemented interfaces:
+#include "java_security_PrivilegedAction.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_Charset
+#define XMLVM_FORWARD_DECL_java_nio_charset_Charset
+XMLVM_FORWARD_DECL(java_nio_charset_Charset)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_niochar_CharsetProviderImpl
+#define XMLVM_FORWARD_DECL_org_apache_harmony_niochar_CharsetProviderImpl
+XMLVM_FORWARD_DECL(org_apache_harmony_niochar_CharsetProviderImpl)
+#endif
+// Class declarations for java.nio.charset.Charset$1
+XMLVM_DEFINE_CLASS(java_nio_charset_Charset_1, 7, XMLVM_ITABLE_SIZE_java_nio_charset_Charset_1)
+
+extern JAVA_OBJECT __CLASS_java_nio_charset_Charset_1;
+extern JAVA_OBJECT __CLASS_java_nio_charset_Charset_1_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_charset_Charset_1_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_charset_Charset_1_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_nio_charset_Charset_1
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_nio_charset_Charset_1 \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_nio_charset_Charset_1 \
+ } java_nio_charset_Charset_1
+
+struct java_nio_charset_Charset_1 {
+ __TIB_DEFINITION_java_nio_charset_Charset_1* tib;
+ struct {
+ __INSTANCE_FIELDS_java_nio_charset_Charset_1;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_Charset_1
+#define XMLVM_FORWARD_DECL_java_nio_charset_Charset_1
+typedef struct java_nio_charset_Charset_1 java_nio_charset_Charset_1;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_nio_charset_Charset_1 7
+#define XMLVM_VTABLE_IDX_java_nio_charset_Charset_1_run__ 6
+
+void __INIT_java_nio_charset_Charset_1();
+void __INIT_IMPL_java_nio_charset_Charset_1();
+void __DELETE_java_nio_charset_Charset_1(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_nio_charset_Charset_1(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_nio_charset_Charset_1();
+JAVA_OBJECT __NEW_INSTANCE_java_nio_charset_Charset_1();
+void java_nio_charset_Charset_1___INIT___(JAVA_OBJECT me);
+// Vtable index: 6
+JAVA_OBJECT java_nio_charset_Charset_1_run__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_nio_charset_Charset_2.c b/tests/nbody-java/java_nio_charset_Charset_2.c
new file mode 100644
index 00000000..4810994a
--- /dev/null
+++ b/tests/nbody-java/java_nio_charset_Charset_2.c
@@ -0,0 +1,190 @@
+#include "xmlvm.h"
+#include "java_lang_ClassLoader.h"
+#include "java_lang_Thread.h"
+#include "java_nio_charset_Charset.h"
+
+#include "java_nio_charset_Charset_2.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Charset_2
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_nio_charset_Charset_2
+
+__TIB_DEFINITION_java_nio_charset_Charset_2 __TIB_java_nio_charset_Charset_2 = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_nio_charset_Charset_2, // classInitializer
+ "java.nio.charset.Charset$2", // className
+ "java.nio.charset", // package
+ "java.nio.charset.Charset", // enclosingClassName
+ "getContextClassLoader:()Ljava/lang/ClassLoader;", // enclosingMethodName
+ "Ljava/lang/Object;Ljava/security/PrivilegedAction<Ljava/lang/ClassLoader;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_nio_charset_Charset_2), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_nio_charset_Charset_2;
+JAVA_OBJECT __CLASS_java_nio_charset_Charset_2_1ARRAY;
+JAVA_OBJECT __CLASS_java_nio_charset_Charset_2_2ARRAY;
+JAVA_OBJECT __CLASS_java_nio_charset_Charset_2_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_nio_charset_Charset_2()
+{
+ staticInitializerLock(&__TIB_java_nio_charset_Charset_2);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_nio_charset_Charset_2.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_nio_charset_Charset_2.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_nio_charset_Charset_2);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_nio_charset_Charset_2.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_nio_charset_Charset_2.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_nio_charset_Charset_2.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.nio.charset.Charset$2")
+ __INIT_IMPL_java_nio_charset_Charset_2();
+ }
+}
+
+void __INIT_IMPL_java_nio_charset_Charset_2()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_nio_charset_Charset_2.newInstanceFunc = __NEW_INSTANCE_java_nio_charset_Charset_2;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_nio_charset_Charset_2.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_nio_charset_Charset_2.vtable[6] = (VTABLE_PTR) &java_nio_charset_Charset_2_run__;
+ // Initialize interface information
+ __TIB_java_nio_charset_Charset_2.numImplementedInterfaces = 1;
+ __TIB_java_nio_charset_Charset_2.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_security_PrivilegedAction)
+
+ __TIB_java_nio_charset_Charset_2.implementedInterfaces[0][0] = &__TIB_java_security_PrivilegedAction;
+ // Initialize itable for this class
+ __TIB_java_nio_charset_Charset_2.itableBegin = &__TIB_java_nio_charset_Charset_2.itable[0];
+ __TIB_java_nio_charset_Charset_2.itable[XMLVM_ITABLE_IDX_java_security_PrivilegedAction_run__] = __TIB_java_nio_charset_Charset_2.vtable[6];
+
+
+ __TIB_java_nio_charset_Charset_2.declaredFields = &__field_reflection_data[0];
+ __TIB_java_nio_charset_Charset_2.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_nio_charset_Charset_2.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_nio_charset_Charset_2.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_nio_charset_Charset_2.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_nio_charset_Charset_2.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_nio_charset_Charset_2.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_nio_charset_Charset_2.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_nio_charset_Charset_2 = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_nio_charset_Charset_2);
+ __TIB_java_nio_charset_Charset_2.clazz = __CLASS_java_nio_charset_Charset_2;
+ __TIB_java_nio_charset_Charset_2.baseType = JAVA_NULL;
+ __CLASS_java_nio_charset_Charset_2_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_charset_Charset_2);
+ __CLASS_java_nio_charset_Charset_2_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_charset_Charset_2_1ARRAY);
+ __CLASS_java_nio_charset_Charset_2_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_charset_Charset_2_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_nio_charset_Charset_2]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_nio_charset_Charset_2.classInitialized = 1;
+}
+
+void __DELETE_java_nio_charset_Charset_2(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_nio_charset_Charset_2]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_nio_charset_Charset_2(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_nio_charset_Charset_2*) me)->fields.java_nio_charset_Charset_2.val_t_ = (java_lang_Thread*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_nio_charset_Charset_2]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_nio_charset_Charset_2()
+{ XMLVM_CLASS_INIT(java_nio_charset_Charset_2)
+java_nio_charset_Charset_2* me = (java_nio_charset_Charset_2*) XMLVM_MALLOC(sizeof(java_nio_charset_Charset_2));
+ me->tib = &__TIB_java_nio_charset_Charset_2;
+ __INIT_INSTANCE_MEMBERS_java_nio_charset_Charset_2(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_nio_charset_Charset_2]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_nio_charset_Charset_2()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+void java_nio_charset_Charset_2___INIT____java_lang_Thread(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_2___INIT____java_lang_Thread]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset$2", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Charset.java", 1)
+ XMLVM_CHECK_NPE(0)
+ ((java_nio_charset_Charset_2*) _r0.o)->fields.java_nio_charset_Charset_2.val_t_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Charset.java", 209)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_Charset_2_run__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_Charset_2_run__]
+ XMLVM_ENTER_METHOD("java.nio.charset.Charset$2", "run", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Charset.java", 211)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_nio_charset_Charset_2*) _r1.o)->fields.java_nio_charset_Charset_2.val_t_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_Thread_getContextClassLoader__(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_nio_charset_Charset_2.h b/tests/nbody-java/java_nio_charset_Charset_2.h
new file mode 100644
index 00000000..646463f7
--- /dev/null
+++ b/tests/nbody-java/java_nio_charset_Charset_2.h
@@ -0,0 +1,68 @@
+#ifndef __JAVA_NIO_CHARSET_CHARSET_2__
+#define __JAVA_NIO_CHARSET_CHARSET_2__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_nio_charset_Charset_2 1
+// Implemented interfaces:
+#include "java_security_PrivilegedAction.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_ClassLoader
+#define XMLVM_FORWARD_DECL_java_lang_ClassLoader
+XMLVM_FORWARD_DECL(java_lang_ClassLoader)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Thread
+#define XMLVM_FORWARD_DECL_java_lang_Thread
+XMLVM_FORWARD_DECL(java_lang_Thread)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_Charset
+#define XMLVM_FORWARD_DECL_java_nio_charset_Charset
+XMLVM_FORWARD_DECL(java_nio_charset_Charset)
+#endif
+// Class declarations for java.nio.charset.Charset$2
+XMLVM_DEFINE_CLASS(java_nio_charset_Charset_2, 7, XMLVM_ITABLE_SIZE_java_nio_charset_Charset_2)
+
+extern JAVA_OBJECT __CLASS_java_nio_charset_Charset_2;
+extern JAVA_OBJECT __CLASS_java_nio_charset_Charset_2_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_charset_Charset_2_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_charset_Charset_2_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_nio_charset_Charset_2
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_nio_charset_Charset_2 \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT val_t_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_nio_charset_Charset_2 \
+ } java_nio_charset_Charset_2
+
+struct java_nio_charset_Charset_2 {
+ __TIB_DEFINITION_java_nio_charset_Charset_2* tib;
+ struct {
+ __INSTANCE_FIELDS_java_nio_charset_Charset_2;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_Charset_2
+#define XMLVM_FORWARD_DECL_java_nio_charset_Charset_2
+typedef struct java_nio_charset_Charset_2 java_nio_charset_Charset_2;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_nio_charset_Charset_2 7
+#define XMLVM_VTABLE_IDX_java_nio_charset_Charset_2_run__ 6
+
+void __INIT_java_nio_charset_Charset_2();
+void __INIT_IMPL_java_nio_charset_Charset_2();
+void __DELETE_java_nio_charset_Charset_2(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_nio_charset_Charset_2(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_nio_charset_Charset_2();
+JAVA_OBJECT __NEW_INSTANCE_java_nio_charset_Charset_2();
+void java_nio_charset_Charset_2___INIT____java_lang_Thread(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 6
+JAVA_OBJECT java_nio_charset_Charset_2_run__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_nio_charset_CoderResult.c b/tests/nbody-java/java_nio_charset_CoderResult.c
new file mode 100644
index 00000000..f4cad71b
--- /dev/null
+++ b/tests/nbody-java/java_nio_charset_CoderResult.c
@@ -0,0 +1,904 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_Integer.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_lang_Throwable.h"
+#include "java_util_WeakHashMap.h"
+
+#include "java_nio_charset_CoderResult.h"
+
+#define XMLVM_CURRENT_CLASS_NAME CoderResult
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_nio_charset_CoderResult
+
+__TIB_DEFINITION_java_nio_charset_CoderResult __TIB_java_nio_charset_CoderResult = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_nio_charset_CoderResult, // classInitializer
+ "java.nio.charset.CoderResult", // className
+ "java.nio.charset", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_nio_charset_CoderResult), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_nio_charset_CoderResult;
+JAVA_OBJECT __CLASS_java_nio_charset_CoderResult_1ARRAY;
+JAVA_OBJECT __CLASS_java_nio_charset_CoderResult_2ARRAY;
+JAVA_OBJECT __CLASS_java_nio_charset_CoderResult_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_INT _STATIC_java_nio_charset_CoderResult_TYPE_UNDERFLOW;
+static JAVA_INT _STATIC_java_nio_charset_CoderResult_TYPE_OVERFLOW;
+static JAVA_INT _STATIC_java_nio_charset_CoderResult_TYPE_MALFORMED_INPUT;
+static JAVA_INT _STATIC_java_nio_charset_CoderResult_TYPE_UNMAPPABLE_CHAR;
+static JAVA_OBJECT _STATIC_java_nio_charset_CoderResult_UNDERFLOW;
+static JAVA_OBJECT _STATIC_java_nio_charset_CoderResult_OVERFLOW;
+static JAVA_OBJECT _STATIC_java_nio_charset_CoderResult__malformedErrors;
+static JAVA_OBJECT _STATIC_java_nio_charset_CoderResult__unmappableErrors;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_nio_charset_CoderResult()
+{
+ staticInitializerLock(&__TIB_java_nio_charset_CoderResult);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_nio_charset_CoderResult.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_nio_charset_CoderResult.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_nio_charset_CoderResult);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_nio_charset_CoderResult.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_nio_charset_CoderResult.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_nio_charset_CoderResult.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.nio.charset.CoderResult")
+ __INIT_IMPL_java_nio_charset_CoderResult();
+ }
+}
+
+void __INIT_IMPL_java_nio_charset_CoderResult()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_nio_charset_CoderResult.newInstanceFunc = __NEW_INSTANCE_java_nio_charset_CoderResult;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_nio_charset_CoderResult.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_nio_charset_CoderResult.vtable[5] = (VTABLE_PTR) &java_nio_charset_CoderResult_toString__;
+ // Initialize interface information
+ __TIB_java_nio_charset_CoderResult.numImplementedInterfaces = 0;
+ __TIB_java_nio_charset_CoderResult.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_java_nio_charset_CoderResult_TYPE_UNDERFLOW = 1;
+ _STATIC_java_nio_charset_CoderResult_TYPE_OVERFLOW = 2;
+ _STATIC_java_nio_charset_CoderResult_TYPE_MALFORMED_INPUT = 3;
+ _STATIC_java_nio_charset_CoderResult_TYPE_UNMAPPABLE_CHAR = 4;
+ _STATIC_java_nio_charset_CoderResult_UNDERFLOW = (java_nio_charset_CoderResult*) JAVA_NULL;
+ _STATIC_java_nio_charset_CoderResult_OVERFLOW = (java_nio_charset_CoderResult*) JAVA_NULL;
+ _STATIC_java_nio_charset_CoderResult__malformedErrors = (java_util_WeakHashMap*) JAVA_NULL;
+ _STATIC_java_nio_charset_CoderResult__unmappableErrors = (java_util_WeakHashMap*) JAVA_NULL;
+
+ __TIB_java_nio_charset_CoderResult.declaredFields = &__field_reflection_data[0];
+ __TIB_java_nio_charset_CoderResult.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_nio_charset_CoderResult.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_nio_charset_CoderResult.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_nio_charset_CoderResult.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_nio_charset_CoderResult.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_nio_charset_CoderResult.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_nio_charset_CoderResult.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_nio_charset_CoderResult = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_nio_charset_CoderResult);
+ __TIB_java_nio_charset_CoderResult.clazz = __CLASS_java_nio_charset_CoderResult;
+ __TIB_java_nio_charset_CoderResult.baseType = JAVA_NULL;
+ __CLASS_java_nio_charset_CoderResult_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_charset_CoderResult);
+ __CLASS_java_nio_charset_CoderResult_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_charset_CoderResult_1ARRAY);
+ __CLASS_java_nio_charset_CoderResult_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_charset_CoderResult_2ARRAY);
+ java_nio_charset_CoderResult___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_nio_charset_CoderResult]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_nio_charset_CoderResult.classInitialized = 1;
+}
+
+void __DELETE_java_nio_charset_CoderResult(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_nio_charset_CoderResult]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_nio_charset_CoderResult(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_nio_charset_CoderResult*) me)->fields.java_nio_charset_CoderResult.type_ = 0;
+ ((java_nio_charset_CoderResult*) me)->fields.java_nio_charset_CoderResult.length_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_nio_charset_CoderResult]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_nio_charset_CoderResult()
+{ XMLVM_CLASS_INIT(java_nio_charset_CoderResult)
+java_nio_charset_CoderResult* me = (java_nio_charset_CoderResult*) XMLVM_MALLOC(sizeof(java_nio_charset_CoderResult));
+ me->tib = &__TIB_java_nio_charset_CoderResult;
+ __INIT_INSTANCE_MEMBERS_java_nio_charset_CoderResult(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_nio_charset_CoderResult]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_nio_charset_CoderResult()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_INT java_nio_charset_CoderResult_GET_TYPE_UNDERFLOW()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CoderResult)
+ return _STATIC_java_nio_charset_CoderResult_TYPE_UNDERFLOW;
+}
+
+void java_nio_charset_CoderResult_PUT_TYPE_UNDERFLOW(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CoderResult)
+_STATIC_java_nio_charset_CoderResult_TYPE_UNDERFLOW = v;
+}
+
+JAVA_INT java_nio_charset_CoderResult_GET_TYPE_OVERFLOW()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CoderResult)
+ return _STATIC_java_nio_charset_CoderResult_TYPE_OVERFLOW;
+}
+
+void java_nio_charset_CoderResult_PUT_TYPE_OVERFLOW(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CoderResult)
+_STATIC_java_nio_charset_CoderResult_TYPE_OVERFLOW = v;
+}
+
+JAVA_INT java_nio_charset_CoderResult_GET_TYPE_MALFORMED_INPUT()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CoderResult)
+ return _STATIC_java_nio_charset_CoderResult_TYPE_MALFORMED_INPUT;
+}
+
+void java_nio_charset_CoderResult_PUT_TYPE_MALFORMED_INPUT(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CoderResult)
+_STATIC_java_nio_charset_CoderResult_TYPE_MALFORMED_INPUT = v;
+}
+
+JAVA_INT java_nio_charset_CoderResult_GET_TYPE_UNMAPPABLE_CHAR()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CoderResult)
+ return _STATIC_java_nio_charset_CoderResult_TYPE_UNMAPPABLE_CHAR;
+}
+
+void java_nio_charset_CoderResult_PUT_TYPE_UNMAPPABLE_CHAR(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CoderResult)
+_STATIC_java_nio_charset_CoderResult_TYPE_UNMAPPABLE_CHAR = v;
+}
+
+JAVA_OBJECT java_nio_charset_CoderResult_GET_UNDERFLOW()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CoderResult)
+ return _STATIC_java_nio_charset_CoderResult_UNDERFLOW;
+}
+
+void java_nio_charset_CoderResult_PUT_UNDERFLOW(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CoderResult)
+_STATIC_java_nio_charset_CoderResult_UNDERFLOW = v;
+}
+
+JAVA_OBJECT java_nio_charset_CoderResult_GET_OVERFLOW()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CoderResult)
+ return _STATIC_java_nio_charset_CoderResult_OVERFLOW;
+}
+
+void java_nio_charset_CoderResult_PUT_OVERFLOW(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CoderResult)
+_STATIC_java_nio_charset_CoderResult_OVERFLOW = v;
+}
+
+JAVA_OBJECT java_nio_charset_CoderResult_GET__malformedErrors()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CoderResult)
+ return _STATIC_java_nio_charset_CoderResult__malformedErrors;
+}
+
+void java_nio_charset_CoderResult_PUT__malformedErrors(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CoderResult)
+_STATIC_java_nio_charset_CoderResult__malformedErrors = v;
+}
+
+JAVA_OBJECT java_nio_charset_CoderResult_GET__unmappableErrors()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CoderResult)
+ return _STATIC_java_nio_charset_CoderResult__unmappableErrors;
+}
+
+void java_nio_charset_CoderResult_PUT__unmappableErrors(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CoderResult)
+_STATIC_java_nio_charset_CoderResult__unmappableErrors = v;
+}
+
+void java_nio_charset_CoderResult___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CoderResult___CLINIT___]
+ XMLVM_ENTER_METHOD("java.nio.charset.CoderResult", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 62)
+ _r0.o = __NEW_java_nio_charset_CoderResult();
+ _r1.i = 1;
+ XMLVM_CHECK_NPE(0)
+ java_nio_charset_CoderResult___INIT____int_int(_r0.o, _r1.i, _r2.i);
+ java_nio_charset_CoderResult_PUT_UNDERFLOW( _r0.o);
+ XMLVM_SOURCE_POSITION("CoderResult.java", 69)
+ _r0.o = __NEW_java_nio_charset_CoderResult();
+ _r1.i = 2;
+ XMLVM_CHECK_NPE(0)
+ java_nio_charset_CoderResult___INIT____int_int(_r0.o, _r1.i, _r2.i);
+ java_nio_charset_CoderResult_PUT_OVERFLOW( _r0.o);
+ XMLVM_SOURCE_POSITION("CoderResult.java", 75)
+ _r0.o = __NEW_java_util_WeakHashMap();
+ XMLVM_CHECK_NPE(0)
+ java_util_WeakHashMap___INIT___(_r0.o);
+ java_nio_charset_CoderResult_PUT__malformedErrors( _r0.o);
+ XMLVM_SOURCE_POSITION("CoderResult.java", 81)
+ _r0.o = __NEW_java_util_WeakHashMap();
+ XMLVM_CHECK_NPE(0)
+ java_util_WeakHashMap___INIT___(_r0.o);
+ java_nio_charset_CoderResult_PUT__unmappableErrors( _r0.o);
+ XMLVM_SOURCE_POSITION("CoderResult.java", 44)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_charset_CoderResult___INIT____int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CoderResult___INIT____int_int]
+ XMLVM_ENTER_METHOD("java.nio.charset.CoderResult", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.i = n1;
+ _r2.i = n2;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 98)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("CoderResult.java", 99)
+ XMLVM_CHECK_NPE(0)
+ ((java_nio_charset_CoderResult*) _r0.o)->fields.java_nio_charset_CoderResult.type_ = _r1.i;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 100)
+ XMLVM_CHECK_NPE(0)
+ ((java_nio_charset_CoderResult*) _r0.o)->fields.java_nio_charset_CoderResult.length_ = _r2.i;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 101)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CoderResult_malformedForLength___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CoderResult)
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CoderResult_malformedForLength___int]
+ XMLVM_ENTER_METHOD("java.nio.charset.CoderResult", "malformedForLength", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ _r5.i = n1;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 115)
+ XMLVM_CLASS_INIT(java_nio_charset_CoderResult)
+ _r1.o = __CLASS_java_nio_charset_CoderResult;
+ java_lang_Object_acquireLockRecursive__(_r1.o);
+ if (_r5.i <= 0) goto label42;
+ XMLVM_TRY_BEGIN(w3589aaac12b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("CoderResult.java", 116)
+ _r2.o = java_lang_Integer_valueOf___int(_r5.i);
+ XMLVM_SOURCE_POSITION("CoderResult.java", 117)
+ _r3.o = java_nio_charset_CoderResult_GET__malformedErrors();
+ java_lang_Object_acquireLockRecursive__(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3589aaac12b1b6)
+ XMLVM_CATCH_SPECIFIC(w3589aaac12b1b6,java_lang_Object,39)
+ XMLVM_CATCH_END(w3589aaac12b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3589aaac12b1b6)
+ XMLVM_TRY_BEGIN(w3589aaac12b1b7)
+ // Begin try
+ XMLVM_SOURCE_POSITION("CoderResult.java", 118)
+ _r0.o = java_nio_charset_CoderResult_GET__malformedErrors();
+ //java_util_WeakHashMap_get___java_lang_Object[10]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_WeakHashMap*) _r0.o)->tib->vtable[10])(_r0.o, _r2.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 119)
+ if (_r0.o != JAVA_NULL) { XMLVM_MEMCPY(curThread_w3589aaac12b1b7->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3589aaac12b1b7, sizeof(XMLVM_JMP_BUF)); goto label33; };
+ XMLVM_SOURCE_POSITION("CoderResult.java", 120)
+ _r0.o = __NEW_java_nio_charset_CoderResult();
+ _r4.i = 3;
+ XMLVM_CHECK_NPE(0)
+ java_nio_charset_CoderResult___INIT____int_int(_r0.o, _r4.i, _r5.i);
+ XMLVM_SOURCE_POSITION("CoderResult.java", 121)
+ _r4.o = java_nio_charset_CoderResult_GET__malformedErrors();
+ //java_util_WeakHashMap_put___java_lang_Object_java_lang_Object[14]
+ XMLVM_CHECK_NPE(4)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_WeakHashMap*) _r4.o)->tib->vtable[14])(_r4.o, _r2.o, _r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3589aaac12b1b7)
+ XMLVM_CATCH_SPECIFIC(w3589aaac12b1b7,java_lang_Object,36)
+ XMLVM_CATCH_END(w3589aaac12b1b7)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3589aaac12b1b7)
+ label33:;
+ XMLVM_TRY_BEGIN(w3589aaac12b1b9)
+ // Begin try
+ XMLVM_SOURCE_POSITION("CoderResult.java", 123)
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3589aaac12b1b9)
+ XMLVM_CATCH_SPECIFIC(w3589aaac12b1b9,java_lang_Object,36)
+ XMLVM_CATCH_END(w3589aaac12b1b9)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3589aaac12b1b9)
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label36:;
+ java_lang_Thread* curThread_w3589aaac12b1c13 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w3589aaac12b1c13->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_TRY_BEGIN(w3589aaac12b1c14)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3589aaac12b1c14)
+ XMLVM_CATCH_SPECIFIC(w3589aaac12b1c14,java_lang_Object,36)
+ XMLVM_CATCH_END(w3589aaac12b1c14)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3589aaac12b1c14)
+ XMLVM_TRY_BEGIN(w3589aaac12b1c15)
+ // Begin try
+ XMLVM_THROW_CUSTOM(_r0.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3589aaac12b1c15)
+ XMLVM_CATCH_SPECIFIC(w3589aaac12b1c15,java_lang_Object,39)
+ XMLVM_CATCH_END(w3589aaac12b1c15)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3589aaac12b1c15)
+ label39:;
+ java_lang_Thread* curThread_w3589aaac12b1c17 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w3589aaac12b1c17->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label42:;
+ XMLVM_TRY_BEGIN(w3589aaac12b1c21)
+ // Begin try
+ XMLVM_SOURCE_POSITION("CoderResult.java", 127)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("CoderResult.java", 128)
+ // "niochar.08"
+ _r2.o = xmlvm_create_java_string_from_pool(180);
+
+
+ // Red class access removed: org.apache.harmony.niochar.internal.nls.Messages::getString
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3589aaac12b1c21)
+ XMLVM_CATCH_SPECIFIC(w3589aaac12b1c21,java_lang_Object,39)
+ XMLVM_CATCH_END(w3589aaac12b1c21)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3589aaac12b1c21)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CoderResult_unmappableForLength___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CoderResult)
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CoderResult_unmappableForLength___int]
+ XMLVM_ENTER_METHOD("java.nio.charset.CoderResult", "unmappableForLength", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ _r5.i = n1;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 144)
+ XMLVM_CLASS_INIT(java_nio_charset_CoderResult)
+ _r1.o = __CLASS_java_nio_charset_CoderResult;
+ java_lang_Object_acquireLockRecursive__(_r1.o);
+ if (_r5.i <= 0) goto label42;
+ XMLVM_TRY_BEGIN(w3589aaac13b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("CoderResult.java", 145)
+ _r2.o = java_lang_Integer_valueOf___int(_r5.i);
+ XMLVM_SOURCE_POSITION("CoderResult.java", 146)
+ _r3.o = java_nio_charset_CoderResult_GET__unmappableErrors();
+ java_lang_Object_acquireLockRecursive__(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3589aaac13b1b6)
+ XMLVM_CATCH_SPECIFIC(w3589aaac13b1b6,java_lang_Object,39)
+ XMLVM_CATCH_END(w3589aaac13b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3589aaac13b1b6)
+ XMLVM_TRY_BEGIN(w3589aaac13b1b7)
+ // Begin try
+ XMLVM_SOURCE_POSITION("CoderResult.java", 147)
+ _r0.o = java_nio_charset_CoderResult_GET__unmappableErrors();
+ //java_util_WeakHashMap_get___java_lang_Object[10]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_WeakHashMap*) _r0.o)->tib->vtable[10])(_r0.o, _r2.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 148)
+ if (_r0.o != JAVA_NULL) { XMLVM_MEMCPY(curThread_w3589aaac13b1b7->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w3589aaac13b1b7, sizeof(XMLVM_JMP_BUF)); goto label33; };
+ XMLVM_SOURCE_POSITION("CoderResult.java", 149)
+ _r0.o = __NEW_java_nio_charset_CoderResult();
+ _r4.i = 4;
+ XMLVM_CHECK_NPE(0)
+ java_nio_charset_CoderResult___INIT____int_int(_r0.o, _r4.i, _r5.i);
+ XMLVM_SOURCE_POSITION("CoderResult.java", 150)
+ _r4.o = java_nio_charset_CoderResult_GET__unmappableErrors();
+ //java_util_WeakHashMap_put___java_lang_Object_java_lang_Object[14]
+ XMLVM_CHECK_NPE(4)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_WeakHashMap*) _r4.o)->tib->vtable[14])(_r4.o, _r2.o, _r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3589aaac13b1b7)
+ XMLVM_CATCH_SPECIFIC(w3589aaac13b1b7,java_lang_Object,36)
+ XMLVM_CATCH_END(w3589aaac13b1b7)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3589aaac13b1b7)
+ label33:;
+ XMLVM_TRY_BEGIN(w3589aaac13b1b9)
+ // Begin try
+ XMLVM_SOURCE_POSITION("CoderResult.java", 152)
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3589aaac13b1b9)
+ XMLVM_CATCH_SPECIFIC(w3589aaac13b1b9,java_lang_Object,36)
+ XMLVM_CATCH_END(w3589aaac13b1b9)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3589aaac13b1b9)
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label36:;
+ java_lang_Thread* curThread_w3589aaac13b1c13 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w3589aaac13b1c13->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_TRY_BEGIN(w3589aaac13b1c14)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3589aaac13b1c14)
+ XMLVM_CATCH_SPECIFIC(w3589aaac13b1c14,java_lang_Object,36)
+ XMLVM_CATCH_END(w3589aaac13b1c14)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3589aaac13b1c14)
+ XMLVM_TRY_BEGIN(w3589aaac13b1c15)
+ // Begin try
+ XMLVM_THROW_CUSTOM(_r0.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3589aaac13b1c15)
+ XMLVM_CATCH_SPECIFIC(w3589aaac13b1c15,java_lang_Object,39)
+ XMLVM_CATCH_END(w3589aaac13b1c15)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3589aaac13b1c15)
+ label39:;
+ java_lang_Thread* curThread_w3589aaac13b1c17 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w3589aaac13b1c17->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label42:;
+ XMLVM_TRY_BEGIN(w3589aaac13b1c21)
+ // Begin try
+ XMLVM_SOURCE_POSITION("CoderResult.java", 156)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("CoderResult.java", 157)
+ // "niochar.08"
+ _r2.o = xmlvm_create_java_string_from_pool(180);
+
+
+ // Red class access removed: org.apache.harmony.niochar.internal.nls.Messages::getString
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3589aaac13b1c21)
+ XMLVM_CATCH_SPECIFIC(w3589aaac13b1c21,java_lang_Object,39)
+ XMLVM_CATCH_END(w3589aaac13b1c21)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3589aaac13b1c21)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_charset_CoderResult_isUnderflow__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CoderResult_isUnderflow__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CoderResult", "isUnderflow", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ _r1.i = 1;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 166)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_charset_CoderResult*) _r2.o)->fields.java_nio_charset_CoderResult.type_;
+ if (_r0.i != _r1.i) goto label7;
+ _r0 = _r1;
+ label6:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label7:;
+ _r0.i = 0;
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_charset_CoderResult_isError__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CoderResult_isError__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CoderResult", "isError", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 177)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_charset_CoderResult*) _r2.o)->fields.java_nio_charset_CoderResult.type_;
+ _r1.i = 3;
+ if (_r0.i == _r1.i) goto label12;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 178)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_charset_CoderResult*) _r2.o)->fields.java_nio_charset_CoderResult.type_;
+ _r1.i = 4;
+ if (_r0.i == _r1.i) goto label12;
+ _r0.i = 0;
+ label11:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label12:;
+ _r0.i = 1;
+ goto label11;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_charset_CoderResult_isMalformed__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CoderResult_isMalformed__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CoderResult", "isMalformed", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 187)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_charset_CoderResult*) _r2.o)->fields.java_nio_charset_CoderResult.type_;
+ _r1.i = 3;
+ if (_r0.i != _r1.i) goto label7;
+ _r0.i = 1;
+ label6:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label7:;
+ _r0.i = 0;
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_charset_CoderResult_isOverflow__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CoderResult_isOverflow__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CoderResult", "isOverflow", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 196)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_charset_CoderResult*) _r2.o)->fields.java_nio_charset_CoderResult.type_;
+ _r1.i = 2;
+ if (_r0.i != _r1.i) goto label7;
+ _r0.i = 1;
+ label6:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label7:;
+ _r0.i = 0;
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_nio_charset_CoderResult_isUnmappable__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CoderResult_isUnmappable__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CoderResult", "isUnmappable", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 205)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_charset_CoderResult*) _r2.o)->fields.java_nio_charset_CoderResult.type_;
+ _r1.i = 4;
+ if (_r0.i != _r1.i) goto label7;
+ _r0.i = 1;
+ label6:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label7:;
+ _r0.i = 0;
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_nio_charset_CoderResult_length__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CoderResult_length__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CoderResult", "length", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 217)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_charset_CoderResult*) _r2.o)->fields.java_nio_charset_CoderResult.type_;
+ _r1.i = 3;
+ if (_r0.i == _r1.i) goto label10;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 218)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_charset_CoderResult*) _r2.o)->fields.java_nio_charset_CoderResult.type_;
+ _r1.i = 4;
+ if (_r0.i != _r1.i) goto label13;
+ label10:;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 219)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_charset_CoderResult*) _r2.o)->fields.java_nio_charset_CoderResult.length_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label13:;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 223)
+
+
+ // Red class access removed: java.lang.UnsupportedOperationException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("CoderResult.java", 224)
+ // "niochar.09"
+ _r1.o = xmlvm_create_java_string_from_pool(181);
+
+
+ // Red class access removed: org.apache.harmony.niochar.internal.nls.Messages::getString
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.UnsupportedOperationException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_charset_CoderResult_throwException__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CoderResult_throwException__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CoderResult", "throwException", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 242)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_nio_charset_CoderResult*) _r2.o)->fields.java_nio_charset_CoderResult.type_;
+ switch (_r0.i) {
+ case 1: goto label11;
+ case 2: goto label17;
+ case 3: goto label31;
+ case 4: goto label23;
+ }
+ XMLVM_SOURCE_POSITION("CoderResult.java", 252)
+
+
+ // Red class access removed: java.nio.charset.CharacterCodingException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.charset.CharacterCodingException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label11:;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 244)
+
+
+ // Red class access removed: java.nio.BufferUnderflowException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.BufferUnderflowException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label17:;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 246)
+
+
+ // Red class access removed: java.nio.BufferOverflowException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.BufferOverflowException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label23:;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 248)
+
+
+ // Red class access removed: java.nio.charset.UnmappableCharacterException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_nio_charset_CoderResult*) _r2.o)->fields.java_nio_charset_CoderResult.length_;
+
+
+ // Red class access removed: java.nio.charset.UnmappableCharacterException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label31:;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 250)
+
+
+ // Red class access removed: java.nio.charset.MalformedInputException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_nio_charset_CoderResult*) _r2.o)->fields.java_nio_charset_CoderResult.length_;
+
+
+ // Red class access removed: java.nio.charset.MalformedInputException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label40:;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CoderResult_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CoderResult_toString__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CoderResult", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 263)
+ XMLVM_SOURCE_POSITION("CoderResult.java", 264)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_nio_charset_CoderResult*) _r3.o)->fields.java_nio_charset_CoderResult.type_;
+ switch (_r0.i) {
+ case 1: goto label29;
+ case 2: goto label32;
+ case 3: goto label53;
+ case 4: goto label35;
+ }
+ XMLVM_SOURCE_POSITION("CoderResult.java", 280)
+ // ""
+ _r0.o = xmlvm_create_java_string_from_pool(21);
+ label7:;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 283)
+ _r1.o = __NEW_java_lang_StringBuilder();
+ // "CoderResult["
+ _r2.o = xmlvm_create_java_string_from_pool(182);
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder___INIT____java_lang_String(_r1.o, _r2.o);
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r0.o);
+ // "]"
+ _r1.o = xmlvm_create_java_string_from_pool(183);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label29:;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 266)
+ // "UNDERFLOW error"
+ _r0.o = xmlvm_create_java_string_from_pool(184);
+ goto label7;
+ label32:;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 269)
+ // "OVERFLOW error"
+ _r0.o = xmlvm_create_java_string_from_pool(185);
+ goto label7;
+ label35:;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 272)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ // "Unmappable-character error with erroneous input length "
+ _r1.o = xmlvm_create_java_string_from_pool(186);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("CoderResult.java", 273)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_nio_charset_CoderResult*) _r3.o)->fields.java_nio_charset_CoderResult.length_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___int(_r0.o, _r1.i);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ goto label7;
+ label53:;
+ XMLVM_SOURCE_POSITION("CoderResult.java", 276)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ // "Malformed-input error with erroneous input length "
+ _r1.o = xmlvm_create_java_string_from_pool(187);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("CoderResult.java", 277)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_nio_charset_CoderResult*) _r3.o)->fields.java_nio_charset_CoderResult.length_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___int(_r0.o, _r1.i);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ goto label7;
+ label72:;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_nio_charset_CoderResult.h b/tests/nbody-java/java_nio_charset_CoderResult.h
new file mode 100644
index 00000000..606f3e3a
--- /dev/null
+++ b/tests/nbody-java/java_nio_charset_CoderResult.h
@@ -0,0 +1,106 @@
+#ifndef __JAVA_NIO_CHARSET_CODERRESULT__
+#define __JAVA_NIO_CHARSET_CODERRESULT__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_nio_charset_CoderResult 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Integer
+#define XMLVM_FORWARD_DECL_java_lang_Integer
+XMLVM_FORWARD_DECL(java_lang_Integer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Throwable
+#define XMLVM_FORWARD_DECL_java_lang_Throwable
+XMLVM_FORWARD_DECL(java_lang_Throwable)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_WeakHashMap
+#define XMLVM_FORWARD_DECL_java_util_WeakHashMap
+XMLVM_FORWARD_DECL(java_util_WeakHashMap)
+#endif
+// Class declarations for java.nio.charset.CoderResult
+XMLVM_DEFINE_CLASS(java_nio_charset_CoderResult, 6, XMLVM_ITABLE_SIZE_java_nio_charset_CoderResult)
+
+extern JAVA_OBJECT __CLASS_java_nio_charset_CoderResult;
+extern JAVA_OBJECT __CLASS_java_nio_charset_CoderResult_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_charset_CoderResult_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_charset_CoderResult_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_nio_charset_CoderResult
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_nio_charset_CoderResult \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_INT type_; \
+ JAVA_INT length_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_nio_charset_CoderResult \
+ } java_nio_charset_CoderResult
+
+struct java_nio_charset_CoderResult {
+ __TIB_DEFINITION_java_nio_charset_CoderResult* tib;
+ struct {
+ __INSTANCE_FIELDS_java_nio_charset_CoderResult;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_CoderResult
+#define XMLVM_FORWARD_DECL_java_nio_charset_CoderResult
+typedef struct java_nio_charset_CoderResult java_nio_charset_CoderResult;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_nio_charset_CoderResult 6
+#define XMLVM_VTABLE_IDX_java_nio_charset_CoderResult_toString__ 5
+
+void __INIT_java_nio_charset_CoderResult();
+void __INIT_IMPL_java_nio_charset_CoderResult();
+void __DELETE_java_nio_charset_CoderResult(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_nio_charset_CoderResult(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_nio_charset_CoderResult();
+JAVA_OBJECT __NEW_INSTANCE_java_nio_charset_CoderResult();
+JAVA_INT java_nio_charset_CoderResult_GET_TYPE_UNDERFLOW();
+void java_nio_charset_CoderResult_PUT_TYPE_UNDERFLOW(JAVA_INT v);
+JAVA_INT java_nio_charset_CoderResult_GET_TYPE_OVERFLOW();
+void java_nio_charset_CoderResult_PUT_TYPE_OVERFLOW(JAVA_INT v);
+JAVA_INT java_nio_charset_CoderResult_GET_TYPE_MALFORMED_INPUT();
+void java_nio_charset_CoderResult_PUT_TYPE_MALFORMED_INPUT(JAVA_INT v);
+JAVA_INT java_nio_charset_CoderResult_GET_TYPE_UNMAPPABLE_CHAR();
+void java_nio_charset_CoderResult_PUT_TYPE_UNMAPPABLE_CHAR(JAVA_INT v);
+JAVA_OBJECT java_nio_charset_CoderResult_GET_UNDERFLOW();
+void java_nio_charset_CoderResult_PUT_UNDERFLOW(JAVA_OBJECT v);
+JAVA_OBJECT java_nio_charset_CoderResult_GET_OVERFLOW();
+void java_nio_charset_CoderResult_PUT_OVERFLOW(JAVA_OBJECT v);
+JAVA_OBJECT java_nio_charset_CoderResult_GET__malformedErrors();
+void java_nio_charset_CoderResult_PUT__malformedErrors(JAVA_OBJECT v);
+JAVA_OBJECT java_nio_charset_CoderResult_GET__unmappableErrors();
+void java_nio_charset_CoderResult_PUT__unmappableErrors(JAVA_OBJECT v);
+void java_nio_charset_CoderResult___CLINIT_();
+void java_nio_charset_CoderResult___INIT____int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2);
+JAVA_OBJECT java_nio_charset_CoderResult_malformedForLength___int(JAVA_INT n1);
+JAVA_OBJECT java_nio_charset_CoderResult_unmappableForLength___int(JAVA_INT n1);
+JAVA_BOOLEAN java_nio_charset_CoderResult_isUnderflow__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_nio_charset_CoderResult_isError__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_nio_charset_CoderResult_isMalformed__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_nio_charset_CoderResult_isOverflow__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_nio_charset_CoderResult_isUnmappable__(JAVA_OBJECT me);
+JAVA_INT java_nio_charset_CoderResult_length__(JAVA_OBJECT me);
+void java_nio_charset_CoderResult_throwException__(JAVA_OBJECT me);
+// Vtable index: 5
+JAVA_OBJECT java_nio_charset_CoderResult_toString__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_nio_charset_CodingErrorAction.c b/tests/nbody-java/java_nio_charset_CodingErrorAction.c
new file mode 100644
index 00000000..c6cf4021
--- /dev/null
+++ b/tests/nbody-java/java_nio_charset_CodingErrorAction.c
@@ -0,0 +1,270 @@
+#include "xmlvm.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+
+#include "java_nio_charset_CodingErrorAction.h"
+
+#define XMLVM_CURRENT_CLASS_NAME CodingErrorAction
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_nio_charset_CodingErrorAction
+
+__TIB_DEFINITION_java_nio_charset_CodingErrorAction __TIB_java_nio_charset_CodingErrorAction = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_nio_charset_CodingErrorAction, // classInitializer
+ "java.nio.charset.CodingErrorAction", // className
+ "java.nio.charset", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_nio_charset_CodingErrorAction), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_nio_charset_CodingErrorAction;
+JAVA_OBJECT __CLASS_java_nio_charset_CodingErrorAction_1ARRAY;
+JAVA_OBJECT __CLASS_java_nio_charset_CodingErrorAction_2ARRAY;
+JAVA_OBJECT __CLASS_java_nio_charset_CodingErrorAction_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_OBJECT _STATIC_java_nio_charset_CodingErrorAction_IGNORE;
+static JAVA_OBJECT _STATIC_java_nio_charset_CodingErrorAction_REPLACE;
+static JAVA_OBJECT _STATIC_java_nio_charset_CodingErrorAction_REPORT;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_nio_charset_CodingErrorAction()
+{
+ staticInitializerLock(&__TIB_java_nio_charset_CodingErrorAction);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_nio_charset_CodingErrorAction.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_nio_charset_CodingErrorAction.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_nio_charset_CodingErrorAction);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_nio_charset_CodingErrorAction.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_nio_charset_CodingErrorAction.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_nio_charset_CodingErrorAction.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.nio.charset.CodingErrorAction")
+ __INIT_IMPL_java_nio_charset_CodingErrorAction();
+ }
+}
+
+void __INIT_IMPL_java_nio_charset_CodingErrorAction()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_nio_charset_CodingErrorAction.newInstanceFunc = __NEW_INSTANCE_java_nio_charset_CodingErrorAction;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_nio_charset_CodingErrorAction.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_nio_charset_CodingErrorAction.vtable[5] = (VTABLE_PTR) &java_nio_charset_CodingErrorAction_toString__;
+ // Initialize interface information
+ __TIB_java_nio_charset_CodingErrorAction.numImplementedInterfaces = 0;
+ __TIB_java_nio_charset_CodingErrorAction.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_java_nio_charset_CodingErrorAction_IGNORE = (java_nio_charset_CodingErrorAction*) JAVA_NULL;
+ _STATIC_java_nio_charset_CodingErrorAction_REPLACE = (java_nio_charset_CodingErrorAction*) JAVA_NULL;
+ _STATIC_java_nio_charset_CodingErrorAction_REPORT = (java_nio_charset_CodingErrorAction*) JAVA_NULL;
+
+ __TIB_java_nio_charset_CodingErrorAction.declaredFields = &__field_reflection_data[0];
+ __TIB_java_nio_charset_CodingErrorAction.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_nio_charset_CodingErrorAction.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_nio_charset_CodingErrorAction.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_nio_charset_CodingErrorAction.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_nio_charset_CodingErrorAction.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_nio_charset_CodingErrorAction.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_nio_charset_CodingErrorAction.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_nio_charset_CodingErrorAction = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_nio_charset_CodingErrorAction);
+ __TIB_java_nio_charset_CodingErrorAction.clazz = __CLASS_java_nio_charset_CodingErrorAction;
+ __TIB_java_nio_charset_CodingErrorAction.baseType = JAVA_NULL;
+ __CLASS_java_nio_charset_CodingErrorAction_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_charset_CodingErrorAction);
+ __CLASS_java_nio_charset_CodingErrorAction_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_charset_CodingErrorAction_1ARRAY);
+ __CLASS_java_nio_charset_CodingErrorAction_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_charset_CodingErrorAction_2ARRAY);
+ java_nio_charset_CodingErrorAction___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_nio_charset_CodingErrorAction]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_nio_charset_CodingErrorAction.classInitialized = 1;
+}
+
+void __DELETE_java_nio_charset_CodingErrorAction(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_nio_charset_CodingErrorAction]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_nio_charset_CodingErrorAction(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_nio_charset_CodingErrorAction*) me)->fields.java_nio_charset_CodingErrorAction.action_ = (java_lang_String*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_nio_charset_CodingErrorAction]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_nio_charset_CodingErrorAction()
+{ XMLVM_CLASS_INIT(java_nio_charset_CodingErrorAction)
+java_nio_charset_CodingErrorAction* me = (java_nio_charset_CodingErrorAction*) XMLVM_MALLOC(sizeof(java_nio_charset_CodingErrorAction));
+ me->tib = &__TIB_java_nio_charset_CodingErrorAction;
+ __INIT_INSTANCE_MEMBERS_java_nio_charset_CodingErrorAction(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_nio_charset_CodingErrorAction]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_nio_charset_CodingErrorAction()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_OBJECT java_nio_charset_CodingErrorAction_GET_IGNORE()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CodingErrorAction)
+ return _STATIC_java_nio_charset_CodingErrorAction_IGNORE;
+}
+
+void java_nio_charset_CodingErrorAction_PUT_IGNORE(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CodingErrorAction)
+_STATIC_java_nio_charset_CodingErrorAction_IGNORE = v;
+}
+
+JAVA_OBJECT java_nio_charset_CodingErrorAction_GET_REPLACE()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CodingErrorAction)
+ return _STATIC_java_nio_charset_CodingErrorAction_REPLACE;
+}
+
+void java_nio_charset_CodingErrorAction_PUT_REPLACE(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CodingErrorAction)
+_STATIC_java_nio_charset_CodingErrorAction_REPLACE = v;
+}
+
+JAVA_OBJECT java_nio_charset_CodingErrorAction_GET_REPORT()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CodingErrorAction)
+ return _STATIC_java_nio_charset_CodingErrorAction_REPORT;
+}
+
+void java_nio_charset_CodingErrorAction_PUT_REPORT(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_CodingErrorAction)
+_STATIC_java_nio_charset_CodingErrorAction_REPORT = v;
+}
+
+void java_nio_charset_CodingErrorAction___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CodingErrorAction___CLINIT___]
+ XMLVM_ENTER_METHOD("java.nio.charset.CodingErrorAction", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVM_SOURCE_POSITION("CodingErrorAction.java", 29)
+ _r0.o = __NEW_java_nio_charset_CodingErrorAction();
+ XMLVM_SOURCE_POSITION("CodingErrorAction.java", 30)
+ // "IGNORE"
+ _r1.o = xmlvm_create_java_string_from_pool(714);
+ XMLVM_CHECK_NPE(0)
+ java_nio_charset_CodingErrorAction___INIT____java_lang_String(_r0.o, _r1.o);
+ java_nio_charset_CodingErrorAction_PUT_IGNORE( _r0.o);
+ XMLVM_SOURCE_POSITION("CodingErrorAction.java", 36)
+ _r0.o = __NEW_java_nio_charset_CodingErrorAction();
+ XMLVM_SOURCE_POSITION("CodingErrorAction.java", 37)
+ // "REPLACE"
+ _r1.o = xmlvm_create_java_string_from_pool(715);
+ XMLVM_CHECK_NPE(0)
+ java_nio_charset_CodingErrorAction___INIT____java_lang_String(_r0.o, _r1.o);
+ java_nio_charset_CodingErrorAction_PUT_REPLACE( _r0.o);
+ XMLVM_SOURCE_POSITION("CodingErrorAction.java", 44)
+ _r0.o = __NEW_java_nio_charset_CodingErrorAction();
+ XMLVM_SOURCE_POSITION("CodingErrorAction.java", 45)
+ // "REPORT"
+ _r1.o = xmlvm_create_java_string_from_pool(716);
+ XMLVM_CHECK_NPE(0)
+ java_nio_charset_CodingErrorAction___INIT____java_lang_String(_r0.o, _r1.o);
+ java_nio_charset_CodingErrorAction_PUT_REPORT( _r0.o);
+ XMLVM_SOURCE_POSITION("CodingErrorAction.java", 24)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_charset_CodingErrorAction___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CodingErrorAction___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.nio.charset.CodingErrorAction", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("CodingErrorAction.java", 53)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("CodingErrorAction.java", 54)
+ XMLVM_CHECK_NPE(0)
+ ((java_nio_charset_CodingErrorAction*) _r0.o)->fields.java_nio_charset_CodingErrorAction.action_ = _r1.o;
+ XMLVM_SOURCE_POSITION("CodingErrorAction.java", 55)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_nio_charset_CodingErrorAction_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_CodingErrorAction_toString__]
+ XMLVM_ENTER_METHOD("java.nio.charset.CodingErrorAction", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("CodingErrorAction.java", 64)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ // "Action: "
+ _r1.o = xmlvm_create_java_string_from_pool(717);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_nio_charset_CodingErrorAction*) _r2.o)->fields.java_nio_charset_CodingErrorAction.action_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_nio_charset_CodingErrorAction.h b/tests/nbody-java/java_nio_charset_CodingErrorAction.h
new file mode 100644
index 00000000..9325c6eb
--- /dev/null
+++ b/tests/nbody-java/java_nio_charset_CodingErrorAction.h
@@ -0,0 +1,70 @@
+#ifndef __JAVA_NIO_CHARSET_CODINGERRORACTION__
+#define __JAVA_NIO_CHARSET_CODINGERRORACTION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_nio_charset_CodingErrorAction 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+// Class declarations for java.nio.charset.CodingErrorAction
+XMLVM_DEFINE_CLASS(java_nio_charset_CodingErrorAction, 6, XMLVM_ITABLE_SIZE_java_nio_charset_CodingErrorAction)
+
+extern JAVA_OBJECT __CLASS_java_nio_charset_CodingErrorAction;
+extern JAVA_OBJECT __CLASS_java_nio_charset_CodingErrorAction_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_charset_CodingErrorAction_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_charset_CodingErrorAction_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_nio_charset_CodingErrorAction
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_nio_charset_CodingErrorAction \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT action_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_nio_charset_CodingErrorAction \
+ } java_nio_charset_CodingErrorAction
+
+struct java_nio_charset_CodingErrorAction {
+ __TIB_DEFINITION_java_nio_charset_CodingErrorAction* tib;
+ struct {
+ __INSTANCE_FIELDS_java_nio_charset_CodingErrorAction;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_CodingErrorAction
+#define XMLVM_FORWARD_DECL_java_nio_charset_CodingErrorAction
+typedef struct java_nio_charset_CodingErrorAction java_nio_charset_CodingErrorAction;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_nio_charset_CodingErrorAction 6
+#define XMLVM_VTABLE_IDX_java_nio_charset_CodingErrorAction_toString__ 5
+
+void __INIT_java_nio_charset_CodingErrorAction();
+void __INIT_IMPL_java_nio_charset_CodingErrorAction();
+void __DELETE_java_nio_charset_CodingErrorAction(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_nio_charset_CodingErrorAction(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_nio_charset_CodingErrorAction();
+JAVA_OBJECT __NEW_INSTANCE_java_nio_charset_CodingErrorAction();
+JAVA_OBJECT java_nio_charset_CodingErrorAction_GET_IGNORE();
+void java_nio_charset_CodingErrorAction_PUT_IGNORE(JAVA_OBJECT v);
+JAVA_OBJECT java_nio_charset_CodingErrorAction_GET_REPLACE();
+void java_nio_charset_CodingErrorAction_PUT_REPLACE(JAVA_OBJECT v);
+JAVA_OBJECT java_nio_charset_CodingErrorAction_GET_REPORT();
+void java_nio_charset_CodingErrorAction_PUT_REPORT(JAVA_OBJECT v);
+void java_nio_charset_CodingErrorAction___CLINIT_();
+void java_nio_charset_CodingErrorAction___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 5
+JAVA_OBJECT java_nio_charset_CodingErrorAction_toString__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_nio_charset_spi_CharsetProvider.c b/tests/nbody-java/java_nio_charset_spi_CharsetProvider.c
new file mode 100644
index 00000000..67faf79c
--- /dev/null
+++ b/tests/nbody-java/java_nio_charset_spi_CharsetProvider.c
@@ -0,0 +1,210 @@
+#include "xmlvm.h"
+#include "java_lang_RuntimePermission.h"
+#include "java_lang_SecurityManager.h"
+#include "java_lang_String.h"
+#include "java_lang_System.h"
+#include "java_nio_charset_Charset.h"
+#include "java_util_Iterator.h"
+
+#include "java_nio_charset_spi_CharsetProvider.h"
+
+#define XMLVM_CURRENT_CLASS_NAME CharsetProvider
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_nio_charset_spi_CharsetProvider
+
+__TIB_DEFINITION_java_nio_charset_spi_CharsetProvider __TIB_java_nio_charset_spi_CharsetProvider = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_nio_charset_spi_CharsetProvider, // classInitializer
+ "java.nio.charset.spi.CharsetProvider", // className
+ "java.nio.charset.spi", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_nio_charset_spi_CharsetProvider), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_nio_charset_spi_CharsetProvider;
+JAVA_OBJECT __CLASS_java_nio_charset_spi_CharsetProvider_1ARRAY;
+JAVA_OBJECT __CLASS_java_nio_charset_spi_CharsetProvider_2ARRAY;
+JAVA_OBJECT __CLASS_java_nio_charset_spi_CharsetProvider_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_OBJECT _STATIC_java_nio_charset_spi_CharsetProvider_CONSTRUCT_PERM;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_nio_charset_spi_CharsetProvider()
+{
+ staticInitializerLock(&__TIB_java_nio_charset_spi_CharsetProvider);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_nio_charset_spi_CharsetProvider.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_nio_charset_spi_CharsetProvider.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_nio_charset_spi_CharsetProvider);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_nio_charset_spi_CharsetProvider.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_nio_charset_spi_CharsetProvider.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_nio_charset_spi_CharsetProvider.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.nio.charset.spi.CharsetProvider")
+ __INIT_IMPL_java_nio_charset_spi_CharsetProvider();
+ }
+}
+
+void __INIT_IMPL_java_nio_charset_spi_CharsetProvider()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_nio_charset_spi_CharsetProvider.newInstanceFunc = __NEW_INSTANCE_java_nio_charset_spi_CharsetProvider;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_nio_charset_spi_CharsetProvider.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_nio_charset_spi_CharsetProvider.numImplementedInterfaces = 0;
+ __TIB_java_nio_charset_spi_CharsetProvider.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_java_nio_charset_spi_CharsetProvider_CONSTRUCT_PERM = (java_lang_RuntimePermission*) JAVA_NULL;
+
+ __TIB_java_nio_charset_spi_CharsetProvider.declaredFields = &__field_reflection_data[0];
+ __TIB_java_nio_charset_spi_CharsetProvider.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_nio_charset_spi_CharsetProvider.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_nio_charset_spi_CharsetProvider.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_nio_charset_spi_CharsetProvider.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_nio_charset_spi_CharsetProvider.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_nio_charset_spi_CharsetProvider.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_nio_charset_spi_CharsetProvider.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_nio_charset_spi_CharsetProvider = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_nio_charset_spi_CharsetProvider);
+ __TIB_java_nio_charset_spi_CharsetProvider.clazz = __CLASS_java_nio_charset_spi_CharsetProvider;
+ __TIB_java_nio_charset_spi_CharsetProvider.baseType = JAVA_NULL;
+ __CLASS_java_nio_charset_spi_CharsetProvider_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_charset_spi_CharsetProvider);
+ __CLASS_java_nio_charset_spi_CharsetProvider_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_charset_spi_CharsetProvider_1ARRAY);
+ __CLASS_java_nio_charset_spi_CharsetProvider_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_nio_charset_spi_CharsetProvider_2ARRAY);
+ java_nio_charset_spi_CharsetProvider___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_nio_charset_spi_CharsetProvider]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_nio_charset_spi_CharsetProvider.classInitialized = 1;
+}
+
+void __DELETE_java_nio_charset_spi_CharsetProvider(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_nio_charset_spi_CharsetProvider]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_nio_charset_spi_CharsetProvider(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_nio_charset_spi_CharsetProvider]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_nio_charset_spi_CharsetProvider()
+{ XMLVM_CLASS_INIT(java_nio_charset_spi_CharsetProvider)
+java_nio_charset_spi_CharsetProvider* me = (java_nio_charset_spi_CharsetProvider*) XMLVM_MALLOC(sizeof(java_nio_charset_spi_CharsetProvider));
+ me->tib = &__TIB_java_nio_charset_spi_CharsetProvider;
+ __INIT_INSTANCE_MEMBERS_java_nio_charset_spi_CharsetProvider(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_nio_charset_spi_CharsetProvider]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_nio_charset_spi_CharsetProvider()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_nio_charset_spi_CharsetProvider();
+ java_nio_charset_spi_CharsetProvider___INIT___(me);
+ return me;
+}
+
+JAVA_OBJECT java_nio_charset_spi_CharsetProvider_GET_CONSTRUCT_PERM()
+{
+ XMLVM_CLASS_INIT(java_nio_charset_spi_CharsetProvider)
+ return _STATIC_java_nio_charset_spi_CharsetProvider_CONSTRUCT_PERM;
+}
+
+void java_nio_charset_spi_CharsetProvider_PUT_CONSTRUCT_PERM(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_nio_charset_spi_CharsetProvider)
+_STATIC_java_nio_charset_spi_CharsetProvider_CONSTRUCT_PERM = v;
+}
+
+void java_nio_charset_spi_CharsetProvider___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_spi_CharsetProvider___CLINIT___]
+ XMLVM_ENTER_METHOD("java.nio.charset.spi.CharsetProvider", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVM_SOURCE_POSITION("CharsetProvider.java", 28)
+ _r0.o = __NEW_java_lang_RuntimePermission();
+ XMLVM_SOURCE_POSITION("CharsetProvider.java", 29)
+ // "charsetProvider"
+ _r1.o = xmlvm_create_java_string_from_pool(59);
+ XMLVM_CHECK_NPE(0)
+ java_lang_RuntimePermission___INIT____java_lang_String(_r0.o, _r1.o);
+ java_nio_charset_spi_CharsetProvider_PUT_CONSTRUCT_PERM( _r0.o);
+ XMLVM_SOURCE_POSITION("CharsetProvider.java", 25)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_nio_charset_spi_CharsetProvider___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_nio_charset_spi_CharsetProvider___INIT___]
+ XMLVM_ENTER_METHOD("java.nio.charset.spi.CharsetProvider", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("CharsetProvider.java", 38)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("CharsetProvider.java", 39)
+ _r0.o = java_lang_System_getSecurityManager__();
+ XMLVM_SOURCE_POSITION("CharsetProvider.java", 40)
+ if (_r0.o == JAVA_NULL) goto label14;
+ XMLVM_SOURCE_POSITION("CharsetProvider.java", 41)
+ _r1.o = java_nio_charset_spi_CharsetProvider_GET_CONSTRUCT_PERM();
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r0.o, _r1.o);
+ label14:;
+ XMLVM_SOURCE_POSITION("CharsetProvider.java", 42)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_nio_charset_spi_CharsetProvider.h b/tests/nbody-java/java_nio_charset_spi_CharsetProvider.h
new file mode 100644
index 00000000..006acd5f
--- /dev/null
+++ b/tests/nbody-java/java_nio_charset_spi_CharsetProvider.h
@@ -0,0 +1,84 @@
+#ifndef __JAVA_NIO_CHARSET_SPI_CHARSETPROVIDER__
+#define __JAVA_NIO_CHARSET_SPI_CHARSETPROVIDER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_nio_charset_spi_CharsetProvider 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_RuntimePermission
+#define XMLVM_FORWARD_DECL_java_lang_RuntimePermission
+XMLVM_FORWARD_DECL(java_lang_RuntimePermission)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_SecurityManager
+#define XMLVM_FORWARD_DECL_java_lang_SecurityManager
+XMLVM_FORWARD_DECL(java_lang_SecurityManager)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_Charset
+#define XMLVM_FORWARD_DECL_java_nio_charset_Charset
+XMLVM_FORWARD_DECL(java_nio_charset_Charset)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Iterator
+#define XMLVM_FORWARD_DECL_java_util_Iterator
+XMLVM_FORWARD_DECL(java_util_Iterator)
+#endif
+// Class declarations for java.nio.charset.spi.CharsetProvider
+XMLVM_DEFINE_CLASS(java_nio_charset_spi_CharsetProvider, 8, XMLVM_ITABLE_SIZE_java_nio_charset_spi_CharsetProvider)
+
+extern JAVA_OBJECT __CLASS_java_nio_charset_spi_CharsetProvider;
+extern JAVA_OBJECT __CLASS_java_nio_charset_spi_CharsetProvider_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_charset_spi_CharsetProvider_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_nio_charset_spi_CharsetProvider_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_nio_charset_spi_CharsetProvider
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_nio_charset_spi_CharsetProvider \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_nio_charset_spi_CharsetProvider \
+ } java_nio_charset_spi_CharsetProvider
+
+struct java_nio_charset_spi_CharsetProvider {
+ __TIB_DEFINITION_java_nio_charset_spi_CharsetProvider* tib;
+ struct {
+ __INSTANCE_FIELDS_java_nio_charset_spi_CharsetProvider;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_spi_CharsetProvider
+#define XMLVM_FORWARD_DECL_java_nio_charset_spi_CharsetProvider
+typedef struct java_nio_charset_spi_CharsetProvider java_nio_charset_spi_CharsetProvider;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_nio_charset_spi_CharsetProvider 8
+#define XMLVM_VTABLE_IDX_java_nio_charset_spi_CharsetProvider_charsets__ 7
+#define XMLVM_VTABLE_IDX_java_nio_charset_spi_CharsetProvider_charsetForName___java_lang_String 6
+
+void __INIT_java_nio_charset_spi_CharsetProvider();
+void __INIT_IMPL_java_nio_charset_spi_CharsetProvider();
+void __DELETE_java_nio_charset_spi_CharsetProvider(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_nio_charset_spi_CharsetProvider(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_nio_charset_spi_CharsetProvider();
+JAVA_OBJECT __NEW_INSTANCE_java_nio_charset_spi_CharsetProvider();
+JAVA_OBJECT java_nio_charset_spi_CharsetProvider_GET_CONSTRUCT_PERM();
+void java_nio_charset_spi_CharsetProvider_PUT_CONSTRUCT_PERM(JAVA_OBJECT v);
+void java_nio_charset_spi_CharsetProvider___CLINIT_();
+void java_nio_charset_spi_CharsetProvider___INIT___(JAVA_OBJECT me);
+// Vtable index: 7
+JAVA_OBJECT java_nio_charset_spi_CharsetProvider_charsets__(JAVA_OBJECT me);
+// Vtable index: 6
+JAVA_OBJECT java_nio_charset_spi_CharsetProvider_charsetForName___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_security_AccessController.c b/tests/nbody-java/java_security_AccessController.c
new file mode 100644
index 00000000..d59a8ed3
--- /dev/null
+++ b/tests/nbody-java/java_security_AccessController.c
@@ -0,0 +1,351 @@
+#include "xmlvm.h"
+#include "java_lang_Exception.h"
+#include "java_lang_RuntimeException.h"
+#include "java_security_Permission.h"
+#include "java_security_PrivilegedAction.h"
+
+#include "java_security_AccessController.h"
+
+#define XMLVM_CURRENT_CLASS_NAME AccessController
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_security_AccessController
+
+__TIB_DEFINITION_java_security_AccessController __TIB_java_security_AccessController = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_security_AccessController, // classInitializer
+ "java.security.AccessController", // className
+ "java.security", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_security_AccessController), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_security_AccessController;
+JAVA_OBJECT __CLASS_java_security_AccessController_1ARRAY;
+JAVA_OBJECT __CLASS_java_security_AccessController_2ARRAY;
+JAVA_OBJECT __CLASS_java_security_AccessController_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_security_AccessController()
+{
+ staticInitializerLock(&__TIB_java_security_AccessController);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_security_AccessController.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_security_AccessController.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_security_AccessController);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_security_AccessController.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_security_AccessController.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_security_AccessController.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.security.AccessController")
+ __INIT_IMPL_java_security_AccessController();
+ }
+}
+
+void __INIT_IMPL_java_security_AccessController()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_security_AccessController.newInstanceFunc = __NEW_INSTANCE_java_security_AccessController;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_security_AccessController.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_security_AccessController.numImplementedInterfaces = 0;
+ __TIB_java_security_AccessController.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ __TIB_java_security_AccessController.declaredFields = &__field_reflection_data[0];
+ __TIB_java_security_AccessController.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_security_AccessController.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_security_AccessController.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_security_AccessController.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_security_AccessController.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_security_AccessController.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_security_AccessController.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_security_AccessController = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_security_AccessController);
+ __TIB_java_security_AccessController.clazz = __CLASS_java_security_AccessController;
+ __TIB_java_security_AccessController.baseType = JAVA_NULL;
+ __CLASS_java_security_AccessController_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_security_AccessController);
+ __CLASS_java_security_AccessController_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_security_AccessController_1ARRAY);
+ __CLASS_java_security_AccessController_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_security_AccessController_2ARRAY);
+ java_security_AccessController___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_security_AccessController]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_security_AccessController.classInitialized = 1;
+}
+
+void __DELETE_java_security_AccessController(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_security_AccessController]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_security_AccessController(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_security_AccessController]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_security_AccessController()
+{ XMLVM_CLASS_INIT(java_security_AccessController)
+java_security_AccessController* me = (java_security_AccessController*) XMLVM_MALLOC(sizeof(java_security_AccessController));
+ me->tib = &__TIB_java_security_AccessController;
+ __INIT_INSTANCE_MEMBERS_java_security_AccessController(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_security_AccessController]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_security_AccessController()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+void java_security_AccessController___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_security_AccessController___INIT___]
+ XMLVM_ENTER_METHOD("java.security.AccessController", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("AccessController.java", 38)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("AccessController.java", 39)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_security_AccessController_checkPermission___java_security_Permission(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_security_AccessController)
+ //XMLVM_BEGIN_WRAPPER[java_security_AccessController_checkPermission___java_security_Permission]
+ XMLVM_ENTER_METHOD("java.security.AccessController", "checkPermission", "?")
+ XMLVMElem _r0;
+ _r0.o = n1;
+ XMLVM_SOURCE_POSITION("AccessController.java", 105)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_security_AccessController_keepalive___java_security_AccessControlContext(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_security_AccessController)
+ //XMLVM_BEGIN_WRAPPER[java_security_AccessController_keepalive___java_security_AccessControlContext]
+ XMLVM_ENTER_METHOD("java.security.AccessController", "keepalive", "?")
+ XMLVMElem _r0;
+ _r0.o = n1;
+ XMLVM_SOURCE_POSITION("AccessController.java", 113)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_security_AccessController_getContext__()
+{
+ XMLVM_CLASS_INIT(java_security_AccessController)
+ //XMLVM_BEGIN_WRAPPER[java_security_AccessController_getContext__]
+ XMLVM_ENTER_METHOD("java.security.AccessController", "getContext", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("AccessController.java", 125)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_security_AccessController_doPrivileged___java_security_PrivilegedAction(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_security_AccessController)
+ //XMLVM_BEGIN_WRAPPER[java_security_AccessController_doPrivileged___java_security_PrivilegedAction]
+ XMLVM_ENTER_METHOD("java.security.AccessController", "doPrivileged", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("AccessController.java", 194)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_security_PrivilegedAction_run__])(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_security_AccessController_doPrivileged___java_security_PrivilegedAction_java_security_AccessControlContext(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_security_AccessController)
+ //XMLVM_BEGIN_WRAPPER[java_security_AccessController_doPrivileged___java_security_PrivilegedAction_java_security_AccessControlContext]
+ XMLVM_ENTER_METHOD("java.security.AccessController", "doPrivileged", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("AccessController.java", 222)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_security_PrivilegedAction_run__])(_r1.o);
+ XMLVM_SOURCE_POSITION("AccessController.java", 223)
+ java_security_AccessController_keepalive___java_security_AccessControlContext(_r2.o);
+ XMLVM_SOURCE_POSITION("AccessController.java", 224)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_security_AccessController_doPrivileged___java_security_PrivilegedExceptionAction(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_security_AccessController)
+ //XMLVM_BEGIN_WRAPPER[java_security_AccessController_doPrivileged___java_security_PrivilegedExceptionAction]
+ XMLVM_ENTER_METHOD("java.security.AccessController", "doPrivileged", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r2.o = n1;
+ XMLVM_TRY_BEGIN(w2085aaab6b1b2)
+ // Begin try
+ XMLVM_SOURCE_POSITION("AccessController.java", 251)
+
+
+ // Red class access removed: java.security.PrivilegedExceptionAction::run
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2085aaab6b1b2)
+ XMLVM_CATCH_SPECIFIC(w2085aaab6b1b2,java_lang_RuntimeException,5)
+ XMLVM_CATCH_SPECIFIC(w2085aaab6b1b2,java_lang_Exception,7)
+ XMLVM_CATCH_END(w2085aaab6b1b2)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2085aaab6b1b2)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label5:;
+ XMLVM_SOURCE_POSITION("AccessController.java", 252)
+ java_lang_Thread* curThread_w2085aaab6b1b6 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w2085aaab6b1b6->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_SOURCE_POSITION("AccessController.java", 253)
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label7:;
+ XMLVM_SOURCE_POSITION("AccessController.java", 254)
+ java_lang_Thread* curThread_w2085aaab6b1c11 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w2085aaab6b1c11->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_SOURCE_POSITION("AccessController.java", 255)
+
+
+ // Red class access removed: java.security.PrivilegedActionException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.security.PrivilegedActionException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_security_AccessController_doPrivileged___java_security_PrivilegedExceptionAction_java_security_AccessControlContext(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_security_AccessController)
+ //XMLVM_BEGIN_WRAPPER[java_security_AccessController_doPrivileged___java_security_PrivilegedExceptionAction_java_security_AccessControlContext]
+ XMLVM_ENTER_METHOD("java.security.AccessController", "doPrivileged", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ _r3.o = n1;
+ _r4.o = n2;
+ XMLVM_TRY_BEGIN(w2085aaab7b1b3)
+ // Begin try
+ XMLVM_SOURCE_POSITION("AccessController.java", 288)
+
+
+ // Red class access removed: java.security.PrivilegedExceptionAction::run
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("AccessController.java", 289)
+ java_security_AccessController_keepalive___java_security_AccessControlContext(_r4.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2085aaab7b1b3)
+ XMLVM_CATCH_SPECIFIC(w2085aaab7b1b3,java_lang_RuntimeException,8)
+ XMLVM_CATCH_SPECIFIC(w2085aaab7b1b3,java_lang_Exception,11)
+ XMLVM_CATCH_END(w2085aaab7b1b3)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2085aaab7b1b3)
+ XMLVM_SOURCE_POSITION("AccessController.java", 290)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label8:;
+ XMLVM_SOURCE_POSITION("AccessController.java", 291)
+ java_lang_Thread* curThread_w2085aaab7b1b8 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r2.o = curThread_w2085aaab7b1b8->fields.java_lang_Thread.xmlvmException_;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("AccessController.java", 292)
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label11:;
+ XMLVM_SOURCE_POSITION("AccessController.java", 293)
+ java_lang_Thread* curThread_w2085aaab7b1c14 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r2.o = curThread_w2085aaab7b1c14->fields.java_lang_Thread.xmlvmException_;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("AccessController.java", 294)
+
+
+ // Red class access removed: java.security.PrivilegedActionException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.security.PrivilegedActionException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r2.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_security_AccessController___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_security_AccessController___CLINIT___]
+ XMLVM_ENTER_METHOD("java.security.AccessController", "<clinit>", "?")
+ XMLVM_SOURCE_POSITION("AccessController.java", 31)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_security_AccessController.h b/tests/nbody-java/java_security_AccessController.h
new file mode 100644
index 00000000..3f32a049
--- /dev/null
+++ b/tests/nbody-java/java_security_AccessController.h
@@ -0,0 +1,75 @@
+#ifndef __JAVA_SECURITY_ACCESSCONTROLLER__
+#define __JAVA_SECURITY_ACCESSCONTROLLER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_security_AccessController 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Exception
+#define XMLVM_FORWARD_DECL_java_lang_Exception
+XMLVM_FORWARD_DECL(java_lang_Exception)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_RuntimeException
+#define XMLVM_FORWARD_DECL_java_lang_RuntimeException
+XMLVM_FORWARD_DECL(java_lang_RuntimeException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_security_Permission
+#define XMLVM_FORWARD_DECL_java_security_Permission
+XMLVM_FORWARD_DECL(java_security_Permission)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_security_PrivilegedAction
+#define XMLVM_FORWARD_DECL_java_security_PrivilegedAction
+XMLVM_FORWARD_DECL(java_security_PrivilegedAction)
+#endif
+// Class declarations for java.security.AccessController
+XMLVM_DEFINE_CLASS(java_security_AccessController, 6, XMLVM_ITABLE_SIZE_java_security_AccessController)
+
+extern JAVA_OBJECT __CLASS_java_security_AccessController;
+extern JAVA_OBJECT __CLASS_java_security_AccessController_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_security_AccessController_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_security_AccessController_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_security_AccessController
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_security_AccessController \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_security_AccessController \
+ } java_security_AccessController
+
+struct java_security_AccessController {
+ __TIB_DEFINITION_java_security_AccessController* tib;
+ struct {
+ __INSTANCE_FIELDS_java_security_AccessController;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_security_AccessController
+#define XMLVM_FORWARD_DECL_java_security_AccessController
+typedef struct java_security_AccessController java_security_AccessController;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_security_AccessController 6
+
+void __INIT_java_security_AccessController();
+void __INIT_IMPL_java_security_AccessController();
+void __DELETE_java_security_AccessController(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_security_AccessController(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_security_AccessController();
+JAVA_OBJECT __NEW_INSTANCE_java_security_AccessController();
+void java_security_AccessController___INIT___(JAVA_OBJECT me);
+void java_security_AccessController_checkPermission___java_security_Permission(JAVA_OBJECT n1);
+void java_security_AccessController_keepalive___java_security_AccessControlContext(JAVA_OBJECT n1);
+JAVA_OBJECT java_security_AccessController_getContext__();
+JAVA_OBJECT java_security_AccessController_doPrivileged___java_security_PrivilegedAction(JAVA_OBJECT n1);
+JAVA_OBJECT java_security_AccessController_doPrivileged___java_security_PrivilegedAction_java_security_AccessControlContext(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_security_AccessController_doPrivileged___java_security_PrivilegedExceptionAction(JAVA_OBJECT n1);
+JAVA_OBJECT java_security_AccessController_doPrivileged___java_security_PrivilegedExceptionAction_java_security_AccessControlContext(JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_security_AccessController___CLINIT_();
+
+#endif
diff --git a/tests/nbody-java/java_security_BasicPermission.c b/tests/nbody-java/java_security_BasicPermission.c
new file mode 100644
index 00000000..ba61a32f
--- /dev/null
+++ b/tests/nbody-java/java_security_BasicPermission.c
@@ -0,0 +1,562 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_Object.h"
+#include "java_lang_RuntimePermission.h"
+#include "java_lang_String.h"
+
+#include "java_security_BasicPermission.h"
+
+#define XMLVM_CURRENT_CLASS_NAME BasicPermission
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_security_BasicPermission
+
+__TIB_DEFINITION_java_security_BasicPermission __TIB_java_security_BasicPermission = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_security_BasicPermission, // classInitializer
+ "java.security.BasicPermission", // className
+ "java.security", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_security_Permission, // extends
+ sizeof(java_security_BasicPermission), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_security_BasicPermission;
+JAVA_OBJECT __CLASS_java_security_BasicPermission_1ARRAY;
+JAVA_OBJECT __CLASS_java_security_BasicPermission_2ARRAY;
+JAVA_OBJECT __CLASS_java_security_BasicPermission_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_security_BasicPermission_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_security_BasicPermission()
+{
+ staticInitializerLock(&__TIB_java_security_BasicPermission);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_security_BasicPermission.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_security_BasicPermission.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_security_BasicPermission);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_security_BasicPermission.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_security_BasicPermission.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_security_BasicPermission.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.security.BasicPermission")
+ __INIT_IMPL_java_security_BasicPermission();
+ }
+}
+
+void __INIT_IMPL_java_security_BasicPermission()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_security_Permission)
+ __TIB_java_security_BasicPermission.newInstanceFunc = __NEW_INSTANCE_java_security_BasicPermission;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_security_BasicPermission.vtable, __TIB_java_security_Permission.vtable, sizeof(__TIB_java_security_Permission.vtable));
+ // Initialize vtable for this class
+ __TIB_java_security_BasicPermission.vtable[1] = (VTABLE_PTR) &java_security_BasicPermission_equals___java_lang_Object;
+ __TIB_java_security_BasicPermission.vtable[4] = (VTABLE_PTR) &java_security_BasicPermission_hashCode__;
+ __TIB_java_security_BasicPermission.vtable[7] = (VTABLE_PTR) &java_security_BasicPermission_getActions__;
+ __TIB_java_security_BasicPermission.vtable[8] = (VTABLE_PTR) &java_security_BasicPermission_implies___java_security_Permission;
+ __TIB_java_security_BasicPermission.vtable[9] = (VTABLE_PTR) &java_security_BasicPermission_newPermissionCollection__;
+ // Initialize interface information
+ __TIB_java_security_BasicPermission.numImplementedInterfaces = 2;
+ __TIB_java_security_BasicPermission.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_security_BasicPermission.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_security_Guard)
+
+ __TIB_java_security_BasicPermission.implementedInterfaces[0][1] = &__TIB_java_security_Guard;
+ // Initialize itable for this class
+ __TIB_java_security_BasicPermission.itableBegin = &__TIB_java_security_BasicPermission.itable[0];
+ __TIB_java_security_BasicPermission.itable[XMLVM_ITABLE_IDX_java_security_Guard_checkGuard___java_lang_Object] = __TIB_java_security_BasicPermission.vtable[6];
+
+ _STATIC_java_security_BasicPermission_serialVersionUID = 6279438298436773498;
+
+ __TIB_java_security_BasicPermission.declaredFields = &__field_reflection_data[0];
+ __TIB_java_security_BasicPermission.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_security_BasicPermission.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_security_BasicPermission.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_security_BasicPermission.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_security_BasicPermission.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_security_BasicPermission.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_security_BasicPermission.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_security_BasicPermission = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_security_BasicPermission);
+ __TIB_java_security_BasicPermission.clazz = __CLASS_java_security_BasicPermission;
+ __TIB_java_security_BasicPermission.baseType = JAVA_NULL;
+ __CLASS_java_security_BasicPermission_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_security_BasicPermission);
+ __CLASS_java_security_BasicPermission_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_security_BasicPermission_1ARRAY);
+ __CLASS_java_security_BasicPermission_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_security_BasicPermission_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_security_BasicPermission]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_security_BasicPermission.classInitialized = 1;
+}
+
+void __DELETE_java_security_BasicPermission(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_security_BasicPermission]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_security_BasicPermission(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_security_Permission(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_security_BasicPermission]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_security_BasicPermission()
+{ XMLVM_CLASS_INIT(java_security_BasicPermission)
+java_security_BasicPermission* me = (java_security_BasicPermission*) XMLVM_MALLOC(sizeof(java_security_BasicPermission));
+ me->tib = &__TIB_java_security_BasicPermission;
+ __INIT_INSTANCE_MEMBERS_java_security_BasicPermission(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_security_BasicPermission]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_security_BasicPermission()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_security_BasicPermission_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_security_BasicPermission)
+ return _STATIC_java_security_BasicPermission_serialVersionUID;
+}
+
+void java_security_BasicPermission_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_security_BasicPermission)
+_STATIC_java_security_BasicPermission_serialVersionUID = v;
+}
+
+void java_security_BasicPermission___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_security_BasicPermission___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.security.BasicPermission", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 59)
+ XMLVM_CHECK_NPE(0)
+ java_security_Permission___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 60)
+ XMLVM_CHECK_NPE(0)
+ java_security_BasicPermission_checkName___java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 61)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_security_BasicPermission___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_security_BasicPermission___INIT____java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("java.security.BasicPermission", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 77)
+ XMLVM_CHECK_NPE(0)
+ java_security_Permission___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 78)
+ XMLVM_CHECK_NPE(0)
+ java_security_BasicPermission_checkName___java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 79)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_security_BasicPermission_checkName___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_security_BasicPermission_checkName___java_lang_String]
+ XMLVM_ENTER_METHOD("java.security.BasicPermission", "checkName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 85)
+ if (_r3.o != JAVA_NULL) goto label14;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 86)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ // "security.28"
+ _r1.o = xmlvm_create_java_string_from_pool(165);
+
+
+ // Red class access removed: org.apache.harmony.security.internal.nls.Messages::getString
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label14:;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 88)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r3.o)->tib->vtable[8])(_r3.o);
+ if (_r0.i != 0) goto label32;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 89)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "security.29"
+ _r1.o = xmlvm_create_java_string_from_pool(166);
+
+
+ // Red class access removed: org.apache.harmony.security.internal.nls.Messages::getString
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label32:;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 91)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_security_BasicPermission_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_security_BasicPermission_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.security.BasicPermission", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 109)
+ if (_r3.o != _r2.o) goto label4;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 110)
+ _r0.i = 1;
+ label3:;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 116)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label4:;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 113)
+ if (_r3.o == JAVA_NULL) goto label31;
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(3)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r3.o)->tib->vtable[3])(_r3.o);
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(2)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r2.o)->tib->vtable[3])(_r2.o);
+ if (_r0.o != _r1.o) goto label31;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 114)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_security_Permission_getName__(_r2.o);
+ _r3.o = _r3.o;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = java_security_Permission_getName__(_r3.o);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[1])(_r0.o, _r1.o);
+ goto label3;
+ label31:;
+ _r0.i = 0;
+ goto label3;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_security_BasicPermission_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_security_BasicPermission_hashCode__]
+ XMLVM_ENTER_METHOD("java.security.BasicPermission", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 130)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_security_Permission_getName__(_r1.o);
+ //java_lang_String_hashCode__[4]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[4])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_security_BasicPermission_getActions__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_security_BasicPermission_getActions__]
+ XMLVM_ENTER_METHOD("java.security.BasicPermission", "getActions", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 141)
+ // ""
+ _r0.o = xmlvm_create_java_string_from_pool(21);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_security_BasicPermission_implies___java_security_Permission(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_security_BasicPermission_implies___java_security_Permission]
+ XMLVM_ENTER_METHOD("java.security.BasicPermission", "implies", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ // "exitVM.*"
+ _r4.o = xmlvm_create_java_string_from_pool(167);
+ // "exitVM"
+ _r3.o = xmlvm_create_java_string_from_pool(168);
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 154)
+ if (_r7.o == JAVA_NULL) goto label56;
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(7)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r7.o)->tib->vtable[3])(_r7.o);
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(6)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r6.o)->tib->vtable[3])(_r6.o);
+ if (_r0.o != _r1.o) goto label56;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 155)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = java_security_Permission_getName__(_r6.o);
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 156)
+ XMLVM_CHECK_NPE(7)
+ _r1.o = java_security_Permission_getName__(_r7.o);
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 157)
+ XMLVM_CLASS_INIT(java_lang_RuntimePermission)
+ _r2.i = XMLVM_ISA(_r6.o, __CLASS_java_lang_RuntimePermission);
+ if (_r2.i == 0) goto label58;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 158)
+ // "exitVM"
+ _r2.o = xmlvm_create_java_string_from_pool(168);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(1)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[1])(_r1.o, _r3.o);
+ if (_r2.i == 0) goto label39;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 159)
+ // "exitVM.*"
+ _r1.o = xmlvm_create_java_string_from_pool(167);
+ _r1 = _r4;
+ label39:;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 161)
+ // "exitVM"
+ _r2.o = xmlvm_create_java_string_from_pool(168);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(0)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[1])(_r0.o, _r3.o);
+ if (_r2.i == 0) goto label58;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 162)
+ // "exitVM.*"
+ _r0.o = xmlvm_create_java_string_from_pool(167);
+ _r0 = _r1;
+ _r1 = _r4;
+ label51:;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 165)
+ _r0.i = java_security_BasicPermission_nameImplies___java_lang_String_java_lang_String(_r1.o, _r0.o);
+ label55:;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 167)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label56:;
+ _r0.i = 0;
+ goto label55;
+ label58:;
+ _r5 = _r1;
+ _r1 = _r0;
+ _r0 = _r5;
+ goto label51;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_security_BasicPermission_nameImplies___java_lang_String_java_lang_String(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_security_BasicPermission)
+ //XMLVM_BEGIN_WRAPPER[java_security_BasicPermission_nameImplies___java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("java.security.BasicPermission", "nameImplies", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r5.o = n1;
+ _r6.o = n2;
+ _r4.i = 0;
+ _r3.i = 1;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 176)
+ if (_r5.o != _r6.o) goto label6;
+ _r0 = _r3;
+ label5:;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 177)
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 196)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 179)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(5)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r5.o)->tib->vtable[8])(_r5.o);
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 180)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(6)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r6.o)->tib->vtable[8])(_r6.o);
+ if (_r0.i <= _r1.i) goto label18;
+ _r0 = _r4;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 181)
+ goto label5;
+ label18:;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 183)
+ _r0.i = _r0.i + -1;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(5)
+ _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r5.o)->tib->vtable[6])(_r5.o, _r0.i);
+ _r2.i = 42;
+ if (_r1.i != _r2.i) goto label46;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 184)
+ if (_r0.i == 0) goto label40;
+ _r1.i = _r0.i - _r3.i;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(5)
+ _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r5.o)->tib->vtable[6])(_r5.o, _r1.i);
+ _r2.i = 46;
+ if (_r1.i != _r2.i) goto label46;
+ label40:;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 186)
+ _r0.i = _r0.i + -1;
+ label42:;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 191)
+ if (_r0.i >= 0) goto label55;
+ _r0 = _r3;
+ goto label5;
+ label46:;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 187)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(6)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r6.o)->tib->vtable[8])(_r6.o);
+ _r1.i = _r1.i - _r3.i;
+ if (_r0.i == _r1.i) goto label42;
+ _r0 = _r4;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 189)
+ goto label5;
+ label55:;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 192)
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(5)
+ _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r5.o)->tib->vtable[6])(_r5.o, _r0.i);
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(6)
+ _r2.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r6.o)->tib->vtable[6])(_r6.o, _r0.i);
+ if (_r1.i == _r2.i) goto label67;
+ _r0 = _r4;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 193)
+ goto label5;
+ label67:;
+ _r0.i = _r0.i + -1;
+ goto label42;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_security_BasicPermission_newPermissionCollection__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_security_BasicPermission_newPermissionCollection__]
+ XMLVM_ENTER_METHOD("java.security.BasicPermission", "newPermissionCollection", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 214)
+
+
+ // Red class access removed: java.security.BasicPermissionCollection::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.security.BasicPermissionCollection::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_security_BasicPermission_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_security_BasicPermission_readObject___java_io_ObjectInputStream]
+ XMLVM_ENTER_METHOD("java.security.BasicPermission", "readObject", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 222)
+
+
+ // Red class access removed: java.io.ObjectInputStream::defaultReadObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 223)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_security_Permission_getName__(_r1.o);
+ XMLVM_CHECK_NPE(1)
+ java_security_BasicPermission_checkName___java_lang_String(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("BasicPermission.java", 224)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_security_BasicPermission.h b/tests/nbody-java/java_security_BasicPermission.h
new file mode 100644
index 00000000..648421e2
--- /dev/null
+++ b/tests/nbody-java/java_security_BasicPermission.h
@@ -0,0 +1,93 @@
+#ifndef __JAVA_SECURITY_BASICPERMISSION__
+#define __JAVA_SECURITY_BASICPERMISSION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_security_BasicPermission 1
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+// Super Class:
+#include "java_security_Permission.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_RuntimePermission
+#define XMLVM_FORWARD_DECL_java_lang_RuntimePermission
+XMLVM_FORWARD_DECL(java_lang_RuntimePermission)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+// Class declarations for java.security.BasicPermission
+XMLVM_DEFINE_CLASS(java_security_BasicPermission, 10, XMLVM_ITABLE_SIZE_java_security_BasicPermission)
+
+extern JAVA_OBJECT __CLASS_java_security_BasicPermission;
+extern JAVA_OBJECT __CLASS_java_security_BasicPermission_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_security_BasicPermission_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_security_BasicPermission_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_security_BasicPermission
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_security_BasicPermission \
+ __INSTANCE_FIELDS_java_security_Permission; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_security_BasicPermission \
+ } java_security_BasicPermission
+
+struct java_security_BasicPermission {
+ __TIB_DEFINITION_java_security_BasicPermission* tib;
+ struct {
+ __INSTANCE_FIELDS_java_security_BasicPermission;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_security_BasicPermission
+#define XMLVM_FORWARD_DECL_java_security_BasicPermission
+typedef struct java_security_BasicPermission java_security_BasicPermission;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_security_BasicPermission 10
+#define XMLVM_VTABLE_IDX_java_security_BasicPermission_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_security_BasicPermission_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_security_BasicPermission_getActions__ 7
+#define XMLVM_VTABLE_IDX_java_security_BasicPermission_implies___java_security_Permission 8
+#define XMLVM_VTABLE_IDX_java_security_BasicPermission_newPermissionCollection__ 9
+
+void __INIT_java_security_BasicPermission();
+void __INIT_IMPL_java_security_BasicPermission();
+void __DELETE_java_security_BasicPermission(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_security_BasicPermission(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_security_BasicPermission();
+JAVA_OBJECT __NEW_INSTANCE_java_security_BasicPermission();
+JAVA_LONG java_security_BasicPermission_GET_serialVersionUID();
+void java_security_BasicPermission_PUT_serialVersionUID(JAVA_LONG v);
+void java_security_BasicPermission___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_security_BasicPermission___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_security_BasicPermission_checkName___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 1
+JAVA_BOOLEAN java_security_BasicPermission_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 4
+JAVA_INT java_security_BasicPermission_hashCode__(JAVA_OBJECT me);
+// Vtable index: 7
+JAVA_OBJECT java_security_BasicPermission_getActions__(JAVA_OBJECT me);
+// Vtable index: 8
+JAVA_BOOLEAN java_security_BasicPermission_implies___java_security_Permission(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_security_BasicPermission_nameImplies___java_lang_String_java_lang_String(JAVA_OBJECT n1, JAVA_OBJECT n2);
+// Vtable index: 9
+JAVA_OBJECT java_security_BasicPermission_newPermissionCollection__(JAVA_OBJECT me);
+void java_security_BasicPermission_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_security_Guard.c b/tests/nbody-java/java_security_Guard.c
new file mode 100644
index 00000000..253c44f5
--- /dev/null
+++ b/tests/nbody-java/java_security_Guard.c
@@ -0,0 +1,76 @@
+#include "xmlvm.h"
+
+#include "java_security_Guard.h"
+
+__TIB_DEFINITION_java_security_Guard __TIB_java_security_Guard = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_security_Guard, // classInitializer
+ "java.security.Guard", // className
+ "java.security", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_security_Guard;
+JAVA_OBJECT __CLASS_java_security_Guard_1ARRAY;
+JAVA_OBJECT __CLASS_java_security_Guard_2ARRAY;
+JAVA_OBJECT __CLASS_java_security_Guard_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_security_Guard()
+{
+ staticInitializerLock(&__TIB_java_security_Guard);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_security_Guard.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_security_Guard.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_security_Guard);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_security_Guard.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_security_Guard.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_security_Guard.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.security.Guard")
+ __INIT_IMPL_java_security_Guard();
+ }
+}
+
+void __INIT_IMPL_java_security_Guard()
+{
+ __TIB_java_security_Guard.numInterfaces = 0;
+ __TIB_java_security_Guard.declaredFields = &__field_reflection_data[0];
+ __TIB_java_security_Guard.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_security_Guard.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_security_Guard.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_security_Guard.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_security_Guard = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_security_Guard);
+ __TIB_java_security_Guard.clazz = __CLASS_java_security_Guard;
+ __TIB_java_security_Guard.baseType = JAVA_NULL;
+ __CLASS_java_security_Guard_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_security_Guard);
+ __CLASS_java_security_Guard_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_security_Guard_1ARRAY);
+ __CLASS_java_security_Guard_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_security_Guard_2ARRAY);
+
+ __TIB_java_security_Guard.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_security_Guard.h b/tests/nbody-java/java_security_Guard.h
new file mode 100644
index 00000000..a5fc308d
--- /dev/null
+++ b/tests/nbody-java/java_security_Guard.h
@@ -0,0 +1,28 @@
+#ifndef __JAVA_SECURITY_GUARD__
+#define __JAVA_SECURITY_GUARD__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_security_Guard_checkGuard___java_lang_Object 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+
+XMLVM_DEFINE_CLASS(java_security_Guard, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_security_Guard;
+extern JAVA_OBJECT __CLASS_java_security_Guard_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_security_Guard_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_security_Guard_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_security_Guard
+#define XMLVM_FORWARD_DECL_java_security_Guard
+typedef struct java_security_Guard java_security_Guard;
+#endif
+
+void __INIT_java_security_Guard();
+void __INIT_IMPL_java_security_Guard();
+
+#endif
diff --git a/tests/nbody-java/java_security_Permission.c b/tests/nbody-java/java_security_Permission.c
new file mode 100644
index 00000000..cf04c28f
--- /dev/null
+++ b/tests/nbody-java/java_security_Permission.c
@@ -0,0 +1,325 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_SecurityManager.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_lang_System.h"
+
+#include "java_security_Permission.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Permission
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_security_Permission
+
+__TIB_DEFINITION_java_security_Permission __TIB_java_security_Permission = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_security_Permission, // classInitializer
+ "java.security.Permission", // className
+ "java.security", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_security_Permission), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_security_Permission;
+JAVA_OBJECT __CLASS_java_security_Permission_1ARRAY;
+JAVA_OBJECT __CLASS_java_security_Permission_2ARRAY;
+JAVA_OBJECT __CLASS_java_security_Permission_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_security_Permission_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_security_Permission()
+{
+ staticInitializerLock(&__TIB_java_security_Permission);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_security_Permission.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_security_Permission.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_security_Permission);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_security_Permission.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_security_Permission.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_security_Permission.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.security.Permission")
+ __INIT_IMPL_java_security_Permission();
+ }
+}
+
+void __INIT_IMPL_java_security_Permission()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_security_Permission.newInstanceFunc = __NEW_INSTANCE_java_security_Permission;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_security_Permission.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_security_Permission.vtable[6] = (VTABLE_PTR) &java_security_Permission_checkGuard___java_lang_Object;
+ __TIB_java_security_Permission.vtable[9] = (VTABLE_PTR) &java_security_Permission_newPermissionCollection__;
+ __TIB_java_security_Permission.vtable[5] = (VTABLE_PTR) &java_security_Permission_toString__;
+ // Initialize interface information
+ __TIB_java_security_Permission.numImplementedInterfaces = 2;
+ __TIB_java_security_Permission.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_security_Permission.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_security_Guard)
+
+ __TIB_java_security_Permission.implementedInterfaces[0][1] = &__TIB_java_security_Guard;
+ // Initialize itable for this class
+ __TIB_java_security_Permission.itableBegin = &__TIB_java_security_Permission.itable[0];
+ __TIB_java_security_Permission.itable[XMLVM_ITABLE_IDX_java_security_Guard_checkGuard___java_lang_Object] = __TIB_java_security_Permission.vtable[6];
+
+ _STATIC_java_security_Permission_serialVersionUID = -5636570222231596674;
+
+ __TIB_java_security_Permission.declaredFields = &__field_reflection_data[0];
+ __TIB_java_security_Permission.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_security_Permission.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_security_Permission.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_security_Permission.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_security_Permission.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_security_Permission.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_security_Permission.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_security_Permission = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_security_Permission);
+ __TIB_java_security_Permission.clazz = __CLASS_java_security_Permission;
+ __TIB_java_security_Permission.baseType = JAVA_NULL;
+ __CLASS_java_security_Permission_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_security_Permission);
+ __CLASS_java_security_Permission_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_security_Permission_1ARRAY);
+ __CLASS_java_security_Permission_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_security_Permission_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_security_Permission]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_security_Permission.classInitialized = 1;
+}
+
+void __DELETE_java_security_Permission(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_security_Permission]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_security_Permission(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_security_Permission*) me)->fields.java_security_Permission.name_ = (java_lang_String*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_security_Permission]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_security_Permission()
+{ XMLVM_CLASS_INIT(java_security_Permission)
+java_security_Permission* me = (java_security_Permission*) XMLVM_MALLOC(sizeof(java_security_Permission));
+ me->tib = &__TIB_java_security_Permission;
+ __INIT_INSTANCE_MEMBERS_java_security_Permission(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_security_Permission]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_security_Permission()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_security_Permission_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_security_Permission)
+ return _STATIC_java_security_Permission_serialVersionUID;
+}
+
+void java_security_Permission_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_security_Permission)
+_STATIC_java_security_Permission_serialVersionUID = v;
+}
+
+void java_security_Permission___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_security_Permission___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.security.Permission", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Permission.java", 100)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Permission.java", 101)
+ XMLVM_CHECK_NPE(0)
+ ((java_security_Permission*) _r0.o)->fields.java_security_Permission.name_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Permission.java", 102)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_security_Permission_getName__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_security_Permission_getName__]
+ XMLVM_ENTER_METHOD("java.security.Permission", "getName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Permission.java", 110)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_security_Permission*) _r1.o)->fields.java_security_Permission.name_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_security_Permission_checkGuard___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_security_Permission_checkGuard___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.security.Permission", "checkGuard", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Permission.java", 127)
+ _r0.o = java_lang_System_getSecurityManager__();
+ XMLVM_SOURCE_POSITION("Permission.java", 128)
+ if (_r0.o == JAVA_NULL) goto label9;
+ XMLVM_SOURCE_POSITION("Permission.java", 129)
+ XMLVM_CHECK_NPE(0)
+ java_lang_SecurityManager_checkPermission___java_security_Permission(_r0.o, _r1.o);
+ label9:;
+ XMLVM_SOURCE_POSITION("Permission.java", 131)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_security_Permission_newPermissionCollection__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_security_Permission_newPermissionCollection__]
+ XMLVM_ENTER_METHOD("java.security.Permission", "newPermissionCollection", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Permission.java", 145)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_security_Permission_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_security_Permission_toString__]
+ XMLVM_ENTER_METHOD("java.security.Permission", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ // " "
+ _r3.o = xmlvm_create_java_string_from_pool(57);
+ XMLVM_SOURCE_POSITION("Permission.java", 156)
+ //java_security_Permission_getActions__[7]
+ XMLVM_CHECK_NPE(4)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_security_Permission*) _r4.o)->tib->vtable[7])(_r4.o);
+ XMLVM_SOURCE_POSITION("Permission.java", 157)
+ if (_r0.o == JAVA_NULL) goto label14;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[8])(_r0.o);
+ if (_r0.i != 0) goto label64;
+ label14:;
+ // ""
+ _r0.o = xmlvm_create_java_string_from_pool(21);
+ label16:;
+ XMLVM_SOURCE_POSITION("Permission.java", 159)
+ _r1.o = __NEW_java_lang_StringBuilder();
+ // "("
+ _r2.o = xmlvm_create_java_string_from_pool(85);
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder___INIT____java_lang_String(_r1.o, _r2.o);
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(4)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r4.o)->tib->vtable[3])(_r4.o);
+ XMLVM_CHECK_NPE(2)
+ _r2.o = java_lang_Class_getName__(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r2.o);
+ // " "
+ _r2.o = xmlvm_create_java_string_from_pool(57);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r3.o);
+ XMLVM_CHECK_NPE(4)
+ _r2.o = java_security_Permission_getName__(_r4.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r2.o);
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r0.o);
+ // ")"
+ _r1.o = xmlvm_create_java_string_from_pool(23);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label64:;
+ _r0.o = __NEW_java_lang_StringBuilder();
+ // " "
+ _r1.o = xmlvm_create_java_string_from_pool(57);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____java_lang_String(_r0.o, _r3.o);
+ XMLVM_SOURCE_POSITION("Permission.java", 158)
+ //java_security_Permission_getActions__[7]
+ XMLVM_CHECK_NPE(4)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_security_Permission*) _r4.o)->tib->vtable[7])(_r4.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ goto label16;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_security_Permission.h b/tests/nbody-java/java_security_Permission.h
new file mode 100644
index 00000000..69c285f9
--- /dev/null
+++ b/tests/nbody-java/java_security_Permission.h
@@ -0,0 +1,98 @@
+#ifndef __JAVA_SECURITY_PERMISSION__
+#define __JAVA_SECURITY_PERMISSION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_security_Permission 1
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+#include "java_security_Guard.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_SecurityManager
+#define XMLVM_FORWARD_DECL_java_lang_SecurityManager
+XMLVM_FORWARD_DECL(java_lang_SecurityManager)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+// Class declarations for java.security.Permission
+XMLVM_DEFINE_CLASS(java_security_Permission, 10, XMLVM_ITABLE_SIZE_java_security_Permission)
+
+extern JAVA_OBJECT __CLASS_java_security_Permission;
+extern JAVA_OBJECT __CLASS_java_security_Permission_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_security_Permission_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_security_Permission_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_security_Permission
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_security_Permission \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT name_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_security_Permission \
+ } java_security_Permission
+
+struct java_security_Permission {
+ __TIB_DEFINITION_java_security_Permission* tib;
+ struct {
+ __INSTANCE_FIELDS_java_security_Permission;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_security_Permission
+#define XMLVM_FORWARD_DECL_java_security_Permission
+typedef struct java_security_Permission java_security_Permission;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_security_Permission 10
+#define XMLVM_VTABLE_IDX_java_security_Permission_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_security_Permission_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_security_Permission_getActions__ 7
+#define XMLVM_VTABLE_IDX_java_security_Permission_implies___java_security_Permission 8
+#define XMLVM_VTABLE_IDX_java_security_Permission_checkGuard___java_lang_Object 6
+#define XMLVM_VTABLE_IDX_java_security_Permission_newPermissionCollection__ 9
+#define XMLVM_VTABLE_IDX_java_security_Permission_toString__ 5
+
+void __INIT_java_security_Permission();
+void __INIT_IMPL_java_security_Permission();
+void __DELETE_java_security_Permission(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_security_Permission(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_security_Permission();
+JAVA_OBJECT __NEW_INSTANCE_java_security_Permission();
+JAVA_LONG java_security_Permission_GET_serialVersionUID();
+void java_security_Permission_PUT_serialVersionUID(JAVA_LONG v);
+// Vtable index: 1
+JAVA_BOOLEAN java_security_Permission_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 4
+JAVA_INT java_security_Permission_hashCode__(JAVA_OBJECT me);
+// Vtable index: 7
+JAVA_OBJECT java_security_Permission_getActions__(JAVA_OBJECT me);
+// Vtable index: 8
+JAVA_BOOLEAN java_security_Permission_implies___java_security_Permission(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_security_Permission___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_security_Permission_getName__(JAVA_OBJECT me);
+// Vtable index: 6
+void java_security_Permission_checkGuard___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 9
+JAVA_OBJECT java_security_Permission_newPermissionCollection__(JAVA_OBJECT me);
+// Vtable index: 5
+JAVA_OBJECT java_security_Permission_toString__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_security_PrivilegedAction.c b/tests/nbody-java/java_security_PrivilegedAction.c
new file mode 100644
index 00000000..7c82bfa3
--- /dev/null
+++ b/tests/nbody-java/java_security_PrivilegedAction.c
@@ -0,0 +1,76 @@
+#include "xmlvm.h"
+
+#include "java_security_PrivilegedAction.h"
+
+__TIB_DEFINITION_java_security_PrivilegedAction __TIB_java_security_PrivilegedAction = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_security_PrivilegedAction, // classInitializer
+ "java.security.PrivilegedAction", // className
+ "java.security", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<T:Ljava/lang/Object;>Ljava/lang/Object;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_security_PrivilegedAction;
+JAVA_OBJECT __CLASS_java_security_PrivilegedAction_1ARRAY;
+JAVA_OBJECT __CLASS_java_security_PrivilegedAction_2ARRAY;
+JAVA_OBJECT __CLASS_java_security_PrivilegedAction_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_security_PrivilegedAction()
+{
+ staticInitializerLock(&__TIB_java_security_PrivilegedAction);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_security_PrivilegedAction.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_security_PrivilegedAction.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_security_PrivilegedAction);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_security_PrivilegedAction.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_security_PrivilegedAction.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_security_PrivilegedAction.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.security.PrivilegedAction")
+ __INIT_IMPL_java_security_PrivilegedAction();
+ }
+}
+
+void __INIT_IMPL_java_security_PrivilegedAction()
+{
+ __TIB_java_security_PrivilegedAction.numInterfaces = 0;
+ __TIB_java_security_PrivilegedAction.declaredFields = &__field_reflection_data[0];
+ __TIB_java_security_PrivilegedAction.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_security_PrivilegedAction.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_security_PrivilegedAction.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_security_PrivilegedAction.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_security_PrivilegedAction = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_security_PrivilegedAction);
+ __TIB_java_security_PrivilegedAction.clazz = __CLASS_java_security_PrivilegedAction;
+ __TIB_java_security_PrivilegedAction.baseType = JAVA_NULL;
+ __CLASS_java_security_PrivilegedAction_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_security_PrivilegedAction);
+ __CLASS_java_security_PrivilegedAction_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_security_PrivilegedAction_1ARRAY);
+ __CLASS_java_security_PrivilegedAction_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_security_PrivilegedAction_2ARRAY);
+
+ __TIB_java_security_PrivilegedAction.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_security_PrivilegedAction.h b/tests/nbody-java/java_security_PrivilegedAction.h
new file mode 100644
index 00000000..cb867e29
--- /dev/null
+++ b/tests/nbody-java/java_security_PrivilegedAction.h
@@ -0,0 +1,28 @@
+#ifndef __JAVA_SECURITY_PRIVILEGEDACTION__
+#define __JAVA_SECURITY_PRIVILEGEDACTION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_security_PrivilegedAction_run__ 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+
+XMLVM_DEFINE_CLASS(java_security_PrivilegedAction, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_security_PrivilegedAction;
+extern JAVA_OBJECT __CLASS_java_security_PrivilegedAction_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_security_PrivilegedAction_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_security_PrivilegedAction_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_security_PrivilegedAction
+#define XMLVM_FORWARD_DECL_java_security_PrivilegedAction
+typedef struct java_security_PrivilegedAction java_security_PrivilegedAction;
+#endif
+
+void __INIT_java_security_PrivilegedAction();
+void __INIT_IMPL_java_security_PrivilegedAction();
+
+#endif
diff --git a/tests/nbody-java/java_util_AbstractCollection.c b/tests/nbody-java/java_util_AbstractCollection.c
new file mode 100644
index 00000000..fe798650
--- /dev/null
+++ b/tests/nbody-java/java_util_AbstractCollection.c
@@ -0,0 +1,747 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_lang_reflect_Array.h"
+#include "java_util_Iterator.h"
+
+#include "java_util_AbstractCollection.h"
+
+#define XMLVM_CURRENT_CLASS_NAME AbstractCollection
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_AbstractCollection
+
+__TIB_DEFINITION_java_util_AbstractCollection __TIB_java_util_AbstractCollection = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_AbstractCollection, // classInitializer
+ "java.util.AbstractCollection", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<E:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Collection<TE;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_util_AbstractCollection), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_AbstractCollection;
+JAVA_OBJECT __CLASS_java_util_AbstractCollection_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_AbstractCollection_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_AbstractCollection_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_AbstractCollection()
+{
+ staticInitializerLock(&__TIB_java_util_AbstractCollection);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_AbstractCollection.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_AbstractCollection.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_AbstractCollection);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_AbstractCollection.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_AbstractCollection.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_AbstractCollection.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.AbstractCollection")
+ __INIT_IMPL_java_util_AbstractCollection();
+ }
+}
+
+void __INIT_IMPL_java_util_AbstractCollection()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_util_AbstractCollection.newInstanceFunc = __NEW_INSTANCE_java_util_AbstractCollection;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_AbstractCollection.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_util_AbstractCollection.vtable[7] = (VTABLE_PTR) &java_util_AbstractCollection_add___java_lang_Object;
+ __TIB_java_util_AbstractCollection.vtable[6] = (VTABLE_PTR) &java_util_AbstractCollection_addAll___java_util_Collection;
+ __TIB_java_util_AbstractCollection.vtable[8] = (VTABLE_PTR) &java_util_AbstractCollection_clear__;
+ __TIB_java_util_AbstractCollection.vtable[10] = (VTABLE_PTR) &java_util_AbstractCollection_contains___java_lang_Object;
+ __TIB_java_util_AbstractCollection.vtable[9] = (VTABLE_PTR) &java_util_AbstractCollection_containsAll___java_util_Collection;
+ __TIB_java_util_AbstractCollection.vtable[11] = (VTABLE_PTR) &java_util_AbstractCollection_isEmpty__;
+ __TIB_java_util_AbstractCollection.vtable[14] = (VTABLE_PTR) &java_util_AbstractCollection_remove___java_lang_Object;
+ __TIB_java_util_AbstractCollection.vtable[13] = (VTABLE_PTR) &java_util_AbstractCollection_removeAll___java_util_Collection;
+ __TIB_java_util_AbstractCollection.vtable[15] = (VTABLE_PTR) &java_util_AbstractCollection_retainAll___java_util_Collection;
+ __TIB_java_util_AbstractCollection.vtable[17] = (VTABLE_PTR) &java_util_AbstractCollection_toArray__;
+ __TIB_java_util_AbstractCollection.vtable[18] = (VTABLE_PTR) &java_util_AbstractCollection_toArray___java_lang_Object_1ARRAY;
+ __TIB_java_util_AbstractCollection.vtable[5] = (VTABLE_PTR) &java_util_AbstractCollection_toString__;
+ // Initialize interface information
+ __TIB_java_util_AbstractCollection.numImplementedInterfaces = 2;
+ __TIB_java_util_AbstractCollection.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_lang_Iterable)
+
+ __TIB_java_util_AbstractCollection.implementedInterfaces[0][0] = &__TIB_java_lang_Iterable;
+
+ XMLVM_CLASS_INIT(java_util_Collection)
+
+ __TIB_java_util_AbstractCollection.implementedInterfaces[0][1] = &__TIB_java_util_Collection;
+ // Initialize itable for this class
+ __TIB_java_util_AbstractCollection.itableBegin = &__TIB_java_util_AbstractCollection.itable[0];
+ __TIB_java_util_AbstractCollection.itable[XMLVM_ITABLE_IDX_java_lang_Iterable_iterator__] = __TIB_java_util_AbstractCollection.vtable[12];
+ __TIB_java_util_AbstractCollection.itable[XMLVM_ITABLE_IDX_java_util_Collection_addAll___java_util_Collection] = __TIB_java_util_AbstractCollection.vtable[6];
+ __TIB_java_util_AbstractCollection.itable[XMLVM_ITABLE_IDX_java_util_Collection_add___java_lang_Object] = __TIB_java_util_AbstractCollection.vtable[7];
+ __TIB_java_util_AbstractCollection.itable[XMLVM_ITABLE_IDX_java_util_Collection_clear__] = __TIB_java_util_AbstractCollection.vtable[8];
+ __TIB_java_util_AbstractCollection.itable[XMLVM_ITABLE_IDX_java_util_Collection_containsAll___java_util_Collection] = __TIB_java_util_AbstractCollection.vtable[9];
+ __TIB_java_util_AbstractCollection.itable[XMLVM_ITABLE_IDX_java_util_Collection_contains___java_lang_Object] = __TIB_java_util_AbstractCollection.vtable[10];
+ __TIB_java_util_AbstractCollection.itable[XMLVM_ITABLE_IDX_java_util_Collection_equals___java_lang_Object] = __TIB_java_util_AbstractCollection.vtable[1];
+ __TIB_java_util_AbstractCollection.itable[XMLVM_ITABLE_IDX_java_util_Collection_hashCode__] = __TIB_java_util_AbstractCollection.vtable[4];
+ __TIB_java_util_AbstractCollection.itable[XMLVM_ITABLE_IDX_java_util_Collection_isEmpty__] = __TIB_java_util_AbstractCollection.vtable[11];
+ __TIB_java_util_AbstractCollection.itable[XMLVM_ITABLE_IDX_java_util_Collection_iterator__] = __TIB_java_util_AbstractCollection.vtable[12];
+ __TIB_java_util_AbstractCollection.itable[XMLVM_ITABLE_IDX_java_util_Collection_removeAll___java_util_Collection] = __TIB_java_util_AbstractCollection.vtable[13];
+ __TIB_java_util_AbstractCollection.itable[XMLVM_ITABLE_IDX_java_util_Collection_remove___java_lang_Object] = __TIB_java_util_AbstractCollection.vtable[14];
+ __TIB_java_util_AbstractCollection.itable[XMLVM_ITABLE_IDX_java_util_Collection_retainAll___java_util_Collection] = __TIB_java_util_AbstractCollection.vtable[15];
+ __TIB_java_util_AbstractCollection.itable[XMLVM_ITABLE_IDX_java_util_Collection_size__] = __TIB_java_util_AbstractCollection.vtable[16];
+ __TIB_java_util_AbstractCollection.itable[XMLVM_ITABLE_IDX_java_util_Collection_toArray__] = __TIB_java_util_AbstractCollection.vtable[17];
+ __TIB_java_util_AbstractCollection.itable[XMLVM_ITABLE_IDX_java_util_Collection_toArray___java_lang_Object_1ARRAY] = __TIB_java_util_AbstractCollection.vtable[18];
+
+
+ __TIB_java_util_AbstractCollection.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_AbstractCollection.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_AbstractCollection.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_AbstractCollection.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_AbstractCollection.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_AbstractCollection.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_AbstractCollection.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_AbstractCollection.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_AbstractCollection = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_AbstractCollection);
+ __TIB_java_util_AbstractCollection.clazz = __CLASS_java_util_AbstractCollection;
+ __TIB_java_util_AbstractCollection.baseType = JAVA_NULL;
+ __CLASS_java_util_AbstractCollection_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_AbstractCollection);
+ __CLASS_java_util_AbstractCollection_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_AbstractCollection_1ARRAY);
+ __CLASS_java_util_AbstractCollection_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_AbstractCollection_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_AbstractCollection]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_AbstractCollection.classInitialized = 1;
+}
+
+void __DELETE_java_util_AbstractCollection(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_AbstractCollection]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_AbstractCollection(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_AbstractCollection]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_AbstractCollection()
+{ XMLVM_CLASS_INIT(java_util_AbstractCollection)
+java_util_AbstractCollection* me = (java_util_AbstractCollection*) XMLVM_MALLOC(sizeof(java_util_AbstractCollection));
+ me->tib = &__TIB_java_util_AbstractCollection;
+ __INIT_INSTANCE_MEMBERS_java_util_AbstractCollection(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_AbstractCollection]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_AbstractCollection()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_util_AbstractCollection();
+ java_util_AbstractCollection___INIT___(me);
+ return me;
+}
+
+void java_util_AbstractCollection___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractCollection___INIT___]
+ XMLVM_ENTER_METHOD("java.util.AbstractCollection", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 37)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 38)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_AbstractCollection_add___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractCollection_add___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.AbstractCollection", "add", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 41)
+
+
+ // Red class access removed: java.lang.UnsupportedOperationException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.UnsupportedOperationException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_AbstractCollection_addAll___java_util_Collection(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractCollection_addAll___java_util_Collection]
+ XMLVM_ENTER_METHOD("java.util.AbstractCollection", "addAll", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 74)
+ _r0.i = 0;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 75)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_iterator__])(_r4.o);
+ label5:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 76)
+ XMLVM_CHECK_NPE(1)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r1.o);
+ if (_r2.i != 0) goto label12;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 81)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label12:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 77)
+ XMLVM_CHECK_NPE(1)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r1.o);
+ //java_util_AbstractCollection_add___java_lang_Object[7]
+ XMLVM_CHECK_NPE(3)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_AbstractCollection*) _r3.o)->tib->vtable[7])(_r3.o, _r2.o);
+ if (_r2.i == 0) goto label5;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 78)
+ _r0.i = 1;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_AbstractCollection_clear__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractCollection_clear__]
+ XMLVM_ENTER_METHOD("java.util.AbstractCollection", "clear", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 101)
+ //java_util_AbstractCollection_iterator__[12]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_AbstractCollection*) _r2.o)->tib->vtable[12])(_r2.o);
+ label4:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 102)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r1.i != 0) goto label11;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 106)
+ XMLVM_EXIT_METHOD()
+ return;
+ label11:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 103)
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 104)
+ XMLVM_CHECK_NPE(0)
+ (*(void (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_remove__])(_r0.o);
+ goto label4;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_AbstractCollection_contains___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractCollection_contains___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.AbstractCollection", "contains", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ _r2.i = 1;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 128)
+ //java_util_AbstractCollection_iterator__[12]
+ XMLVM_CHECK_NPE(3)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_AbstractCollection*) _r3.o)->tib->vtable[12])(_r3.o);
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 129)
+ if (_r4.o == JAVA_NULL) goto label35;
+ label7:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 130)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r1.i != 0) goto label15;
+ label13:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 142)
+ _r0.i = 0;
+ label14:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label15:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 131)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(4)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r4.o)->tib->vtable[1])(_r4.o, _r1.o);
+ if (_r1.i == 0) goto label7;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 132)
+ goto label14;
+ label27:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 137)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ if (_r1.o != JAVA_NULL) goto label35;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 138)
+ goto label14;
+ label35:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 136)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r1.i != 0) goto label27;
+ goto label13;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_AbstractCollection_containsAll___java_util_Collection(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractCollection_containsAll___java_util_Collection]
+ XMLVM_ENTER_METHOD("java.util.AbstractCollection", "containsAll", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 166)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_iterator__])(_r3.o);
+ label4:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 167)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r1.i != 0) goto label12;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 172)
+ _r0.i = 1;
+ label11:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label12:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 168)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ //java_util_AbstractCollection_contains___java_lang_Object[10]
+ XMLVM_CHECK_NPE(2)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_AbstractCollection*) _r2.o)->tib->vtable[10])(_r2.o, _r1.o);
+ if (_r1.i != 0) goto label4;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 169)
+ _r0.i = 0;
+ goto label11;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_AbstractCollection_isEmpty__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractCollection_isEmpty__]
+ XMLVM_ENTER_METHOD("java.util.AbstractCollection", "isEmpty", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 185)
+ //java_util_AbstractCollection_size__[16]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_AbstractCollection*) _r1.o)->tib->vtable[16])(_r1.o);
+ if (_r0.i != 0) goto label8;
+ _r0.i = 1;
+ label7:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label8:;
+ _r0.i = 0;
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_AbstractCollection_remove___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractCollection_remove___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.AbstractCollection", "remove", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ _r2.i = 1;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 226)
+ //java_util_AbstractCollection_iterator__[12]
+ XMLVM_CHECK_NPE(3)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_AbstractCollection*) _r3.o)->tib->vtable[12])(_r3.o);
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 227)
+ if (_r4.o == JAVA_NULL) goto label41;
+ label7:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 228)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r1.i != 0) goto label15;
+ label13:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 242)
+ _r0.i = 0;
+ label14:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label15:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 229)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(4)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r4.o)->tib->vtable[1])(_r4.o, _r1.o);
+ if (_r1.i == 0) goto label7;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 230)
+ XMLVM_CHECK_NPE(0)
+ (*(void (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_remove__])(_r0.o);
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 231)
+ goto label14;
+ label30:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 236)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ if (_r1.o != JAVA_NULL) goto label41;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 237)
+ XMLVM_CHECK_NPE(0)
+ (*(void (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_remove__])(_r0.o);
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 238)
+ goto label14;
+ label41:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 235)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r1.i != 0) goto label30;
+ goto label13;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_AbstractCollection_removeAll___java_util_Collection(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractCollection_removeAll___java_util_Collection]
+ XMLVM_ENTER_METHOD("java.util.AbstractCollection", "removeAll", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 275)
+ _r0.i = 0;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 276)
+ //java_util_AbstractCollection_iterator__[12]
+ XMLVM_CHECK_NPE(3)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_AbstractCollection*) _r3.o)->tib->vtable[12])(_r3.o);
+ label5:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 277)
+ XMLVM_CHECK_NPE(1)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r1.o);
+ if (_r2.i != 0) goto label12;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 283)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label12:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 278)
+ XMLVM_CHECK_NPE(1)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r1.o);
+ XMLVM_CHECK_NPE(4)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_contains___java_lang_Object])(_r4.o, _r2.o);
+ if (_r2.i == 0) goto label5;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 279)
+ XMLVM_CHECK_NPE(1)
+ (*(void (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_remove__])(_r1.o);
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 280)
+ _r0.i = 1;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_AbstractCollection_retainAll___java_util_Collection(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractCollection_retainAll___java_util_Collection]
+ XMLVM_ENTER_METHOD("java.util.AbstractCollection", "retainAll", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 316)
+ _r0.i = 0;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 317)
+ //java_util_AbstractCollection_iterator__[12]
+ XMLVM_CHECK_NPE(3)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_AbstractCollection*) _r3.o)->tib->vtable[12])(_r3.o);
+ label5:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 318)
+ XMLVM_CHECK_NPE(1)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r1.o);
+ if (_r2.i != 0) goto label12;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 324)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label12:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 319)
+ XMLVM_CHECK_NPE(1)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r1.o);
+ XMLVM_CHECK_NPE(4)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_contains___java_lang_Object])(_r4.o, _r2.o);
+ if (_r2.i != 0) goto label5;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 320)
+ XMLVM_CHECK_NPE(1)
+ (*(void (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_remove__])(_r1.o);
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 321)
+ _r0.i = 1;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_AbstractCollection_toArray__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractCollection_toArray__]
+ XMLVM_ENTER_METHOD("java.util.AbstractCollection", "toArray", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r6.o = me;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 340)
+ //java_util_AbstractCollection_size__[16]
+ XMLVM_CHECK_NPE(6)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_AbstractCollection*) _r6.o)->tib->vtable[16])(_r6.o);
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 341)
+ //java_util_AbstractCollection_iterator__[12]
+ XMLVM_CHECK_NPE(6)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_AbstractCollection*) _r6.o)->tib->vtable[12])(_r6.o);
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 342)
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r0.i);
+ label11:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 343)
+ if (_r1.i < _r0.i) goto label14;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 346)
+ XMLVM_EXIT_METHOD()
+ return _r3.o;
+ label14:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 344)
+ _r4.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(2)
+ _r5.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r2.o);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.o;
+ _r1 = _r4;
+ goto label11;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_AbstractCollection_toArray___java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractCollection_toArray___java_lang_Object_1ARRAY]
+ XMLVM_ENTER_METHOD("java.util.AbstractCollection", "toArray", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.o = n1;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 351)
+ //java_util_AbstractCollection_size__[16]
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_AbstractCollection*) _r4.o)->tib->vtable[16])(_r4.o);
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 352)
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ if (_r0.i <= _r2.i) goto label51;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 353)
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(5)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r5.o)->tib->vtable[3])(_r5.o);
+ XMLVM_CHECK_NPE(2)
+ _r2.o = java_lang_Class_getComponentType__(_r2.o);
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 354)
+ _r0.o = java_lang_reflect_Array_newInstance___java_lang_Class_int(_r2.o, _r0.i);
+ _r0.o = _r0.o;
+ label22:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 356)
+ //java_util_AbstractCollection_iterator__[12]
+ XMLVM_CHECK_NPE(4)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_AbstractCollection*) _r4.o)->tib->vtable[12])(_r4.o);
+ label26:;
+ XMLVM_CHECK_NPE(2)
+ _r3.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r2.o);
+ if (_r3.i != 0) goto label39;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 359)
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ if (_r1.i >= _r2.i) goto label38;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 360)
+ _r2.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ label38:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 362)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label39:;
+ XMLVM_CHECK_NPE(2)
+ _r4.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r2.o);
+ _r4.o = _r4.o;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 357)
+ _r3.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.o;
+ _r1 = _r3;
+ goto label26;
+ label51:;
+ _r0 = _r5;
+ goto label22;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_AbstractCollection_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractCollection_toString__]
+ XMLVM_ENTER_METHOD("java.util.AbstractCollection", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 374)
+ //java_util_AbstractCollection_isEmpty__[11]
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) ((java_util_AbstractCollection*) _r3.o)->tib->vtable[11])(_r3.o);
+ if (_r0.i == 0) goto label9;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 375)
+ // "[]"
+ _r0.o = xmlvm_create_java_string_from_pool(95);
+ label8:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 393)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label9:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 378)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ //java_util_AbstractCollection_size__[16]
+ XMLVM_CHECK_NPE(3)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_AbstractCollection*) _r3.o)->tib->vtable[16])(_r3.o);
+ _r1.i = _r1.i * 16;
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____int(_r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 379)
+ _r1.i = 91;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 380)
+ //java_util_AbstractCollection_iterator__[12]
+ XMLVM_CHECK_NPE(3)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_AbstractCollection*) _r3.o)->tib->vtable[12])(_r3.o);
+ label29:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 381)
+ XMLVM_CHECK_NPE(1)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r1.o);
+ if (_r2.i != 0) goto label45;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 392)
+ _r1.i = 93;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r1.i);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ goto label8;
+ label45:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 382)
+ XMLVM_CHECK_NPE(1)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r1.o);
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 383)
+ if (_r2.o == _r3.o) goto label66;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 384)
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_Object(_r0.o, _r2.o);
+ label54:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 388)
+ XMLVM_CHECK_NPE(1)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r1.o);
+ if (_r2.i == 0) goto label29;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 389)
+ // ", "
+ _r2.o = xmlvm_create_java_string_from_pool(7);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r2.o);
+ goto label29;
+ label66:;
+ XMLVM_SOURCE_POSITION("AbstractCollection.java", 386)
+ // "(this Collection)"
+ _r2.o = xmlvm_create_java_string_from_pool(96);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r2.o);
+ goto label54;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_AbstractCollection.h b/tests/nbody-java/java_util_AbstractCollection.h
new file mode 100644
index 00000000..b56277d7
--- /dev/null
+++ b/tests/nbody-java/java_util_AbstractCollection.h
@@ -0,0 +1,114 @@
+#ifndef __JAVA_UTIL_ABSTRACTCOLLECTION__
+#define __JAVA_UTIL_ABSTRACTCOLLECTION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_AbstractCollection 16
+// Implemented interfaces:
+#include "java_util_Collection.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_Array
+#define XMLVM_FORWARD_DECL_java_lang_reflect_Array
+XMLVM_FORWARD_DECL(java_lang_reflect_Array)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Iterator
+#define XMLVM_FORWARD_DECL_java_util_Iterator
+XMLVM_FORWARD_DECL(java_util_Iterator)
+#endif
+// Class declarations for java.util.AbstractCollection
+XMLVM_DEFINE_CLASS(java_util_AbstractCollection, 19, XMLVM_ITABLE_SIZE_java_util_AbstractCollection)
+
+extern JAVA_OBJECT __CLASS_java_util_AbstractCollection;
+extern JAVA_OBJECT __CLASS_java_util_AbstractCollection_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_AbstractCollection_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_AbstractCollection_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_AbstractCollection
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_AbstractCollection \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_AbstractCollection \
+ } java_util_AbstractCollection
+
+struct java_util_AbstractCollection {
+ __TIB_DEFINITION_java_util_AbstractCollection* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_AbstractCollection;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_AbstractCollection
+#define XMLVM_FORWARD_DECL_java_util_AbstractCollection
+typedef struct java_util_AbstractCollection java_util_AbstractCollection;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_AbstractCollection 19
+#define XMLVM_VTABLE_IDX_java_util_AbstractCollection_add___java_lang_Object 7
+#define XMLVM_VTABLE_IDX_java_util_AbstractCollection_addAll___java_util_Collection 6
+#define XMLVM_VTABLE_IDX_java_util_AbstractCollection_clear__ 8
+#define XMLVM_VTABLE_IDX_java_util_AbstractCollection_contains___java_lang_Object 10
+#define XMLVM_VTABLE_IDX_java_util_AbstractCollection_containsAll___java_util_Collection 9
+#define XMLVM_VTABLE_IDX_java_util_AbstractCollection_isEmpty__ 11
+#define XMLVM_VTABLE_IDX_java_util_AbstractCollection_iterator__ 12
+#define XMLVM_VTABLE_IDX_java_util_AbstractCollection_remove___java_lang_Object 14
+#define XMLVM_VTABLE_IDX_java_util_AbstractCollection_removeAll___java_util_Collection 13
+#define XMLVM_VTABLE_IDX_java_util_AbstractCollection_retainAll___java_util_Collection 15
+#define XMLVM_VTABLE_IDX_java_util_AbstractCollection_size__ 16
+#define XMLVM_VTABLE_IDX_java_util_AbstractCollection_toArray__ 17
+#define XMLVM_VTABLE_IDX_java_util_AbstractCollection_toArray___java_lang_Object_1ARRAY 18
+#define XMLVM_VTABLE_IDX_java_util_AbstractCollection_toString__ 5
+
+void __INIT_java_util_AbstractCollection();
+void __INIT_IMPL_java_util_AbstractCollection();
+void __DELETE_java_util_AbstractCollection(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_AbstractCollection(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_AbstractCollection();
+JAVA_OBJECT __NEW_INSTANCE_java_util_AbstractCollection();
+void java_util_AbstractCollection___INIT___(JAVA_OBJECT me);
+// Vtable index: 7
+JAVA_BOOLEAN java_util_AbstractCollection_add___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 6
+JAVA_BOOLEAN java_util_AbstractCollection_addAll___java_util_Collection(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 8
+void java_util_AbstractCollection_clear__(JAVA_OBJECT me);
+// Vtable index: 10
+JAVA_BOOLEAN java_util_AbstractCollection_contains___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 9
+JAVA_BOOLEAN java_util_AbstractCollection_containsAll___java_util_Collection(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 11
+JAVA_BOOLEAN java_util_AbstractCollection_isEmpty__(JAVA_OBJECT me);
+// Vtable index: 12
+JAVA_OBJECT java_util_AbstractCollection_iterator__(JAVA_OBJECT me);
+// Vtable index: 14
+JAVA_BOOLEAN java_util_AbstractCollection_remove___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 13
+JAVA_BOOLEAN java_util_AbstractCollection_removeAll___java_util_Collection(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 15
+JAVA_BOOLEAN java_util_AbstractCollection_retainAll___java_util_Collection(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 16
+JAVA_INT java_util_AbstractCollection_size__(JAVA_OBJECT me);
+// Vtable index: 17
+JAVA_OBJECT java_util_AbstractCollection_toArray__(JAVA_OBJECT me);
+// Vtable index: 18
+JAVA_OBJECT java_util_AbstractCollection_toArray___java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 5
+JAVA_OBJECT java_util_AbstractCollection_toString__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_util_AbstractList.c b/tests/nbody-java/java_util_AbstractList.c
new file mode 100644
index 00000000..8100b513
--- /dev/null
+++ b/tests/nbody-java/java_util_AbstractList.c
@@ -0,0 +1,825 @@
+#include "xmlvm.h"
+#include "java_lang_IndexOutOfBoundsException.h"
+#include "java_lang_Object.h"
+#include "java_util_Collection.h"
+#include "java_util_Iterator.h"
+#include "java_util_RandomAccess.h"
+
+#include "java_util_AbstractList.h"
+
+#define XMLVM_CURRENT_CLASS_NAME AbstractList
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_AbstractList
+
+__TIB_DEFINITION_java_util_AbstractList __TIB_java_util_AbstractList = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_AbstractList, // classInitializer
+ "java.util.AbstractList", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<E:Ljava/lang/Object;>Ljava/util/AbstractCollection<TE;>;Ljava/util/List<TE;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_AbstractCollection, // extends
+ sizeof(java_util_AbstractList), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_AbstractList;
+JAVA_OBJECT __CLASS_java_util_AbstractList_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_AbstractList_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_AbstractList_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_AbstractList()
+{
+ staticInitializerLock(&__TIB_java_util_AbstractList);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_AbstractList.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_AbstractList.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_AbstractList);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_AbstractList.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_AbstractList.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_AbstractList.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.AbstractList")
+ __INIT_IMPL_java_util_AbstractList();
+ }
+}
+
+void __INIT_IMPL_java_util_AbstractList()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_util_AbstractCollection)
+ __TIB_java_util_AbstractList.newInstanceFunc = __NEW_INSTANCE_java_util_AbstractList;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_AbstractList.vtable, __TIB_java_util_AbstractCollection.vtable, sizeof(__TIB_java_util_AbstractCollection.vtable));
+ // Initialize vtable for this class
+ __TIB_java_util_AbstractList.vtable[20] = (VTABLE_PTR) &java_util_AbstractList_add___int_java_lang_Object;
+ __TIB_java_util_AbstractList.vtable[7] = (VTABLE_PTR) &java_util_AbstractList_add___java_lang_Object;
+ __TIB_java_util_AbstractList.vtable[19] = (VTABLE_PTR) &java_util_AbstractList_addAll___int_java_util_Collection;
+ __TIB_java_util_AbstractList.vtable[8] = (VTABLE_PTR) &java_util_AbstractList_clear__;
+ __TIB_java_util_AbstractList.vtable[1] = (VTABLE_PTR) &java_util_AbstractList_equals___java_lang_Object;
+ __TIB_java_util_AbstractList.vtable[4] = (VTABLE_PTR) &java_util_AbstractList_hashCode__;
+ __TIB_java_util_AbstractList.vtable[22] = (VTABLE_PTR) &java_util_AbstractList_indexOf___java_lang_Object;
+ __TIB_java_util_AbstractList.vtable[12] = (VTABLE_PTR) &java_util_AbstractList_iterator__;
+ __TIB_java_util_AbstractList.vtable[23] = (VTABLE_PTR) &java_util_AbstractList_lastIndexOf___java_lang_Object;
+ __TIB_java_util_AbstractList.vtable[24] = (VTABLE_PTR) &java_util_AbstractList_listIterator__;
+ __TIB_java_util_AbstractList.vtable[25] = (VTABLE_PTR) &java_util_AbstractList_listIterator___int;
+ __TIB_java_util_AbstractList.vtable[27] = (VTABLE_PTR) &java_util_AbstractList_remove___int;
+ __TIB_java_util_AbstractList.vtable[26] = (VTABLE_PTR) &java_util_AbstractList_removeRange___int_int;
+ __TIB_java_util_AbstractList.vtable[28] = (VTABLE_PTR) &java_util_AbstractList_set___int_java_lang_Object;
+ __TIB_java_util_AbstractList.vtable[29] = (VTABLE_PTR) &java_util_AbstractList_subList___int_int;
+ // Initialize interface information
+ __TIB_java_util_AbstractList.numImplementedInterfaces = 3;
+ __TIB_java_util_AbstractList.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 3);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_lang_Iterable)
+
+ __TIB_java_util_AbstractList.implementedInterfaces[0][0] = &__TIB_java_lang_Iterable;
+
+ XMLVM_CLASS_INIT(java_util_Collection)
+
+ __TIB_java_util_AbstractList.implementedInterfaces[0][1] = &__TIB_java_util_Collection;
+
+ XMLVM_CLASS_INIT(java_util_List)
+
+ __TIB_java_util_AbstractList.implementedInterfaces[0][2] = &__TIB_java_util_List;
+ // Initialize itable for this class
+ __TIB_java_util_AbstractList.itableBegin = &__TIB_java_util_AbstractList.itable[0];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_lang_Iterable_iterator__] = __TIB_java_util_AbstractList.vtable[12];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_Collection_addAll___java_util_Collection] = __TIB_java_util_AbstractList.vtable[6];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_Collection_add___java_lang_Object] = __TIB_java_util_AbstractList.vtable[7];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_Collection_clear__] = __TIB_java_util_AbstractList.vtable[8];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_Collection_containsAll___java_util_Collection] = __TIB_java_util_AbstractList.vtable[9];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_Collection_contains___java_lang_Object] = __TIB_java_util_AbstractList.vtable[10];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_Collection_equals___java_lang_Object] = __TIB_java_util_AbstractList.vtable[1];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_Collection_hashCode__] = __TIB_java_util_AbstractList.vtable[4];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_Collection_isEmpty__] = __TIB_java_util_AbstractList.vtable[11];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_Collection_iterator__] = __TIB_java_util_AbstractList.vtable[12];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_Collection_removeAll___java_util_Collection] = __TIB_java_util_AbstractList.vtable[13];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_Collection_remove___java_lang_Object] = __TIB_java_util_AbstractList.vtable[14];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_Collection_retainAll___java_util_Collection] = __TIB_java_util_AbstractList.vtable[15];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_Collection_size__] = __TIB_java_util_AbstractList.vtable[16];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_Collection_toArray__] = __TIB_java_util_AbstractList.vtable[17];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_Collection_toArray___java_lang_Object_1ARRAY] = __TIB_java_util_AbstractList.vtable[18];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_addAll___int_java_util_Collection] = __TIB_java_util_AbstractList.vtable[19];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_addAll___java_util_Collection] = __TIB_java_util_AbstractList.vtable[6];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_add___int_java_lang_Object] = __TIB_java_util_AbstractList.vtable[20];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_add___java_lang_Object] = __TIB_java_util_AbstractList.vtable[7];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_clear__] = __TIB_java_util_AbstractList.vtable[8];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_containsAll___java_util_Collection] = __TIB_java_util_AbstractList.vtable[9];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_contains___java_lang_Object] = __TIB_java_util_AbstractList.vtable[10];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_equals___java_lang_Object] = __TIB_java_util_AbstractList.vtable[1];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_get___int] = __TIB_java_util_AbstractList.vtable[21];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_hashCode__] = __TIB_java_util_AbstractList.vtable[4];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_indexOf___java_lang_Object] = __TIB_java_util_AbstractList.vtable[22];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_isEmpty__] = __TIB_java_util_AbstractList.vtable[11];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_iterator__] = __TIB_java_util_AbstractList.vtable[12];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_lastIndexOf___java_lang_Object] = __TIB_java_util_AbstractList.vtable[23];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_listIterator__] = __TIB_java_util_AbstractList.vtable[24];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_listIterator___int] = __TIB_java_util_AbstractList.vtable[25];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_removeAll___java_util_Collection] = __TIB_java_util_AbstractList.vtable[13];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_remove___int] = __TIB_java_util_AbstractList.vtable[27];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_remove___java_lang_Object] = __TIB_java_util_AbstractList.vtable[14];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_retainAll___java_util_Collection] = __TIB_java_util_AbstractList.vtable[15];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_set___int_java_lang_Object] = __TIB_java_util_AbstractList.vtable[28];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_size__] = __TIB_java_util_AbstractList.vtable[16];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_subList___int_int] = __TIB_java_util_AbstractList.vtable[29];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_toArray__] = __TIB_java_util_AbstractList.vtable[17];
+ __TIB_java_util_AbstractList.itable[XMLVM_ITABLE_IDX_java_util_List_toArray___java_lang_Object_1ARRAY] = __TIB_java_util_AbstractList.vtable[18];
+
+
+ __TIB_java_util_AbstractList.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_AbstractList.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_AbstractList.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_AbstractList.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_AbstractList.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_AbstractList.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_AbstractList.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_AbstractList.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_AbstractList = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_AbstractList);
+ __TIB_java_util_AbstractList.clazz = __CLASS_java_util_AbstractList;
+ __TIB_java_util_AbstractList.baseType = JAVA_NULL;
+ __CLASS_java_util_AbstractList_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_AbstractList);
+ __CLASS_java_util_AbstractList_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_AbstractList_1ARRAY);
+ __CLASS_java_util_AbstractList_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_AbstractList_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_AbstractList]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_AbstractList.classInitialized = 1;
+}
+
+void __DELETE_java_util_AbstractList(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_AbstractList]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_AbstractList(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_util_AbstractCollection(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_util_AbstractList*) me)->fields.java_util_AbstractList.modCount_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_AbstractList]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_AbstractList()
+{ XMLVM_CLASS_INIT(java_util_AbstractList)
+java_util_AbstractList* me = (java_util_AbstractList*) XMLVM_MALLOC(sizeof(java_util_AbstractList));
+ me->tib = &__TIB_java_util_AbstractList;
+ __INIT_INSTANCE_MEMBERS_java_util_AbstractList(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_AbstractList]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_AbstractList()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_util_AbstractList();
+ java_util_AbstractList___INIT___(me);
+ return me;
+}
+
+void java_util_AbstractList___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractList___INIT___]
+ XMLVM_ENTER_METHOD("java.util.AbstractList", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 375)
+ XMLVM_CHECK_NPE(0)
+ java_util_AbstractCollection___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("AbstractList.java", 376)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_AbstractList_add___int_java_lang_Object(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractList_add___int_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.AbstractList", "add", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 403)
+
+
+ // Red class access removed: java.lang.UnsupportedOperationException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.UnsupportedOperationException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_AbstractList_add___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractList_add___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.AbstractList", "add", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 424)
+ //java_util_AbstractList_size__[16]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_AbstractList*) _r1.o)->tib->vtable[16])(_r1.o);
+ //java_util_AbstractList_add___int_java_lang_Object[20]
+ XMLVM_CHECK_NPE(1)
+ (*(void (*)(JAVA_OBJECT, JAVA_INT, JAVA_OBJECT)) ((java_util_AbstractList*) _r1.o)->tib->vtable[20])(_r1.o, _r0.i, _r2.o);
+ XMLVM_SOURCE_POSITION("AbstractList.java", 425)
+ _r0.i = 1;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_AbstractList_addAll___int_java_util_Collection(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractList_addAll___int_java_util_Collection]
+ XMLVM_ENTER_METHOD("java.util.AbstractList", "addAll", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r4.o = me;
+ _r5.i = n1;
+ _r6.o = n2;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 448)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r6.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_iterator__])(_r6.o);
+ _r1 = _r5;
+ label5:;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 449)
+ XMLVM_CHECK_NPE(0)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r2.i != 0) goto label19;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 452)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r6.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_isEmpty__])(_r6.o);
+ if (_r0.i == 0) goto label30;
+ _r0.i = 0;
+ label18:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label19:;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 450)
+ _r2.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(0)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ //java_util_AbstractList_add___int_java_lang_Object[20]
+ XMLVM_CHECK_NPE(4)
+ (*(void (*)(JAVA_OBJECT, JAVA_INT, JAVA_OBJECT)) ((java_util_AbstractList*) _r4.o)->tib->vtable[20])(_r4.o, _r1.i, _r3.o);
+ _r1 = _r2;
+ goto label5;
+ label30:;
+ _r0.i = 1;
+ goto label18;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_AbstractList_clear__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractList_clear__]
+ XMLVM_ENTER_METHOD("java.util.AbstractList", "clear", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 465)
+ _r0.i = 0;
+ //java_util_AbstractList_size__[16]
+ XMLVM_CHECK_NPE(2)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_AbstractList*) _r2.o)->tib->vtable[16])(_r2.o);
+ //java_util_AbstractList_removeRange___int_int[26]
+ XMLVM_CHECK_NPE(2)
+ (*(void (*)(JAVA_OBJECT, JAVA_INT, JAVA_INT)) ((java_util_AbstractList*) _r2.o)->tib->vtable[26])(_r2.o, _r0.i, _r1.i);
+ XMLVM_SOURCE_POSITION("AbstractList.java", 466)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_AbstractList_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractList_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.AbstractList", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ _r5.i = 1;
+ _r4.i = 0;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 481)
+ if (_r6.o != _r7.o) goto label6;
+ _r0 = _r5;
+ label5:;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 482)
+ XMLVM_SOURCE_POSITION("AbstractList.java", 499)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 484)
+ XMLVM_CLASS_INIT(java_util_List)
+ _r0.i = XMLVM_ISA(_r7.o, __CLASS_java_util_List);
+ if (_r0.i == 0) goto label61;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 485)
+ _r7.o = _r7.o;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 486)
+ XMLVM_CHECK_NPE(7)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r7.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_size__])(_r7.o);
+ //java_util_AbstractList_size__[16]
+ XMLVM_CHECK_NPE(6)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_AbstractList*) _r6.o)->tib->vtable[16])(_r6.o);
+ if (_r0.i == _r1.i) goto label24;
+ _r0 = _r4;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 487)
+ goto label5;
+ label24:;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 490)
+ //java_util_AbstractList_iterator__[12]
+ XMLVM_CHECK_NPE(6)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_AbstractList*) _r6.o)->tib->vtable[12])(_r6.o);
+ XMLVM_CHECK_NPE(7)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r7.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_iterator__])(_r7.o);
+ label32:;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 491)
+ XMLVM_CHECK_NPE(0)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r2.i != 0) goto label40;
+ _r0 = _r5;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 497)
+ goto label5;
+ label40:;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 492)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ XMLVM_CHECK_NPE(1)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r1.o);
+ XMLVM_SOURCE_POSITION("AbstractList.java", 493)
+ if (_r2.o != JAVA_NULL) goto label54;
+ if (_r3.o == JAVA_NULL) goto label32;
+ label52:;
+ _r0 = _r4;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 494)
+ goto label5;
+ label54:;
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(2)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r2.o)->tib->vtable[1])(_r2.o, _r3.o);
+ if (_r2.i != 0) goto label32;
+ goto label52;
+ label61:;
+ _r0 = _r4;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_AbstractList_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractList_hashCode__]
+ XMLVM_ENTER_METHOD("java.util.AbstractList", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 523)
+ _r0.i = 1;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 524)
+ //java_util_AbstractList_iterator__[12]
+ XMLVM_CHECK_NPE(3)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_AbstractList*) _r3.o)->tib->vtable[12])(_r3.o);
+ label5:;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 525)
+ XMLVM_CHECK_NPE(1)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r1.o);
+ if (_r2.i != 0) goto label12;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 529)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label12:;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 526)
+ XMLVM_CHECK_NPE(1)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r1.o);
+ XMLVM_SOURCE_POSITION("AbstractList.java", 527)
+ _r0.i = _r0.i * 31;
+ if (_r2.o != JAVA_NULL) goto label23;
+ _r2.i = 0;
+ label21:;
+ _r0.i = _r0.i + _r2.i;
+ goto label5;
+ label23:;
+ //java_lang_Object_hashCode__[4]
+ XMLVM_CHECK_NPE(2)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r2.o)->tib->vtable[4])(_r2.o);
+ goto label21;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_AbstractList_indexOf___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractList_indexOf___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.AbstractList", "indexOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 542)
+ //java_util_AbstractList_listIterator__[24]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_AbstractList*) _r2.o)->tib->vtable[24])(_r2.o);
+ XMLVM_SOURCE_POSITION("AbstractList.java", 543)
+ if (_r3.o == JAVA_NULL) goto label40;
+ label6:;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 544)
+
+
+ // Red class access removed: java.util.ListIterator::hasNext
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r1.i != 0) goto label14;
+ label12:;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 556)
+ _r0.i = -1;
+ label13:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label14:;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 545)
+
+
+ // Red class access removed: java.util.ListIterator::next
+ XMLVM_RED_CLASS_DEPENDENCY();
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(3)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r3.o)->tib->vtable[1])(_r3.o, _r1.o);
+ if (_r1.i == 0) goto label6;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 546)
+
+
+ // Red class access removed: java.util.ListIterator::previousIndex
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label13;
+ label29:;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 551)
+
+
+ // Red class access removed: java.util.ListIterator::next
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r1.o != JAVA_NULL) goto label40;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 552)
+
+
+ // Red class access removed: java.util.ListIterator::previousIndex
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label13;
+ label40:;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 550)
+
+
+ // Red class access removed: java.util.ListIterator::hasNext
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r1.i != 0) goto label29;
+ goto label12;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_AbstractList_iterator__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractList_iterator__]
+ XMLVM_ENTER_METHOD("java.util.AbstractList", "iterator", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ _r1.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 568)
+
+
+ // Red class access removed: java.util.AbstractList$SimpleListIterator::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.AbstractList$SimpleListIterator::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_AbstractList_lastIndexOf___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractList_lastIndexOf___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.AbstractList", "lastIndexOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 581)
+ //java_util_AbstractList_size__[16]
+ XMLVM_CHECK_NPE(2)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_AbstractList*) _r2.o)->tib->vtable[16])(_r2.o);
+ //java_util_AbstractList_listIterator___int[25]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) ((java_util_AbstractList*) _r2.o)->tib->vtable[25])(_r2.o, _r0.i);
+ XMLVM_SOURCE_POSITION("AbstractList.java", 582)
+ if (_r3.o == JAVA_NULL) goto label44;
+ label10:;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 583)
+
+
+ // Red class access removed: java.util.ListIterator::hasPrevious
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r1.i != 0) goto label18;
+ label16:;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 595)
+ _r0.i = -1;
+ label17:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label18:;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 584)
+
+
+ // Red class access removed: java.util.ListIterator::previous
+ XMLVM_RED_CLASS_DEPENDENCY();
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(3)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r3.o)->tib->vtable[1])(_r3.o, _r1.o);
+ if (_r1.i == 0) goto label10;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 585)
+
+
+ // Red class access removed: java.util.ListIterator::nextIndex
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label17;
+ label33:;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 590)
+
+
+ // Red class access removed: java.util.ListIterator::previous
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r1.o != JAVA_NULL) goto label44;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 591)
+
+
+ // Red class access removed: java.util.ListIterator::nextIndex
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label17;
+ label44:;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 589)
+
+
+ // Red class access removed: java.util.ListIterator::hasPrevious
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r1.i != 0) goto label33;
+ goto label16;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_AbstractList_listIterator__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractList_listIterator__]
+ XMLVM_ENTER_METHOD("java.util.AbstractList", "listIterator", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 606)
+ _r0.i = 0;
+ //java_util_AbstractList_listIterator___int[25]
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) ((java_util_AbstractList*) _r1.o)->tib->vtable[25])(_r1.o, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_AbstractList_listIterator___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractList_listIterator___int]
+ XMLVM_ENTER_METHOD("java.util.AbstractList", "listIterator", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 622)
+
+
+ // Red class access removed: java.util.AbstractList$FullListIterator::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.AbstractList$FullListIterator::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_AbstractList_remove___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractList_remove___int]
+ XMLVM_ENTER_METHOD("java.util.AbstractList", "remove", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 637)
+
+
+ // Red class access removed: java.lang.UnsupportedOperationException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.UnsupportedOperationException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_AbstractList_removeRange___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractList_removeRange___int_int]
+ XMLVM_ENTER_METHOD("java.util.AbstractList", "removeRange", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.i = n1;
+ _r4.i = n2;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 654)
+ //java_util_AbstractList_listIterator___int[25]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) ((java_util_AbstractList*) _r2.o)->tib->vtable[25])(_r2.o, _r3.i);
+ _r1 = _r3;
+ label5:;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 655)
+ if (_r1.i < _r4.i) goto label8;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 659)
+ XMLVM_EXIT_METHOD()
+ return;
+ label8:;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 656)
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ XMLVM_SOURCE_POSITION("AbstractList.java", 657)
+ XMLVM_CHECK_NPE(0)
+ (*(void (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_remove__])(_r0.o);
+ _r1.i = _r1.i + 1;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_AbstractList_set___int_java_lang_Object(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractList_set___int_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.AbstractList", "set", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 680)
+
+
+ // Red class access removed: java.lang.UnsupportedOperationException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.UnsupportedOperationException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_AbstractList_subList___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractList_subList___int_int]
+ XMLVM_ENTER_METHOD("java.util.AbstractList", "subList", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.i = n2;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 728)
+ if (_r2.i < 0) goto label32;
+ //java_util_AbstractList_size__[16]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_AbstractList*) _r1.o)->tib->vtable[16])(_r1.o);
+ if (_r3.i > _r0.i) goto label32;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 729)
+ if (_r2.i > _r3.i) goto label26;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 730)
+ XMLVM_CLASS_INIT(java_util_RandomAccess)
+ _r0.i = XMLVM_ISA(_r1.o, __CLASS_java_util_RandomAccess);
+ if (_r0.i == 0) goto label20;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 731)
+
+
+ // Red class access removed: java.util.AbstractList$SubAbstractListRandomAccess::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.AbstractList$SubAbstractListRandomAccess::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ label19:;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 733)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label20:;
+
+
+ // Red class access removed: java.util.AbstractList$SubAbstractList::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.AbstractList$SubAbstractList::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label19;
+ label26:;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 735)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label32:;
+ XMLVM_SOURCE_POSITION("AbstractList.java", 737)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_AbstractList.h b/tests/nbody-java/java_util_AbstractList.h
new file mode 100644
index 00000000..198246c7
--- /dev/null
+++ b/tests/nbody-java/java_util_AbstractList.h
@@ -0,0 +1,121 @@
+#ifndef __JAVA_UTIL_ABSTRACTLIST__
+#define __JAVA_UTIL_ABSTRACTLIST__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_AbstractList 78
+// Implemented interfaces:
+#include "java_util_List.h"
+// Super Class:
+#include "java_util_AbstractCollection.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+#define XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+XMLVM_FORWARD_DECL(java_lang_IndexOutOfBoundsException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Collection
+#define XMLVM_FORWARD_DECL_java_util_Collection
+XMLVM_FORWARD_DECL(java_util_Collection)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Iterator
+#define XMLVM_FORWARD_DECL_java_util_Iterator
+XMLVM_FORWARD_DECL(java_util_Iterator)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_RandomAccess
+#define XMLVM_FORWARD_DECL_java_util_RandomAccess
+XMLVM_FORWARD_DECL(java_util_RandomAccess)
+#endif
+// Class declarations for java.util.AbstractList
+XMLVM_DEFINE_CLASS(java_util_AbstractList, 30, XMLVM_ITABLE_SIZE_java_util_AbstractList)
+
+extern JAVA_OBJECT __CLASS_java_util_AbstractList;
+extern JAVA_OBJECT __CLASS_java_util_AbstractList_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_AbstractList_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_AbstractList_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_AbstractList
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_AbstractList \
+ __INSTANCE_FIELDS_java_util_AbstractCollection; \
+ struct { \
+ JAVA_INT modCount_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_AbstractList \
+ } java_util_AbstractList
+
+struct java_util_AbstractList {
+ __TIB_DEFINITION_java_util_AbstractList* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_AbstractList;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_AbstractList
+#define XMLVM_FORWARD_DECL_java_util_AbstractList
+typedef struct java_util_AbstractList java_util_AbstractList;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_AbstractList 30
+#define XMLVM_VTABLE_IDX_java_util_AbstractList_add___int_java_lang_Object 20
+#define XMLVM_VTABLE_IDX_java_util_AbstractList_add___java_lang_Object 7
+#define XMLVM_VTABLE_IDX_java_util_AbstractList_addAll___int_java_util_Collection 19
+#define XMLVM_VTABLE_IDX_java_util_AbstractList_clear__ 8
+#define XMLVM_VTABLE_IDX_java_util_AbstractList_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_util_AbstractList_get___int 21
+#define XMLVM_VTABLE_IDX_java_util_AbstractList_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_util_AbstractList_indexOf___java_lang_Object 22
+#define XMLVM_VTABLE_IDX_java_util_AbstractList_iterator__ 12
+#define XMLVM_VTABLE_IDX_java_util_AbstractList_lastIndexOf___java_lang_Object 23
+#define XMLVM_VTABLE_IDX_java_util_AbstractList_listIterator__ 24
+#define XMLVM_VTABLE_IDX_java_util_AbstractList_listIterator___int 25
+#define XMLVM_VTABLE_IDX_java_util_AbstractList_remove___int 27
+#define XMLVM_VTABLE_IDX_java_util_AbstractList_removeRange___int_int 26
+#define XMLVM_VTABLE_IDX_java_util_AbstractList_set___int_java_lang_Object 28
+#define XMLVM_VTABLE_IDX_java_util_AbstractList_subList___int_int 29
+
+void __INIT_java_util_AbstractList();
+void __INIT_IMPL_java_util_AbstractList();
+void __DELETE_java_util_AbstractList(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_AbstractList(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_AbstractList();
+JAVA_OBJECT __NEW_INSTANCE_java_util_AbstractList();
+void java_util_AbstractList___INIT___(JAVA_OBJECT me);
+// Vtable index: 20
+void java_util_AbstractList_add___int_java_lang_Object(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2);
+// Vtable index: 7
+JAVA_BOOLEAN java_util_AbstractList_add___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 19
+JAVA_BOOLEAN java_util_AbstractList_addAll___int_java_util_Collection(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2);
+// Vtable index: 8
+void java_util_AbstractList_clear__(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_util_AbstractList_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 21
+JAVA_OBJECT java_util_AbstractList_get___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 4
+JAVA_INT java_util_AbstractList_hashCode__(JAVA_OBJECT me);
+// Vtable index: 22
+JAVA_INT java_util_AbstractList_indexOf___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 12
+JAVA_OBJECT java_util_AbstractList_iterator__(JAVA_OBJECT me);
+// Vtable index: 23
+JAVA_INT java_util_AbstractList_lastIndexOf___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 24
+JAVA_OBJECT java_util_AbstractList_listIterator__(JAVA_OBJECT me);
+// Vtable index: 25
+JAVA_OBJECT java_util_AbstractList_listIterator___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 27
+JAVA_OBJECT java_util_AbstractList_remove___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 26
+void java_util_AbstractList_removeRange___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2);
+// Vtable index: 28
+JAVA_OBJECT java_util_AbstractList_set___int_java_lang_Object(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2);
+// Vtable index: 29
+JAVA_OBJECT java_util_AbstractList_subList___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2);
+
+#endif
diff --git a/tests/nbody-java/java_util_AbstractMap.c b/tests/nbody-java/java_util_AbstractMap.c
new file mode 100644
index 00000000..90dd8f82
--- /dev/null
+++ b/tests/nbody-java/java_util_AbstractMap.c
@@ -0,0 +1,978 @@
+#include "xmlvm.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_util_Collection.h"
+#include "java_util_Iterator.h"
+#include "java_util_Map_Entry.h"
+#include "java_util_Set.h"
+
+#include "java_util_AbstractMap.h"
+
+#define XMLVM_CURRENT_CLASS_NAME AbstractMap
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_AbstractMap
+
+__TIB_DEFINITION_java_util_AbstractMap __TIB_java_util_AbstractMap = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_AbstractMap, // classInitializer
+ "java.util.AbstractMap", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Map<TK;TV;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_util_AbstractMap), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_AbstractMap;
+JAVA_OBJECT __CLASS_java_util_AbstractMap_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_AbstractMap_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_AbstractMap_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_AbstractMap()
+{
+ staticInitializerLock(&__TIB_java_util_AbstractMap);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_AbstractMap.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_AbstractMap.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_AbstractMap);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_AbstractMap.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_AbstractMap.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_AbstractMap.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.AbstractMap")
+ __INIT_IMPL_java_util_AbstractMap();
+ }
+}
+
+void __INIT_IMPL_java_util_AbstractMap()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_util_AbstractMap.newInstanceFunc = __NEW_INSTANCE_java_util_AbstractMap;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_AbstractMap.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_util_AbstractMap.vtable[6] = (VTABLE_PTR) &java_util_AbstractMap_clear__;
+ __TIB_java_util_AbstractMap.vtable[7] = (VTABLE_PTR) &java_util_AbstractMap_containsKey___java_lang_Object;
+ __TIB_java_util_AbstractMap.vtable[8] = (VTABLE_PTR) &java_util_AbstractMap_containsValue___java_lang_Object;
+ __TIB_java_util_AbstractMap.vtable[1] = (VTABLE_PTR) &java_util_AbstractMap_equals___java_lang_Object;
+ __TIB_java_util_AbstractMap.vtable[10] = (VTABLE_PTR) &java_util_AbstractMap_get___java_lang_Object;
+ __TIB_java_util_AbstractMap.vtable[4] = (VTABLE_PTR) &java_util_AbstractMap_hashCode__;
+ __TIB_java_util_AbstractMap.vtable[11] = (VTABLE_PTR) &java_util_AbstractMap_isEmpty__;
+ __TIB_java_util_AbstractMap.vtable[12] = (VTABLE_PTR) &java_util_AbstractMap_keySet__;
+ __TIB_java_util_AbstractMap.vtable[14] = (VTABLE_PTR) &java_util_AbstractMap_put___java_lang_Object_java_lang_Object;
+ __TIB_java_util_AbstractMap.vtable[13] = (VTABLE_PTR) &java_util_AbstractMap_putAll___java_util_Map;
+ __TIB_java_util_AbstractMap.vtable[15] = (VTABLE_PTR) &java_util_AbstractMap_remove___java_lang_Object;
+ __TIB_java_util_AbstractMap.vtable[16] = (VTABLE_PTR) &java_util_AbstractMap_size__;
+ __TIB_java_util_AbstractMap.vtable[5] = (VTABLE_PTR) &java_util_AbstractMap_toString__;
+ __TIB_java_util_AbstractMap.vtable[17] = (VTABLE_PTR) &java_util_AbstractMap_values__;
+ __TIB_java_util_AbstractMap.vtable[0] = (VTABLE_PTR) &java_util_AbstractMap_clone__;
+ // Initialize interface information
+ __TIB_java_util_AbstractMap.numImplementedInterfaces = 1;
+ __TIB_java_util_AbstractMap.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_util_Map)
+
+ __TIB_java_util_AbstractMap.implementedInterfaces[0][0] = &__TIB_java_util_Map;
+ // Initialize itable for this class
+ __TIB_java_util_AbstractMap.itableBegin = &__TIB_java_util_AbstractMap.itable[0];
+ __TIB_java_util_AbstractMap.itable[XMLVM_ITABLE_IDX_java_util_Map_clear__] = __TIB_java_util_AbstractMap.vtable[6];
+ __TIB_java_util_AbstractMap.itable[XMLVM_ITABLE_IDX_java_util_Map_containsKey___java_lang_Object] = __TIB_java_util_AbstractMap.vtable[7];
+ __TIB_java_util_AbstractMap.itable[XMLVM_ITABLE_IDX_java_util_Map_containsValue___java_lang_Object] = __TIB_java_util_AbstractMap.vtable[8];
+ __TIB_java_util_AbstractMap.itable[XMLVM_ITABLE_IDX_java_util_Map_entrySet__] = __TIB_java_util_AbstractMap.vtable[9];
+ __TIB_java_util_AbstractMap.itable[XMLVM_ITABLE_IDX_java_util_Map_equals___java_lang_Object] = __TIB_java_util_AbstractMap.vtable[1];
+ __TIB_java_util_AbstractMap.itable[XMLVM_ITABLE_IDX_java_util_Map_get___java_lang_Object] = __TIB_java_util_AbstractMap.vtable[10];
+ __TIB_java_util_AbstractMap.itable[XMLVM_ITABLE_IDX_java_util_Map_hashCode__] = __TIB_java_util_AbstractMap.vtable[4];
+ __TIB_java_util_AbstractMap.itable[XMLVM_ITABLE_IDX_java_util_Map_isEmpty__] = __TIB_java_util_AbstractMap.vtable[11];
+ __TIB_java_util_AbstractMap.itable[XMLVM_ITABLE_IDX_java_util_Map_keySet__] = __TIB_java_util_AbstractMap.vtable[12];
+ __TIB_java_util_AbstractMap.itable[XMLVM_ITABLE_IDX_java_util_Map_putAll___java_util_Map] = __TIB_java_util_AbstractMap.vtable[13];
+ __TIB_java_util_AbstractMap.itable[XMLVM_ITABLE_IDX_java_util_Map_put___java_lang_Object_java_lang_Object] = __TIB_java_util_AbstractMap.vtable[14];
+ __TIB_java_util_AbstractMap.itable[XMLVM_ITABLE_IDX_java_util_Map_remove___java_lang_Object] = __TIB_java_util_AbstractMap.vtable[15];
+ __TIB_java_util_AbstractMap.itable[XMLVM_ITABLE_IDX_java_util_Map_size__] = __TIB_java_util_AbstractMap.vtable[16];
+ __TIB_java_util_AbstractMap.itable[XMLVM_ITABLE_IDX_java_util_Map_values__] = __TIB_java_util_AbstractMap.vtable[17];
+
+
+ __TIB_java_util_AbstractMap.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_AbstractMap.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_AbstractMap.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_AbstractMap.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_AbstractMap.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_AbstractMap.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_AbstractMap.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_AbstractMap.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_AbstractMap = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_AbstractMap);
+ __TIB_java_util_AbstractMap.clazz = __CLASS_java_util_AbstractMap;
+ __TIB_java_util_AbstractMap.baseType = JAVA_NULL;
+ __CLASS_java_util_AbstractMap_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_AbstractMap);
+ __CLASS_java_util_AbstractMap_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_AbstractMap_1ARRAY);
+ __CLASS_java_util_AbstractMap_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_AbstractMap_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_AbstractMap]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_AbstractMap.classInitialized = 1;
+}
+
+void __DELETE_java_util_AbstractMap(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_AbstractMap]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_AbstractMap(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_util_AbstractMap*) me)->fields.java_util_AbstractMap.keySet_ = (java_util_Set*) JAVA_NULL;
+ ((java_util_AbstractMap*) me)->fields.java_util_AbstractMap.valuesCollection_ = (java_util_Collection*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_AbstractMap]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_AbstractMap()
+{ XMLVM_CLASS_INIT(java_util_AbstractMap)
+java_util_AbstractMap* me = (java_util_AbstractMap*) XMLVM_MALLOC(sizeof(java_util_AbstractMap));
+ me->tib = &__TIB_java_util_AbstractMap;
+ __INIT_INSTANCE_MEMBERS_java_util_AbstractMap(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_AbstractMap]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_AbstractMap()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_util_AbstractMap();
+ java_util_AbstractMap___INIT___(me);
+ return me;
+}
+
+void java_util_AbstractMap___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractMap___INIT___]
+ XMLVM_ENTER_METHOD("java.util.AbstractMap", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 275)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 276)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_AbstractMap_clear__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractMap_clear__]
+ XMLVM_ENTER_METHOD("java.util.AbstractMap", "clear", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 287)
+ //java_util_AbstractMap_entrySet__[9]
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_AbstractMap*) _r1.o)->tib->vtable[9])(_r1.o);
+ XMLVM_CHECK_NPE(0)
+ (*(void (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Set_clear__])(_r0.o);
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 288)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_AbstractMap_containsKey___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractMap_containsKey___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.AbstractMap", "containsKey", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ _r2.i = 1;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 299)
+ //java_util_AbstractMap_entrySet__[9]
+ XMLVM_CHECK_NPE(3)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_AbstractMap*) _r3.o)->tib->vtable[9])(_r3.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Set_iterator__])(_r0.o);
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 300)
+ if (_r4.o == JAVA_NULL) goto label51;
+ label11:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 301)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r1.i != 0) goto label19;
+ label17:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 313)
+ _r0.i = 0;
+ label18:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label19:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 302)
+ XMLVM_CHECK_NPE(0)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ _r3.o = _r3.o;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__])(_r3.o);
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(4)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r4.o)->tib->vtable[1])(_r4.o, _r1.o);
+ if (_r1.i == 0) goto label11;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 303)
+ goto label18;
+ label37:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 308)
+ XMLVM_CHECK_NPE(0)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ _r3.o = _r3.o;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__])(_r3.o);
+ if (_r1.o != JAVA_NULL) goto label51;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 309)
+ goto label18;
+ label51:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 307)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r1.i != 0) goto label37;
+ goto label17;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_AbstractMap_containsValue___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractMap_containsValue___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.AbstractMap", "containsValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ _r2.i = 1;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 325)
+ //java_util_AbstractMap_entrySet__[9]
+ XMLVM_CHECK_NPE(3)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_AbstractMap*) _r3.o)->tib->vtable[9])(_r3.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Set_iterator__])(_r0.o);
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 326)
+ if (_r4.o == JAVA_NULL) goto label51;
+ label11:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 327)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r1.i != 0) goto label19;
+ label17:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 339)
+ _r0.i = 0;
+ label18:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label19:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 328)
+ XMLVM_CHECK_NPE(0)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ _r3.o = _r3.o;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__])(_r3.o);
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(4)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r4.o)->tib->vtable[1])(_r4.o, _r1.o);
+ if (_r1.i == 0) goto label11;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 329)
+ goto label18;
+ label37:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 334)
+ XMLVM_CHECK_NPE(0)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ _r3.o = _r3.o;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__])(_r3.o);
+ if (_r1.o != JAVA_NULL) goto label51;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 335)
+ goto label18;
+ label51:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 333)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r1.i != 0) goto label37;
+ goto label17;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_AbstractMap_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractMap_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.AbstractMap", "equals", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ _r5.i = 1;
+ _r4.i = 0;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 364)
+ if (_r6.o != _r7.o) goto label6;
+ _r0 = _r5;
+ label5:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 365)
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 393)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 367)
+ XMLVM_CLASS_INIT(java_util_Map)
+ _r0.i = XMLVM_ISA(_r7.o, __CLASS_java_util_Map);
+ if (_r0.i == 0) goto label84;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 368)
+ _r7.o = _r7.o;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 369)
+ //java_util_AbstractMap_size__[16]
+ XMLVM_CHECK_NPE(6)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_AbstractMap*) _r6.o)->tib->vtable[16])(_r6.o);
+ XMLVM_CHECK_NPE(7)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r7.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_size__])(_r7.o);
+ if (_r0.i == _r1.i) goto label24;
+ _r0 = _r4;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 370)
+ goto label5;
+ label24:;
+ XMLVM_TRY_BEGIN(w70aaab7b1c26)
+ // Begin try
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 374)
+ //java_util_AbstractMap_entrySet__[9]
+ XMLVM_CHECK_NPE(6)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_AbstractMap*) _r6.o)->tib->vtable[9])(_r6.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Set_iterator__])(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w70aaab7b1c26)
+ XMLVM_CATCH_SPECIFIC(w70aaab7b1c26,java_lang_NullPointerException,78)
+ XMLVM_CATCH_END(w70aaab7b1c26)
+ XMLVM_RESTORE_EXCEPTION_ENV(w70aaab7b1c26)
+ label32:;
+ XMLVM_TRY_BEGIN(w70aaab7b1c28)
+ // Begin try
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r1.i != 0) { XMLVM_MEMCPY(curThread_w70aaab7b1c28->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w70aaab7b1c28, sizeof(XMLVM_JMP_BUF)); goto label40; };
+ _r0 = _r5;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 391)
+ { XMLVM_MEMCPY(curThread_w70aaab7b1c28->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w70aaab7b1c28, sizeof(XMLVM_JMP_BUF)); goto label5; };
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w70aaab7b1c28)
+ XMLVM_CATCH_SPECIFIC(w70aaab7b1c28,java_lang_NullPointerException,78)
+ XMLVM_CATCH_END(w70aaab7b1c28)
+ XMLVM_RESTORE_EXCEPTION_ENV(w70aaab7b1c28)
+ label40:;
+ XMLVM_TRY_BEGIN(w70aaab7b1c30)
+ // Begin try
+ XMLVM_CHECK_NPE(0)
+ _r6.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ _r6.o = _r6.o;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 375)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r6.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__])(_r6.o);
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 376)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r6.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__])(_r6.o);
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 377)
+ XMLVM_CHECK_NPE(7)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r7.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_get___java_lang_Object])(_r7.o, _r1.o);
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 378)
+ if (_r2.o != JAVA_NULL) { XMLVM_MEMCPY(curThread_w70aaab7b1c30->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w70aaab7b1c30, sizeof(XMLVM_JMP_BUF)); goto label70; };
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 379)
+ if (_r3.o != JAVA_NULL) { XMLVM_MEMCPY(curThread_w70aaab7b1c30->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w70aaab7b1c30, sizeof(XMLVM_JMP_BUF)); goto label68; };
+ XMLVM_CHECK_NPE(7)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r7.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_containsKey___java_lang_Object])(_r7.o, _r1.o);
+ if (_r1.i != 0) { XMLVM_MEMCPY(curThread_w70aaab7b1c30->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w70aaab7b1c30, sizeof(XMLVM_JMP_BUF)); goto label32; };
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w70aaab7b1c30)
+ XMLVM_CATCH_SPECIFIC(w70aaab7b1c30,java_lang_NullPointerException,78)
+ XMLVM_CATCH_END(w70aaab7b1c30)
+ XMLVM_RESTORE_EXCEPTION_ENV(w70aaab7b1c30)
+ label68:;
+ XMLVM_TRY_BEGIN(w70aaab7b1c32)
+ // Begin try
+ _r0 = _r4;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 380)
+ { XMLVM_MEMCPY(curThread_w70aaab7b1c32->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w70aaab7b1c32, sizeof(XMLVM_JMP_BUF)); goto label5; };
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 382)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w70aaab7b1c32)
+ XMLVM_CATCH_SPECIFIC(w70aaab7b1c32,java_lang_NullPointerException,78)
+ XMLVM_CATCH_END(w70aaab7b1c32)
+ XMLVM_RESTORE_EXCEPTION_ENV(w70aaab7b1c32)
+ label70:;
+ XMLVM_TRY_BEGIN(w70aaab7b1c34)
+ // Begin try
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(2)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r2.o)->tib->vtable[1])(_r2.o, _r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w70aaab7b1c34)
+ XMLVM_CATCH_SPECIFIC(w70aaab7b1c34,java_lang_NullPointerException,78)
+ XMLVM_CATCH_END(w70aaab7b1c34)
+ XMLVM_RESTORE_EXCEPTION_ENV(w70aaab7b1c34)
+ if (_r1.i != 0) goto label32;
+ _r0 = _r4;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 383)
+ goto label5;
+ label78:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 387)
+ java_lang_Thread* curThread_w70aaab7b1c41 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w70aaab7b1c41->fields.java_lang_Thread.xmlvmException_;
+ _r0 = _r4;
+ goto label5;
+ label81:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 389)
+ java_lang_Thread* curThread_w70aaab7b1c46 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w70aaab7b1c46->fields.java_lang_Thread.xmlvmException_;
+ _r0 = _r4;
+ goto label5;
+ label84:;
+ _r0 = _r4;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_AbstractMap_get___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractMap_get___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.AbstractMap", "get", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 405)
+ //java_util_AbstractMap_entrySet__[9]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_AbstractMap*) _r2.o)->tib->vtable[9])(_r2.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Set_iterator__])(_r0.o);
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 406)
+ if (_r3.o == JAVA_NULL) goto label56;
+ label10:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 407)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r1.i != 0) goto label18;
+ label16:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 421)
+ _r0.o = JAVA_NULL;
+ label17:;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label18:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 408)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ _r2.o = _r2.o;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 409)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__])(_r2.o);
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(3)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r3.o)->tib->vtable[1])(_r3.o, _r1.o);
+ if (_r1.i == 0) goto label10;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 410)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__])(_r2.o);
+ goto label17;
+ label39:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 415)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ _r2.o = _r2.o;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 416)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__])(_r2.o);
+ if (_r1.o != JAVA_NULL) goto label56;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 417)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__])(_r2.o);
+ goto label17;
+ label56:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 414)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r1.i != 0) goto label39;
+ goto label16;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_AbstractMap_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractMap_hashCode__]
+ XMLVM_ENTER_METHOD("java.util.AbstractMap", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 433)
+ _r0.i = 0;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 434)
+ //java_util_AbstractMap_entrySet__[9]
+ XMLVM_CHECK_NPE(3)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_AbstractMap*) _r3.o)->tib->vtable[9])(_r3.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Set_iterator__])(_r1.o);
+ label9:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 435)
+ XMLVM_CHECK_NPE(1)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r1.o);
+ if (_r2.i != 0) goto label16;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 438)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label16:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 436)
+ XMLVM_CHECK_NPE(1)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r1.o);
+ _r3.o = _r3.o;
+ XMLVM_CHECK_NPE(3)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_hashCode__])(_r3.o);
+ _r0.i = _r0.i + _r2.i;
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_AbstractMap_isEmpty__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractMap_isEmpty__]
+ XMLVM_ENTER_METHOD("java.util.AbstractMap", "isEmpty", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 449)
+ //java_util_AbstractMap_size__[16]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_AbstractMap*) _r1.o)->tib->vtable[16])(_r1.o);
+ if (_r0.i != 0) goto label8;
+ _r0.i = 1;
+ label7:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label8:;
+ _r0.i = 0;
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_AbstractMap_keySet__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractMap_keySet__]
+ XMLVM_ENTER_METHOD("java.util.AbstractMap", "keySet", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 460)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.keySet_;
+ if (_r0.o != JAVA_NULL) goto label11;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 461)
+
+
+ // Red class access removed: java.util.AbstractMap$1::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.AbstractMap$1::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(1)
+ ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.keySet_ = _r0.o;
+ label11:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 493)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.keySet_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_AbstractMap_put___java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractMap_put___java_lang_Object_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.AbstractMap", "put", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 519)
+
+
+ // Red class access removed: java.lang.UnsupportedOperationException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.UnsupportedOperationException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_AbstractMap_putAll___java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractMap_putAll___java_util_Map]
+ XMLVM_ENTER_METHOD("java.util.AbstractMap", "putAll", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 539)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_entrySet__])(_r4.o);
+ XMLVM_CHECK_NPE(0)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Set_iterator__])(_r0.o);
+ label8:;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r1.o);
+ if (_r0.i != 0) goto label15;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 542)
+ XMLVM_EXIT_METHOD()
+ return;
+ label15:;
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r1.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 540)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__])(_r0.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__])(_r0.o);
+ //java_util_AbstractMap_put___java_lang_Object_java_lang_Object[14]
+ XMLVM_CHECK_NPE(3)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_AbstractMap*) _r3.o)->tib->vtable[14])(_r3.o, _r2.o, _r0.o);
+ goto label8;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_AbstractMap_remove___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractMap_remove___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.AbstractMap", "remove", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 555)
+ //java_util_AbstractMap_entrySet__[9]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_AbstractMap*) _r2.o)->tib->vtable[9])(_r2.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Set_iterator__])(_r0.o);
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 556)
+ if (_r3.o == JAVA_NULL) goto label62;
+ label10:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 557)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r1.i != 0) goto label18;
+ label16:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 573)
+ _r0.o = JAVA_NULL;
+ label17:;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label18:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 558)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ _r2.o = _r2.o;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 559)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__])(_r2.o);
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(3)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r3.o)->tib->vtable[1])(_r3.o, _r1.o);
+ if (_r1.i == 0) goto label10;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 560)
+ XMLVM_CHECK_NPE(0)
+ (*(void (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_remove__])(_r0.o);
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 561)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__])(_r2.o);
+ goto label17;
+ label42:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 566)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ _r2.o = _r2.o;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 567)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__])(_r2.o);
+ if (_r1.o != JAVA_NULL) goto label62;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 568)
+ XMLVM_CHECK_NPE(0)
+ (*(void (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_remove__])(_r0.o);
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 569)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__])(_r2.o);
+ goto label17;
+ label62:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 565)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r1.i != 0) goto label42;
+ goto label16;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_AbstractMap_size__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractMap_size__]
+ XMLVM_ENTER_METHOD("java.util.AbstractMap", "size", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 582)
+ //java_util_AbstractMap_entrySet__[9]
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_AbstractMap*) _r1.o)->tib->vtable[9])(_r1.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Set_size__])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_AbstractMap_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractMap_toString__]
+ XMLVM_ENTER_METHOD("java.util.AbstractMap", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.o = me;
+ // "(this Map)"
+ _r4.o = xmlvm_create_java_string_from_pool(5);
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 592)
+ //java_util_AbstractMap_isEmpty__[11]
+ XMLVM_CHECK_NPE(5)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) ((java_util_AbstractMap*) _r5.o)->tib->vtable[11])(_r5.o);
+ if (_r0.i == 0) goto label11;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 593)
+ // "\173\175"
+ _r0.o = xmlvm_create_java_string_from_pool(6);
+ label10:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 619)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label11:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 596)
+ _r1.o = __NEW_java_lang_StringBuilder();
+ //java_util_AbstractMap_size__[16]
+ XMLVM_CHECK_NPE(5)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_AbstractMap*) _r5.o)->tib->vtable[16])(_r5.o);
+ _r0.i = _r0.i * 28;
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder___INIT____int(_r1.o, _r0.i);
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 597)
+ _r0.i = 123;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(1)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[6])(_r1.o, _r0.i);
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 598)
+ //java_util_AbstractMap_entrySet__[9]
+ XMLVM_CHECK_NPE(5)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_AbstractMap*) _r5.o)->tib->vtable[9])(_r5.o);
+ XMLVM_CHECK_NPE(0)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Set_iterator__])(_r0.o);
+ label35:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 599)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r2.o);
+ if (_r0.i != 0) goto label51;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 618)
+ _r0.i = 125;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(1)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[6])(_r1.o, _r0.i);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
+ goto label10;
+ label51:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 600)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r2.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 601)
+ XMLVM_CHECK_NPE(0)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__])(_r0.o);
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 602)
+ if (_r3.o == _r5.o) goto label92;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 603)
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder_append___java_lang_Object(_r1.o, _r3.o);
+ label66:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 607)
+ _r3.i = 61;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(1)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[6])(_r1.o, _r3.i);
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 608)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__])(_r0.o);
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 609)
+ if (_r0.o == _r5.o) goto label98;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 610)
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder_append___java_lang_Object(_r1.o, _r0.o);
+ label80:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 614)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r2.o);
+ if (_r0.i == 0) goto label35;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 615)
+ // ", "
+ _r0.o = xmlvm_create_java_string_from_pool(7);
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder_append___java_lang_String(_r1.o, _r0.o);
+ goto label35;
+ label92:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 605)
+ // "(this Map)"
+ _r3.o = xmlvm_create_java_string_from_pool(5);
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder_append___java_lang_String(_r1.o, _r4.o);
+ goto label66;
+ label98:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 612)
+ // "(this Map)"
+ _r0.o = xmlvm_create_java_string_from_pool(5);
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder_append___java_lang_String(_r1.o, _r4.o);
+ goto label80;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_AbstractMap_values__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractMap_values__]
+ XMLVM_ENTER_METHOD("java.util.AbstractMap", "values", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 642)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.valuesCollection_;
+ if (_r0.o != JAVA_NULL) goto label11;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 643)
+
+
+ // Red class access removed: java.util.AbstractMap$2::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.AbstractMap$2::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(1)
+ ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.valuesCollection_ = _r0.o;
+ label11:;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 675)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.valuesCollection_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_AbstractMap_clone__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractMap_clone__]
+ XMLVM_ENTER_METHOD("java.util.AbstractMap", "clone", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ _r0.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 690)
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_Object_clone__(_r1.o);
+ _r1.o = _r1.o;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 691)
+ XMLVM_CHECK_NPE(1)
+ ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.keySet_ = _r0.o;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 692)
+ XMLVM_CHECK_NPE(1)
+ ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.valuesCollection_ = _r0.o;
+ XMLVM_SOURCE_POSITION("AbstractMap.java", 693)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_AbstractMap.h b/tests/nbody-java/java_util_AbstractMap.h
new file mode 100644
index 00000000..3eae8b45
--- /dev/null
+++ b/tests/nbody-java/java_util_AbstractMap.h
@@ -0,0 +1,130 @@
+#ifndef __JAVA_UTIL_ABSTRACTMAP__
+#define __JAVA_UTIL_ABSTRACTMAP__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_AbstractMap 14
+// Implemented interfaces:
+#include "java_util_Map.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Collection
+#define XMLVM_FORWARD_DECL_java_util_Collection
+XMLVM_FORWARD_DECL(java_util_Collection)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Iterator
+#define XMLVM_FORWARD_DECL_java_util_Iterator
+XMLVM_FORWARD_DECL(java_util_Iterator)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Map_Entry
+#define XMLVM_FORWARD_DECL_java_util_Map_Entry
+XMLVM_FORWARD_DECL(java_util_Map_Entry)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Set
+#define XMLVM_FORWARD_DECL_java_util_Set
+XMLVM_FORWARD_DECL(java_util_Set)
+#endif
+// Class declarations for java.util.AbstractMap
+XMLVM_DEFINE_CLASS(java_util_AbstractMap, 18, XMLVM_ITABLE_SIZE_java_util_AbstractMap)
+
+extern JAVA_OBJECT __CLASS_java_util_AbstractMap;
+extern JAVA_OBJECT __CLASS_java_util_AbstractMap_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_AbstractMap_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_AbstractMap_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_AbstractMap
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_AbstractMap \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT keySet_; \
+ JAVA_OBJECT valuesCollection_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_AbstractMap \
+ } java_util_AbstractMap
+
+struct java_util_AbstractMap {
+ __TIB_DEFINITION_java_util_AbstractMap* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_AbstractMap;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_AbstractMap
+#define XMLVM_FORWARD_DECL_java_util_AbstractMap
+typedef struct java_util_AbstractMap java_util_AbstractMap;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_AbstractMap 18
+#define XMLVM_VTABLE_IDX_java_util_AbstractMap_clear__ 6
+#define XMLVM_VTABLE_IDX_java_util_AbstractMap_containsKey___java_lang_Object 7
+#define XMLVM_VTABLE_IDX_java_util_AbstractMap_containsValue___java_lang_Object 8
+#define XMLVM_VTABLE_IDX_java_util_AbstractMap_entrySet__ 9
+#define XMLVM_VTABLE_IDX_java_util_AbstractMap_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_util_AbstractMap_get___java_lang_Object 10
+#define XMLVM_VTABLE_IDX_java_util_AbstractMap_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_util_AbstractMap_isEmpty__ 11
+#define XMLVM_VTABLE_IDX_java_util_AbstractMap_keySet__ 12
+#define XMLVM_VTABLE_IDX_java_util_AbstractMap_put___java_lang_Object_java_lang_Object 14
+#define XMLVM_VTABLE_IDX_java_util_AbstractMap_putAll___java_util_Map 13
+#define XMLVM_VTABLE_IDX_java_util_AbstractMap_remove___java_lang_Object 15
+#define XMLVM_VTABLE_IDX_java_util_AbstractMap_size__ 16
+#define XMLVM_VTABLE_IDX_java_util_AbstractMap_toString__ 5
+#define XMLVM_VTABLE_IDX_java_util_AbstractMap_values__ 17
+#define XMLVM_VTABLE_IDX_java_util_AbstractMap_clone__ 0
+
+void __INIT_java_util_AbstractMap();
+void __INIT_IMPL_java_util_AbstractMap();
+void __DELETE_java_util_AbstractMap(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_AbstractMap(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_AbstractMap();
+JAVA_OBJECT __NEW_INSTANCE_java_util_AbstractMap();
+void java_util_AbstractMap___INIT___(JAVA_OBJECT me);
+// Vtable index: 6
+void java_util_AbstractMap_clear__(JAVA_OBJECT me);
+// Vtable index: 7
+JAVA_BOOLEAN java_util_AbstractMap_containsKey___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 8
+JAVA_BOOLEAN java_util_AbstractMap_containsValue___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 9
+JAVA_OBJECT java_util_AbstractMap_entrySet__(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_util_AbstractMap_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 10
+JAVA_OBJECT java_util_AbstractMap_get___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 4
+JAVA_INT java_util_AbstractMap_hashCode__(JAVA_OBJECT me);
+// Vtable index: 11
+JAVA_BOOLEAN java_util_AbstractMap_isEmpty__(JAVA_OBJECT me);
+// Vtable index: 12
+JAVA_OBJECT java_util_AbstractMap_keySet__(JAVA_OBJECT me);
+// Vtable index: 14
+JAVA_OBJECT java_util_AbstractMap_put___java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+// Vtable index: 13
+void java_util_AbstractMap_putAll___java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 15
+JAVA_OBJECT java_util_AbstractMap_remove___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 16
+JAVA_INT java_util_AbstractMap_size__(JAVA_OBJECT me);
+// Vtable index: 5
+JAVA_OBJECT java_util_AbstractMap_toString__(JAVA_OBJECT me);
+// Vtable index: 17
+JAVA_OBJECT java_util_AbstractMap_values__(JAVA_OBJECT me);
+// Vtable index: 0
+JAVA_OBJECT java_util_AbstractMap_clone__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_util_AbstractSequentialList.c b/tests/nbody-java/java_util_AbstractSequentialList.c
new file mode 100644
index 00000000..a8591ff2
--- /dev/null
+++ b/tests/nbody-java/java_util_AbstractSequentialList.c
@@ -0,0 +1,448 @@
+#include "xmlvm.h"
+#include "java_lang_IndexOutOfBoundsException.h"
+#include "java_lang_Object.h"
+#include "java_util_Collection.h"
+#include "java_util_Iterator.h"
+
+#include "java_util_AbstractSequentialList.h"
+
+#define XMLVM_CURRENT_CLASS_NAME AbstractSequentialList
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_AbstractSequentialList
+
+__TIB_DEFINITION_java_util_AbstractSequentialList __TIB_java_util_AbstractSequentialList = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_AbstractSequentialList, // classInitializer
+ "java.util.AbstractSequentialList", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<E:Ljava/lang/Object;>Ljava/util/AbstractList<TE;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_AbstractList, // extends
+ sizeof(java_util_AbstractSequentialList), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_AbstractSequentialList;
+JAVA_OBJECT __CLASS_java_util_AbstractSequentialList_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_AbstractSequentialList_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_AbstractSequentialList_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_AbstractSequentialList()
+{
+ staticInitializerLock(&__TIB_java_util_AbstractSequentialList);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_AbstractSequentialList.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_AbstractSequentialList.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_AbstractSequentialList);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_AbstractSequentialList.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_AbstractSequentialList.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_AbstractSequentialList.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.AbstractSequentialList")
+ __INIT_IMPL_java_util_AbstractSequentialList();
+ }
+}
+
+void __INIT_IMPL_java_util_AbstractSequentialList()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_util_AbstractList)
+ __TIB_java_util_AbstractSequentialList.newInstanceFunc = __NEW_INSTANCE_java_util_AbstractSequentialList;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_AbstractSequentialList.vtable, __TIB_java_util_AbstractList.vtable, sizeof(__TIB_java_util_AbstractList.vtable));
+ // Initialize vtable for this class
+ __TIB_java_util_AbstractSequentialList.vtable[20] = (VTABLE_PTR) &java_util_AbstractSequentialList_add___int_java_lang_Object;
+ __TIB_java_util_AbstractSequentialList.vtable[19] = (VTABLE_PTR) &java_util_AbstractSequentialList_addAll___int_java_util_Collection;
+ __TIB_java_util_AbstractSequentialList.vtable[21] = (VTABLE_PTR) &java_util_AbstractSequentialList_get___int;
+ __TIB_java_util_AbstractSequentialList.vtable[12] = (VTABLE_PTR) &java_util_AbstractSequentialList_iterator__;
+ __TIB_java_util_AbstractSequentialList.vtable[27] = (VTABLE_PTR) &java_util_AbstractSequentialList_remove___int;
+ __TIB_java_util_AbstractSequentialList.vtable[28] = (VTABLE_PTR) &java_util_AbstractSequentialList_set___int_java_lang_Object;
+ // Initialize interface information
+ __TIB_java_util_AbstractSequentialList.numImplementedInterfaces = 3;
+ __TIB_java_util_AbstractSequentialList.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 3);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_lang_Iterable)
+
+ __TIB_java_util_AbstractSequentialList.implementedInterfaces[0][0] = &__TIB_java_lang_Iterable;
+
+ XMLVM_CLASS_INIT(java_util_Collection)
+
+ __TIB_java_util_AbstractSequentialList.implementedInterfaces[0][1] = &__TIB_java_util_Collection;
+
+ XMLVM_CLASS_INIT(java_util_List)
+
+ __TIB_java_util_AbstractSequentialList.implementedInterfaces[0][2] = &__TIB_java_util_List;
+ // Initialize itable for this class
+ __TIB_java_util_AbstractSequentialList.itableBegin = &__TIB_java_util_AbstractSequentialList.itable[0];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_lang_Iterable_iterator__] = __TIB_java_util_AbstractSequentialList.vtable[12];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_Collection_addAll___java_util_Collection] = __TIB_java_util_AbstractSequentialList.vtable[6];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_Collection_add___java_lang_Object] = __TIB_java_util_AbstractSequentialList.vtable[7];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_Collection_clear__] = __TIB_java_util_AbstractSequentialList.vtable[8];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_Collection_containsAll___java_util_Collection] = __TIB_java_util_AbstractSequentialList.vtable[9];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_Collection_contains___java_lang_Object] = __TIB_java_util_AbstractSequentialList.vtable[10];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_Collection_equals___java_lang_Object] = __TIB_java_util_AbstractSequentialList.vtable[1];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_Collection_hashCode__] = __TIB_java_util_AbstractSequentialList.vtable[4];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_Collection_isEmpty__] = __TIB_java_util_AbstractSequentialList.vtable[11];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_Collection_iterator__] = __TIB_java_util_AbstractSequentialList.vtable[12];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_Collection_removeAll___java_util_Collection] = __TIB_java_util_AbstractSequentialList.vtable[13];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_Collection_remove___java_lang_Object] = __TIB_java_util_AbstractSequentialList.vtable[14];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_Collection_retainAll___java_util_Collection] = __TIB_java_util_AbstractSequentialList.vtable[15];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_Collection_size__] = __TIB_java_util_AbstractSequentialList.vtable[16];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_Collection_toArray__] = __TIB_java_util_AbstractSequentialList.vtable[17];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_Collection_toArray___java_lang_Object_1ARRAY] = __TIB_java_util_AbstractSequentialList.vtable[18];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_addAll___int_java_util_Collection] = __TIB_java_util_AbstractSequentialList.vtable[19];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_addAll___java_util_Collection] = __TIB_java_util_AbstractSequentialList.vtable[6];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_add___int_java_lang_Object] = __TIB_java_util_AbstractSequentialList.vtable[20];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_add___java_lang_Object] = __TIB_java_util_AbstractSequentialList.vtable[7];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_clear__] = __TIB_java_util_AbstractSequentialList.vtable[8];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_containsAll___java_util_Collection] = __TIB_java_util_AbstractSequentialList.vtable[9];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_contains___java_lang_Object] = __TIB_java_util_AbstractSequentialList.vtable[10];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_equals___java_lang_Object] = __TIB_java_util_AbstractSequentialList.vtable[1];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_get___int] = __TIB_java_util_AbstractSequentialList.vtable[21];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_hashCode__] = __TIB_java_util_AbstractSequentialList.vtable[4];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_indexOf___java_lang_Object] = __TIB_java_util_AbstractSequentialList.vtable[22];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_isEmpty__] = __TIB_java_util_AbstractSequentialList.vtable[11];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_iterator__] = __TIB_java_util_AbstractSequentialList.vtable[12];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_lastIndexOf___java_lang_Object] = __TIB_java_util_AbstractSequentialList.vtable[23];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_listIterator__] = __TIB_java_util_AbstractSequentialList.vtable[24];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_listIterator___int] = __TIB_java_util_AbstractSequentialList.vtable[25];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_removeAll___java_util_Collection] = __TIB_java_util_AbstractSequentialList.vtable[13];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_remove___int] = __TIB_java_util_AbstractSequentialList.vtable[27];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_remove___java_lang_Object] = __TIB_java_util_AbstractSequentialList.vtable[14];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_retainAll___java_util_Collection] = __TIB_java_util_AbstractSequentialList.vtable[15];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_set___int_java_lang_Object] = __TIB_java_util_AbstractSequentialList.vtable[28];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_size__] = __TIB_java_util_AbstractSequentialList.vtable[16];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_subList___int_int] = __TIB_java_util_AbstractSequentialList.vtable[29];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_toArray__] = __TIB_java_util_AbstractSequentialList.vtable[17];
+ __TIB_java_util_AbstractSequentialList.itable[XMLVM_ITABLE_IDX_java_util_List_toArray___java_lang_Object_1ARRAY] = __TIB_java_util_AbstractSequentialList.vtable[18];
+
+
+ __TIB_java_util_AbstractSequentialList.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_AbstractSequentialList.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_AbstractSequentialList.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_AbstractSequentialList.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_AbstractSequentialList.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_AbstractSequentialList.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_AbstractSequentialList.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_AbstractSequentialList.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_AbstractSequentialList = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_AbstractSequentialList);
+ __TIB_java_util_AbstractSequentialList.clazz = __CLASS_java_util_AbstractSequentialList;
+ __TIB_java_util_AbstractSequentialList.baseType = JAVA_NULL;
+ __CLASS_java_util_AbstractSequentialList_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_AbstractSequentialList);
+ __CLASS_java_util_AbstractSequentialList_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_AbstractSequentialList_1ARRAY);
+ __CLASS_java_util_AbstractSequentialList_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_AbstractSequentialList_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_AbstractSequentialList]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_AbstractSequentialList.classInitialized = 1;
+}
+
+void __DELETE_java_util_AbstractSequentialList(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_AbstractSequentialList]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_AbstractSequentialList(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_util_AbstractList(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_AbstractSequentialList]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_AbstractSequentialList()
+{ XMLVM_CLASS_INIT(java_util_AbstractSequentialList)
+java_util_AbstractSequentialList* me = (java_util_AbstractSequentialList*) XMLVM_MALLOC(sizeof(java_util_AbstractSequentialList));
+ me->tib = &__TIB_java_util_AbstractSequentialList;
+ __INIT_INSTANCE_MEMBERS_java_util_AbstractSequentialList(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_AbstractSequentialList]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_AbstractSequentialList()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_util_AbstractSequentialList();
+ java_util_AbstractSequentialList___INIT___(me);
+ return me;
+}
+
+void java_util_AbstractSequentialList___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractSequentialList___INIT___]
+ XMLVM_ENTER_METHOD("java.util.AbstractSequentialList", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("AbstractSequentialList.java", 33)
+ XMLVM_CHECK_NPE(0)
+ java_util_AbstractList___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("AbstractSequentialList.java", 34)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_AbstractSequentialList_add___int_java_lang_Object(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractSequentialList_add___int_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.AbstractSequentialList", "add", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("AbstractSequentialList.java", 38)
+ //java_util_AbstractSequentialList_listIterator___int[25]
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) ((java_util_AbstractSequentialList*) _r1.o)->tib->vtable[25])(_r1.o, _r2.i);
+
+
+ // Red class access removed: java.util.ListIterator::add
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("AbstractSequentialList.java", 39)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_AbstractSequentialList_addAll___int_java_util_Collection(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractSequentialList_addAll___int_java_util_Collection]
+ XMLVM_ENTER_METHOD("java.util.AbstractSequentialList", "addAll", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r4.o = me;
+ _r5.i = n1;
+ _r6.o = n2;
+ XMLVM_SOURCE_POSITION("AbstractSequentialList.java", 43)
+ //java_util_AbstractSequentialList_listIterator___int[25]
+ XMLVM_CHECK_NPE(4)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) ((java_util_AbstractSequentialList*) _r4.o)->tib->vtable[25])(_r4.o, _r5.i);
+ XMLVM_SOURCE_POSITION("AbstractSequentialList.java", 44)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r6.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_iterator__])(_r6.o);
+ XMLVM_SOURCE_POSITION("AbstractSequentialList.java", 45)
+
+
+ // Red class access removed: java.util.ListIterator::nextIndex
+ XMLVM_RED_CLASS_DEPENDENCY();
+ label12:;
+ XMLVM_SOURCE_POSITION("AbstractSequentialList.java", 46)
+ XMLVM_CHECK_NPE(1)
+ _r3.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r1.o);
+ if (_r3.i != 0) goto label26;
+ XMLVM_SOURCE_POSITION("AbstractSequentialList.java", 49)
+
+
+ // Red class access removed: java.util.ListIterator::nextIndex
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r2.i == _r0.i) goto label34;
+ _r0.i = 1;
+ label25:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label26:;
+ XMLVM_SOURCE_POSITION("AbstractSequentialList.java", 47)
+ XMLVM_CHECK_NPE(1)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r1.o);
+
+
+ // Red class access removed: java.util.ListIterator::add
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label12;
+ label34:;
+ _r0.i = 0;
+ goto label25;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_AbstractSequentialList_get___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractSequentialList_get___int]
+ XMLVM_ENTER_METHOD("java.util.AbstractSequentialList", "get", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_TRY_BEGIN(w3823aaab3b1b3)
+ // Begin try
+ XMLVM_SOURCE_POSITION("AbstractSequentialList.java", 55)
+ //java_util_AbstractSequentialList_listIterator___int[25]
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) ((java_util_AbstractSequentialList*) _r1.o)->tib->vtable[25])(_r1.o, _r2.i);
+
+
+ // Red class access removed: java.util.ListIterator::next
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3823aaab3b1b3)
+ XMLVM_CATCH_END(w3823aaab3b1b3)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3823aaab3b1b3)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label9:;
+ XMLVM_SOURCE_POSITION("AbstractSequentialList.java", 57)
+ java_lang_Thread* curThread_w3823aaab3b1b7 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w3823aaab3b1b7->fields.java_lang_Thread.xmlvmException_;
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_AbstractSequentialList_iterator__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractSequentialList_iterator__]
+ XMLVM_ENTER_METHOD("java.util.AbstractSequentialList", "iterator", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("AbstractSequentialList.java", 63)
+ _r0.i = 0;
+ //java_util_AbstractSequentialList_listIterator___int[25]
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) ((java_util_AbstractSequentialList*) _r1.o)->tib->vtable[25])(_r1.o, _r0.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_AbstractSequentialList_remove___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractSequentialList_remove___int]
+ XMLVM_ENTER_METHOD("java.util.AbstractSequentialList", "remove", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ _r2.o = me;
+ _r3.i = n1;
+ XMLVM_TRY_BEGIN(w3823aaab6b1b3)
+ // Begin try
+ XMLVM_SOURCE_POSITION("AbstractSequentialList.java", 72)
+ //java_util_AbstractSequentialList_listIterator___int[25]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) ((java_util_AbstractSequentialList*) _r2.o)->tib->vtable[25])(_r2.o, _r3.i);
+ XMLVM_SOURCE_POSITION("AbstractSequentialList.java", 73)
+
+
+ // Red class access removed: java.util.ListIterator::next
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("AbstractSequentialList.java", 74)
+
+
+ // Red class access removed: java.util.ListIterator::remove
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3823aaab6b1b3)
+ XMLVM_CATCH_END(w3823aaab6b1b3)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3823aaab6b1b3)
+ XMLVM_SOURCE_POSITION("AbstractSequentialList.java", 75)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label12:;
+ XMLVM_SOURCE_POSITION("AbstractSequentialList.java", 77)
+ java_lang_Thread* curThread_w3823aaab6b1b8 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w3823aaab6b1b8->fields.java_lang_Thread.xmlvmException_;
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_AbstractSequentialList_set___int_java_lang_Object(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractSequentialList_set___int_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.AbstractSequentialList", "set", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.i = n1;
+ _r4.o = n2;
+ XMLVM_SOURCE_POSITION("AbstractSequentialList.java", 83)
+ //java_util_AbstractSequentialList_listIterator___int[25]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) ((java_util_AbstractSequentialList*) _r2.o)->tib->vtable[25])(_r2.o, _r3.i);
+ XMLVM_SOURCE_POSITION("AbstractSequentialList.java", 84)
+
+
+ // Red class access removed: java.util.ListIterator::hasNext
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r1.i != 0) goto label16;
+ XMLVM_SOURCE_POSITION("AbstractSequentialList.java", 85)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label16:;
+ XMLVM_SOURCE_POSITION("AbstractSequentialList.java", 87)
+
+
+ // Red class access removed: java.util.ListIterator::next
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("AbstractSequentialList.java", 88)
+
+
+ // Red class access removed: java.util.ListIterator::set
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("AbstractSequentialList.java", 89)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_AbstractSequentialList.h b/tests/nbody-java/java_util_AbstractSequentialList.h
new file mode 100644
index 00000000..b0c59370
--- /dev/null
+++ b/tests/nbody-java/java_util_AbstractSequentialList.h
@@ -0,0 +1,88 @@
+#ifndef __JAVA_UTIL_ABSTRACTSEQUENTIALLIST__
+#define __JAVA_UTIL_ABSTRACTSEQUENTIALLIST__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_AbstractSequentialList 78
+// Implemented interfaces:
+// Super Class:
+#include "java_util_AbstractList.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+#define XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+XMLVM_FORWARD_DECL(java_lang_IndexOutOfBoundsException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Collection
+#define XMLVM_FORWARD_DECL_java_util_Collection
+XMLVM_FORWARD_DECL(java_util_Collection)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Iterator
+#define XMLVM_FORWARD_DECL_java_util_Iterator
+XMLVM_FORWARD_DECL(java_util_Iterator)
+#endif
+// Class declarations for java.util.AbstractSequentialList
+XMLVM_DEFINE_CLASS(java_util_AbstractSequentialList, 30, XMLVM_ITABLE_SIZE_java_util_AbstractSequentialList)
+
+extern JAVA_OBJECT __CLASS_java_util_AbstractSequentialList;
+extern JAVA_OBJECT __CLASS_java_util_AbstractSequentialList_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_AbstractSequentialList_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_AbstractSequentialList_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_AbstractSequentialList
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_AbstractSequentialList \
+ __INSTANCE_FIELDS_java_util_AbstractList; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_AbstractSequentialList \
+ } java_util_AbstractSequentialList
+
+struct java_util_AbstractSequentialList {
+ __TIB_DEFINITION_java_util_AbstractSequentialList* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_AbstractSequentialList;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_AbstractSequentialList
+#define XMLVM_FORWARD_DECL_java_util_AbstractSequentialList
+typedef struct java_util_AbstractSequentialList java_util_AbstractSequentialList;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_AbstractSequentialList 30
+#define XMLVM_VTABLE_IDX_java_util_AbstractSequentialList_add___int_java_lang_Object 20
+#define XMLVM_VTABLE_IDX_java_util_AbstractSequentialList_addAll___int_java_util_Collection 19
+#define XMLVM_VTABLE_IDX_java_util_AbstractSequentialList_get___int 21
+#define XMLVM_VTABLE_IDX_java_util_AbstractSequentialList_iterator__ 12
+#define XMLVM_VTABLE_IDX_java_util_AbstractSequentialList_listIterator___int 25
+#define XMLVM_VTABLE_IDX_java_util_AbstractSequentialList_remove___int 27
+#define XMLVM_VTABLE_IDX_java_util_AbstractSequentialList_set___int_java_lang_Object 28
+
+void __INIT_java_util_AbstractSequentialList();
+void __INIT_IMPL_java_util_AbstractSequentialList();
+void __DELETE_java_util_AbstractSequentialList(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_AbstractSequentialList(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_AbstractSequentialList();
+JAVA_OBJECT __NEW_INSTANCE_java_util_AbstractSequentialList();
+void java_util_AbstractSequentialList___INIT___(JAVA_OBJECT me);
+// Vtable index: 20
+void java_util_AbstractSequentialList_add___int_java_lang_Object(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2);
+// Vtable index: 19
+JAVA_BOOLEAN java_util_AbstractSequentialList_addAll___int_java_util_Collection(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2);
+// Vtable index: 21
+JAVA_OBJECT java_util_AbstractSequentialList_get___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 12
+JAVA_OBJECT java_util_AbstractSequentialList_iterator__(JAVA_OBJECT me);
+// Vtable index: 25
+JAVA_OBJECT java_util_AbstractSequentialList_listIterator___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 27
+JAVA_OBJECT java_util_AbstractSequentialList_remove___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 28
+JAVA_OBJECT java_util_AbstractSequentialList_set___int_java_lang_Object(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2);
+
+#endif
diff --git a/tests/nbody-java/java_util_AbstractSet.c b/tests/nbody-java/java_util_AbstractSet.c
new file mode 100644
index 00000000..a5c44d09
--- /dev/null
+++ b/tests/nbody-java/java_util_AbstractSet.c
@@ -0,0 +1,405 @@
+#include "xmlvm.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_Object.h"
+#include "java_util_Collection.h"
+#include "java_util_Iterator.h"
+
+#include "java_util_AbstractSet.h"
+
+#define XMLVM_CURRENT_CLASS_NAME AbstractSet
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_AbstractSet
+
+__TIB_DEFINITION_java_util_AbstractSet __TIB_java_util_AbstractSet = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_AbstractSet, // classInitializer
+ "java.util.AbstractSet", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<E:Ljava/lang/Object;>Ljava/util/AbstractCollection<TE;>;Ljava/util/Set<TE;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_AbstractCollection, // extends
+ sizeof(java_util_AbstractSet), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_AbstractSet;
+JAVA_OBJECT __CLASS_java_util_AbstractSet_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_AbstractSet_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_AbstractSet_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_AbstractSet()
+{
+ staticInitializerLock(&__TIB_java_util_AbstractSet);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_AbstractSet.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_AbstractSet.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_AbstractSet);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_AbstractSet.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_AbstractSet.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_AbstractSet.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.AbstractSet")
+ __INIT_IMPL_java_util_AbstractSet();
+ }
+}
+
+void __INIT_IMPL_java_util_AbstractSet()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_util_AbstractCollection)
+ __TIB_java_util_AbstractSet.newInstanceFunc = __NEW_INSTANCE_java_util_AbstractSet;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_AbstractSet.vtable, __TIB_java_util_AbstractCollection.vtable, sizeof(__TIB_java_util_AbstractCollection.vtable));
+ // Initialize vtable for this class
+ __TIB_java_util_AbstractSet.vtable[1] = (VTABLE_PTR) &java_util_AbstractSet_equals___java_lang_Object;
+ __TIB_java_util_AbstractSet.vtable[4] = (VTABLE_PTR) &java_util_AbstractSet_hashCode__;
+ __TIB_java_util_AbstractSet.vtable[13] = (VTABLE_PTR) &java_util_AbstractSet_removeAll___java_util_Collection;
+ // Initialize interface information
+ __TIB_java_util_AbstractSet.numImplementedInterfaces = 3;
+ __TIB_java_util_AbstractSet.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 3);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_lang_Iterable)
+
+ __TIB_java_util_AbstractSet.implementedInterfaces[0][0] = &__TIB_java_lang_Iterable;
+
+ XMLVM_CLASS_INIT(java_util_Collection)
+
+ __TIB_java_util_AbstractSet.implementedInterfaces[0][1] = &__TIB_java_util_Collection;
+
+ XMLVM_CLASS_INIT(java_util_Set)
+
+ __TIB_java_util_AbstractSet.implementedInterfaces[0][2] = &__TIB_java_util_Set;
+ // Initialize itable for this class
+ __TIB_java_util_AbstractSet.itableBegin = &__TIB_java_util_AbstractSet.itable[0];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_lang_Iterable_iterator__] = __TIB_java_util_AbstractSet.vtable[12];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_addAll___java_util_Collection] = __TIB_java_util_AbstractSet.vtable[6];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_add___java_lang_Object] = __TIB_java_util_AbstractSet.vtable[7];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_clear__] = __TIB_java_util_AbstractSet.vtable[8];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_containsAll___java_util_Collection] = __TIB_java_util_AbstractSet.vtable[9];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_contains___java_lang_Object] = __TIB_java_util_AbstractSet.vtable[10];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_equals___java_lang_Object] = __TIB_java_util_AbstractSet.vtable[1];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_hashCode__] = __TIB_java_util_AbstractSet.vtable[4];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_isEmpty__] = __TIB_java_util_AbstractSet.vtable[11];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_iterator__] = __TIB_java_util_AbstractSet.vtable[12];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_removeAll___java_util_Collection] = __TIB_java_util_AbstractSet.vtable[13];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_remove___java_lang_Object] = __TIB_java_util_AbstractSet.vtable[14];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_retainAll___java_util_Collection] = __TIB_java_util_AbstractSet.vtable[15];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_size__] = __TIB_java_util_AbstractSet.vtable[16];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_toArray__] = __TIB_java_util_AbstractSet.vtable[17];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_toArray___java_lang_Object_1ARRAY] = __TIB_java_util_AbstractSet.vtable[18];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Set_addAll___java_util_Collection] = __TIB_java_util_AbstractSet.vtable[6];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Set_add___java_lang_Object] = __TIB_java_util_AbstractSet.vtable[7];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Set_clear__] = __TIB_java_util_AbstractSet.vtable[8];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Set_containsAll___java_util_Collection] = __TIB_java_util_AbstractSet.vtable[9];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Set_contains___java_lang_Object] = __TIB_java_util_AbstractSet.vtable[10];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Set_equals___java_lang_Object] = __TIB_java_util_AbstractSet.vtable[1];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Set_hashCode__] = __TIB_java_util_AbstractSet.vtable[4];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Set_isEmpty__] = __TIB_java_util_AbstractSet.vtable[11];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Set_iterator__] = __TIB_java_util_AbstractSet.vtable[12];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Set_removeAll___java_util_Collection] = __TIB_java_util_AbstractSet.vtable[13];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Set_remove___java_lang_Object] = __TIB_java_util_AbstractSet.vtable[14];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Set_retainAll___java_util_Collection] = __TIB_java_util_AbstractSet.vtable[15];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Set_size__] = __TIB_java_util_AbstractSet.vtable[16];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Set_toArray__] = __TIB_java_util_AbstractSet.vtable[17];
+ __TIB_java_util_AbstractSet.itable[XMLVM_ITABLE_IDX_java_util_Set_toArray___java_lang_Object_1ARRAY] = __TIB_java_util_AbstractSet.vtable[18];
+
+
+ __TIB_java_util_AbstractSet.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_AbstractSet.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_AbstractSet.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_AbstractSet.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_AbstractSet.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_AbstractSet.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_AbstractSet.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_AbstractSet.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_AbstractSet = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_AbstractSet);
+ __TIB_java_util_AbstractSet.clazz = __CLASS_java_util_AbstractSet;
+ __TIB_java_util_AbstractSet.baseType = JAVA_NULL;
+ __CLASS_java_util_AbstractSet_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_AbstractSet);
+ __CLASS_java_util_AbstractSet_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_AbstractSet_1ARRAY);
+ __CLASS_java_util_AbstractSet_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_AbstractSet_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_AbstractSet]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_AbstractSet.classInitialized = 1;
+}
+
+void __DELETE_java_util_AbstractSet(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_AbstractSet]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_AbstractSet(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_util_AbstractCollection(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_AbstractSet]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_AbstractSet()
+{ XMLVM_CLASS_INIT(java_util_AbstractSet)
+java_util_AbstractSet* me = (java_util_AbstractSet*) XMLVM_MALLOC(sizeof(java_util_AbstractSet));
+ me->tib = &__TIB_java_util_AbstractSet;
+ __INIT_INSTANCE_MEMBERS_java_util_AbstractSet(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_AbstractSet]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_AbstractSet()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_util_AbstractSet();
+ java_util_AbstractSet___INIT___(me);
+ return me;
+}
+
+void java_util_AbstractSet___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractSet___INIT___]
+ XMLVM_ENTER_METHOD("java.util.AbstractSet", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 34)
+ XMLVM_CHECK_NPE(0)
+ java_util_AbstractCollection___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 35)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_AbstractSet_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractSet_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.AbstractSet", "equals", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ _r4.o = me;
+ _r5.o = n1;
+ _r3.i = 1;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 50)
+ if (_r4.o != _r5.o) goto label6;
+ _r0 = _r3;
+ label5:;
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 51)
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 64)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 53)
+ XMLVM_CLASS_INIT(java_util_Set)
+ _r0.i = XMLVM_ISA(_r5.o, __CLASS_java_util_Set);
+ if (_r0.i == 0) goto label38;
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 54)
+ _r5.o = _r5.o;
+ XMLVM_TRY_BEGIN(w1612aaab1b1c18)
+ // Begin try
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 57)
+ //java_util_AbstractSet_size__[16]
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_AbstractSet*) _r4.o)->tib->vtable[16])(_r4.o);
+ XMLVM_CHECK_NPE(5)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Set_size__])(_r5.o);
+ if (_r0.i != _r1.i) { XMLVM_MEMCPY(curThread_w1612aaab1b1c18->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1612aaab1b1c18, sizeof(XMLVM_JMP_BUF)); goto label30; };
+ //java_util_AbstractSet_containsAll___java_util_Collection[9]
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_AbstractSet*) _r4.o)->tib->vtable[9])(_r4.o, _r5.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1612aaab1b1c18)
+ XMLVM_CATCH_SPECIFIC(w1612aaab1b1c18,java_lang_NullPointerException,32)
+ XMLVM_CATCH_END(w1612aaab1b1c18)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1612aaab1b1c18)
+ if (_r0.i == 0) goto label30;
+ _r0 = _r3;
+ goto label5;
+ label30:;
+ _r0 = _r2;
+ goto label5;
+ label32:;
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 59)
+ java_lang_Thread* curThread_w1612aaab1b1c27 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w1612aaab1b1c27->fields.java_lang_Thread.xmlvmException_;
+ _r0 = _r2;
+ goto label5;
+ label35:;
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 61)
+ java_lang_Thread* curThread_w1612aaab1b1c32 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w1612aaab1b1c32->fields.java_lang_Thread.xmlvmException_;
+ _r0 = _r2;
+ goto label5;
+ label38:;
+ _r0 = _r2;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_AbstractSet_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractSet_hashCode__]
+ XMLVM_ENTER_METHOD("java.util.AbstractSet", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 77)
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 78)
+ //java_util_AbstractSet_iterator__[12]
+ XMLVM_CHECK_NPE(4)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_AbstractSet*) _r4.o)->tib->vtable[12])(_r4.o);
+ _r1 = _r3;
+ label6:;
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 79)
+ XMLVM_CHECK_NPE(0)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r2.i != 0) goto label13;
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 83)
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ label13:;
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 80)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 81)
+ if (_r2.o != JAVA_NULL) goto label22;
+ _r2 = _r3;
+ label20:;
+ _r1.i = _r1.i + _r2.i;
+ goto label6;
+ label22:;
+ //java_lang_Object_hashCode__[4]
+ XMLVM_CHECK_NPE(2)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r2.o)->tib->vtable[4])(_r2.o);
+ goto label20;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_AbstractSet_removeAll___java_util_Collection(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_AbstractSet_removeAll___java_util_Collection]
+ XMLVM_ENTER_METHOD("java.util.AbstractSet", "removeAll", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r5.o = me;
+ _r6.o = n1;
+ _r4.i = 1;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 99)
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 100)
+ //java_util_AbstractSet_size__[16]
+ XMLVM_CHECK_NPE(5)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_AbstractSet*) _r5.o)->tib->vtable[16])(_r5.o);
+ XMLVM_CHECK_NPE(6)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r6.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_size__])(_r6.o);
+ if (_r0.i > _r1.i) goto label40;
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 101)
+ //java_util_AbstractSet_iterator__[12]
+ XMLVM_CHECK_NPE(5)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_AbstractSet*) _r5.o)->tib->vtable[12])(_r5.o);
+ _r1 = _r3;
+ label17:;
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 102)
+ XMLVM_CHECK_NPE(0)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r2.i != 0) goto label25;
+ _r0 = _r1;
+ label24:;
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 114)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label25:;
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 103)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ XMLVM_CHECK_NPE(6)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r6.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_contains___java_lang_Object])(_r6.o, _r2.o);
+ if (_r2.i == 0) goto label17;
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 104)
+ XMLVM_CHECK_NPE(0)
+ (*(void (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_remove__])(_r0.o);
+ _r1 = _r4;
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 105)
+ goto label17;
+ label40:;
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 109)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r6.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_iterator__])(_r6.o);
+ _r1 = _r3;
+ label45:;
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 110)
+ XMLVM_CHECK_NPE(0)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r2.i != 0) goto label53;
+ _r0 = _r1;
+ goto label24;
+ label53:;
+ XMLVM_SOURCE_POSITION("AbstractSet.java", 111)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ //java_util_AbstractSet_remove___java_lang_Object[14]
+ XMLVM_CHECK_NPE(5)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_AbstractSet*) _r5.o)->tib->vtable[14])(_r5.o, _r2.o);
+ if (_r2.i != 0) goto label67;
+ if (_r1.i != 0) goto label67;
+ _r1 = _r3;
+ goto label45;
+ label67:;
+ _r1 = _r4;
+ goto label45;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_AbstractSet.h b/tests/nbody-java/java_util_AbstractSet.h
new file mode 100644
index 00000000..b2d7378b
--- /dev/null
+++ b/tests/nbody-java/java_util_AbstractSet.h
@@ -0,0 +1,77 @@
+#ifndef __JAVA_UTIL_ABSTRACTSET__
+#define __JAVA_UTIL_ABSTRACTSET__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_AbstractSet 31
+// Implemented interfaces:
+#include "java_util_Set.h"
+// Super Class:
+#include "java_util_AbstractCollection.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Collection
+#define XMLVM_FORWARD_DECL_java_util_Collection
+XMLVM_FORWARD_DECL(java_util_Collection)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Iterator
+#define XMLVM_FORWARD_DECL_java_util_Iterator
+XMLVM_FORWARD_DECL(java_util_Iterator)
+#endif
+// Class declarations for java.util.AbstractSet
+XMLVM_DEFINE_CLASS(java_util_AbstractSet, 19, XMLVM_ITABLE_SIZE_java_util_AbstractSet)
+
+extern JAVA_OBJECT __CLASS_java_util_AbstractSet;
+extern JAVA_OBJECT __CLASS_java_util_AbstractSet_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_AbstractSet_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_AbstractSet_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_AbstractSet
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_AbstractSet \
+ __INSTANCE_FIELDS_java_util_AbstractCollection; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_AbstractSet \
+ } java_util_AbstractSet
+
+struct java_util_AbstractSet {
+ __TIB_DEFINITION_java_util_AbstractSet* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_AbstractSet;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_AbstractSet
+#define XMLVM_FORWARD_DECL_java_util_AbstractSet
+typedef struct java_util_AbstractSet java_util_AbstractSet;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_AbstractSet 19
+#define XMLVM_VTABLE_IDX_java_util_AbstractSet_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_util_AbstractSet_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_util_AbstractSet_removeAll___java_util_Collection 13
+
+void __INIT_java_util_AbstractSet();
+void __INIT_IMPL_java_util_AbstractSet();
+void __DELETE_java_util_AbstractSet(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_AbstractSet(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_AbstractSet();
+JAVA_OBJECT __NEW_INSTANCE_java_util_AbstractSet();
+void java_util_AbstractSet___INIT___(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_util_AbstractSet_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 4
+JAVA_INT java_util_AbstractSet_hashCode__(JAVA_OBJECT me);
+// Vtable index: 13
+JAVA_BOOLEAN java_util_AbstractSet_removeAll___java_util_Collection(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_util_ArrayList.c b/tests/nbody-java/java_util_ArrayList.c
new file mode 100644
index 00000000..b8fe8155
--- /dev/null
+++ b/tests/nbody-java/java_util_ArrayList.c
@@ -0,0 +1,2364 @@
+#include "xmlvm.h"
+#include "java_io_ObjectStreamField.h"
+#include "java_lang_Class.h"
+#include "java_lang_IndexOutOfBoundsException.h"
+#include "java_lang_Integer.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+#include "java_lang_System.h"
+#include "java_lang_reflect_Array.h"
+#include "java_util_Collection.h"
+#include "java_util_Iterator.h"
+#include "org_apache_harmony_luni_internal_nls_Messages.h"
+
+#include "java_util_ArrayList.h"
+
+#define XMLVM_CURRENT_CLASS_NAME ArrayList
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_ArrayList
+
+__TIB_DEFINITION_java_util_ArrayList __TIB_java_util_ArrayList = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_ArrayList, // classInitializer
+ "java.util.ArrayList", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<E:Ljava/lang/Object;>Ljava/util/AbstractList<TE;>;Ljava/util/List<TE;>;Ljava/lang/Cloneable;Ljava/io/Serializable;Ljava/util/RandomAccess;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_AbstractList, // extends
+ sizeof(java_util_ArrayList), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_ArrayList;
+JAVA_OBJECT __CLASS_java_util_ArrayList_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_ArrayList_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_ArrayList_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_util_ArrayList_serialVersionUID;
+static JAVA_OBJECT _STATIC_java_util_ArrayList_serialPersistentFields;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_ArrayList()
+{
+ staticInitializerLock(&__TIB_java_util_ArrayList);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_ArrayList.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_ArrayList.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_ArrayList);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_ArrayList.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_ArrayList.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_ArrayList.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.ArrayList")
+ __INIT_IMPL_java_util_ArrayList();
+ }
+}
+
+void __INIT_IMPL_java_util_ArrayList()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_util_AbstractList)
+ __TIB_java_util_ArrayList.newInstanceFunc = __NEW_INSTANCE_java_util_ArrayList;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_ArrayList.vtable, __TIB_java_util_AbstractList.vtable, sizeof(__TIB_java_util_AbstractList.vtable));
+ // Initialize vtable for this class
+ __TIB_java_util_ArrayList.vtable[20] = (VTABLE_PTR) &java_util_ArrayList_add___int_java_lang_Object;
+ __TIB_java_util_ArrayList.vtable[7] = (VTABLE_PTR) &java_util_ArrayList_add___java_lang_Object;
+ __TIB_java_util_ArrayList.vtable[19] = (VTABLE_PTR) &java_util_ArrayList_addAll___int_java_util_Collection;
+ __TIB_java_util_ArrayList.vtable[6] = (VTABLE_PTR) &java_util_ArrayList_addAll___java_util_Collection;
+ __TIB_java_util_ArrayList.vtable[8] = (VTABLE_PTR) &java_util_ArrayList_clear__;
+ __TIB_java_util_ArrayList.vtable[0] = (VTABLE_PTR) &java_util_ArrayList_clone__;
+ __TIB_java_util_ArrayList.vtable[10] = (VTABLE_PTR) &java_util_ArrayList_contains___java_lang_Object;
+ __TIB_java_util_ArrayList.vtable[21] = (VTABLE_PTR) &java_util_ArrayList_get___int;
+ __TIB_java_util_ArrayList.vtable[22] = (VTABLE_PTR) &java_util_ArrayList_indexOf___java_lang_Object;
+ __TIB_java_util_ArrayList.vtable[11] = (VTABLE_PTR) &java_util_ArrayList_isEmpty__;
+ __TIB_java_util_ArrayList.vtable[23] = (VTABLE_PTR) &java_util_ArrayList_lastIndexOf___java_lang_Object;
+ __TIB_java_util_ArrayList.vtable[27] = (VTABLE_PTR) &java_util_ArrayList_remove___int;
+ __TIB_java_util_ArrayList.vtable[14] = (VTABLE_PTR) &java_util_ArrayList_remove___java_lang_Object;
+ __TIB_java_util_ArrayList.vtable[26] = (VTABLE_PTR) &java_util_ArrayList_removeRange___int_int;
+ __TIB_java_util_ArrayList.vtable[28] = (VTABLE_PTR) &java_util_ArrayList_set___int_java_lang_Object;
+ __TIB_java_util_ArrayList.vtable[16] = (VTABLE_PTR) &java_util_ArrayList_size__;
+ __TIB_java_util_ArrayList.vtable[17] = (VTABLE_PTR) &java_util_ArrayList_toArray__;
+ __TIB_java_util_ArrayList.vtable[18] = (VTABLE_PTR) &java_util_ArrayList_toArray___java_lang_Object_1ARRAY;
+ // Initialize interface information
+ __TIB_java_util_ArrayList.numImplementedInterfaces = 6;
+ __TIB_java_util_ArrayList.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 6);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_util_ArrayList.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_lang_Cloneable)
+
+ __TIB_java_util_ArrayList.implementedInterfaces[0][1] = &__TIB_java_lang_Cloneable;
+
+ XMLVM_CLASS_INIT(java_lang_Iterable)
+
+ __TIB_java_util_ArrayList.implementedInterfaces[0][2] = &__TIB_java_lang_Iterable;
+
+ XMLVM_CLASS_INIT(java_util_Collection)
+
+ __TIB_java_util_ArrayList.implementedInterfaces[0][3] = &__TIB_java_util_Collection;
+
+ XMLVM_CLASS_INIT(java_util_List)
+
+ __TIB_java_util_ArrayList.implementedInterfaces[0][4] = &__TIB_java_util_List;
+
+ XMLVM_CLASS_INIT(java_util_RandomAccess)
+
+ __TIB_java_util_ArrayList.implementedInterfaces[0][5] = &__TIB_java_util_RandomAccess;
+ // Initialize itable for this class
+ __TIB_java_util_ArrayList.itableBegin = &__TIB_java_util_ArrayList.itable[0];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_lang_Iterable_iterator__] = __TIB_java_util_ArrayList.vtable[12];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_addAll___java_util_Collection] = __TIB_java_util_ArrayList.vtable[6];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_add___java_lang_Object] = __TIB_java_util_ArrayList.vtable[7];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_clear__] = __TIB_java_util_ArrayList.vtable[8];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_containsAll___java_util_Collection] = __TIB_java_util_ArrayList.vtable[9];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_contains___java_lang_Object] = __TIB_java_util_ArrayList.vtable[10];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_equals___java_lang_Object] = __TIB_java_util_ArrayList.vtable[1];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_hashCode__] = __TIB_java_util_ArrayList.vtable[4];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_isEmpty__] = __TIB_java_util_ArrayList.vtable[11];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_iterator__] = __TIB_java_util_ArrayList.vtable[12];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_removeAll___java_util_Collection] = __TIB_java_util_ArrayList.vtable[13];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_remove___java_lang_Object] = __TIB_java_util_ArrayList.vtable[14];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_retainAll___java_util_Collection] = __TIB_java_util_ArrayList.vtable[15];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_size__] = __TIB_java_util_ArrayList.vtable[16];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_toArray__] = __TIB_java_util_ArrayList.vtable[17];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_Collection_toArray___java_lang_Object_1ARRAY] = __TIB_java_util_ArrayList.vtable[18];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_addAll___int_java_util_Collection] = __TIB_java_util_ArrayList.vtable[19];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_addAll___java_util_Collection] = __TIB_java_util_ArrayList.vtable[6];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_add___int_java_lang_Object] = __TIB_java_util_ArrayList.vtable[20];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_add___java_lang_Object] = __TIB_java_util_ArrayList.vtable[7];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_clear__] = __TIB_java_util_ArrayList.vtable[8];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_containsAll___java_util_Collection] = __TIB_java_util_ArrayList.vtable[9];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_contains___java_lang_Object] = __TIB_java_util_ArrayList.vtable[10];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_equals___java_lang_Object] = __TIB_java_util_ArrayList.vtable[1];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_get___int] = __TIB_java_util_ArrayList.vtable[21];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_hashCode__] = __TIB_java_util_ArrayList.vtable[4];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_indexOf___java_lang_Object] = __TIB_java_util_ArrayList.vtable[22];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_isEmpty__] = __TIB_java_util_ArrayList.vtable[11];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_iterator__] = __TIB_java_util_ArrayList.vtable[12];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_lastIndexOf___java_lang_Object] = __TIB_java_util_ArrayList.vtable[23];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_listIterator__] = __TIB_java_util_ArrayList.vtable[24];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_listIterator___int] = __TIB_java_util_ArrayList.vtable[25];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_removeAll___java_util_Collection] = __TIB_java_util_ArrayList.vtable[13];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_remove___int] = __TIB_java_util_ArrayList.vtable[27];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_remove___java_lang_Object] = __TIB_java_util_ArrayList.vtable[14];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_retainAll___java_util_Collection] = __TIB_java_util_ArrayList.vtable[15];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_set___int_java_lang_Object] = __TIB_java_util_ArrayList.vtable[28];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_size__] = __TIB_java_util_ArrayList.vtable[16];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_subList___int_int] = __TIB_java_util_ArrayList.vtable[29];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_toArray__] = __TIB_java_util_ArrayList.vtable[17];
+ __TIB_java_util_ArrayList.itable[XMLVM_ITABLE_IDX_java_util_List_toArray___java_lang_Object_1ARRAY] = __TIB_java_util_ArrayList.vtable[18];
+
+ _STATIC_java_util_ArrayList_serialVersionUID = 8683452581122892189;
+ _STATIC_java_util_ArrayList_serialPersistentFields = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+
+ __TIB_java_util_ArrayList.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_ArrayList.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_ArrayList.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_ArrayList.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_ArrayList.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_ArrayList.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_ArrayList.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_ArrayList.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_ArrayList = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_ArrayList);
+ __TIB_java_util_ArrayList.clazz = __CLASS_java_util_ArrayList;
+ __TIB_java_util_ArrayList.baseType = JAVA_NULL;
+ __CLASS_java_util_ArrayList_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_ArrayList);
+ __CLASS_java_util_ArrayList_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_ArrayList_1ARRAY);
+ __CLASS_java_util_ArrayList_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_ArrayList_2ARRAY);
+ java_util_ArrayList___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_ArrayList]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_ArrayList.classInitialized = 1;
+}
+
+void __DELETE_java_util_ArrayList(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_ArrayList]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_ArrayList(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_util_AbstractList(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_util_ArrayList*) me)->fields.java_util_ArrayList.firstIndex_ = 0;
+ ((java_util_ArrayList*) me)->fields.java_util_ArrayList.size_ = 0;
+ ((java_util_ArrayList*) me)->fields.java_util_ArrayList.array_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_ArrayList]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_ArrayList()
+{ XMLVM_CLASS_INIT(java_util_ArrayList)
+java_util_ArrayList* me = (java_util_ArrayList*) XMLVM_MALLOC(sizeof(java_util_ArrayList));
+ me->tib = &__TIB_java_util_ArrayList;
+ __INIT_INSTANCE_MEMBERS_java_util_ArrayList(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_ArrayList]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_ArrayList()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_util_ArrayList();
+ java_util_ArrayList___INIT___(me);
+ return me;
+}
+
+JAVA_LONG java_util_ArrayList_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_util_ArrayList)
+ return _STATIC_java_util_ArrayList_serialVersionUID;
+}
+
+void java_util_ArrayList_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_util_ArrayList)
+_STATIC_java_util_ArrayList_serialVersionUID = v;
+}
+
+JAVA_OBJECT java_util_ArrayList_GET_serialPersistentFields()
+{
+ XMLVM_CLASS_INIT(java_util_ArrayList)
+ return _STATIC_java_util_ArrayList_serialPersistentFields;
+}
+
+void java_util_ArrayList_PUT_serialPersistentFields(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_ArrayList)
+_STATIC_java_util_ArrayList_serialPersistentFields = v;
+}
+
+void java_util_ArrayList___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList___CLINIT___]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 690)
+ _r0.i = 1;
+ XMLVM_CLASS_INIT(java_io_ObjectStreamField)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_io_ObjectStreamField, _r0.i);
+ _r1.i = 0;
+ _r2.o = __NEW_java_io_ObjectStreamField();
+ XMLVM_SOURCE_POSITION("ArrayList.java", 691)
+ // "size"
+ _r3.o = xmlvm_create_java_string_from_pool(161);
+ _r4.o = java_lang_Integer_GET_TYPE();
+ XMLVM_CHECK_NPE(2)
+ java_io_ObjectStreamField___INIT____java_lang_String_java_lang_Class(_r2.o, _r3.o, _r4.o);
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ java_util_ArrayList_PUT_serialPersistentFields( _r0.o);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 36)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_ArrayList___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList___INIT___]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 51)
+ _r0.i = 10;
+ XMLVM_CHECK_NPE(1)
+ java_util_ArrayList___INIT____int(_r1.o, _r0.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 52)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_ArrayList___INIT____int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList___INIT____int]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 61)
+ XMLVM_CHECK_NPE(1)
+ java_util_AbstractList___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 62)
+ if (_r2.i >= 0) goto label11;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 63)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label11:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 65)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(1)
+ ((java_util_ArrayList*) _r1.o)->fields.java_util_ArrayList.size_ = _r0.i;
+ XMLVM_CHECK_NPE(1)
+ ((java_util_ArrayList*) _r1.o)->fields.java_util_ArrayList.firstIndex_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 66)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_ArrayList_newElementArray___int(_r1.o, _r2.i);
+ XMLVM_CHECK_NPE(1)
+ ((java_util_ArrayList*) _r1.o)->fields.java_util_ArrayList.array_ = _r0.o;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 67)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_ArrayList___INIT____java_util_Collection(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList___INIT____java_util_Collection]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.o = n1;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 77)
+ XMLVM_CHECK_NPE(4)
+ java_util_AbstractList___INIT___(_r4.o);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 78)
+ XMLVM_CHECK_NPE(4)
+ ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.firstIndex_ = _r3.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 79)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_toArray__])(_r5.o);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 80)
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ XMLVM_CHECK_NPE(4)
+ ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_ = _r1.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 85)
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
+ _r2.i = _r2.i / 10;
+ _r1.i = _r1.i + _r2.i;
+ XMLVM_CHECK_NPE(4)
+ _r1.o = java_util_ArrayList_newElementArray___int(_r4.o, _r1.i);
+ XMLVM_CHECK_NPE(4)
+ ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.array_ = _r1.o;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 86)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r3.i, _r1.o, _r3.i, _r2.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 87)
+ _r0.i = 1;
+ XMLVM_CHECK_NPE(4)
+ ((java_util_AbstractList*) _r4.o)->fields.java_util_AbstractList.modCount_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 88)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_ArrayList_newElementArray___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_newElementArray___int]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "newElementArray", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 92)
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r2.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_ArrayList_add___int_java_lang_Object(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_add___int_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "add", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r5.o = me;
+ _r6.i = n1;
+ _r7.o = n2;
+ _r4.i = 1;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 110)
+ if (_r6.i < 0) goto label7;
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ if (_r6.i <= _r0.i) goto label29;
+ label7:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 111)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_SOURCE_POSITION("ArrayList.java", 113)
+ // "luni.0A"
+ _r1.o = xmlvm_create_java_string_from_pool(162);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 114)
+ _r2.o = java_lang_Integer_valueOf___int(_r6.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 115)
+ XMLVM_CHECK_NPE(5)
+ _r3.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ _r3.o = java_lang_Integer_valueOf___int(_r3.i);
+ _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_java_lang_Object(_r1.o, _r2.o, _r3.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label29:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 117)
+ if (_r6.i != 0) goto label60;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 118)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
+ if (_r0.i != 0) goto label38;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 119)
+ XMLVM_CHECK_NPE(5)
+ java_util_ArrayList_growAtFront___int(_r5.o, _r4.i);
+ label38:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 121)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
+ _r1.i = _r1.i - _r4.i;
+ XMLVM_CHECK_NPE(5)
+ ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_ = _r1.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.o;
+ label47:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 142)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(5)
+ ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 143)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_util_AbstractList*) _r5.o)->fields.java_util_AbstractList.modCount_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(5)
+ ((java_util_AbstractList*) _r5.o)->fields.java_util_AbstractList.modCount_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 144)
+ XMLVM_EXIT_METHOD()
+ return;
+ label60:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 122)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ if (_r6.i != _r0.i) goto label87;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 123)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ _r0.i = _r0.i + _r1.i;
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ if (_r0.i != _r1.i) goto label77;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 124)
+ XMLVM_CHECK_NPE(5)
+ java_util_ArrayList_growAtEnd___int(_r5.o, _r4.i);
+ label77:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 126)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ _r1.i = _r1.i + _r2.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.o;
+ goto label47;
+ label87:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 128)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ if (_r0.i != _r1.i) goto label105;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 129)
+ XMLVM_CHECK_NPE(5)
+ java_util_ArrayList_growForInsert___int_int(_r5.o, _r6.i, _r4.i);
+ label97:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 139)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
+ _r1.i = _r1.i + _r6.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r7.o;
+ goto label47;
+ label105:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 130)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ _r0.i = _r0.i + _r1.i;
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ if (_r0.i == _r1.i) goto label125;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 131)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
+ if (_r0.i <= 0) goto label140;
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ _r0.i = _r0.i / 2;
+ if (_r6.i >= _r0.i) goto label140;
+ label125:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 132)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(5)
+ _r3.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
+ _r3.i = _r3.i - _r4.i;
+ XMLVM_CHECK_NPE(5)
+ ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_ = _r3.i;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r2.o, _r3.i, _r6.i);
+ goto label97;
+ label140:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 135)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
+ _r0.i = _r0.i + _r6.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 136)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ _r3.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(5)
+ _r4.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 137)
+ _r4.i = _r4.i - _r6.i;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r0.i, _r2.o, _r3.i, _r4.i);
+ goto label97;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_ArrayList_add___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_add___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "add", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.o = n1;
+ _r3.i = 1;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 155)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
+ _r0.i = _r0.i + _r1.i;
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.array_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ if (_r0.i != _r1.i) goto label14;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 156)
+ XMLVM_CHECK_NPE(4)
+ java_util_ArrayList_growAtEnd___int(_r4.o, _r3.i);
+ label14:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 158)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
+ _r1.i = _r1.i + _r2.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.o;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 159)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(4)
+ ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 160)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_util_AbstractList*) _r4.o)->fields.java_util_AbstractList.modCount_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(4)
+ ((java_util_AbstractList*) _r4.o)->fields.java_util_AbstractList.modCount_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 161)
+ XMLVM_EXIT_METHOD()
+ return _r3.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_ArrayList_addAll___int_java_util_Collection(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_addAll___int_java_util_Collection]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "addAll", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ _r8.o = me;
+ _r9.i = n1;
+ _r10.o = n2;
+ _r7.i = 0;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 180)
+ if (_r9.i < 0) goto label7;
+ XMLVM_CHECK_NPE(8)
+ _r0.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
+ if (_r9.i <= _r0.i) goto label29;
+ label7:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 181)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_SOURCE_POSITION("ArrayList.java", 183)
+ // "luni.0A"
+ _r1.o = xmlvm_create_java_string_from_pool(162);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 184)
+ _r2.o = java_lang_Integer_valueOf___int(_r9.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 185)
+ XMLVM_CHECK_NPE(8)
+ _r3.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
+ _r3.o = java_lang_Integer_valueOf___int(_r3.i);
+ _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_java_lang_Object(_r1.o, _r2.o, _r3.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label29:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 188)
+ XMLVM_CHECK_NPE(10)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r10.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_toArray__])(_r10.o);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 189)
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ XMLVM_SOURCE_POSITION("ArrayList.java", 192)
+ if (_r1.i != 0) goto label38;
+ _r0 = _r7;
+ label37:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 193)
+ XMLVM_SOURCE_POSITION("ArrayList.java", 228)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label38:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 196)
+ if (_r9.i != 0) goto label69;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 197)
+ XMLVM_CHECK_NPE(8)
+ java_util_ArrayList_growAtFront___int(_r8.o, _r1.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 198)
+ XMLVM_CHECK_NPE(8)
+ _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
+ _r2.i = _r2.i - _r1.i;
+ XMLVM_CHECK_NPE(8)
+ ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_ = _r2.i;
+ label48:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 224)
+ XMLVM_CHECK_NPE(8)
+ _r2.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(8)
+ _r3.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
+ _r3.i = _r3.i + _r9.i;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r7.i, _r2.o, _r3.i, _r1.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 226)
+ XMLVM_CHECK_NPE(8)
+ _r0.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
+ _r0.i = _r0.i + _r1.i;
+ XMLVM_CHECK_NPE(8)
+ ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 227)
+ XMLVM_CHECK_NPE(8)
+ _r0.i = ((java_util_AbstractList*) _r8.o)->fields.java_util_AbstractList.modCount_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(8)
+ ((java_util_AbstractList*) _r8.o)->fields.java_util_AbstractList.modCount_ = _r0.i;
+ _r0.i = 1;
+ goto label37;
+ label69:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 199)
+ XMLVM_CHECK_NPE(8)
+ _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
+ if (_r9.i != _r2.i) goto label88;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 200)
+ XMLVM_CHECK_NPE(8)
+ _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(8)
+ _r3.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
+ _r2.i = _r2.i + _r3.i;
+ XMLVM_CHECK_NPE(8)
+ _r3.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ _r3.i = _r3.i - _r1.i;
+ if (_r2.i <= _r3.i) goto label48;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 201)
+ XMLVM_CHECK_NPE(8)
+ java_util_ArrayList_growAtEnd___int(_r8.o, _r1.i);
+ goto label48;
+ label88:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 204)
+ XMLVM_CHECK_NPE(8)
+ _r2.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ XMLVM_CHECK_NPE(8)
+ _r3.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
+ _r2.i = _r2.i - _r3.i;
+ if (_r2.i >= _r1.i) goto label100;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 205)
+ XMLVM_CHECK_NPE(8)
+ java_util_ArrayList_growForInsert___int_int(_r8.o, _r9.i, _r1.i);
+ goto label48;
+ label100:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 206)
+ XMLVM_CHECK_NPE(8)
+ _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(8)
+ _r3.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
+ _r2.i = _r2.i + _r3.i;
+ XMLVM_CHECK_NPE(8)
+ _r3.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ _r3.i = _r3.i - _r1.i;
+ if (_r2.i > _r3.i) goto label121;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 207)
+ XMLVM_CHECK_NPE(8)
+ _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
+ if (_r2.i <= 0) goto label154;
+ XMLVM_CHECK_NPE(8)
+ _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
+ _r2.i = _r2.i / 2;
+ if (_r9.i >= _r2.i) goto label154;
+ label121:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 208)
+ XMLVM_CHECK_NPE(8)
+ _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
+ _r2.i = _r2.i - _r1.i;
+ if (_r2.i >= 0) goto label142;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 209)
+ XMLVM_SOURCE_POSITION("ArrayList.java", 210)
+ XMLVM_CHECK_NPE(8)
+ _r3.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
+ _r3.i = _r3.i + _r9.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 211)
+ XMLVM_CHECK_NPE(8)
+ _r4.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(8)
+ _r5.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
+ _r2.i = _r3.i - _r2.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 212)
+ XMLVM_CHECK_NPE(8)
+ _r6.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
+ _r6.i = _r6.i - _r9.i;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r4.o, _r3.i, _r5.o, _r2.i, _r6.i);
+ _r2 = _r7;
+ label142:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 213)
+ XMLVM_SOURCE_POSITION("ArrayList.java", 215)
+ XMLVM_CHECK_NPE(8)
+ _r3.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(8)
+ _r4.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(8)
+ _r5.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r3.o, _r4.i, _r5.o, _r2.i, _r9.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 216)
+ XMLVM_CHECK_NPE(8)
+ ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_ = _r2.i;
+ goto label48;
+ label154:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 218)
+ XMLVM_CHECK_NPE(8)
+ _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
+ _r2.i = _r2.i + _r9.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 219)
+ XMLVM_CHECK_NPE(8)
+ _r3.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(8)
+ _r4.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
+ _r5.i = _r2.i + _r1.i;
+ XMLVM_CHECK_NPE(8)
+ _r6.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 220)
+ _r6.i = _r6.i - _r9.i;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r3.o, _r2.i, _r4.o, _r5.i, _r6.i);
+ goto label48;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_ArrayList_addAll___java_util_Collection(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_addAll___java_util_Collection]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "addAll", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ _r5.i = 0;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 241)
+ XMLVM_CHECK_NPE(7)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r7.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_toArray__])(_r7.o);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 242)
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ if (_r1.i != 0) goto label10;
+ _r0 = _r5;
+ label9:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 243)
+ XMLVM_SOURCE_POSITION("ArrayList.java", 252)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label10:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 245)
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.array_;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(6)
+ _r4.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
+ _r3.i = _r3.i + _r4.i;
+ _r2.i = _r2.i - _r3.i;
+ if (_r1.i <= _r2.i) goto label26;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 246)
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ XMLVM_CHECK_NPE(6)
+ java_util_ArrayList_growAtEnd___int(_r6.o, _r1.i);
+ label26:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 248)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
+ _r2.i = _r2.i + _r3.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 249)
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r5.i, _r1.o, _r2.i, _r3.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 250)
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ _r0.i = _r0.i + _r1.i;
+ XMLVM_CHECK_NPE(6)
+ ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 251)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_util_AbstractList*) _r6.o)->fields.java_util_AbstractList.modCount_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(6)
+ ((java_util_AbstractList*) _r6.o)->fields.java_util_AbstractList.modCount_ = _r0.i;
+ _r0.i = 1;
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_ArrayList_clear__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_clear__]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "clear", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 263)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
+ if (_r0.i == 0) goto label28;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 267)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(4)
+ _r3.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
+ _r2.i = _r2.i + _r3.i;
+ _r3.o = JAVA_NULL;
+
+
+ // Red class access removed: java.util.Arrays::fill
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("ArrayList.java", 270)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(4)
+ ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_ = _r0.i;
+ XMLVM_CHECK_NPE(4)
+ ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.firstIndex_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 271)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_util_AbstractList*) _r4.o)->fields.java_util_AbstractList.modCount_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(4)
+ ((java_util_AbstractList*) _r4.o)->fields.java_util_AbstractList.modCount_ = _r0.i;
+ label28:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 273)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_ArrayList_clone__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_clone__]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "clone", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_TRY_BEGIN(w2588aaac15b1b2)
+ // Begin try
+ XMLVM_SOURCE_POSITION("ArrayList.java", 286)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_lang_Object_clone__(_r2.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 287)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_ArrayList*) _r2.o)->fields.java_util_ArrayList.array_;
+ //java_lang_Object_1ARRAY_clone__[0]
+ XMLVM_CHECK_NPE(1)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((org_xmlvm_runtime_XMLVMArray*) _r1.o)->tib->vtable[0])(_r1.o);
+ _r2.o = _r2.o;
+ XMLVM_CHECK_NPE(0)
+ ((java_util_ArrayList*) _r0.o)->fields.java_util_ArrayList.array_ = _r2.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2588aaac15b1b2)
+ XMLVM_CATCH_END(w2588aaac15b1b2)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2588aaac15b1b2)
+ label16:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 290)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label17:;
+ java_lang_Thread* curThread_w2588aaac15b1b7 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w2588aaac15b1b7->fields.java_lang_Thread.xmlvmException_;
+ _r0.o = JAVA_NULL;
+ goto label16;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_ArrayList_contains___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_contains___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "contains", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.o = n1;
+ _r3.i = 1;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 304)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
+ _r0.i = _r0.i + _r1.i;
+ if (_r5.o == JAVA_NULL) goto label29;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 305)
+ XMLVM_SOURCE_POSITION("ArrayList.java", 306)
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.firstIndex_;
+ label10:;
+ if (_r1.i < _r0.i) goto label14;
+ label12:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 318)
+ _r0.i = 0;
+ label13:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label14:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 307)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(5)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r5.o)->tib->vtable[1])(_r5.o, _r2.o);
+ if (_r2.i == 0) goto label26;
+ _r0 = _r3;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 308)
+ goto label13;
+ label26:;
+ _r1.i = _r1.i + 1;
+ goto label10;
+ label29:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 312)
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.firstIndex_;
+ label31:;
+ if (_r1.i >= _r0.i) goto label12;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 313)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ if (_r2.o != JAVA_NULL) goto label41;
+ _r0 = _r3;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 314)
+ goto label13;
+ label41:;
+ _r1.i = _r1.i + 1;
+ goto label31;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_ArrayList_ensureCapacity___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_ensureCapacity___int]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "ensureCapacity", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.i = n1;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 329)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_ArrayList*) _r2.o)->fields.java_util_ArrayList.array_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ _r0.i = _r3.i - _r0.i;
+ if (_r0.i <= 0) goto label14;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 330)
+ XMLVM_SOURCE_POSITION("ArrayList.java", 333)
+ XMLVM_CHECK_NPE(2)
+ _r1.i = ((java_util_ArrayList*) _r2.o)->fields.java_util_ArrayList.firstIndex_;
+ if (_r1.i <= 0) goto label15;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 334)
+ XMLVM_CHECK_NPE(2)
+ java_util_ArrayList_growAtFront___int(_r2.o, _r0.i);
+ label14:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 339)
+ XMLVM_EXIT_METHOD()
+ return;
+ label15:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 336)
+ XMLVM_CHECK_NPE(2)
+ java_util_ArrayList_growAtEnd___int(_r2.o, _r0.i);
+ goto label14;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_ArrayList_get___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_get___int]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "get", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.i = n1;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 343)
+ if (_r5.i < 0) goto label6;
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
+ if (_r5.i < _r0.i) goto label28;
+ label6:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 344)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_SOURCE_POSITION("ArrayList.java", 346)
+ // "luni.0A"
+ _r1.o = xmlvm_create_java_string_from_pool(162);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 347)
+ _r2.o = java_lang_Integer_valueOf___int(_r5.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 348)
+ XMLVM_CHECK_NPE(4)
+ _r3.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
+ _r3.o = java_lang_Integer_valueOf___int(_r3.i);
+ _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_java_lang_Object(_r1.o, _r2.o, _r3.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label28:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 350)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.firstIndex_;
+ _r1.i = _r1.i + _r5.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_ArrayList_growAtEnd___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_growAtEnd___int]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "growAtEnd", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r5.o = me;
+ _r6.i = n1;
+ _r2.i = 12;
+ _r4.i = 0;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 354)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ _r0.i = _r0.i - _r1.i;
+ if (_r0.i < _r6.i) goto label49;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 357)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ if (_r0.i == 0) goto label43;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 358)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(5)
+ _r3.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r2.o, _r4.i, _r3.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 359)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
+ if (_r0.i >= _r1.i) goto label46;
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
+ label34:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 362)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ _r3.o = JAVA_NULL;
+
+
+ // Red class access removed: java.util.Arrays::fill
+ XMLVM_RED_CLASS_DEPENDENCY();
+ label43:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 364)
+ XMLVM_CHECK_NPE(5)
+ ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_ = _r4.i;
+ label45:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 382)
+ XMLVM_EXIT_METHOD()
+ return;
+ label46:;
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ goto label34;
+ label49:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 368)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ _r0.i = _r0.i / 2;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 369)
+ if (_r6.i <= _r0.i) goto label56;
+ _r0 = _r6;
+ label56:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 370)
+ XMLVM_SOURCE_POSITION("ArrayList.java", 372)
+ if (_r0.i >= _r2.i) goto label59;
+ _r0 = _r2;
+ label59:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 373)
+ XMLVM_SOURCE_POSITION("ArrayList.java", 375)
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ _r0.i = _r0.i + _r1.i;
+ XMLVM_CHECK_NPE(5)
+ _r0.o = java_util_ArrayList_newElementArray___int(_r5.o, _r0.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 376)
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ if (_r1.i == 0) goto label81;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 377)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(5)
+ _r3.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r2.i, _r0.o, _r4.i, _r3.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 378)
+ XMLVM_CHECK_NPE(5)
+ ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_ = _r4.i;
+ label81:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 380)
+ XMLVM_CHECK_NPE(5)
+ ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_ = _r0.o;
+ goto label45;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_ArrayList_growAtFront___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_growAtFront___int]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "growAtFront", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r5.o = me;
+ _r6.i = n1;
+ _r2.i = 12;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 385)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ _r0.i = _r0.i - _r1.i;
+ if (_r0.i < _r6.i) goto label50;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 386)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ _r0.i = _r0.i - _r1.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 389)
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ if (_r1.i == 0) goto label47;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 390)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(5)
+ _r3.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(5)
+ _r4.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r2.i, _r3.o, _r0.i, _r4.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 391)
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ _r1.i = _r1.i + _r2.i;
+ if (_r1.i <= _r0.i) goto label39;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 392)
+ _r1 = _r0;
+ label39:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 393)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(5)
+ _r3.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
+ _r4.o = JAVA_NULL;
+
+
+ // Red class access removed: java.util.Arrays::fill
+ XMLVM_RED_CLASS_DEPENDENCY();
+ label47:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 395)
+ XMLVM_CHECK_NPE(5)
+ ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_ = _r0.i;
+ label49:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 411)
+ XMLVM_EXIT_METHOD()
+ return;
+ label50:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 397)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ _r0.i = _r0.i / 2;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 398)
+ if (_r6.i <= _r0.i) goto label57;
+ _r0 = _r6;
+ label57:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 399)
+ XMLVM_SOURCE_POSITION("ArrayList.java", 401)
+ if (_r0.i >= _r2.i) goto label60;
+ _r0 = _r2;
+ label60:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 402)
+ XMLVM_SOURCE_POSITION("ArrayList.java", 404)
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ _r1.i = _r1.i + _r0.i;
+ XMLVM_CHECK_NPE(5)
+ _r1.o = java_util_ArrayList_newElementArray___int(_r5.o, _r1.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 405)
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ if (_r2.i == 0) goto label80;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 406)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(5)
+ _r3.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(5)
+ _r4.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r2.o, _r3.i, _r1.o, _r0.i, _r4.i);
+ label80:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 408)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ _r0.i = _r0.i - _r2.i;
+ XMLVM_CHECK_NPE(5)
+ ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 409)
+ XMLVM_CHECK_NPE(5)
+ ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_ = _r1.o;
+ goto label49;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_ArrayList_growForInsert___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_growForInsert___int_int]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "growForInsert", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r6.o = me;
+ _r7.i = n1;
+ _r8.i = n2;
+ _r1.i = 12;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 417)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
+ _r0.i = _r0.i / 2;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 418)
+ if (_r8.i <= _r0.i) goto label9;
+ _r0 = _r8;
+ label9:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 419)
+ XMLVM_SOURCE_POSITION("ArrayList.java", 421)
+ if (_r0.i >= _r1.i) goto label12;
+ _r0 = _r1;
+ label12:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 422)
+ XMLVM_SOURCE_POSITION("ArrayList.java", 424)
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
+ _r1.i = _r1.i + _r0.i;
+ XMLVM_CHECK_NPE(6)
+ _r1.o = java_util_ArrayList_newElementArray___int(_r6.o, _r1.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 427)
+ _r0.i = _r0.i - _r8.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 430)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_;
+ _r3.i = _r3.i + _r7.i;
+ _r4.i = _r0.i + _r7.i;
+ _r4.i = _r4.i + _r8.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 431)
+ XMLVM_CHECK_NPE(6)
+ _r5.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
+ _r5.i = _r5.i - _r7.i;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r2.o, _r3.i, _r1.o, _r4.i, _r5.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 433)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r2.o, _r3.i, _r1.o, _r0.i, _r7.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 434)
+ XMLVM_CHECK_NPE(6)
+ ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 435)
+ XMLVM_CHECK_NPE(6)
+ ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.array_ = _r1.o;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 436)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_ArrayList_indexOf___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_indexOf___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "indexOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 441)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.size_;
+ _r0.i = _r0.i + _r1.i;
+ if (_r4.o == JAVA_NULL) goto label31;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 442)
+ XMLVM_SOURCE_POSITION("ArrayList.java", 443)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.firstIndex_;
+ label9:;
+ if (_r1.i < _r0.i) goto label13;
+ label11:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 455)
+ _r0.i = -1;
+ label12:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label13:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 444)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(4)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r4.o)->tib->vtable[1])(_r4.o, _r2.o);
+ if (_r2.i == 0) goto label28;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 445)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.firstIndex_;
+ _r0.i = _r1.i - _r0.i;
+ goto label12;
+ label28:;
+ _r1.i = _r1.i + 1;
+ goto label9;
+ label31:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 449)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.firstIndex_;
+ label33:;
+ if (_r1.i >= _r0.i) goto label11;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 450)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ if (_r2.o != JAVA_NULL) goto label46;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 451)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.firstIndex_;
+ _r0.i = _r1.i - _r0.i;
+ goto label12;
+ label46:;
+ _r1.i = _r1.i + 1;
+ goto label33;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_ArrayList_isEmpty__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_isEmpty__]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "isEmpty", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 460)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_util_ArrayList*) _r1.o)->fields.java_util_ArrayList.size_;
+ if (_r0.i != 0) goto label6;
+ _r0.i = 1;
+ label5:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ _r0.i = 0;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_ArrayList_lastIndexOf___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_lastIndexOf___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "lastIndexOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ _r2.i = 1;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 465)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.size_;
+ _r0.i = _r0.i + _r1.i;
+ if (_r4.o == JAVA_NULL) goto label32;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 466)
+ XMLVM_SOURCE_POSITION("ArrayList.java", 467)
+ _r0.i = _r0.i - _r2.i;
+ label9:;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.firstIndex_;
+ if (_r0.i >= _r1.i) goto label15;
+ label13:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 479)
+ _r0.i = -1;
+ label14:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label15:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 468)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(4)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r4.o)->tib->vtable[1])(_r4.o, _r1.o);
+ if (_r1.i == 0) goto label29;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 469)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.firstIndex_;
+ _r0.i = _r0.i - _r1.i;
+ goto label14;
+ label29:;
+ _r0.i = _r0.i + -1;
+ goto label9;
+ label32:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 473)
+ _r0.i = _r0.i - _r2.i;
+ label33:;
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.firstIndex_;
+ if (_r0.i < _r1.i) goto label13;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 474)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ if (_r1.o != JAVA_NULL) goto label47;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 475)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.firstIndex_;
+ _r0.i = _r0.i - _r1.i;
+ goto label14;
+ label47:;
+ _r0.i = _r0.i + -1;
+ goto label33;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_ArrayList_remove___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_remove___int]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "remove", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r8.o = me;
+ _r9.i = n1;
+ _r7.o = JAVA_NULL;
+ _r6.i = 1;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 494)
+ if (_r9.i < 0) goto label8;
+ XMLVM_CHECK_NPE(8)
+ _r0.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
+ if (_r9.i < _r0.i) goto label30;
+ label8:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 495)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_SOURCE_POSITION("ArrayList.java", 497)
+ // "luni.0A"
+ _r1.o = xmlvm_create_java_string_from_pool(162);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 498)
+ _r2.o = java_lang_Integer_valueOf___int(_r9.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 499)
+ XMLVM_CHECK_NPE(8)
+ _r3.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
+ _r3.o = java_lang_Integer_valueOf___int(_r3.i);
+ _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_java_lang_Object(_r1.o, _r2.o, _r3.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label30:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 501)
+ if (_r9.i != 0) goto label67;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 502)
+ XMLVM_CHECK_NPE(8)
+ _r0.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(8)
+ _r1.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_SOURCE_POSITION("ArrayList.java", 503)
+ XMLVM_CHECK_NPE(8)
+ _r1.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(8)
+ _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
+ _r3.i = _r2.i + 1;
+ XMLVM_CHECK_NPE(8)
+ ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_ = _r3.i;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r2.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r7.o;
+ label48:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 521)
+ XMLVM_CHECK_NPE(8)
+ _r1.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
+ _r1.i = _r1.i - _r6.i;
+ XMLVM_CHECK_NPE(8)
+ ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_ = _r1.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 525)
+ XMLVM_CHECK_NPE(8)
+ _r1.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
+ if (_r1.i != 0) goto label60;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 526)
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(8)
+ ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_ = _r1.i;
+ label60:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 529)
+ XMLVM_CHECK_NPE(8)
+ _r1.i = ((java_util_AbstractList*) _r8.o)->fields.java_util_AbstractList.modCount_;
+ _r1.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(8)
+ ((java_util_AbstractList*) _r8.o)->fields.java_util_AbstractList.modCount_ = _r1.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 530)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label67:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 504)
+ XMLVM_CHECK_NPE(8)
+ _r0.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
+ _r0.i = _r0.i - _r6.i;
+ if (_r9.i != _r0.i) goto label88;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 505)
+ XMLVM_CHECK_NPE(8)
+ _r0.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(8)
+ _r1.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
+ _r0.i = _r0.i + _r1.i;
+ _r0.i = _r0.i - _r6.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 506)
+ XMLVM_CHECK_NPE(8)
+ _r1.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_SOURCE_POSITION("ArrayList.java", 507)
+ XMLVM_CHECK_NPE(8)
+ _r2.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r7.o;
+ _r0 = _r1;
+ goto label48;
+ label88:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 509)
+ XMLVM_CHECK_NPE(8)
+ _r0.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
+ _r0.i = _r0.i + _r9.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 510)
+ XMLVM_CHECK_NPE(8)
+ _r1.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_SOURCE_POSITION("ArrayList.java", 511)
+ XMLVM_CHECK_NPE(8)
+ _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
+ _r2.i = _r2.i / 2;
+ if (_r9.i >= _r2.i) goto label126;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 512)
+ XMLVM_CHECK_NPE(8)
+ _r0.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(8)
+ _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(8)
+ _r3.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(8)
+ _r4.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
+ _r4.i = _r4.i + 1;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r2.i, _r3.o, _r4.i, _r9.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 514)
+ XMLVM_CHECK_NPE(8)
+ _r0.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(8)
+ _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
+ _r3.i = _r2.i + 1;
+ XMLVM_CHECK_NPE(8)
+ ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_ = _r3.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r7.o;
+ _r0 = _r1;
+ goto label48;
+ label126:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 516)
+ XMLVM_CHECK_NPE(8)
+ _r2.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
+ _r3.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(8)
+ _r4.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 517)
+ XMLVM_CHECK_NPE(8)
+ _r5.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
+ _r5.i = _r5.i - _r9.i;
+ _r5.i = _r5.i - _r6.i;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r2.o, _r3.i, _r4.o, _r0.i, _r5.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 518)
+ XMLVM_CHECK_NPE(8)
+ _r0.o = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(8)
+ _r2.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(8)
+ _r3.i = ((java_util_ArrayList*) _r8.o)->fields.java_util_ArrayList.size_;
+ _r2.i = _r2.i + _r3.i;
+ _r2.i = _r2.i - _r6.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r7.o;
+ _r0 = _r1;
+ goto label48;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_ArrayList_remove___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_remove___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "remove", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 535)
+ //java_util_ArrayList_indexOf___java_lang_Object[22]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_ArrayList*) _r1.o)->tib->vtable[22])(_r1.o, _r2.o);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 536)
+ if (_r0.i < 0) goto label11;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 537)
+ //java_util_ArrayList_remove___int[27]
+ XMLVM_CHECK_NPE(1)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) ((java_util_ArrayList*) _r1.o)->tib->vtable[27])(_r1.o, _r0.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 538)
+ _r0.i = 1;
+ label10:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 540)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label11:;
+ _r0.i = 0;
+ goto label10;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_ArrayList_removeRange___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_removeRange___int_int]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "removeRange", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r6.o = me;
+ _r7.i = n1;
+ _r8.i = n2;
+ _r5.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 557)
+ if (_r7.i >= 0) goto label19;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 559)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_SOURCE_POSITION("ArrayList.java", 561)
+ // "luni.0B"
+ _r1.o = xmlvm_create_java_string_from_pool(163);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 562)
+ _r2.o = java_lang_Integer_valueOf___int(_r7.i);
+ _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object(_r1.o, _r2.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label19:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 563)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
+ if (_r8.i <= _r0.i) goto label45;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 565)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_SOURCE_POSITION("ArrayList.java", 567)
+ // "luni.0A"
+ _r1.o = xmlvm_create_java_string_from_pool(162);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 568)
+ _r2.o = java_lang_Integer_valueOf___int(_r8.i);
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
+ _r3.o = java_lang_Integer_valueOf___int(_r3.i);
+ _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_java_lang_Object(_r1.o, _r2.o, _r3.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label45:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 569)
+ if (_r7.i <= _r8.i) goto label67;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 570)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_SOURCE_POSITION("ArrayList.java", 572)
+ // "luni.35"
+ _r1.o = xmlvm_create_java_string_from_pool(164);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 573)
+ _r2.o = java_lang_Integer_valueOf___int(_r7.i);
+ _r3.o = java_lang_Integer_valueOf___int(_r8.i);
+ _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_java_lang_Object(_r1.o, _r2.o, _r3.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label67:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 576)
+ if (_r7.i != _r8.i) goto label70;
+ label69:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 594)
+ XMLVM_EXIT_METHOD()
+ return;
+ label70:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 579)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
+ if (_r8.i != _r0.i) goto label101;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 580)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_;
+ _r1.i = _r1.i + _r7.i;
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
+ _r2.i = _r2.i + _r3.i;
+
+
+ // Red class access removed: java.util.Arrays::fill
+ XMLVM_RED_CLASS_DEPENDENCY();
+ label87:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 592)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
+ _r1.i = _r8.i - _r7.i;
+ _r0.i = _r0.i - _r1.i;
+ XMLVM_CHECK_NPE(6)
+ ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 593)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_util_AbstractList*) _r6.o)->fields.java_util_AbstractList.modCount_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(6)
+ ((java_util_AbstractList*) _r6.o)->fields.java_util_AbstractList.modCount_ = _r0.i;
+ goto label69;
+ label101:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 581)
+ if (_r7.i != 0) goto label119;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 582)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_;
+ _r2.i = _r2.i + _r8.i;
+
+
+ // Red class access removed: java.util.Arrays::fill
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("ArrayList.java", 583)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_;
+ _r0.i = _r0.i + _r8.i;
+ XMLVM_CHECK_NPE(6)
+ ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_ = _r0.i;
+ goto label87;
+ label119:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 586)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_;
+ _r1.i = _r1.i + _r8.i;
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 587)
+ _r3.i = _r3.i + _r7.i;
+ XMLVM_CHECK_NPE(6)
+ _r4.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
+ _r4.i = _r4.i - _r8.i;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r0.o, _r1.i, _r2.o, _r3.i, _r4.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 588)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.size_;
+ _r0.i = _r0.i + _r1.i;
+ _r1.i = _r0.i + _r7.i;
+ _r1.i = _r1.i - _r8.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 590)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_util_ArrayList*) _r6.o)->fields.java_util_ArrayList.array_;
+
+
+ // Red class access removed: java.util.Arrays::fill
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label87;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_ArrayList_set___int_java_lang_Object(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_set___int_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "set", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r4.o = me;
+ _r5.i = n1;
+ _r6.o = n2;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 610)
+ if (_r5.i < 0) goto label6;
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
+ if (_r5.i < _r0.i) goto label28;
+ label6:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 611)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_SOURCE_POSITION("ArrayList.java", 613)
+ // "luni.0A"
+ _r1.o = xmlvm_create_java_string_from_pool(162);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 614)
+ _r2.o = java_lang_Integer_valueOf___int(_r5.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 615)
+ XMLVM_CHECK_NPE(4)
+ _r3.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.size_;
+ _r3.o = java_lang_Integer_valueOf___int(_r3.i);
+ _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_java_lang_Object(_r1.o, _r2.o, _r3.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label28:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 617)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.firstIndex_;
+ _r1.i = _r1.i + _r5.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_SOURCE_POSITION("ArrayList.java", 618)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_util_ArrayList*) _r4.o)->fields.java_util_ArrayList.firstIndex_;
+ _r2.i = _r2.i + _r5.i;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r2.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r6.o;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 619)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_ArrayList_size__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_size__]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "size", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 629)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_util_ArrayList*) _r1.o)->fields.java_util_ArrayList.size_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_ArrayList_toArray__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_toArray__]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "toArray", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.o = me;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 640)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r0.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 641)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
+ _r3.i = 0;
+ XMLVM_CHECK_NPE(5)
+ _r4.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r2.i, _r0.o, _r3.i, _r4.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 642)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_ArrayList_toArray___java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_toArray___java_lang_Object_1ARRAY]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "toArray", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r5.o = me;
+ _r6.o = n1;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 663)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ if (_r0.i <= _r1.i) goto label42;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 664)
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(6)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r6.o)->tib->vtable[3])(_r6.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_Class_getComponentType__(_r0.o);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 665)
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ _r0.o = java_lang_reflect_Array_newInstance___java_lang_Class_int(_r0.o, _r1.i);
+ _r0.o = _r0.o;
+ label21:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 667)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
+ _r3.i = 0;
+ XMLVM_CHECK_NPE(5)
+ _r4.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r2.i, _r0.o, _r3.i, _r4.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 668)
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ if (_r1.i >= _r2.i) goto label41;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 671)
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ _r2.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ label41:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 673)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label42:;
+ _r0 = _r6;
+ goto label21;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_ArrayList_trimToSize__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_trimToSize__]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "trimToSize", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.o = me;
+ _r4.i = 0;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 683)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ XMLVM_CHECK_NPE(5)
+ _r0.o = java_util_ArrayList_newElementArray___int(_r5.o, _r0.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 684)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_;
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_;
+ XMLVM_CHECK_NPE(5)
+ _r3.i = ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.size_;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r1.o, _r2.i, _r0.o, _r4.i, _r3.i);
+ XMLVM_SOURCE_POSITION("ArrayList.java", 685)
+ XMLVM_CHECK_NPE(5)
+ ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.array_ = _r0.o;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 686)
+ XMLVM_CHECK_NPE(5)
+ ((java_util_ArrayList*) _r5.o)->fields.java_util_ArrayList.firstIndex_ = _r4.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 687)
+ XMLVM_CHECK_NPE(5)
+ ((java_util_AbstractList*) _r5.o)->fields.java_util_AbstractList.modCount_ = _r4.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 688)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_ArrayList_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_writeObject___java_io_ObjectOutputStream]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "writeObject", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 694)
+
+
+ // Red class access removed: java.io.ObjectOutputStream::putFields
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("ArrayList.java", 695)
+ // "size"
+ _r1.o = xmlvm_create_java_string_from_pool(161);
+ XMLVM_CHECK_NPE(3)
+ _r2.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.size_;
+
+
+ // Red class access removed: java.io.ObjectOutputStream$PutField::put
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("ArrayList.java", 696)
+
+
+ // Red class access removed: java.io.ObjectOutputStream::writeFields
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("ArrayList.java", 697)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.array_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+
+
+ // Red class access removed: java.io.ObjectOutputStream::writeInt
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("ArrayList.java", 698)
+ //java_util_ArrayList_iterator__[12]
+ XMLVM_CHECK_NPE(3)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_ArrayList*) _r3.o)->tib->vtable[12])(_r3.o);
+ label24:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 699)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r1.i != 0) goto label31;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 702)
+ XMLVM_EXIT_METHOD()
+ return;
+ label31:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 700)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+
+
+ // Red class access removed: java.io.ObjectOutputStream::writeObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label24;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_ArrayList_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_ArrayList_readObject___java_io_ObjectInputStream]
+ XMLVM_ENTER_METHOD("java.util.ArrayList", "readObject", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 707)
+
+
+ // Red class access removed: java.io.ObjectInputStream::readFields
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("ArrayList.java", 708)
+ // "size"
+ _r1.o = xmlvm_create_java_string_from_pool(161);
+
+
+ // Red class access removed: java.io.ObjectInputStream$GetField::get
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(3)
+ ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.size_ = _r0.i;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 709)
+
+
+ // Red class access removed: java.io.ObjectInputStream::readInt
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_util_ArrayList_newElementArray___int(_r3.o, _r0.i);
+ XMLVM_CHECK_NPE(3)
+ ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.array_ = _r0.o;
+ _r0 = _r2;
+ label24:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 710)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.size_;
+ if (_r0.i < _r1.i) goto label29;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 713)
+ XMLVM_EXIT_METHOD()
+ return;
+ label29:;
+ XMLVM_SOURCE_POSITION("ArrayList.java", 711)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_util_ArrayList*) _r3.o)->fields.java_util_ArrayList.array_;
+
+
+ // Red class access removed: java.io.ObjectInputStream::readObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r2.o;
+ _r0.i = _r0.i + 1;
+ goto label24;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_ArrayList.h b/tests/nbody-java/java_util_ArrayList.h
new file mode 100644
index 00000000..f1a14b3d
--- /dev/null
+++ b/tests/nbody-java/java_util_ArrayList.h
@@ -0,0 +1,171 @@
+#ifndef __JAVA_UTIL_ARRAYLIST__
+#define __JAVA_UTIL_ARRAYLIST__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_ArrayList 78
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+#include "java_lang_Cloneable.h"
+#include "java_util_List.h"
+#include "java_util_RandomAccess.h"
+// Super Class:
+#include "java_util_AbstractList.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_io_ObjectStreamField
+#define XMLVM_FORWARD_DECL_java_io_ObjectStreamField
+XMLVM_FORWARD_DECL(java_io_ObjectStreamField)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+#define XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+XMLVM_FORWARD_DECL(java_lang_IndexOutOfBoundsException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Integer
+#define XMLVM_FORWARD_DECL_java_lang_Integer
+XMLVM_FORWARD_DECL(java_lang_Integer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_Array
+#define XMLVM_FORWARD_DECL_java_lang_reflect_Array
+XMLVM_FORWARD_DECL(java_lang_reflect_Array)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Collection
+#define XMLVM_FORWARD_DECL_java_util_Collection
+XMLVM_FORWARD_DECL(java_util_Collection)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Iterator
+#define XMLVM_FORWARD_DECL_java_util_Iterator
+XMLVM_FORWARD_DECL(java_util_Iterator)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_internal_nls_Messages)
+#endif
+// Class declarations for java.util.ArrayList
+XMLVM_DEFINE_CLASS(java_util_ArrayList, 30, XMLVM_ITABLE_SIZE_java_util_ArrayList)
+
+extern JAVA_OBJECT __CLASS_java_util_ArrayList;
+extern JAVA_OBJECT __CLASS_java_util_ArrayList_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_ArrayList_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_ArrayList_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_ArrayList
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_ArrayList \
+ __INSTANCE_FIELDS_java_util_AbstractList; \
+ struct { \
+ JAVA_INT firstIndex_; \
+ JAVA_INT size_; \
+ JAVA_OBJECT array_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_ArrayList \
+ } java_util_ArrayList
+
+struct java_util_ArrayList {
+ __TIB_DEFINITION_java_util_ArrayList* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_ArrayList;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_ArrayList
+#define XMLVM_FORWARD_DECL_java_util_ArrayList
+typedef struct java_util_ArrayList java_util_ArrayList;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_ArrayList 30
+#define XMLVM_VTABLE_IDX_java_util_ArrayList_add___int_java_lang_Object 20
+#define XMLVM_VTABLE_IDX_java_util_ArrayList_add___java_lang_Object 7
+#define XMLVM_VTABLE_IDX_java_util_ArrayList_addAll___int_java_util_Collection 19
+#define XMLVM_VTABLE_IDX_java_util_ArrayList_addAll___java_util_Collection 6
+#define XMLVM_VTABLE_IDX_java_util_ArrayList_clear__ 8
+#define XMLVM_VTABLE_IDX_java_util_ArrayList_clone__ 0
+#define XMLVM_VTABLE_IDX_java_util_ArrayList_contains___java_lang_Object 10
+#define XMLVM_VTABLE_IDX_java_util_ArrayList_get___int 21
+#define XMLVM_VTABLE_IDX_java_util_ArrayList_indexOf___java_lang_Object 22
+#define XMLVM_VTABLE_IDX_java_util_ArrayList_isEmpty__ 11
+#define XMLVM_VTABLE_IDX_java_util_ArrayList_lastIndexOf___java_lang_Object 23
+#define XMLVM_VTABLE_IDX_java_util_ArrayList_remove___int 27
+#define XMLVM_VTABLE_IDX_java_util_ArrayList_remove___java_lang_Object 14
+#define XMLVM_VTABLE_IDX_java_util_ArrayList_removeRange___int_int 26
+#define XMLVM_VTABLE_IDX_java_util_ArrayList_set___int_java_lang_Object 28
+#define XMLVM_VTABLE_IDX_java_util_ArrayList_size__ 16
+#define XMLVM_VTABLE_IDX_java_util_ArrayList_toArray__ 17
+#define XMLVM_VTABLE_IDX_java_util_ArrayList_toArray___java_lang_Object_1ARRAY 18
+
+void __INIT_java_util_ArrayList();
+void __INIT_IMPL_java_util_ArrayList();
+void __DELETE_java_util_ArrayList(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_ArrayList(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_ArrayList();
+JAVA_OBJECT __NEW_INSTANCE_java_util_ArrayList();
+JAVA_LONG java_util_ArrayList_GET_serialVersionUID();
+void java_util_ArrayList_PUT_serialVersionUID(JAVA_LONG v);
+JAVA_OBJECT java_util_ArrayList_GET_serialPersistentFields();
+void java_util_ArrayList_PUT_serialPersistentFields(JAVA_OBJECT v);
+void java_util_ArrayList___CLINIT_();
+void java_util_ArrayList___INIT___(JAVA_OBJECT me);
+void java_util_ArrayList___INIT____int(JAVA_OBJECT me, JAVA_INT n1);
+void java_util_ArrayList___INIT____java_util_Collection(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_util_ArrayList_newElementArray___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 20
+void java_util_ArrayList_add___int_java_lang_Object(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2);
+// Vtable index: 7
+JAVA_BOOLEAN java_util_ArrayList_add___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 19
+JAVA_BOOLEAN java_util_ArrayList_addAll___int_java_util_Collection(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2);
+// Vtable index: 6
+JAVA_BOOLEAN java_util_ArrayList_addAll___java_util_Collection(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 8
+void java_util_ArrayList_clear__(JAVA_OBJECT me);
+// Vtable index: 0
+JAVA_OBJECT java_util_ArrayList_clone__(JAVA_OBJECT me);
+// Vtable index: 10
+JAVA_BOOLEAN java_util_ArrayList_contains___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_ArrayList_ensureCapacity___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 21
+JAVA_OBJECT java_util_ArrayList_get___int(JAVA_OBJECT me, JAVA_INT n1);
+void java_util_ArrayList_growAtEnd___int(JAVA_OBJECT me, JAVA_INT n1);
+void java_util_ArrayList_growAtFront___int(JAVA_OBJECT me, JAVA_INT n1);
+void java_util_ArrayList_growForInsert___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2);
+// Vtable index: 22
+JAVA_INT java_util_ArrayList_indexOf___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 11
+JAVA_BOOLEAN java_util_ArrayList_isEmpty__(JAVA_OBJECT me);
+// Vtable index: 23
+JAVA_INT java_util_ArrayList_lastIndexOf___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 27
+JAVA_OBJECT java_util_ArrayList_remove___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 14
+JAVA_BOOLEAN java_util_ArrayList_remove___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 26
+void java_util_ArrayList_removeRange___int_int(JAVA_OBJECT me, JAVA_INT n1, JAVA_INT n2);
+// Vtable index: 28
+JAVA_OBJECT java_util_ArrayList_set___int_java_lang_Object(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2);
+// Vtable index: 16
+JAVA_INT java_util_ArrayList_size__(JAVA_OBJECT me);
+// Vtable index: 17
+JAVA_OBJECT java_util_ArrayList_toArray__(JAVA_OBJECT me);
+// Vtable index: 18
+JAVA_OBJECT java_util_ArrayList_toArray___java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_ArrayList_trimToSize__(JAVA_OBJECT me);
+void java_util_ArrayList_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_ArrayList_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_util_Collection.c b/tests/nbody-java/java_util_Collection.c
new file mode 100644
index 00000000..a5130884
--- /dev/null
+++ b/tests/nbody-java/java_util_Collection.c
@@ -0,0 +1,78 @@
+#include "xmlvm.h"
+#include "java_util_Iterator.h"
+
+#include "java_util_Collection.h"
+
+__TIB_DEFINITION_java_util_Collection __TIB_java_util_Collection = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_Collection, // classInitializer
+ "java.util.Collection", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<E:Ljava/lang/Object;>Ljava/lang/Object;Ljava/lang/Iterable<TE;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_util_Collection;
+JAVA_OBJECT __CLASS_java_util_Collection_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_Collection_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_Collection_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_util_Collection()
+{
+ staticInitializerLock(&__TIB_java_util_Collection);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_Collection.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_Collection.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_Collection);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_Collection.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_Collection.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_Collection.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.Collection")
+ __INIT_IMPL_java_util_Collection();
+ }
+}
+
+void __INIT_IMPL_java_util_Collection()
+{
+ __TIB_java_util_Collection.numInterfaces = 1;
+ //__TIB_java_util_Collection.baseInterfaces[0] = &__INTERFACE_java_lang_Iterable;
+ __TIB_java_util_Collection.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_Collection.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_util_Collection.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_Collection.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_Collection.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_util_Collection = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_Collection);
+ __TIB_java_util_Collection.clazz = __CLASS_java_util_Collection;
+ __TIB_java_util_Collection.baseType = JAVA_NULL;
+ __CLASS_java_util_Collection_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Collection);
+ __CLASS_java_util_Collection_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Collection_1ARRAY);
+ __CLASS_java_util_Collection_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Collection_2ARRAY);
+
+ __TIB_java_util_Collection.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_util_Collection.h b/tests/nbody-java/java_util_Collection.h
new file mode 100644
index 00000000..137d36e7
--- /dev/null
+++ b/tests/nbody-java/java_util_Collection.h
@@ -0,0 +1,47 @@
+#ifndef __JAVA_UTIL_COLLECTION__
+#define __JAVA_UTIL_COLLECTION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_util_Collection_add___java_lang_Object 2
+#define XMLVM_ITABLE_IDX_java_util_Collection_addAll___java_util_Collection 1
+#define XMLVM_ITABLE_IDX_java_util_Collection_clear__ 3
+#define XMLVM_ITABLE_IDX_java_util_Collection_contains___java_lang_Object 5
+#define XMLVM_ITABLE_IDX_java_util_Collection_containsAll___java_util_Collection 4
+#define XMLVM_ITABLE_IDX_java_util_Collection_equals___java_lang_Object 6
+#define XMLVM_ITABLE_IDX_java_util_Collection_hashCode__ 7
+#define XMLVM_ITABLE_IDX_java_util_Collection_isEmpty__ 8
+#define XMLVM_ITABLE_IDX_java_util_Collection_iterator__ 9
+#define XMLVM_ITABLE_IDX_java_util_Collection_remove___java_lang_Object 11
+#define XMLVM_ITABLE_IDX_java_util_Collection_removeAll___java_util_Collection 10
+#define XMLVM_ITABLE_IDX_java_util_Collection_retainAll___java_util_Collection 12
+#define XMLVM_ITABLE_IDX_java_util_Collection_size__ 13
+#define XMLVM_ITABLE_IDX_java_util_Collection_toArray__ 14
+#define XMLVM_ITABLE_IDX_java_util_Collection_toArray___java_lang_Object_1ARRAY 15
+// Implemented interfaces:
+#include "java_lang_Iterable.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_util_Iterator
+#define XMLVM_FORWARD_DECL_java_util_Iterator
+XMLVM_FORWARD_DECL(java_util_Iterator)
+#endif
+
+XMLVM_DEFINE_CLASS(java_util_Collection, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_util_Collection;
+extern JAVA_OBJECT __CLASS_java_util_Collection_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Collection_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Collection_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_util_Collection
+#define XMLVM_FORWARD_DECL_java_util_Collection
+typedef struct java_util_Collection java_util_Collection;
+#endif
+
+void __INIT_java_util_Collection();
+void __INIT_IMPL_java_util_Collection();
+
+#endif
diff --git a/tests/nbody-java/java_util_Collections.c b/tests/nbody-java/java_util_Collections.c
new file mode 100644
index 00000000..23fce004
--- /dev/null
+++ b/tests/nbody-java/java_util_Collections.c
@@ -0,0 +1,2676 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_Comparable.h"
+#include "java_lang_IndexOutOfBoundsException.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_String.h"
+#include "java_util_ArrayList.h"
+#include "java_util_Collection.h"
+#include "java_util_Collections_EmptyList.h"
+#include "java_util_Collections_EmptyMap.h"
+#include "java_util_Collections_EmptySet.h"
+#include "java_util_Collections_SynchronizedMap.h"
+#include "java_util_Comparator.h"
+#include "java_util_Deque.h"
+#include "java_util_Enumeration.h"
+#include "java_util_Iterator.h"
+#include "java_util_List.h"
+#include "java_util_Map.h"
+#include "java_util_Queue.h"
+#include "java_util_RandomAccess.h"
+#include "java_util_Set.h"
+#include "org_apache_harmony_luni_internal_nls_Messages.h"
+
+#include "java_util_Collections.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Collections
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_Collections
+
+__TIB_DEFINITION_java_util_Collections __TIB_java_util_Collections = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_Collections, // classInitializer
+ "java.util.Collections", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_util_Collections), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_Collections;
+JAVA_OBJECT __CLASS_java_util_Collections_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_Collections_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_Collections_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_OBJECT _STATIC_java_util_Collections_EMPTY_LIST;
+static JAVA_OBJECT _STATIC_java_util_Collections_EMPTY_SET;
+static JAVA_OBJECT _STATIC_java_util_Collections_EMPTY_MAP;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_Collections()
+{
+ staticInitializerLock(&__TIB_java_util_Collections);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_Collections.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_Collections.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_Collections);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_Collections.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_Collections.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_Collections.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.Collections")
+ __INIT_IMPL_java_util_Collections();
+ }
+}
+
+void __INIT_IMPL_java_util_Collections()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_util_Collections.newInstanceFunc = __NEW_INSTANCE_java_util_Collections;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_Collections.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_util_Collections.numImplementedInterfaces = 0;
+ __TIB_java_util_Collections.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_java_util_Collections_EMPTY_LIST = (java_util_List*) JAVA_NULL;
+ _STATIC_java_util_Collections_EMPTY_SET = (java_util_Set*) JAVA_NULL;
+ _STATIC_java_util_Collections_EMPTY_MAP = (java_util_Map*) JAVA_NULL;
+
+ __TIB_java_util_Collections.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_Collections.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_Collections.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_Collections.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_Collections.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_Collections.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_Collections.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_Collections.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_Collections = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_Collections);
+ __TIB_java_util_Collections.clazz = __CLASS_java_util_Collections;
+ __TIB_java_util_Collections.baseType = JAVA_NULL;
+ __CLASS_java_util_Collections_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Collections);
+ __CLASS_java_util_Collections_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Collections_1ARRAY);
+ __CLASS_java_util_Collections_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Collections_2ARRAY);
+ java_util_Collections___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_Collections]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_Collections.classInitialized = 1;
+}
+
+void __DELETE_java_util_Collections(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_Collections]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_Collections(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_Collections]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_Collections()
+{ XMLVM_CLASS_INIT(java_util_Collections)
+java_util_Collections* me = (java_util_Collections*) XMLVM_MALLOC(sizeof(java_util_Collections));
+ me->tib = &__TIB_java_util_Collections;
+ __INIT_INSTANCE_MEMBERS_java_util_Collections(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_Collections]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_Collections()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_OBJECT java_util_Collections_GET_EMPTY_LIST()
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ return _STATIC_java_util_Collections_EMPTY_LIST;
+}
+
+void java_util_Collections_PUT_EMPTY_LIST(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+_STATIC_java_util_Collections_EMPTY_LIST = v;
+}
+
+JAVA_OBJECT java_util_Collections_GET_EMPTY_SET()
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ return _STATIC_java_util_Collections_EMPTY_SET;
+}
+
+void java_util_Collections_PUT_EMPTY_SET(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+_STATIC_java_util_Collections_EMPTY_SET = v;
+}
+
+JAVA_OBJECT java_util_Collections_GET_EMPTY_MAP()
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ return _STATIC_java_util_Collections_EMPTY_MAP;
+}
+
+void java_util_Collections_PUT_EMPTY_MAP(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+_STATIC_java_util_Collections_EMPTY_MAP = v;
+}
+
+void java_util_Collections___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections___CLINIT___]
+ XMLVM_ENTER_METHOD("java.util.Collections", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("Collections.java", 179)
+ _r0.o = __NEW_java_util_Collections_EmptyList();
+ XMLVM_CHECK_NPE(0)
+ java_util_Collections_EmptyList___INIT____java_util_Collections_EmptyList(_r0.o, _r1.o);
+ java_util_Collections_PUT_EMPTY_LIST( _r0.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 185)
+ _r0.o = __NEW_java_util_Collections_EmptySet();
+ XMLVM_CHECK_NPE(0)
+ java_util_Collections_EmptySet___INIT____java_util_Collections_EmptySet(_r0.o, _r1.o);
+ java_util_Collections_PUT_EMPTY_SET( _r0.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 191)
+ _r0.o = __NEW_java_util_Collections_EmptyMap();
+ XMLVM_CHECK_NPE(0)
+ java_util_Collections_EmptyMap___INIT____java_util_Collections_EmptyMap(_r0.o, _r1.o);
+ java_util_Collections_PUT_EMPTY_MAP( _r0.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 36)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Collections___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections___INIT___]
+ XMLVM_ENTER_METHOD("java.util.Collections", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Collections.java", 1465)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 1467)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_Collections_binarySearch___java_util_List_java_lang_Object(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_binarySearch___java_util_List_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Collections", "binarySearch", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r7.o = n1;
+ _r8.o = n2;
+ _r3.i = -1;
+ _r4.i = 1;
+ XMLVM_SOURCE_POSITION("Collections.java", 1489)
+ if (_r7.o != JAVA_NULL) goto label10;
+ XMLVM_SOURCE_POSITION("Collections.java", 1490)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label10:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1492)
+ XMLVM_CHECK_NPE(7)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r7.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_isEmpty__])(_r7.o);
+ if (_r0.i == 0) goto label18;
+ _r0 = _r3;
+ label17:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1493)
+ XMLVM_SOURCE_POSITION("Collections.java", 1522)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label18:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1497)
+ XMLVM_CLASS_INIT(java_util_RandomAccess)
+ _r0.i = XMLVM_ISA(_r7.o, __CLASS_java_util_RandomAccess);
+ if (_r0.i != 0) goto label66;
+ XMLVM_SOURCE_POSITION("Collections.java", 1498)
+ XMLVM_CHECK_NPE(7)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r7.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_listIterator__])(_r7.o);
+ label26:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1499)
+
+
+ // Red class access removed: java.util.ListIterator::hasNext
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r0.i != 0) goto label39;
+ XMLVM_SOURCE_POSITION("Collections.java", 1508)
+ XMLVM_CHECK_NPE(7)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r7.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_size__])(_r7.o);
+ _r0.i = -_r0.i;
+ _r0.i = _r0.i - _r4.i;
+ goto label17;
+ label39:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1501)
+
+
+ // Red class access removed: java.util.ListIterator::next
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r0.o = _r0.o;
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object])(_r0.o, _r8.o);
+ _r0.i = -_r0.i;
+ if (_r0.i > 0) goto label26;
+ XMLVM_SOURCE_POSITION("Collections.java", 1502)
+ if (_r0.i != 0) goto label59;
+ XMLVM_SOURCE_POSITION("Collections.java", 1503)
+
+
+ // Red class access removed: java.util.ListIterator::previousIndex
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label17;
+ label59:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1505)
+
+
+ // Red class access removed: java.util.ListIterator::previousIndex
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r0.i = -_r0.i;
+ _r0.i = _r0.i - _r4.i;
+ goto label17;
+ label66:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1511)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(7)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r7.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_size__])(_r7.o);
+ _r2.i = _r1.i - _r4.i;
+ _r5 = _r3;
+ _r3 = _r0;
+ _r0 = _r5;
+ _r6 = _r1;
+ _r1 = _r2;
+ _r2 = _r6;
+ label79:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1512)
+ if (_r3.i <= _r1.i) goto label88;
+ _r1.i = -_r2.i;
+ if (_r0.i >= 0) goto label115;
+ _r0 = _r4;
+ label85:;
+ _r0.i = _r1.i - _r0.i;
+ goto label17;
+ label88:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1513)
+ _r0.i = _r3.i + _r1.i;
+ _r2.i = _r0.i >> 1;
+ XMLVM_SOURCE_POSITION("Collections.java", 1514)
+ XMLVM_CHECK_NPE(7)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r7.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_get___int])(_r7.o, _r2.i);
+ _r0.o = _r0.o;
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object])(_r0.o, _r8.o);
+ _r0.i = -_r0.i;
+ if (_r0.i <= 0) goto label108;
+ XMLVM_SOURCE_POSITION("Collections.java", 1515)
+ _r3.i = _r2.i + 1;
+ goto label79;
+ label108:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1516)
+ if (_r0.i != 0) goto label112;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("Collections.java", 1517)
+ goto label17;
+ label112:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1519)
+ _r1.i = _r2.i - _r4.i;
+ goto label79;
+ label115:;
+ _r0.i = 2;
+ goto label85;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_Collections_binarySearch___java_util_List_java_lang_Object_java_util_Comparator(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_binarySearch___java_util_List_java_lang_Object_java_util_Comparator]
+ XMLVM_ENTER_METHOD("java.util.Collections", "binarySearch", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r7.o = n1;
+ _r8.o = n2;
+ _r9.o = n3;
+ _r4.i = 1;
+ XMLVM_SOURCE_POSITION("Collections.java", 1549)
+ if (_r9.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Collections.java", 1550)
+ _r0.i = java_util_Collections_binarySearch___java_util_List_java_lang_Object(_r7.o, _r8.o);
+ label7:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1578)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label8:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1553)
+ XMLVM_CLASS_INIT(java_util_RandomAccess)
+ _r0.i = XMLVM_ISA(_r7.o, __CLASS_java_util_RandomAccess);
+ if (_r0.i != 0) goto label54;
+ XMLVM_SOURCE_POSITION("Collections.java", 1554)
+ XMLVM_CHECK_NPE(7)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r7.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_listIterator__])(_r7.o);
+ label16:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1555)
+
+
+ // Red class access removed: java.util.ListIterator::hasNext
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r1.i != 0) goto label29;
+ XMLVM_SOURCE_POSITION("Collections.java", 1564)
+ XMLVM_CHECK_NPE(7)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r7.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_size__])(_r7.o);
+ _r0.i = -_r0.i;
+ _r0.i = _r0.i - _r4.i;
+ goto label7;
+ label29:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1557)
+
+
+ // Red class access removed: java.util.ListIterator::next
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(9)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r9.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Comparator_compare___java_lang_Object_java_lang_Object])(_r9.o, _r1.o, _r8.o);
+ _r1.i = -_r1.i;
+ if (_r1.i > 0) goto label16;
+ XMLVM_SOURCE_POSITION("Collections.java", 1558)
+ if (_r1.i != 0) goto label47;
+ XMLVM_SOURCE_POSITION("Collections.java", 1559)
+
+
+ // Red class access removed: java.util.ListIterator::previousIndex
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label7;
+ label47:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1561)
+
+
+ // Red class access removed: java.util.ListIterator::previousIndex
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r0.i = -_r0.i;
+ _r0.i = _r0.i - _r4.i;
+ goto label7;
+ label54:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1567)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(7)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r7.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_size__])(_r7.o);
+ _r2.i = _r1.i - _r4.i;
+ _r3.i = -1;
+ _r5 = _r3;
+ _r3 = _r0;
+ _r0 = _r5;
+ _r6 = _r1;
+ _r1 = _r2;
+ _r2 = _r6;
+ label68:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1568)
+ if (_r3.i <= _r1.i) goto label77;
+ _r1.i = -_r2.i;
+ if (_r0.i >= 0) goto label106;
+ _r0 = _r4;
+ label74:;
+ _r0.i = _r1.i - _r0.i;
+ goto label7;
+ label77:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1569)
+ _r0.i = _r3.i + _r1.i;
+ _r0.i = _r0.i >> 1;
+ XMLVM_SOURCE_POSITION("Collections.java", 1570)
+ XMLVM_CHECK_NPE(7)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r7.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_get___int])(_r7.o, _r0.i);
+ XMLVM_CHECK_NPE(9)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r9.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Comparator_compare___java_lang_Object_java_lang_Object])(_r9.o, _r2.o, _r8.o);
+ _r2.i = -_r2.i;
+ if (_r2.i <= 0) goto label98;
+ XMLVM_SOURCE_POSITION("Collections.java", 1571)
+ _r3.i = _r0.i + 1;
+ _r5 = _r2;
+ _r2 = _r0;
+ _r0 = _r5;
+ goto label68;
+ label98:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1572)
+ if (_r2.i == 0) goto label7;
+ XMLVM_SOURCE_POSITION("Collections.java", 1575)
+ _r1.i = _r0.i - _r4.i;
+ _r5 = _r2;
+ _r2 = _r0;
+ _r0 = _r5;
+ goto label68;
+ label106:;
+ _r0.i = 2;
+ goto label74;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Collections_copy___java_util_List_java_util_List(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_copy___java_util_List_java_util_List]
+ XMLVM_ENTER_METHOD("java.util.Collections", "copy", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ _r4.o = n1;
+ _r5.o = n2;
+ // "luni.38"
+ _r3.o = xmlvm_create_java_string_from_pool(810);
+ XMLVM_SOURCE_POSITION("Collections.java", 1599)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_size__])(_r4.o);
+ XMLVM_CHECK_NPE(5)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_size__])(_r5.o);
+ if (_r0.i >= _r1.i) goto label28;
+ XMLVM_SOURCE_POSITION("Collections.java", 1601)
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.38"
+ _r1.o = xmlvm_create_java_string_from_pool(810);
+ XMLVM_CHECK_NPE(5)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_size__])(_r5.o);
+ _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_int(_r3.o, _r1.i);
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label28:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1603)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_iterator__])(_r5.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 1604)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_listIterator__])(_r4.o);
+ label36:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1605)
+ XMLVM_CHECK_NPE(0)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r2.i != 0) goto label43;
+ XMLVM_SOURCE_POSITION("Collections.java", 1614)
+ XMLVM_EXIT_METHOD()
+ return;
+ label43:;
+ XMLVM_TRY_BEGIN(w5845aaab7b1c27)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Collections.java", 1607)
+
+
+ // Red class access removed: java.util.ListIterator::next
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5845aaab7b1c27)
+ XMLVM_CATCH_END(w5845aaab7b1c27)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5845aaab7b1c27)
+ XMLVM_SOURCE_POSITION("Collections.java", 1612)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+
+
+ // Red class access removed: java.util.ListIterator::set
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label36;
+ label54:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1610)
+ java_lang_Thread* curThread_w5845aaab7b1c34 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w5845aaab7b1c34->fields.java_lang_Thread.xmlvmException_;
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.38"
+ _r1.o = xmlvm_create_java_string_from_pool(810);
+ XMLVM_CHECK_NPE(5)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_size__])(_r5.o);
+ _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_int(_r3.o, _r1.i);
+
+
+ // Red class access removed: java.lang.ArrayIndexOutOfBoundsException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_enumeration___java_util_Collection(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_enumeration___java_util_Collection]
+ XMLVM_ENTER_METHOD("java.util.Collections", "enumeration", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 1624)
+ XMLVM_SOURCE_POSITION("Collections.java", 1625)
+
+
+ // Red class access removed: java.util.Collections$1::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$1::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Collections_fill___java_util_List_java_lang_Object(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_fill___java_util_List_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Collections", "fill", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("Collections.java", 1649)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_listIterator__])(_r2.o);
+ label4:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1650)
+
+
+ // Red class access removed: java.util.ListIterator::hasNext
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r1.i != 0) goto label11;
+ XMLVM_SOURCE_POSITION("Collections.java", 1654)
+ XMLVM_EXIT_METHOD()
+ return;
+ label11:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1651)
+
+
+ // Red class access removed: java.util.ListIterator::next
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Collections.java", 1652)
+
+
+ // Red class access removed: java.util.ListIterator::set
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label4;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_max___java_util_Collection(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_max___java_util_Collection]
+ XMLVM_ENTER_METHOD("java.util.Collections", "max", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 1669)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_iterator__])(_r5.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 1670)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r2.o);
+ label8:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1671)
+ XMLVM_CHECK_NPE(2)
+ _r3.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r2.o);
+ if (_r3.i != 0) goto label15;
+ XMLVM_SOURCE_POSITION("Collections.java", 1677)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label15:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1672)
+ XMLVM_CHECK_NPE(2)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r2.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 1673)
+ _r0 = _r1;
+ _r0.o = _r0.o;
+ _r5 = _r0;
+ XMLVM_CHECK_NPE(5)
+ _r4.i = (*(JAVA_INT (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object])(_r5.o, _r3.o);
+ if (_r4.i >= 0) goto label8;
+ _r1 = _r3;
+ XMLVM_SOURCE_POSITION("Collections.java", 1674)
+ goto label8;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_max___java_util_Collection_java_util_Comparator(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_max___java_util_Collection_java_util_Comparator]
+ XMLVM_ENTER_METHOD("java.util.Collections", "max", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = n1;
+ _r5.o = n2;
+ XMLVM_SOURCE_POSITION("Collections.java", 1695)
+ if (_r5.o != JAVA_NULL) goto label7;
+ XMLVM_SOURCE_POSITION("Collections.java", 1697)
+ _r0.o = java_util_Collections_max___java_util_Collection(_r4.o);
+ label6:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1709)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label7:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1701)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_iterator__])(_r4.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 1702)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ label15:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1703)
+ XMLVM_CHECK_NPE(0)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r2.i != 0) goto label23;
+ _r0 = _r1;
+ goto label6;
+ label23:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1704)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 1705)
+ XMLVM_CHECK_NPE(5)
+ _r3.i = (*(JAVA_INT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Comparator_compare___java_lang_Object_java_lang_Object])(_r5.o, _r1.o, _r2.o);
+ if (_r3.i >= 0) goto label15;
+ _r1 = _r2;
+ XMLVM_SOURCE_POSITION("Collections.java", 1706)
+ goto label15;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_min___java_util_Collection(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_min___java_util_Collection]
+ XMLVM_ENTER_METHOD("java.util.Collections", "min", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 1725)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_iterator__])(_r5.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 1726)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r2.o);
+ label8:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1727)
+ XMLVM_CHECK_NPE(2)
+ _r3.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r2.o);
+ if (_r3.i != 0) goto label15;
+ XMLVM_SOURCE_POSITION("Collections.java", 1733)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label15:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1728)
+ XMLVM_CHECK_NPE(2)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r2.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 1729)
+ _r0 = _r1;
+ _r0.o = _r0.o;
+ _r5 = _r0;
+ XMLVM_CHECK_NPE(5)
+ _r4.i = (*(JAVA_INT (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object])(_r5.o, _r3.o);
+ if (_r4.i <= 0) goto label8;
+ _r1 = _r3;
+ XMLVM_SOURCE_POSITION("Collections.java", 1730)
+ goto label8;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_min___java_util_Collection_java_util_Comparator(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_min___java_util_Collection_java_util_Comparator]
+ XMLVM_ENTER_METHOD("java.util.Collections", "min", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = n1;
+ _r5.o = n2;
+ XMLVM_SOURCE_POSITION("Collections.java", 1751)
+ if (_r5.o != JAVA_NULL) goto label7;
+ XMLVM_SOURCE_POSITION("Collections.java", 1753)
+ _r0.o = java_util_Collections_min___java_util_Collection(_r4.o);
+ label6:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1765)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label7:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1757)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_iterator__])(_r4.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 1758)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ label15:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1759)
+ XMLVM_CHECK_NPE(0)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r2.i != 0) goto label23;
+ _r0 = _r1;
+ goto label6;
+ label23:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1760)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 1761)
+ XMLVM_CHECK_NPE(5)
+ _r3.i = (*(JAVA_INT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Comparator_compare___java_lang_Object_java_lang_Object])(_r5.o, _r1.o, _r2.o);
+ if (_r3.i <= 0) goto label15;
+ _r1 = _r2;
+ XMLVM_SOURCE_POSITION("Collections.java", 1762)
+ goto label15;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_nCopies___int_java_lang_Object(JAVA_INT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_nCopies___int_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Collections", "nCopies", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.i = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("Collections.java", 1781)
+
+
+ // Red class access removed: java.util.Collections$CopiesList::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$CopiesList::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Collections_reverse___java_util_List(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_reverse___java_util_List]
+ XMLVM_ENTER_METHOD("java.util.Collections", "reverse", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r6.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 1795)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r6.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_size__])(_r6.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 1796)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r6.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_listIterator__])(_r6.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 1798)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r6.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_listIterator___int])(_r6.o, _r0.i);
+ XMLVM_SOURCE_POSITION("Collections.java", 1799)
+ _r3.i = 0;
+ label13:;
+ _r4.i = _r0.i / 2;
+ if (_r3.i < _r4.i) goto label18;
+ XMLVM_SOURCE_POSITION("Collections.java", 1805)
+ XMLVM_EXIT_METHOD()
+ return;
+ label18:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1800)
+
+
+ // Red class access removed: java.util.ListIterator::next
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Collections.java", 1801)
+
+
+ // Red class access removed: java.util.ListIterator::previous
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Collections.java", 1802)
+
+
+ // Red class access removed: java.util.ListIterator::set
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Collections.java", 1803)
+
+
+ // Red class access removed: java.util.ListIterator::set
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r3.i = _r3.i + 1;
+ goto label13;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_reverseOrder__()
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_reverseOrder__]
+ XMLVM_ENTER_METHOD("java.util.Collections", "reverseOrder", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("Collections.java", 1818)
+
+
+ // Red class access removed: java.util.Collections$ReverseComparator::access$0
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_reverseOrder___java_util_Comparator(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_reverseOrder___java_util_Comparator]
+ XMLVM_ENTER_METHOD("java.util.Collections", "reverseOrder", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 1836)
+ if (_r1.o != JAVA_NULL) goto label7;
+ XMLVM_SOURCE_POSITION("Collections.java", 1837)
+ _r0.o = java_util_Collections_reverseOrder__();
+ label6:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1842)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label7:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1839)
+
+
+ // Red class access removed: java.util.Collections$ReverseComparatorWithComparator::instance-of
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r0.i == 0) goto label18;
+ XMLVM_SOURCE_POSITION("Collections.java", 1840)
+
+
+ // Red class access removed: java.util.Collections$ReverseComparatorWithComparator::check-cast
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$ReverseComparatorWithComparator::access$0
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label6;
+ label18:;
+
+
+ // Red class access removed: java.util.Collections$ReverseComparatorWithComparator::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$ReverseComparatorWithComparator::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Collections_shuffle___java_util_List(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_shuffle___java_util_List]
+ XMLVM_ENTER_METHOD("java.util.Collections", "shuffle", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 1855)
+
+
+ // Red class access removed: java.util.Random::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Random::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ java_util_Collections_shuffle___java_util_List_java_util_Random(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 1856)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Collections_shuffle___java_util_List_java_util_Random(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_shuffle___java_util_List_java_util_Random]
+ XMLVM_ENTER_METHOD("java.util.Collections", "shuffle", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r5.o = n1;
+ _r6.o = n2;
+ _r2.i = 1;
+ XMLVM_SOURCE_POSITION("Collections.java", 1871)
+ XMLVM_SOURCE_POSITION("Collections.java", 1873)
+ XMLVM_CLASS_INIT(java_util_RandomAccess)
+ _r0.i = XMLVM_ISA(_r5.o, __CLASS_java_util_RandomAccess);
+ if (_r0.i == 0) goto label33;
+ XMLVM_SOURCE_POSITION("Collections.java", 1874)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_size__])(_r5.o);
+ _r0.i = _r0.i - _r2.i;
+ label10:;
+ if (_r0.i > 0) goto label13;
+ label12:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1894)
+ XMLVM_EXIT_METHOD()
+ return;
+ label13:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1875)
+ _r1.i = _r0.i + 1;
+
+
+ // Red class access removed: java.util.Random::nextInt
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Collections.java", 1876)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_get___int])(_r5.o, _r1.i);
+ XMLVM_CHECK_NPE(5)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT, JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_set___int_java_lang_Object])(_r5.o, _r0.i, _r2.o);
+ XMLVM_CHECK_NPE(5)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT, JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_set___int_java_lang_Object])(_r5.o, _r1.i, _r2.o);
+ _r0.i = _r0.i + -1;
+ goto label10;
+ label33:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1879)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_toArray__])(_r5.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 1880)
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ _r1.i = _r1.i - _r2.i;
+ label39:;
+ if (_r1.i > 0) goto label64;
+ XMLVM_SOURCE_POSITION("Collections.java", 1887)
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("Collections.java", 1888)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_listIterator__])(_r5.o);
+ label46:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1889)
+
+
+ // Red class access removed: java.util.ListIterator::hasNext
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r3.i == 0) goto label12;
+ XMLVM_SOURCE_POSITION("Collections.java", 1890)
+
+
+ // Red class access removed: java.util.ListIterator::next
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Collections.java", 1891)
+ _r3.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+
+
+ // Red class access removed: java.util.ListIterator::set
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1 = _r3;
+ goto label46;
+ label64:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1881)
+ _r2.i = _r1.i + 1;
+
+
+ // Red class access removed: java.util.Random::nextInt
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Collections.java", 1882)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r3.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_SOURCE_POSITION("Collections.java", 1883)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ _r4.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.o;
+ XMLVM_SOURCE_POSITION("Collections.java", 1884)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r3.o;
+ _r1.i = _r1.i + -1;
+ goto label39;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_singleton___java_lang_Object(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_singleton___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Collections", "singleton", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 1905)
+
+
+ // Red class access removed: java.util.Collections$SingletonSet::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$SingletonSet::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_singletonList___java_lang_Object(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_singletonList___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Collections", "singletonList", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 1917)
+
+
+ // Red class access removed: java.util.Collections$SingletonList::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$SingletonList::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_singletonMap___java_lang_Object_java_lang_Object(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_singletonMap___java_lang_Object_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Collections", "singletonMap", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("Collections.java", 1931)
+
+
+ // Red class access removed: java.util.Collections$SingletonMap::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$SingletonMap::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Collections_sort___java_util_List(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_sort___java_util_List]
+ XMLVM_ENTER_METHOD("java.util.Collections", "sort", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 1946)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_toArray__])(_r4.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 1947)
+
+
+ // Red class access removed: java.util.Arrays::sort
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Collections.java", 1948)
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("Collections.java", 1949)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_listIterator__])(_r4.o);
+ label12:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1950)
+
+
+ // Red class access removed: java.util.ListIterator::hasNext
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r3.i != 0) goto label19;
+ XMLVM_SOURCE_POSITION("Collections.java", 1954)
+ XMLVM_EXIT_METHOD()
+ return;
+ label19:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1951)
+
+
+ // Red class access removed: java.util.ListIterator::next
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Collections.java", 1952)
+ _r3.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r4.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ _r4.o = _r4.o;
+
+
+ // Red class access removed: java.util.ListIterator::set
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1 = _r3;
+ goto label12;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Collections_sort___java_util_List_java_util_Comparator(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_sort___java_util_List_java_util_Comparator]
+ XMLVM_ENTER_METHOD("java.util.Collections", "sort", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = n1;
+ _r5.o = n2;
+ XMLVM_SOURCE_POSITION("Collections.java", 1970)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_size__])(_r4.o);
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r0.i);
+ XMLVM_CHECK_NPE(4)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_toArray___java_lang_Object_1ARRAY])(_r4.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 1971)
+
+
+ // Red class access removed: java.util.Arrays::sort
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Collections.java", 1972)
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("Collections.java", 1973)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_listIterator__])(_r4.o);
+ label18:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1974)
+
+
+ // Red class access removed: java.util.ListIterator::hasNext
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r3.i != 0) goto label25;
+ XMLVM_SOURCE_POSITION("Collections.java", 1978)
+ XMLVM_EXIT_METHOD()
+ return;
+ label25:;
+ XMLVM_SOURCE_POSITION("Collections.java", 1975)
+
+
+ // Red class access removed: java.util.ListIterator::next
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Collections.java", 1976)
+ _r3.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+
+
+ // Red class access removed: java.util.ListIterator::set
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1 = _r3;
+ goto label18;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Collections_swap___java_util_List_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_swap___java_util_List_int_int]
+ XMLVM_ENTER_METHOD("java.util.Collections", "swap", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = n1;
+ _r2.i = n2;
+ _r3.i = n3;
+ XMLVM_SOURCE_POSITION("Collections.java", 1998)
+ if (_r1.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Collections.java", 1999)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2001)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_size__])(_r1.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 2002)
+ if (_r2.i < 0) goto label20;
+ if (_r2.i >= _r0.i) goto label20;
+ if (_r3.i < 0) goto label20;
+ if (_r3.i < _r0.i) goto label26;
+ label20:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2003)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label26:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2005)
+ if (_r2.i != _r3.i) goto label29;
+ label28:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2010)
+ XMLVM_EXIT_METHOD()
+ return;
+ label29:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2009)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_get___int])(_r1.o, _r3.i);
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT, JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_set___int_java_lang_Object])(_r1.o, _r2.i, _r0.o);
+ XMLVM_CHECK_NPE(1)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT, JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_set___int_java_lang_Object])(_r1.o, _r3.i, _r0.o);
+ goto label28;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_Collections_replaceAll___java_util_List_java_lang_Object_java_lang_Object(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_replaceAll___java_util_List_java_lang_Object_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Collections", "replaceAll", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r3.o = n1;
+ _r4.o = n2;
+ _r5.o = n3;
+ XMLVM_SOURCE_POSITION("Collections.java", 2031)
+ _r0.i = 0;
+ label1:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2033)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_indexOf___java_lang_Object])(_r3.o, _r4.o);
+ _r2.i = -1;
+ if (_r1.i > _r2.i) goto label9;
+ XMLVM_SOURCE_POSITION("Collections.java", 2037)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label9:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2034)
+ _r0.i = 1;
+ XMLVM_SOURCE_POSITION("Collections.java", 2035)
+ XMLVM_CHECK_NPE(3)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT, JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_set___int_java_lang_Object])(_r3.o, _r1.i, _r5.o);
+ goto label1;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Collections_rotate___java_util_List_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_rotate___java_util_List_int]
+ XMLVM_ENTER_METHOD("java.util.Collections", "rotate", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r6.o = n1;
+ _r7.i = n2;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("Collections.java", 2055)
+ XMLVM_SOURCE_POSITION("Collections.java", 2056)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r6.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_size__])(_r6.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 2059)
+ if (_r0.i != 0) goto label8;
+ label7:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2096)
+ XMLVM_EXIT_METHOD()
+ return;
+ label8:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2065)
+ if (_r7.i <= 0) goto label48;
+ XMLVM_SOURCE_POSITION("Collections.java", 2066)
+ _r1.i = _r7.i % _r0.i;
+ label12:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2071)
+ if (_r1.i == 0) goto label7;
+ if (_r1.i == _r0.i) goto label7;
+ XMLVM_SOURCE_POSITION("Collections.java", 2075)
+ XMLVM_CLASS_INIT(java_util_RandomAccess)
+ _r2.i = XMLVM_ISA(_r6.o, __CLASS_java_util_RandomAccess);
+ if (_r2.i == 0) goto label55;
+ XMLVM_SOURCE_POSITION("Collections.java", 2078)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r6.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_get___int])(_r6.o, _r3.i);
+ _r4 = _r3;
+ _r5 = _r2;
+ _r2 = _r3;
+ label27:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2080)
+ if (_r2.i >= _r0.i) goto label7;
+ XMLVM_SOURCE_POSITION("Collections.java", 2081)
+ _r4.i = _r4.i + _r1.i;
+ _r4.i = _r4.i % _r0.i;
+ XMLVM_SOURCE_POSITION("Collections.java", 2082)
+ XMLVM_CHECK_NPE(6)
+ _r5.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT, JAVA_OBJECT)) *(((java_lang_Object*)_r6.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_set___int_java_lang_Object])(_r6.o, _r4.i, _r5.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 2083)
+ if (_r4.i != _r3.i) goto label45;
+ XMLVM_SOURCE_POSITION("Collections.java", 2084)
+ _r3.i = _r3.i + 1;
+ XMLVM_SOURCE_POSITION("Collections.java", 2085)
+ XMLVM_CHECK_NPE(6)
+ _r4.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r6.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_get___int])(_r6.o, _r3.i);
+ _r5 = _r4;
+ _r4 = _r3;
+ label45:;
+ _r2.i = _r2.i + 1;
+ goto label27;
+ label48:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2068)
+ _r1.i = _r7.i % _r0.i;
+ _r1.i = _r1.i * -1;
+ _r1.i = _r0.i - _r1.i;
+ goto label12;
+ label55:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2089)
+ _r1.i = _r0.i - _r1.i;
+ _r1.i = _r1.i % _r0.i;
+ XMLVM_SOURCE_POSITION("Collections.java", 2090)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT, JAVA_INT)) *(((java_lang_Object*)_r6.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_subList___int_int])(_r6.o, _r3.i, _r1.i);
+ XMLVM_SOURCE_POSITION("Collections.java", 2091)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT, JAVA_INT)) *(((java_lang_Object*)_r6.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_subList___int_int])(_r6.o, _r1.i, _r0.i);
+ XMLVM_SOURCE_POSITION("Collections.java", 2092)
+ java_util_Collections_reverse___java_util_List(_r2.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 2093)
+ java_util_Collections_reverse___java_util_List(_r0.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 2094)
+ java_util_Collections_reverse___java_util_List(_r6.o);
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_Collections_indexOfSubList___java_util_List_java_util_List(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_indexOfSubList___java_util_List_java_util_List]
+ XMLVM_ENTER_METHOD("java.util.Collections", "indexOfSubList", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ _r11.o = n1;
+ _r12.o = n2;
+ _r10.i = 1;
+ _r9.i = 0;
+ _r8.i = -1;
+ XMLVM_SOURCE_POSITION("Collections.java", 2112)
+ XMLVM_CHECK_NPE(11)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r11.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_size__])(_r11.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 2113)
+ XMLVM_CHECK_NPE(12)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r12.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_size__])(_r12.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 2115)
+ if (_r1.i <= _r0.i) goto label15;
+ _r0 = _r8;
+ label14:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2116)
+ XMLVM_SOURCE_POSITION("Collections.java", 2162)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label15:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2119)
+ if (_r1.i != 0) goto label19;
+ _r0 = _r9;
+ XMLVM_SOURCE_POSITION("Collections.java", 2120)
+ goto label14;
+ label19:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2124)
+ XMLVM_CHECK_NPE(12)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r12.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_get___int])(_r12.o, _r9.i);
+ XMLVM_SOURCE_POSITION("Collections.java", 2125)
+ XMLVM_CHECK_NPE(11)
+ _r3.i = (*(JAVA_INT (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r11.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_indexOf___java_lang_Object])(_r11.o, _r2.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 2126)
+ if (_r3.i != _r8.i) goto label70;
+ _r0 = _r8;
+ XMLVM_SOURCE_POSITION("Collections.java", 2127)
+ goto label14;
+ label31:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2131)
+ XMLVM_CHECK_NPE(11)
+ _r4.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r11.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_listIterator___int])(_r11.o, _r3.i);
+ XMLVM_SOURCE_POSITION("Collections.java", 2133)
+ if (_r2.o != JAVA_NULL) goto label58;
+
+
+ // Red class access removed: java.util.ListIterator::next
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r5.o != JAVA_NULL) goto label68;
+ label43:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2138)
+ XMLVM_CHECK_NPE(12)
+ _r5.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r12.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_listIterator___int])(_r12.o, _r10.i);
+ label47:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2140)
+
+
+ // Red class access removed: java.util.ListIterator::hasNext
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r6.i != 0) goto label78;
+ _r4 = _r9;
+ label54:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2153)
+ if (_r4.i != 0) goto label68;
+ _r0 = _r3;
+ XMLVM_SOURCE_POSITION("Collections.java", 2154)
+ goto label14;
+ label58:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2134)
+
+
+ // Red class access removed: java.util.ListIterator::next
+ XMLVM_RED_CLASS_DEPENDENCY();
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(2)
+ _r5.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r2.o)->tib->vtable[1])(_r2.o, _r5.o);
+ if (_r5.i != 0) goto label43;
+ label68:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2160)
+ _r3.i = _r3.i + 1;
+ label70:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2130)
+ if (_r3.i >= _r0.i) goto label76;
+ _r4.i = _r0.i - _r3.i;
+ if (_r4.i >= _r1.i) goto label31;
+ label76:;
+ _r0 = _r8;
+ goto label14;
+ label78:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2141)
+
+
+ // Red class access removed: java.util.ListIterator::next
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Collections.java", 2142)
+
+
+ // Red class access removed: java.util.ListIterator::hasNext
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r7.i != 0) goto label90;
+ _r0 = _r8;
+ XMLVM_SOURCE_POSITION("Collections.java", 2143)
+ goto label14;
+ label90:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2145)
+ if (_r6.o != JAVA_NULL) goto label100;
+
+
+ // Red class access removed: java.util.ListIterator::next
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r6.o == JAVA_NULL) goto label47;
+ label98:;
+ _r4 = _r10;
+ XMLVM_SOURCE_POSITION("Collections.java", 2148)
+ goto label54;
+ label100:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2146)
+
+
+ // Red class access removed: java.util.ListIterator::next
+ XMLVM_RED_CLASS_DEPENDENCY();
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(6)
+ _r6.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r6.o)->tib->vtable[1])(_r6.o, _r7.o);
+ if (_r6.i != 0) goto label47;
+ goto label98;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_Collections_lastIndexOfSubList___java_util_List_java_util_List(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_lastIndexOfSubList___java_util_List_java_util_List]
+ XMLVM_ENTER_METHOD("java.util.Collections", "lastIndexOfSubList", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ _r10.o = n1;
+ _r11.o = n2;
+ _r9.i = 1;
+ _r8.i = -1;
+ XMLVM_SOURCE_POSITION("Collections.java", 2179)
+ XMLVM_CHECK_NPE(11)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r11.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_size__])(_r11.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 2180)
+ XMLVM_CHECK_NPE(10)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r10.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_size__])(_r10.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 2182)
+ if (_r0.i <= _r1.i) goto label14;
+ _r0 = _r8;
+ label13:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2183)
+ XMLVM_SOURCE_POSITION("Collections.java", 2226)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label14:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2186)
+ if (_r0.i != 0) goto label18;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("Collections.java", 2187)
+ goto label13;
+ label18:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2191)
+ _r1.i = _r0.i - _r9.i;
+ XMLVM_CHECK_NPE(11)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r11.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_get___int])(_r11.o, _r1.i);
+ XMLVM_SOURCE_POSITION("Collections.java", 2192)
+ XMLVM_CHECK_NPE(10)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r10.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_lastIndexOf___java_lang_Object])(_r10.o, _r1.o);
+ label28:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2194)
+ if (_r2.i <= _r8.i) goto label34;
+ _r3.i = _r2.i + 1;
+ if (_r3.i >= _r0.i) goto label36;
+ label34:;
+ _r0 = _r8;
+ goto label13;
+ label36:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2195)
+ _r3.i = _r2.i + 1;
+ XMLVM_CHECK_NPE(10)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r10.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_listIterator___int])(_r10.o, _r3.i);
+ XMLVM_SOURCE_POSITION("Collections.java", 2197)
+ if (_r1.o != JAVA_NULL) goto label71;
+
+
+ // Red class access removed: java.util.ListIterator::previous
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r4.o != JAVA_NULL) goto label81;
+ label50:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2202)
+ _r4.i = _r0.i - _r9.i;
+ XMLVM_CHECK_NPE(11)
+ _r4.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) *(((java_lang_Object*)_r11.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_List_listIterator___int])(_r11.o, _r4.i);
+ XMLVM_SOURCE_POSITION("Collections.java", 2203)
+ _r5.i = 0;
+ label57:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2204)
+
+
+ // Red class access removed: java.util.ListIterator::hasPrevious
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r6.i != 0) goto label84;
+ _r4 = _r5;
+ label64:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2217)
+ if (_r4.i != 0) goto label81;
+ XMLVM_SOURCE_POSITION("Collections.java", 2218)
+
+
+ // Red class access removed: java.util.ListIterator::nextIndex
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label13;
+ label71:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2198)
+
+
+ // Red class access removed: java.util.ListIterator::previous
+ XMLVM_RED_CLASS_DEPENDENCY();
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(1)
+ _r4.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r1.o)->tib->vtable[1])(_r1.o, _r4.o);
+ if (_r4.i != 0) goto label50;
+ label81:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2224)
+ _r2.i = _r2.i + -1;
+ goto label28;
+ label84:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2205)
+
+
+ // Red class access removed: java.util.ListIterator::previous
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Collections.java", 2206)
+
+
+ // Red class access removed: java.util.ListIterator::hasPrevious
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r7.i != 0) goto label96;
+ _r0 = _r8;
+ XMLVM_SOURCE_POSITION("Collections.java", 2207)
+ goto label13;
+ label96:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2209)
+ if (_r6.o != JAVA_NULL) goto label106;
+
+
+ // Red class access removed: java.util.ListIterator::previous
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r6.o == JAVA_NULL) goto label57;
+ label104:;
+ _r4 = _r9;
+ XMLVM_SOURCE_POSITION("Collections.java", 2212)
+ goto label64;
+ label106:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2210)
+
+
+ // Red class access removed: java.util.ListIterator::previous
+ XMLVM_RED_CLASS_DEPENDENCY();
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(6)
+ _r6.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r6.o)->tib->vtable[1])(_r6.o, _r7.o);
+ if (_r6.i != 0) goto label57;
+ goto label104;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_list___java_util_Enumeration(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_list___java_util_Enumeration]
+ XMLVM_ENTER_METHOD("java.util.Collections", "list", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 2239)
+ _r0.o = __NEW_java_util_ArrayList();
+ XMLVM_CHECK_NPE(0)
+ java_util_ArrayList___INIT___(_r0.o);
+ label5:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2240)
+ XMLVM_CHECK_NPE(2)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Enumeration_hasMoreElements__])(_r2.o);
+ if (_r1.i != 0) goto label12;
+ XMLVM_SOURCE_POSITION("Collections.java", 2243)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label12:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2241)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Enumeration_nextElement__])(_r2.o);
+ //java_util_ArrayList_add___java_lang_Object[7]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_ArrayList*) _r0.o)->tib->vtable[7])(_r0.o, _r1.o);
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_synchronizedCollection___java_util_Collection(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_synchronizedCollection___java_util_Collection]
+ XMLVM_ENTER_METHOD("java.util.Collections", "synchronizedCollection", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 2256)
+ if (_r1.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Collections.java", 2257)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2259)
+
+
+ // Red class access removed: java.util.Collections$SynchronizedCollection::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$SynchronizedCollection::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_synchronizedList___java_util_List(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_synchronizedList___java_util_List]
+ XMLVM_ENTER_METHOD("java.util.Collections", "synchronizedList", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 2271)
+ if (_r1.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Collections.java", 2272)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2274)
+ XMLVM_CLASS_INIT(java_util_RandomAccess)
+ _r0.i = XMLVM_ISA(_r1.o, __CLASS_java_util_RandomAccess);
+ if (_r0.i == 0) goto label18;
+ XMLVM_SOURCE_POSITION("Collections.java", 2275)
+
+
+ // Red class access removed: java.util.Collections$SynchronizedRandomAccessList::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$SynchronizedRandomAccessList::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ label17:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2277)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label18:;
+
+
+ // Red class access removed: java.util.Collections$SynchronizedList::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$SynchronizedList::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label17;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_synchronizedMap___java_util_Map(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_synchronizedMap___java_util_Map]
+ XMLVM_ENTER_METHOD("java.util.Collections", "synchronizedMap", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 2289)
+ if (_r1.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Collections.java", 2290)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2292)
+ _r0.o = __NEW_java_util_Collections_SynchronizedMap();
+ XMLVM_CHECK_NPE(0)
+ java_util_Collections_SynchronizedMap___INIT____java_util_Map(_r0.o, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_synchronizedSet___java_util_Set(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_synchronizedSet___java_util_Set]
+ XMLVM_ENTER_METHOD("java.util.Collections", "synchronizedSet", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 2304)
+ if (_r1.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Collections.java", 2305)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2307)
+
+
+ // Red class access removed: java.util.Collections$SynchronizedSet::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$SynchronizedSet::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_synchronizedSortedMap___java_util_SortedMap(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_synchronizedSortedMap___java_util_SortedMap]
+ XMLVM_ENTER_METHOD("java.util.Collections", "synchronizedSortedMap", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 2320)
+ if (_r1.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Collections.java", 2321)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2323)
+
+
+ // Red class access removed: java.util.Collections$SynchronizedSortedMap::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$SynchronizedSortedMap::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_synchronizedSortedSet___java_util_SortedSet(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_synchronizedSortedSet___java_util_SortedSet]
+ XMLVM_ENTER_METHOD("java.util.Collections", "synchronizedSortedSet", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 2335)
+ if (_r1.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Collections.java", 2336)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2338)
+
+
+ // Red class access removed: java.util.Collections$SynchronizedSortedSet::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$SynchronizedSortedSet::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_unmodifiableCollection___java_util_Collection(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_unmodifiableCollection___java_util_Collection]
+ XMLVM_ENTER_METHOD("java.util.Collections", "unmodifiableCollection", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 2353)
+ if (_r1.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Collections.java", 2354)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2356)
+
+
+ // Red class access removed: java.util.Collections$UnmodifiableCollection::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$UnmodifiableCollection::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_unmodifiableList___java_util_List(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_unmodifiableList___java_util_List]
+ XMLVM_ENTER_METHOD("java.util.Collections", "unmodifiableList", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 2370)
+ if (_r1.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Collections.java", 2371)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2373)
+ XMLVM_CLASS_INIT(java_util_RandomAccess)
+ _r0.i = XMLVM_ISA(_r1.o, __CLASS_java_util_RandomAccess);
+ if (_r0.i == 0) goto label18;
+ XMLVM_SOURCE_POSITION("Collections.java", 2374)
+
+
+ // Red class access removed: java.util.Collections$UnmodifiableRandomAccessList::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$UnmodifiableRandomAccessList::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ label17:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2376)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label18:;
+
+
+ // Red class access removed: java.util.Collections$UnmodifiableList::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$UnmodifiableList::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label17;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_unmodifiableMap___java_util_Map(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_unmodifiableMap___java_util_Map]
+ XMLVM_ENTER_METHOD("java.util.Collections", "unmodifiableMap", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 2391)
+ if (_r1.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Collections.java", 2392)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2394)
+
+
+ // Red class access removed: java.util.Collections$UnmodifiableMap::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$UnmodifiableMap::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_unmodifiableSet___java_util_Set(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_unmodifiableSet___java_util_Set]
+ XMLVM_ENTER_METHOD("java.util.Collections", "unmodifiableSet", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 2408)
+ if (_r1.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Collections.java", 2409)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2411)
+
+
+ // Red class access removed: java.util.Collections$UnmodifiableSet::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$UnmodifiableSet::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_unmodifiableSortedMap___java_util_SortedMap(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_unmodifiableSortedMap___java_util_SortedMap]
+ XMLVM_ENTER_METHOD("java.util.Collections", "unmodifiableSortedMap", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 2426)
+ if (_r1.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Collections.java", 2427)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2429)
+
+
+ // Red class access removed: java.util.Collections$UnmodifiableSortedMap::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$UnmodifiableSortedMap::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_unmodifiableSortedSet___java_util_SortedSet(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_unmodifiableSortedSet___java_util_SortedSet]
+ XMLVM_ENTER_METHOD("java.util.Collections", "unmodifiableSortedSet", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 2442)
+ if (_r1.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Collections.java", 2443)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2445)
+
+
+ // Red class access removed: java.util.Collections$UnmodifiableSortedSet::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$UnmodifiableSortedSet::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_Collections_frequency___java_util_Collection_java_lang_Object(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_frequency___java_util_Collection_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Collections", "frequency", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = n1;
+ _r4.o = n2;
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("Collections.java", 2463)
+ if (_r3.o != JAVA_NULL) goto label9;
+ XMLVM_SOURCE_POSITION("Collections.java", 2464)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label9:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2466)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_isEmpty__])(_r3.o);
+ if (_r0.i == 0) goto label17;
+ _r0 = _r1;
+ label16:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2467)
+ XMLVM_SOURCE_POSITION("Collections.java", 2477)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label17:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2470)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_iterator__])(_r3.o);
+ label21:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2471)
+ XMLVM_CHECK_NPE(0)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r2.i != 0) goto label29;
+ _r0 = _r1;
+ goto label16;
+ label29:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2472)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 2473)
+ if (_r4.o != JAVA_NULL) goto label40;
+ if (_r2.o != JAVA_NULL) goto label21;
+ label37:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2474)
+ _r1.i = _r1.i + 1;
+ goto label21;
+ label40:;
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(4)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r4.o)->tib->vtable[1])(_r4.o, _r2.o);
+ if (_r2.i == 0) goto label21;
+ goto label37;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_emptyList__()
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_emptyList__]
+ XMLVM_ENTER_METHOD("java.util.Collections", "emptyList", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("Collections.java", 2489)
+ _r0.o = java_util_Collections_GET_EMPTY_LIST();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_emptySet__()
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_emptySet__]
+ XMLVM_ENTER_METHOD("java.util.Collections", "emptySet", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("Collections.java", 2501)
+ _r0.o = java_util_Collections_GET_EMPTY_SET();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_emptyMap__()
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_emptyMap__]
+ XMLVM_ENTER_METHOD("java.util.Collections", "emptyMap", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("Collections.java", 2513)
+ _r0.o = java_util_Collections_GET_EMPTY_MAP();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_checkedCollection___java_util_Collection_java_lang_Class(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_checkedCollection___java_util_Collection_java_lang_Class]
+ XMLVM_ENTER_METHOD("java.util.Collections", "checkedCollection", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("Collections.java", 2530)
+
+
+ // Red class access removed: java.util.Collections$CheckedCollection::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$CheckedCollection::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_checkedMap___java_util_Map_java_lang_Class_java_lang_Class(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_checkedMap___java_util_Map_java_lang_Class_java_lang_Class]
+ XMLVM_ENTER_METHOD("java.util.Collections", "checkedMap", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r6.o = n1;
+ _r7.o = n2;
+ _r8.o = n3;
+ _r4.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("Collections.java", 2549)
+
+
+ // Red class access removed: java.util.Collections$CheckedMap::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1 = _r6;
+ _r2 = _r7;
+ _r3 = _r8;
+ _r5 = _r4;
+
+
+ // Red class access removed: java.util.Collections$CheckedMap::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_checkedList___java_util_List_java_lang_Class(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_checkedList___java_util_List_java_lang_Class]
+ XMLVM_ENTER_METHOD("java.util.Collections", "checkedList", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("Collections.java", 2565)
+ XMLVM_CLASS_INIT(java_util_RandomAccess)
+ _r0.i = XMLVM_ISA(_r1.o, __CLASS_java_util_RandomAccess);
+ if (_r0.i == 0) goto label10;
+ XMLVM_SOURCE_POSITION("Collections.java", 2566)
+
+
+ // Red class access removed: java.util.Collections$CheckedRandomAccessList::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$CheckedRandomAccessList::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ label9:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2568)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label10:;
+
+
+ // Red class access removed: java.util.Collections$CheckedList::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$CheckedList::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_checkedSet___java_util_Set_java_lang_Class(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_checkedSet___java_util_Set_java_lang_Class]
+ XMLVM_ENTER_METHOD("java.util.Collections", "checkedSet", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("Collections.java", 2584)
+
+
+ // Red class access removed: java.util.Collections$CheckedSet::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$CheckedSet::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_checkedSortedMap___java_util_SortedMap_java_lang_Class_java_lang_Class(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_checkedSortedMap___java_util_SortedMap_java_lang_Class_java_lang_Class]
+ XMLVM_ENTER_METHOD("java.util.Collections", "checkedSortedMap", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = n1;
+ _r2.o = n2;
+ _r3.o = n3;
+ XMLVM_SOURCE_POSITION("Collections.java", 2603)
+
+
+ // Red class access removed: java.util.Collections$CheckedSortedMap::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$CheckedSortedMap::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_checkedSortedSet___java_util_SortedSet_java_lang_Class(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_checkedSortedSet___java_util_SortedSet_java_lang_Class]
+ XMLVM_ENTER_METHOD("java.util.Collections", "checkedSortedSet", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("Collections.java", 2620)
+
+
+ // Red class access removed: java.util.Collections$CheckedSortedSet::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$CheckedSortedSet::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_Collections_addAll___java_util_Collection_java_lang_Object_1ARRAY(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_addAll___java_util_Collection_java_lang_Object_1ARRAY]
+ XMLVM_ENTER_METHOD("java.util.Collections", "addAll", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = n1;
+ _r4.o = n2;
+ _r0.i = 0;
+ XMLVM_SOURCE_POSITION("Collections.java", 2642)
+ _r1 = _r0;
+ label2:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2643)
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
+ if (_r0.i < _r2.i) goto label6;
+ XMLVM_SOURCE_POSITION("Collections.java", 2646)
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ label6:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2644)
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r0.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_CHECK_NPE(3)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_add___java_lang_Object])(_r3.o, _r2.o);
+ _r1.i = _r1.i | _r2.i;
+ _r0.i = _r0.i + 1;
+ goto label2;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_Collections_disjoint___java_util_Collection_java_util_Collection(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_disjoint___java_util_Collection_java_util_Collection]
+ XMLVM_ENTER_METHOD("java.util.Collections", "disjoint", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = n1;
+ _r4.o = n2;
+ XMLVM_SOURCE_POSITION("Collections.java", 2662)
+ XMLVM_CLASS_INIT(java_util_Set)
+ _r0.i = XMLVM_ISA(_r3.o, __CLASS_java_util_Set);
+ if (_r0.i == 0) goto label8;
+ XMLVM_CLASS_INIT(java_util_Set)
+ _r0.i = XMLVM_ISA(_r4.o, __CLASS_java_util_Set);
+ if (_r0.i == 0) goto label18;
+ label8:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2663)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_size__])(_r4.o);
+ XMLVM_CHECK_NPE(3)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_size__])(_r3.o);
+ if (_r0.i <= _r1.i) goto label44;
+ label18:;
+ _r0 = _r3;
+ _r1 = _r4;
+ label20:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2666)
+ XMLVM_SOURCE_POSITION("Collections.java", 2668)
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_iterator__])(_r1.o);
+ label24:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2669)
+ XMLVM_CHECK_NPE(1)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r1.o);
+ if (_r2.i != 0) goto label32;
+ XMLVM_SOURCE_POSITION("Collections.java", 2674)
+ _r0.i = 1;
+ label31:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label32:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2670)
+ XMLVM_CHECK_NPE(1)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r1.o);
+ XMLVM_CHECK_NPE(0)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_contains___java_lang_Object])(_r0.o, _r2.o);
+ if (_r2.i == 0) goto label24;
+ XMLVM_SOURCE_POSITION("Collections.java", 2671)
+ _r0.i = 0;
+ goto label31;
+ label44:;
+ _r0 = _r4;
+ _r1 = _r3;
+ goto label20;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_checkType___java_lang_Object_java_lang_Class(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_checkType___java_lang_Object_java_lang_Class]
+ XMLVM_ENTER_METHOD("java.util.Collections", "checkType", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = n1;
+ _r4.o = n2;
+ XMLVM_SOURCE_POSITION("Collections.java", 2688)
+ if (_r3.o == JAVA_NULL) goto label24;
+ XMLVM_CHECK_NPE(4)
+ _r0.i = java_lang_Class_isInstance___java_lang_Object(_r4.o, _r3.o);
+ if (_r0.i != 0) goto label24;
+ XMLVM_SOURCE_POSITION("Collections.java", 2691)
+
+
+ // Red class access removed: java.lang.ClassCastException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Collections.java", 2692)
+ // "luni.05"
+ _r1.o = xmlvm_create_java_string_from_pool(811);
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(3)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r3.o)->tib->vtable[3])(_r3.o);
+ _r1.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_java_lang_Object(_r1.o, _r2.o, _r4.o);
+
+
+ // Red class access removed: java.lang.ClassCastException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label24:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2694)
+ XMLVM_EXIT_METHOD()
+ return _r3.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_newSetFromMap___java_util_Map(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_newSetFromMap___java_util_Map]
+ XMLVM_ENTER_METHOD("java.util.Collections", "newSetFromMap", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 2711)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_isEmpty__])(_r1.o);
+ if (_r0.i == 0) goto label12;
+ XMLVM_SOURCE_POSITION("Collections.java", 2712)
+
+
+ // Red class access removed: java.util.Collections$SetFromMap::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$SetFromMap::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label12:;
+ XMLVM_SOURCE_POSITION("Collections.java", 2714)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_asLifoQueue___java_util_Deque(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Collections)
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_asLifoQueue___java_util_Deque]
+ XMLVM_ENTER_METHOD("java.util.Collections", "asLifoQueue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 2729)
+
+
+ // Red class access removed: java.util.Collections$AsLIFOQueue::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$AsLIFOQueue::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_Collections.h b/tests/nbody-java/java_util_Collections.h
new file mode 100644
index 00000000..d3ea99d1
--- /dev/null
+++ b/tests/nbody-java/java_util_Collections.h
@@ -0,0 +1,195 @@
+#ifndef __JAVA_UTIL_COLLECTIONS__
+#define __JAVA_UTIL_COLLECTIONS__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_Collections 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Comparable
+#define XMLVM_FORWARD_DECL_java_lang_Comparable
+XMLVM_FORWARD_DECL(java_lang_Comparable)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+#define XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+XMLVM_FORWARD_DECL(java_lang_IndexOutOfBoundsException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_ArrayList
+#define XMLVM_FORWARD_DECL_java_util_ArrayList
+XMLVM_FORWARD_DECL(java_util_ArrayList)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Collection
+#define XMLVM_FORWARD_DECL_java_util_Collection
+XMLVM_FORWARD_DECL(java_util_Collection)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Collections_EmptyList
+#define XMLVM_FORWARD_DECL_java_util_Collections_EmptyList
+XMLVM_FORWARD_DECL(java_util_Collections_EmptyList)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Collections_EmptyMap
+#define XMLVM_FORWARD_DECL_java_util_Collections_EmptyMap
+XMLVM_FORWARD_DECL(java_util_Collections_EmptyMap)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Collections_EmptySet
+#define XMLVM_FORWARD_DECL_java_util_Collections_EmptySet
+XMLVM_FORWARD_DECL(java_util_Collections_EmptySet)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Collections_SynchronizedMap
+#define XMLVM_FORWARD_DECL_java_util_Collections_SynchronizedMap
+XMLVM_FORWARD_DECL(java_util_Collections_SynchronizedMap)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Comparator
+#define XMLVM_FORWARD_DECL_java_util_Comparator
+XMLVM_FORWARD_DECL(java_util_Comparator)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Deque
+#define XMLVM_FORWARD_DECL_java_util_Deque
+XMLVM_FORWARD_DECL(java_util_Deque)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Enumeration
+#define XMLVM_FORWARD_DECL_java_util_Enumeration
+XMLVM_FORWARD_DECL(java_util_Enumeration)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Iterator
+#define XMLVM_FORWARD_DECL_java_util_Iterator
+XMLVM_FORWARD_DECL(java_util_Iterator)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_List
+#define XMLVM_FORWARD_DECL_java_util_List
+XMLVM_FORWARD_DECL(java_util_List)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Map
+#define XMLVM_FORWARD_DECL_java_util_Map
+XMLVM_FORWARD_DECL(java_util_Map)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Queue
+#define XMLVM_FORWARD_DECL_java_util_Queue
+XMLVM_FORWARD_DECL(java_util_Queue)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_RandomAccess
+#define XMLVM_FORWARD_DECL_java_util_RandomAccess
+XMLVM_FORWARD_DECL(java_util_RandomAccess)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Set
+#define XMLVM_FORWARD_DECL_java_util_Set
+XMLVM_FORWARD_DECL(java_util_Set)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_internal_nls_Messages)
+#endif
+// Class declarations for java.util.Collections
+XMLVM_DEFINE_CLASS(java_util_Collections, 6, XMLVM_ITABLE_SIZE_java_util_Collections)
+
+extern JAVA_OBJECT __CLASS_java_util_Collections;
+extern JAVA_OBJECT __CLASS_java_util_Collections_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Collections_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Collections_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_Collections
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_Collections \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_Collections \
+ } java_util_Collections
+
+struct java_util_Collections {
+ __TIB_DEFINITION_java_util_Collections* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_Collections;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_Collections
+#define XMLVM_FORWARD_DECL_java_util_Collections
+typedef struct java_util_Collections java_util_Collections;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_Collections 6
+
+void __INIT_java_util_Collections();
+void __INIT_IMPL_java_util_Collections();
+void __DELETE_java_util_Collections(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_Collections(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_Collections();
+JAVA_OBJECT __NEW_INSTANCE_java_util_Collections();
+JAVA_OBJECT java_util_Collections_GET_EMPTY_LIST();
+void java_util_Collections_PUT_EMPTY_LIST(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Collections_GET_EMPTY_SET();
+void java_util_Collections_PUT_EMPTY_SET(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Collections_GET_EMPTY_MAP();
+void java_util_Collections_PUT_EMPTY_MAP(JAVA_OBJECT v);
+void java_util_Collections___CLINIT_();
+void java_util_Collections___INIT___(JAVA_OBJECT me);
+JAVA_INT java_util_Collections_binarySearch___java_util_List_java_lang_Object(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_INT java_util_Collections_binarySearch___java_util_List_java_lang_Object_java_util_Comparator(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3);
+void java_util_Collections_copy___java_util_List_java_util_List(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_util_Collections_enumeration___java_util_Collection(JAVA_OBJECT n1);
+void java_util_Collections_fill___java_util_List_java_lang_Object(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_util_Collections_max___java_util_Collection(JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Collections_max___java_util_Collection_java_util_Comparator(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_util_Collections_min___java_util_Collection(JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Collections_min___java_util_Collection_java_util_Comparator(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_util_Collections_nCopies___int_java_lang_Object(JAVA_INT n1, JAVA_OBJECT n2);
+void java_util_Collections_reverse___java_util_List(JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Collections_reverseOrder__();
+JAVA_OBJECT java_util_Collections_reverseOrder___java_util_Comparator(JAVA_OBJECT n1);
+void java_util_Collections_shuffle___java_util_List(JAVA_OBJECT n1);
+void java_util_Collections_shuffle___java_util_List_java_util_Random(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_util_Collections_singleton___java_lang_Object(JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Collections_singletonList___java_lang_Object(JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Collections_singletonMap___java_lang_Object_java_lang_Object(JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_util_Collections_sort___java_util_List(JAVA_OBJECT n1);
+void java_util_Collections_sort___java_util_List_java_util_Comparator(JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_util_Collections_swap___java_util_List_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+JAVA_BOOLEAN java_util_Collections_replaceAll___java_util_List_java_lang_Object_java_lang_Object(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3);
+void java_util_Collections_rotate___java_util_List_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_INT java_util_Collections_indexOfSubList___java_util_List_java_util_List(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_INT java_util_Collections_lastIndexOfSubList___java_util_List_java_util_List(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_util_Collections_list___java_util_Enumeration(JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Collections_synchronizedCollection___java_util_Collection(JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Collections_synchronizedList___java_util_List(JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Collections_synchronizedMap___java_util_Map(JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Collections_synchronizedSet___java_util_Set(JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Collections_synchronizedSortedMap___java_util_SortedMap(JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Collections_synchronizedSortedSet___java_util_SortedSet(JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Collections_unmodifiableCollection___java_util_Collection(JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Collections_unmodifiableList___java_util_List(JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Collections_unmodifiableMap___java_util_Map(JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Collections_unmodifiableSet___java_util_Set(JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Collections_unmodifiableSortedMap___java_util_SortedMap(JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Collections_unmodifiableSortedSet___java_util_SortedSet(JAVA_OBJECT n1);
+JAVA_INT java_util_Collections_frequency___java_util_Collection_java_lang_Object(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_util_Collections_emptyList__();
+JAVA_OBJECT java_util_Collections_emptySet__();
+JAVA_OBJECT java_util_Collections_emptyMap__();
+JAVA_OBJECT java_util_Collections_checkedCollection___java_util_Collection_java_lang_Class(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_util_Collections_checkedMap___java_util_Map_java_lang_Class_java_lang_Class(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3);
+JAVA_OBJECT java_util_Collections_checkedList___java_util_List_java_lang_Class(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_util_Collections_checkedSet___java_util_Set_java_lang_Class(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_util_Collections_checkedSortedMap___java_util_SortedMap_java_lang_Class_java_lang_Class(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3);
+JAVA_OBJECT java_util_Collections_checkedSortedSet___java_util_SortedSet_java_lang_Class(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_BOOLEAN java_util_Collections_addAll___java_util_Collection_java_lang_Object_1ARRAY(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_BOOLEAN java_util_Collections_disjoint___java_util_Collection_java_util_Collection(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_util_Collections_checkType___java_lang_Object_java_lang_Class(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_util_Collections_newSetFromMap___java_util_Map(JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Collections_asLifoQueue___java_util_Deque(JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_util_Collections_EmptyList.c b/tests/nbody-java/java_util_Collections_EmptyList.c
new file mode 100644
index 00000000..b149fea7
--- /dev/null
+++ b/tests/nbody-java/java_util_Collections_EmptyList.c
@@ -0,0 +1,317 @@
+#include "xmlvm.h"
+#include "java_lang_IndexOutOfBoundsException.h"
+#include "java_lang_Object.h"
+#include "java_util_Collections.h"
+#include "java_util_List.h"
+
+#include "java_util_Collections_EmptyList.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Collections_EmptyList
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_Collections_EmptyList
+
+__TIB_DEFINITION_java_util_Collections_EmptyList __TIB_java_util_Collections_EmptyList = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_Collections_EmptyList, // classInitializer
+ "java.util.Collections$EmptyList", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_AbstractList, // extends
+ sizeof(java_util_Collections_EmptyList), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_Collections_EmptyList;
+JAVA_OBJECT __CLASS_java_util_Collections_EmptyList_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_Collections_EmptyList_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_Collections_EmptyList_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_util_Collections_EmptyList_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_Collections_EmptyList()
+{
+ staticInitializerLock(&__TIB_java_util_Collections_EmptyList);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_Collections_EmptyList.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_Collections_EmptyList.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_Collections_EmptyList);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_Collections_EmptyList.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_Collections_EmptyList.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_Collections_EmptyList.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.Collections$EmptyList")
+ __INIT_IMPL_java_util_Collections_EmptyList();
+ }
+}
+
+void __INIT_IMPL_java_util_Collections_EmptyList()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_util_AbstractList)
+ __TIB_java_util_Collections_EmptyList.newInstanceFunc = __NEW_INSTANCE_java_util_Collections_EmptyList;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_Collections_EmptyList.vtable, __TIB_java_util_AbstractList.vtable, sizeof(__TIB_java_util_AbstractList.vtable));
+ // Initialize vtable for this class
+ __TIB_java_util_Collections_EmptyList.vtable[10] = (VTABLE_PTR) &java_util_Collections_EmptyList_contains___java_lang_Object;
+ __TIB_java_util_Collections_EmptyList.vtable[16] = (VTABLE_PTR) &java_util_Collections_EmptyList_size__;
+ __TIB_java_util_Collections_EmptyList.vtable[21] = (VTABLE_PTR) &java_util_Collections_EmptyList_get___int;
+ // Initialize interface information
+ __TIB_java_util_Collections_EmptyList.numImplementedInterfaces = 5;
+ __TIB_java_util_Collections_EmptyList.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 5);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_util_Collections_EmptyList.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_lang_Iterable)
+
+ __TIB_java_util_Collections_EmptyList.implementedInterfaces[0][1] = &__TIB_java_lang_Iterable;
+
+ XMLVM_CLASS_INIT(java_util_Collection)
+
+ __TIB_java_util_Collections_EmptyList.implementedInterfaces[0][2] = &__TIB_java_util_Collection;
+
+ XMLVM_CLASS_INIT(java_util_List)
+
+ __TIB_java_util_Collections_EmptyList.implementedInterfaces[0][3] = &__TIB_java_util_List;
+
+ XMLVM_CLASS_INIT(java_util_RandomAccess)
+
+ __TIB_java_util_Collections_EmptyList.implementedInterfaces[0][4] = &__TIB_java_util_RandomAccess;
+ // Initialize itable for this class
+ __TIB_java_util_Collections_EmptyList.itableBegin = &__TIB_java_util_Collections_EmptyList.itable[0];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_lang_Iterable_iterator__] = __TIB_java_util_Collections_EmptyList.vtable[12];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_Collection_addAll___java_util_Collection] = __TIB_java_util_Collections_EmptyList.vtable[6];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_Collection_add___java_lang_Object] = __TIB_java_util_Collections_EmptyList.vtable[7];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_Collection_clear__] = __TIB_java_util_Collections_EmptyList.vtable[8];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_Collection_containsAll___java_util_Collection] = __TIB_java_util_Collections_EmptyList.vtable[9];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_Collection_contains___java_lang_Object] = __TIB_java_util_Collections_EmptyList.vtable[10];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_Collection_equals___java_lang_Object] = __TIB_java_util_Collections_EmptyList.vtable[1];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_Collection_hashCode__] = __TIB_java_util_Collections_EmptyList.vtable[4];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_Collection_isEmpty__] = __TIB_java_util_Collections_EmptyList.vtable[11];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_Collection_iterator__] = __TIB_java_util_Collections_EmptyList.vtable[12];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_Collection_removeAll___java_util_Collection] = __TIB_java_util_Collections_EmptyList.vtable[13];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_Collection_remove___java_lang_Object] = __TIB_java_util_Collections_EmptyList.vtable[14];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_Collection_retainAll___java_util_Collection] = __TIB_java_util_Collections_EmptyList.vtable[15];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_Collection_size__] = __TIB_java_util_Collections_EmptyList.vtable[16];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_Collection_toArray__] = __TIB_java_util_Collections_EmptyList.vtable[17];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_Collection_toArray___java_lang_Object_1ARRAY] = __TIB_java_util_Collections_EmptyList.vtable[18];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_addAll___int_java_util_Collection] = __TIB_java_util_Collections_EmptyList.vtable[19];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_addAll___java_util_Collection] = __TIB_java_util_Collections_EmptyList.vtable[6];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_add___int_java_lang_Object] = __TIB_java_util_Collections_EmptyList.vtable[20];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_add___java_lang_Object] = __TIB_java_util_Collections_EmptyList.vtable[7];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_clear__] = __TIB_java_util_Collections_EmptyList.vtable[8];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_containsAll___java_util_Collection] = __TIB_java_util_Collections_EmptyList.vtable[9];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_contains___java_lang_Object] = __TIB_java_util_Collections_EmptyList.vtable[10];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_equals___java_lang_Object] = __TIB_java_util_Collections_EmptyList.vtable[1];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_get___int] = __TIB_java_util_Collections_EmptyList.vtable[21];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_hashCode__] = __TIB_java_util_Collections_EmptyList.vtable[4];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_indexOf___java_lang_Object] = __TIB_java_util_Collections_EmptyList.vtable[22];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_isEmpty__] = __TIB_java_util_Collections_EmptyList.vtable[11];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_iterator__] = __TIB_java_util_Collections_EmptyList.vtable[12];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_lastIndexOf___java_lang_Object] = __TIB_java_util_Collections_EmptyList.vtable[23];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_listIterator__] = __TIB_java_util_Collections_EmptyList.vtable[24];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_listIterator___int] = __TIB_java_util_Collections_EmptyList.vtable[25];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_removeAll___java_util_Collection] = __TIB_java_util_Collections_EmptyList.vtable[13];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_remove___int] = __TIB_java_util_Collections_EmptyList.vtable[27];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_remove___java_lang_Object] = __TIB_java_util_Collections_EmptyList.vtable[14];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_retainAll___java_util_Collection] = __TIB_java_util_Collections_EmptyList.vtable[15];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_set___int_java_lang_Object] = __TIB_java_util_Collections_EmptyList.vtable[28];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_size__] = __TIB_java_util_Collections_EmptyList.vtable[16];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_subList___int_int] = __TIB_java_util_Collections_EmptyList.vtable[29];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_toArray__] = __TIB_java_util_Collections_EmptyList.vtable[17];
+ __TIB_java_util_Collections_EmptyList.itable[XMLVM_ITABLE_IDX_java_util_List_toArray___java_lang_Object_1ARRAY] = __TIB_java_util_Collections_EmptyList.vtable[18];
+
+ _STATIC_java_util_Collections_EmptyList_serialVersionUID = 8842843931221139166;
+
+ __TIB_java_util_Collections_EmptyList.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_Collections_EmptyList.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_Collections_EmptyList.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_Collections_EmptyList.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_Collections_EmptyList.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_Collections_EmptyList.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_Collections_EmptyList.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_Collections_EmptyList.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_Collections_EmptyList = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_Collections_EmptyList);
+ __TIB_java_util_Collections_EmptyList.clazz = __CLASS_java_util_Collections_EmptyList;
+ __TIB_java_util_Collections_EmptyList.baseType = JAVA_NULL;
+ __CLASS_java_util_Collections_EmptyList_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Collections_EmptyList);
+ __CLASS_java_util_Collections_EmptyList_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Collections_EmptyList_1ARRAY);
+ __CLASS_java_util_Collections_EmptyList_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Collections_EmptyList_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_Collections_EmptyList]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_Collections_EmptyList.classInitialized = 1;
+}
+
+void __DELETE_java_util_Collections_EmptyList(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_Collections_EmptyList]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_Collections_EmptyList(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_util_AbstractList(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_Collections_EmptyList]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_Collections_EmptyList()
+{ XMLVM_CLASS_INIT(java_util_Collections_EmptyList)
+java_util_Collections_EmptyList* me = (java_util_Collections_EmptyList*) XMLVM_MALLOC(sizeof(java_util_Collections_EmptyList));
+ me->tib = &__TIB_java_util_Collections_EmptyList;
+ __INIT_INSTANCE_MEMBERS_java_util_Collections_EmptyList(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_Collections_EmptyList]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_Collections_EmptyList()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_util_Collections_EmptyList_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_util_Collections_EmptyList)
+ return _STATIC_java_util_Collections_EmptyList_serialVersionUID;
+}
+
+void java_util_Collections_EmptyList_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_util_Collections_EmptyList)
+_STATIC_java_util_Collections_EmptyList_serialVersionUID = v;
+}
+
+void java_util_Collections_EmptyList___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_EmptyList___INIT___]
+ XMLVM_ENTER_METHOD("java.util.Collections$EmptyList", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Collections.java", 74)
+ XMLVM_CHECK_NPE(0)
+ java_util_AbstractList___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_Collections_EmptyList_contains___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_EmptyList_contains___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Collections$EmptyList", "contains", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 80)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_Collections_EmptyList_size__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_EmptyList_size__]
+ XMLVM_ENTER_METHOD("java.util.Collections$EmptyList", "size", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Collections.java", 85)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_EmptyList_get___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_EmptyList_get___int]
+ XMLVM_ENTER_METHOD("java.util.Collections$EmptyList", "get", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 90)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_EmptyList_readResolve__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_EmptyList_readResolve__]
+ XMLVM_ENTER_METHOD("java.util.Collections$EmptyList", "readResolve", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Collections.java", 94)
+ _r0.o = java_util_Collections_GET_EMPTY_LIST();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Collections_EmptyList___INIT____java_util_Collections_EmptyList(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_EmptyList___INIT____java_util_Collections_EmptyList]
+ XMLVM_ENTER_METHOD("java.util.Collections$EmptyList", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 74)
+ XMLVM_CHECK_NPE(0)
+ java_util_Collections_EmptyList___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_Collections_EmptyList.h b/tests/nbody-java/java_util_Collections_EmptyList.h
new file mode 100644
index 00000000..cbcb5f54
--- /dev/null
+++ b/tests/nbody-java/java_util_Collections_EmptyList.h
@@ -0,0 +1,82 @@
+#ifndef __JAVA_UTIL_COLLECTIONS_EMPTYLIST__
+#define __JAVA_UTIL_COLLECTIONS_EMPTYLIST__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_Collections_EmptyList 78
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+#include "java_util_RandomAccess.h"
+// Super Class:
+#include "java_util_AbstractList.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+#define XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+XMLVM_FORWARD_DECL(java_lang_IndexOutOfBoundsException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Collections
+#define XMLVM_FORWARD_DECL_java_util_Collections
+XMLVM_FORWARD_DECL(java_util_Collections)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_List
+#define XMLVM_FORWARD_DECL_java_util_List
+XMLVM_FORWARD_DECL(java_util_List)
+#endif
+// Class declarations for java.util.Collections$EmptyList
+XMLVM_DEFINE_CLASS(java_util_Collections_EmptyList, 30, XMLVM_ITABLE_SIZE_java_util_Collections_EmptyList)
+
+extern JAVA_OBJECT __CLASS_java_util_Collections_EmptyList;
+extern JAVA_OBJECT __CLASS_java_util_Collections_EmptyList_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Collections_EmptyList_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Collections_EmptyList_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_Collections_EmptyList
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_Collections_EmptyList \
+ __INSTANCE_FIELDS_java_util_AbstractList; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_Collections_EmptyList \
+ } java_util_Collections_EmptyList
+
+struct java_util_Collections_EmptyList {
+ __TIB_DEFINITION_java_util_Collections_EmptyList* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_Collections_EmptyList;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_Collections_EmptyList
+#define XMLVM_FORWARD_DECL_java_util_Collections_EmptyList
+typedef struct java_util_Collections_EmptyList java_util_Collections_EmptyList;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_Collections_EmptyList 30
+#define XMLVM_VTABLE_IDX_java_util_Collections_EmptyList_contains___java_lang_Object 10
+#define XMLVM_VTABLE_IDX_java_util_Collections_EmptyList_size__ 16
+#define XMLVM_VTABLE_IDX_java_util_Collections_EmptyList_get___int 21
+
+void __INIT_java_util_Collections_EmptyList();
+void __INIT_IMPL_java_util_Collections_EmptyList();
+void __DELETE_java_util_Collections_EmptyList(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_Collections_EmptyList(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_Collections_EmptyList();
+JAVA_OBJECT __NEW_INSTANCE_java_util_Collections_EmptyList();
+JAVA_LONG java_util_Collections_EmptyList_GET_serialVersionUID();
+void java_util_Collections_EmptyList_PUT_serialVersionUID(JAVA_LONG v);
+void java_util_Collections_EmptyList___INIT___(JAVA_OBJECT me);
+// Vtable index: 10
+JAVA_BOOLEAN java_util_Collections_EmptyList_contains___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 16
+JAVA_INT java_util_Collections_EmptyList_size__(JAVA_OBJECT me);
+// Vtable index: 21
+JAVA_OBJECT java_util_Collections_EmptyList_get___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_OBJECT java_util_Collections_EmptyList_readResolve__(JAVA_OBJECT me);
+void java_util_Collections_EmptyList___INIT____java_util_Collections_EmptyList(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_util_Collections_EmptyMap.c b/tests/nbody-java/java_util_Collections_EmptyMap.c
new file mode 100644
index 00000000..70fb0249
--- /dev/null
+++ b/tests/nbody-java/java_util_Collections_EmptyMap.c
@@ -0,0 +1,326 @@
+#include "xmlvm.h"
+#include "java_lang_Object.h"
+#include "java_util_Collection.h"
+#include "java_util_Collections.h"
+#include "java_util_List.h"
+#include "java_util_Map.h"
+#include "java_util_Set.h"
+
+#include "java_util_Collections_EmptyMap.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Collections_EmptyMap
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_Collections_EmptyMap
+
+__TIB_DEFINITION_java_util_Collections_EmptyMap __TIB_java_util_Collections_EmptyMap = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_Collections_EmptyMap, // classInitializer
+ "java.util.Collections$EmptyMap", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_AbstractMap, // extends
+ sizeof(java_util_Collections_EmptyMap), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_Collections_EmptyMap;
+JAVA_OBJECT __CLASS_java_util_Collections_EmptyMap_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_Collections_EmptyMap_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_Collections_EmptyMap_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_util_Collections_EmptyMap_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_Collections_EmptyMap()
+{
+ staticInitializerLock(&__TIB_java_util_Collections_EmptyMap);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_Collections_EmptyMap.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_Collections_EmptyMap.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_Collections_EmptyMap);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_Collections_EmptyMap.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_Collections_EmptyMap.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_Collections_EmptyMap.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.Collections$EmptyMap")
+ __INIT_IMPL_java_util_Collections_EmptyMap();
+ }
+}
+
+void __INIT_IMPL_java_util_Collections_EmptyMap()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_util_AbstractMap)
+ __TIB_java_util_Collections_EmptyMap.newInstanceFunc = __NEW_INSTANCE_java_util_Collections_EmptyMap;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_Collections_EmptyMap.vtable, __TIB_java_util_AbstractMap.vtable, sizeof(__TIB_java_util_AbstractMap.vtable));
+ // Initialize vtable for this class
+ __TIB_java_util_Collections_EmptyMap.vtable[7] = (VTABLE_PTR) &java_util_Collections_EmptyMap_containsKey___java_lang_Object;
+ __TIB_java_util_Collections_EmptyMap.vtable[8] = (VTABLE_PTR) &java_util_Collections_EmptyMap_containsValue___java_lang_Object;
+ __TIB_java_util_Collections_EmptyMap.vtable[9] = (VTABLE_PTR) &java_util_Collections_EmptyMap_entrySet__;
+ __TIB_java_util_Collections_EmptyMap.vtable[10] = (VTABLE_PTR) &java_util_Collections_EmptyMap_get___java_lang_Object;
+ __TIB_java_util_Collections_EmptyMap.vtable[12] = (VTABLE_PTR) &java_util_Collections_EmptyMap_keySet__;
+ __TIB_java_util_Collections_EmptyMap.vtable[17] = (VTABLE_PTR) &java_util_Collections_EmptyMap_values__;
+ // Initialize interface information
+ __TIB_java_util_Collections_EmptyMap.numImplementedInterfaces = 2;
+ __TIB_java_util_Collections_EmptyMap.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_util_Collections_EmptyMap.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_util_Map)
+
+ __TIB_java_util_Collections_EmptyMap.implementedInterfaces[0][1] = &__TIB_java_util_Map;
+ // Initialize itable for this class
+ __TIB_java_util_Collections_EmptyMap.itableBegin = &__TIB_java_util_Collections_EmptyMap.itable[0];
+ __TIB_java_util_Collections_EmptyMap.itable[XMLVM_ITABLE_IDX_java_util_Map_clear__] = __TIB_java_util_Collections_EmptyMap.vtable[6];
+ __TIB_java_util_Collections_EmptyMap.itable[XMLVM_ITABLE_IDX_java_util_Map_containsKey___java_lang_Object] = __TIB_java_util_Collections_EmptyMap.vtable[7];
+ __TIB_java_util_Collections_EmptyMap.itable[XMLVM_ITABLE_IDX_java_util_Map_containsValue___java_lang_Object] = __TIB_java_util_Collections_EmptyMap.vtable[8];
+ __TIB_java_util_Collections_EmptyMap.itable[XMLVM_ITABLE_IDX_java_util_Map_entrySet__] = __TIB_java_util_Collections_EmptyMap.vtable[9];
+ __TIB_java_util_Collections_EmptyMap.itable[XMLVM_ITABLE_IDX_java_util_Map_equals___java_lang_Object] = __TIB_java_util_Collections_EmptyMap.vtable[1];
+ __TIB_java_util_Collections_EmptyMap.itable[XMLVM_ITABLE_IDX_java_util_Map_get___java_lang_Object] = __TIB_java_util_Collections_EmptyMap.vtable[10];
+ __TIB_java_util_Collections_EmptyMap.itable[XMLVM_ITABLE_IDX_java_util_Map_hashCode__] = __TIB_java_util_Collections_EmptyMap.vtable[4];
+ __TIB_java_util_Collections_EmptyMap.itable[XMLVM_ITABLE_IDX_java_util_Map_isEmpty__] = __TIB_java_util_Collections_EmptyMap.vtable[11];
+ __TIB_java_util_Collections_EmptyMap.itable[XMLVM_ITABLE_IDX_java_util_Map_keySet__] = __TIB_java_util_Collections_EmptyMap.vtable[12];
+ __TIB_java_util_Collections_EmptyMap.itable[XMLVM_ITABLE_IDX_java_util_Map_putAll___java_util_Map] = __TIB_java_util_Collections_EmptyMap.vtable[13];
+ __TIB_java_util_Collections_EmptyMap.itable[XMLVM_ITABLE_IDX_java_util_Map_put___java_lang_Object_java_lang_Object] = __TIB_java_util_Collections_EmptyMap.vtable[14];
+ __TIB_java_util_Collections_EmptyMap.itable[XMLVM_ITABLE_IDX_java_util_Map_remove___java_lang_Object] = __TIB_java_util_Collections_EmptyMap.vtable[15];
+ __TIB_java_util_Collections_EmptyMap.itable[XMLVM_ITABLE_IDX_java_util_Map_size__] = __TIB_java_util_Collections_EmptyMap.vtable[16];
+ __TIB_java_util_Collections_EmptyMap.itable[XMLVM_ITABLE_IDX_java_util_Map_values__] = __TIB_java_util_Collections_EmptyMap.vtable[17];
+
+ _STATIC_java_util_Collections_EmptyMap_serialVersionUID = 6428348081105594320;
+
+ __TIB_java_util_Collections_EmptyMap.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_Collections_EmptyMap.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_Collections_EmptyMap.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_Collections_EmptyMap.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_Collections_EmptyMap.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_Collections_EmptyMap.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_Collections_EmptyMap.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_Collections_EmptyMap.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_Collections_EmptyMap = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_Collections_EmptyMap);
+ __TIB_java_util_Collections_EmptyMap.clazz = __CLASS_java_util_Collections_EmptyMap;
+ __TIB_java_util_Collections_EmptyMap.baseType = JAVA_NULL;
+ __CLASS_java_util_Collections_EmptyMap_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Collections_EmptyMap);
+ __CLASS_java_util_Collections_EmptyMap_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Collections_EmptyMap_1ARRAY);
+ __CLASS_java_util_Collections_EmptyMap_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Collections_EmptyMap_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_Collections_EmptyMap]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_Collections_EmptyMap.classInitialized = 1;
+}
+
+void __DELETE_java_util_Collections_EmptyMap(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_Collections_EmptyMap]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_Collections_EmptyMap(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_util_AbstractMap(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_Collections_EmptyMap]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_Collections_EmptyMap()
+{ XMLVM_CLASS_INIT(java_util_Collections_EmptyMap)
+java_util_Collections_EmptyMap* me = (java_util_Collections_EmptyMap*) XMLVM_MALLOC(sizeof(java_util_Collections_EmptyMap));
+ me->tib = &__TIB_java_util_Collections_EmptyMap;
+ __INIT_INSTANCE_MEMBERS_java_util_Collections_EmptyMap(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_Collections_EmptyMap]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_Collections_EmptyMap()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_util_Collections_EmptyMap_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_util_Collections_EmptyMap)
+ return _STATIC_java_util_Collections_EmptyMap_serialVersionUID;
+}
+
+void java_util_Collections_EmptyMap_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_util_Collections_EmptyMap)
+_STATIC_java_util_Collections_EmptyMap_serialVersionUID = v;
+}
+
+void java_util_Collections_EmptyMap___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_EmptyMap___INIT___]
+ XMLVM_ENTER_METHOD("java.util.Collections$EmptyMap", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Collections.java", 136)
+ XMLVM_CHECK_NPE(0)
+ java_util_AbstractMap___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_Collections_EmptyMap_containsKey___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_EmptyMap_containsKey___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Collections$EmptyMap", "containsKey", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 142)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_Collections_EmptyMap_containsValue___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_EmptyMap_containsValue___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Collections$EmptyMap", "containsValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 147)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_EmptyMap_entrySet__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_EmptyMap_entrySet__]
+ XMLVM_ENTER_METHOD("java.util.Collections$EmptyMap", "entrySet", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Collections.java", 152)
+ _r0.o = java_util_Collections_GET_EMPTY_SET();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_EmptyMap_get___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_EmptyMap_get___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Collections$EmptyMap", "get", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 157)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_EmptyMap_keySet__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_EmptyMap_keySet__]
+ XMLVM_ENTER_METHOD("java.util.Collections$EmptyMap", "keySet", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Collections.java", 162)
+ _r0.o = java_util_Collections_GET_EMPTY_SET();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_EmptyMap_values__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_EmptyMap_values__]
+ XMLVM_ENTER_METHOD("java.util.Collections$EmptyMap", "values", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Collections.java", 167)
+ _r0.o = java_util_Collections_GET_EMPTY_LIST();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_EmptyMap_readResolve__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_EmptyMap_readResolve__]
+ XMLVM_ENTER_METHOD("java.util.Collections$EmptyMap", "readResolve", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Collections.java", 171)
+ _r0.o = java_util_Collections_GET_EMPTY_MAP();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Collections_EmptyMap___INIT____java_util_Collections_EmptyMap(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_EmptyMap___INIT____java_util_Collections_EmptyMap]
+ XMLVM_ENTER_METHOD("java.util.Collections$EmptyMap", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 136)
+ XMLVM_CHECK_NPE(0)
+ java_util_Collections_EmptyMap___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_Collections_EmptyMap.h b/tests/nbody-java/java_util_Collections_EmptyMap.h
new file mode 100644
index 00000000..30a85eb7
--- /dev/null
+++ b/tests/nbody-java/java_util_Collections_EmptyMap.h
@@ -0,0 +1,98 @@
+#ifndef __JAVA_UTIL_COLLECTIONS_EMPTYMAP__
+#define __JAVA_UTIL_COLLECTIONS_EMPTYMAP__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_Collections_EmptyMap 14
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+// Super Class:
+#include "java_util_AbstractMap.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Collection
+#define XMLVM_FORWARD_DECL_java_util_Collection
+XMLVM_FORWARD_DECL(java_util_Collection)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Collections
+#define XMLVM_FORWARD_DECL_java_util_Collections
+XMLVM_FORWARD_DECL(java_util_Collections)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_List
+#define XMLVM_FORWARD_DECL_java_util_List
+XMLVM_FORWARD_DECL(java_util_List)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Map
+#define XMLVM_FORWARD_DECL_java_util_Map
+XMLVM_FORWARD_DECL(java_util_Map)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Set
+#define XMLVM_FORWARD_DECL_java_util_Set
+XMLVM_FORWARD_DECL(java_util_Set)
+#endif
+// Class declarations for java.util.Collections$EmptyMap
+XMLVM_DEFINE_CLASS(java_util_Collections_EmptyMap, 18, XMLVM_ITABLE_SIZE_java_util_Collections_EmptyMap)
+
+extern JAVA_OBJECT __CLASS_java_util_Collections_EmptyMap;
+extern JAVA_OBJECT __CLASS_java_util_Collections_EmptyMap_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Collections_EmptyMap_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Collections_EmptyMap_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_Collections_EmptyMap
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_Collections_EmptyMap \
+ __INSTANCE_FIELDS_java_util_AbstractMap; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_Collections_EmptyMap \
+ } java_util_Collections_EmptyMap
+
+struct java_util_Collections_EmptyMap {
+ __TIB_DEFINITION_java_util_Collections_EmptyMap* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_Collections_EmptyMap;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_Collections_EmptyMap
+#define XMLVM_FORWARD_DECL_java_util_Collections_EmptyMap
+typedef struct java_util_Collections_EmptyMap java_util_Collections_EmptyMap;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_Collections_EmptyMap 18
+#define XMLVM_VTABLE_IDX_java_util_Collections_EmptyMap_containsKey___java_lang_Object 7
+#define XMLVM_VTABLE_IDX_java_util_Collections_EmptyMap_containsValue___java_lang_Object 8
+#define XMLVM_VTABLE_IDX_java_util_Collections_EmptyMap_entrySet__ 9
+#define XMLVM_VTABLE_IDX_java_util_Collections_EmptyMap_get___java_lang_Object 10
+#define XMLVM_VTABLE_IDX_java_util_Collections_EmptyMap_keySet__ 12
+#define XMLVM_VTABLE_IDX_java_util_Collections_EmptyMap_values__ 17
+
+void __INIT_java_util_Collections_EmptyMap();
+void __INIT_IMPL_java_util_Collections_EmptyMap();
+void __DELETE_java_util_Collections_EmptyMap(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_Collections_EmptyMap(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_Collections_EmptyMap();
+JAVA_OBJECT __NEW_INSTANCE_java_util_Collections_EmptyMap();
+JAVA_LONG java_util_Collections_EmptyMap_GET_serialVersionUID();
+void java_util_Collections_EmptyMap_PUT_serialVersionUID(JAVA_LONG v);
+void java_util_Collections_EmptyMap___INIT___(JAVA_OBJECT me);
+// Vtable index: 7
+JAVA_BOOLEAN java_util_Collections_EmptyMap_containsKey___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 8
+JAVA_BOOLEAN java_util_Collections_EmptyMap_containsValue___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 9
+JAVA_OBJECT java_util_Collections_EmptyMap_entrySet__(JAVA_OBJECT me);
+// Vtable index: 10
+JAVA_OBJECT java_util_Collections_EmptyMap_get___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 12
+JAVA_OBJECT java_util_Collections_EmptyMap_keySet__(JAVA_OBJECT me);
+// Vtable index: 17
+JAVA_OBJECT java_util_Collections_EmptyMap_values__(JAVA_OBJECT me);
+JAVA_OBJECT java_util_Collections_EmptyMap_readResolve__(JAVA_OBJECT me);
+void java_util_Collections_EmptyMap___INIT____java_util_Collections_EmptyMap(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_util_Collections_EmptySet.c b/tests/nbody-java/java_util_Collections_EmptySet.c
new file mode 100644
index 00000000..f1633ad1
--- /dev/null
+++ b/tests/nbody-java/java_util_Collections_EmptySet.c
@@ -0,0 +1,307 @@
+#include "xmlvm.h"
+#include "java_lang_Object.h"
+#include "java_util_Collections.h"
+#include "java_util_Iterator.h"
+#include "java_util_Set.h"
+
+#include "java_util_Collections_EmptySet.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Collections_EmptySet
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_Collections_EmptySet
+
+__TIB_DEFINITION_java_util_Collections_EmptySet __TIB_java_util_Collections_EmptySet = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_Collections_EmptySet, // classInitializer
+ "java.util.Collections$EmptySet", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_AbstractSet, // extends
+ sizeof(java_util_Collections_EmptySet), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_Collections_EmptySet;
+JAVA_OBJECT __CLASS_java_util_Collections_EmptySet_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_Collections_EmptySet_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_Collections_EmptySet_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_util_Collections_EmptySet_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_Collections_EmptySet()
+{
+ staticInitializerLock(&__TIB_java_util_Collections_EmptySet);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_Collections_EmptySet.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_Collections_EmptySet.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_Collections_EmptySet);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_Collections_EmptySet.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_Collections_EmptySet.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_Collections_EmptySet.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.Collections$EmptySet")
+ __INIT_IMPL_java_util_Collections_EmptySet();
+ }
+}
+
+void __INIT_IMPL_java_util_Collections_EmptySet()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_util_AbstractSet)
+ __TIB_java_util_Collections_EmptySet.newInstanceFunc = __NEW_INSTANCE_java_util_Collections_EmptySet;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_Collections_EmptySet.vtable, __TIB_java_util_AbstractSet.vtable, sizeof(__TIB_java_util_AbstractSet.vtable));
+ // Initialize vtable for this class
+ __TIB_java_util_Collections_EmptySet.vtable[10] = (VTABLE_PTR) &java_util_Collections_EmptySet_contains___java_lang_Object;
+ __TIB_java_util_Collections_EmptySet.vtable[16] = (VTABLE_PTR) &java_util_Collections_EmptySet_size__;
+ __TIB_java_util_Collections_EmptySet.vtable[12] = (VTABLE_PTR) &java_util_Collections_EmptySet_iterator__;
+ // Initialize interface information
+ __TIB_java_util_Collections_EmptySet.numImplementedInterfaces = 4;
+ __TIB_java_util_Collections_EmptySet.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 4);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_util_Collections_EmptySet.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_lang_Iterable)
+
+ __TIB_java_util_Collections_EmptySet.implementedInterfaces[0][1] = &__TIB_java_lang_Iterable;
+
+ XMLVM_CLASS_INIT(java_util_Collection)
+
+ __TIB_java_util_Collections_EmptySet.implementedInterfaces[0][2] = &__TIB_java_util_Collection;
+
+ XMLVM_CLASS_INIT(java_util_Set)
+
+ __TIB_java_util_Collections_EmptySet.implementedInterfaces[0][3] = &__TIB_java_util_Set;
+ // Initialize itable for this class
+ __TIB_java_util_Collections_EmptySet.itableBegin = &__TIB_java_util_Collections_EmptySet.itable[0];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_lang_Iterable_iterator__] = __TIB_java_util_Collections_EmptySet.vtable[12];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Collection_addAll___java_util_Collection] = __TIB_java_util_Collections_EmptySet.vtable[6];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Collection_add___java_lang_Object] = __TIB_java_util_Collections_EmptySet.vtable[7];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Collection_clear__] = __TIB_java_util_Collections_EmptySet.vtable[8];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Collection_containsAll___java_util_Collection] = __TIB_java_util_Collections_EmptySet.vtable[9];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Collection_contains___java_lang_Object] = __TIB_java_util_Collections_EmptySet.vtable[10];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Collection_equals___java_lang_Object] = __TIB_java_util_Collections_EmptySet.vtable[1];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Collection_hashCode__] = __TIB_java_util_Collections_EmptySet.vtable[4];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Collection_isEmpty__] = __TIB_java_util_Collections_EmptySet.vtable[11];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Collection_iterator__] = __TIB_java_util_Collections_EmptySet.vtable[12];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Collection_removeAll___java_util_Collection] = __TIB_java_util_Collections_EmptySet.vtable[13];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Collection_remove___java_lang_Object] = __TIB_java_util_Collections_EmptySet.vtable[14];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Collection_retainAll___java_util_Collection] = __TIB_java_util_Collections_EmptySet.vtable[15];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Collection_size__] = __TIB_java_util_Collections_EmptySet.vtable[16];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Collection_toArray__] = __TIB_java_util_Collections_EmptySet.vtable[17];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Collection_toArray___java_lang_Object_1ARRAY] = __TIB_java_util_Collections_EmptySet.vtable[18];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Set_addAll___java_util_Collection] = __TIB_java_util_Collections_EmptySet.vtable[6];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Set_add___java_lang_Object] = __TIB_java_util_Collections_EmptySet.vtable[7];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Set_clear__] = __TIB_java_util_Collections_EmptySet.vtable[8];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Set_containsAll___java_util_Collection] = __TIB_java_util_Collections_EmptySet.vtable[9];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Set_contains___java_lang_Object] = __TIB_java_util_Collections_EmptySet.vtable[10];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Set_equals___java_lang_Object] = __TIB_java_util_Collections_EmptySet.vtable[1];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Set_hashCode__] = __TIB_java_util_Collections_EmptySet.vtable[4];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Set_isEmpty__] = __TIB_java_util_Collections_EmptySet.vtable[11];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Set_iterator__] = __TIB_java_util_Collections_EmptySet.vtable[12];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Set_removeAll___java_util_Collection] = __TIB_java_util_Collections_EmptySet.vtable[13];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Set_remove___java_lang_Object] = __TIB_java_util_Collections_EmptySet.vtable[14];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Set_retainAll___java_util_Collection] = __TIB_java_util_Collections_EmptySet.vtable[15];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Set_size__] = __TIB_java_util_Collections_EmptySet.vtable[16];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Set_toArray__] = __TIB_java_util_Collections_EmptySet.vtable[17];
+ __TIB_java_util_Collections_EmptySet.itable[XMLVM_ITABLE_IDX_java_util_Set_toArray___java_lang_Object_1ARRAY] = __TIB_java_util_Collections_EmptySet.vtable[18];
+
+ _STATIC_java_util_Collections_EmptySet_serialVersionUID = 1582296315990362920;
+
+ __TIB_java_util_Collections_EmptySet.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_Collections_EmptySet.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_Collections_EmptySet.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_Collections_EmptySet.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_Collections_EmptySet.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_Collections_EmptySet.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_Collections_EmptySet.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_Collections_EmptySet.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_Collections_EmptySet = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_Collections_EmptySet);
+ __TIB_java_util_Collections_EmptySet.clazz = __CLASS_java_util_Collections_EmptySet;
+ __TIB_java_util_Collections_EmptySet.baseType = JAVA_NULL;
+ __CLASS_java_util_Collections_EmptySet_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Collections_EmptySet);
+ __CLASS_java_util_Collections_EmptySet_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Collections_EmptySet_1ARRAY);
+ __CLASS_java_util_Collections_EmptySet_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Collections_EmptySet_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_Collections_EmptySet]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_Collections_EmptySet.classInitialized = 1;
+}
+
+void __DELETE_java_util_Collections_EmptySet(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_Collections_EmptySet]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_Collections_EmptySet(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_util_AbstractSet(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_Collections_EmptySet]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_Collections_EmptySet()
+{ XMLVM_CLASS_INIT(java_util_Collections_EmptySet)
+java_util_Collections_EmptySet* me = (java_util_Collections_EmptySet*) XMLVM_MALLOC(sizeof(java_util_Collections_EmptySet));
+ me->tib = &__TIB_java_util_Collections_EmptySet;
+ __INIT_INSTANCE_MEMBERS_java_util_Collections_EmptySet(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_Collections_EmptySet]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_Collections_EmptySet()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_util_Collections_EmptySet_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_util_Collections_EmptySet)
+ return _STATIC_java_util_Collections_EmptySet_serialVersionUID;
+}
+
+void java_util_Collections_EmptySet_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_util_Collections_EmptySet)
+_STATIC_java_util_Collections_EmptySet_serialVersionUID = v;
+}
+
+void java_util_Collections_EmptySet___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_EmptySet___INIT___]
+ XMLVM_ENTER_METHOD("java.util.Collections$EmptySet", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Collections.java", 99)
+ XMLVM_CHECK_NPE(0)
+ java_util_AbstractSet___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_Collections_EmptySet_contains___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_EmptySet_contains___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Collections$EmptySet", "contains", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 105)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_Collections_EmptySet_size__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_EmptySet_size__]
+ XMLVM_ENTER_METHOD("java.util.Collections$EmptySet", "size", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Collections.java", 110)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_EmptySet_iterator__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_EmptySet_iterator__]
+ XMLVM_ENTER_METHOD("java.util.Collections$EmptySet", "iterator", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Collections.java", 115)
+
+
+ // Red class access removed: java.util.Collections$EmptySet$1::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$EmptySet$1::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_EmptySet_readResolve__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_EmptySet_readResolve__]
+ XMLVM_ENTER_METHOD("java.util.Collections$EmptySet", "readResolve", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Collections.java", 131)
+ _r0.o = java_util_Collections_GET_EMPTY_SET();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Collections_EmptySet___INIT____java_util_Collections_EmptySet(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_EmptySet___INIT____java_util_Collections_EmptySet]
+ XMLVM_ENTER_METHOD("java.util.Collections$EmptySet", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 99)
+ XMLVM_CHECK_NPE(0)
+ java_util_Collections_EmptySet___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_Collections_EmptySet.h b/tests/nbody-java/java_util_Collections_EmptySet.h
new file mode 100644
index 00000000..d7f25d60
--- /dev/null
+++ b/tests/nbody-java/java_util_Collections_EmptySet.h
@@ -0,0 +1,81 @@
+#ifndef __JAVA_UTIL_COLLECTIONS_EMPTYSET__
+#define __JAVA_UTIL_COLLECTIONS_EMPTYSET__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_Collections_EmptySet 31
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+// Super Class:
+#include "java_util_AbstractSet.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Collections
+#define XMLVM_FORWARD_DECL_java_util_Collections
+XMLVM_FORWARD_DECL(java_util_Collections)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Iterator
+#define XMLVM_FORWARD_DECL_java_util_Iterator
+XMLVM_FORWARD_DECL(java_util_Iterator)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Set
+#define XMLVM_FORWARD_DECL_java_util_Set
+XMLVM_FORWARD_DECL(java_util_Set)
+#endif
+// Class declarations for java.util.Collections$EmptySet
+XMLVM_DEFINE_CLASS(java_util_Collections_EmptySet, 19, XMLVM_ITABLE_SIZE_java_util_Collections_EmptySet)
+
+extern JAVA_OBJECT __CLASS_java_util_Collections_EmptySet;
+extern JAVA_OBJECT __CLASS_java_util_Collections_EmptySet_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Collections_EmptySet_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Collections_EmptySet_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_Collections_EmptySet
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_Collections_EmptySet \
+ __INSTANCE_FIELDS_java_util_AbstractSet; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_Collections_EmptySet \
+ } java_util_Collections_EmptySet
+
+struct java_util_Collections_EmptySet {
+ __TIB_DEFINITION_java_util_Collections_EmptySet* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_Collections_EmptySet;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_Collections_EmptySet
+#define XMLVM_FORWARD_DECL_java_util_Collections_EmptySet
+typedef struct java_util_Collections_EmptySet java_util_Collections_EmptySet;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_Collections_EmptySet 19
+#define XMLVM_VTABLE_IDX_java_util_Collections_EmptySet_contains___java_lang_Object 10
+#define XMLVM_VTABLE_IDX_java_util_Collections_EmptySet_size__ 16
+#define XMLVM_VTABLE_IDX_java_util_Collections_EmptySet_iterator__ 12
+
+void __INIT_java_util_Collections_EmptySet();
+void __INIT_IMPL_java_util_Collections_EmptySet();
+void __DELETE_java_util_Collections_EmptySet(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_Collections_EmptySet(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_Collections_EmptySet();
+JAVA_OBJECT __NEW_INSTANCE_java_util_Collections_EmptySet();
+JAVA_LONG java_util_Collections_EmptySet_GET_serialVersionUID();
+void java_util_Collections_EmptySet_PUT_serialVersionUID(JAVA_LONG v);
+void java_util_Collections_EmptySet___INIT___(JAVA_OBJECT me);
+// Vtable index: 10
+JAVA_BOOLEAN java_util_Collections_EmptySet_contains___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 16
+JAVA_INT java_util_Collections_EmptySet_size__(JAVA_OBJECT me);
+// Vtable index: 12
+JAVA_OBJECT java_util_Collections_EmptySet_iterator__(JAVA_OBJECT me);
+JAVA_OBJECT java_util_Collections_EmptySet_readResolve__(JAVA_OBJECT me);
+void java_util_Collections_EmptySet___INIT____java_util_Collections_EmptySet(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_util_Collections_SynchronizedMap.c b/tests/nbody-java/java_util_Collections_SynchronizedMap.c
new file mode 100644
index 00000000..3aeeede6
--- /dev/null
+++ b/tests/nbody-java/java_util_Collections_SynchronizedMap.c
@@ -0,0 +1,1027 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_String.h"
+#include "java_util_Collection.h"
+#include "java_util_Set.h"
+
+#include "java_util_Collections_SynchronizedMap.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Collections_SynchronizedMap
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_Collections_SynchronizedMap
+
+__TIB_DEFINITION_java_util_Collections_SynchronizedMap __TIB_java_util_Collections_SynchronizedMap = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_Collections_SynchronizedMap, // classInitializer
+ "java.util.Collections$SynchronizedMap", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Map<TK;TV;>;Ljava/io/Serializable;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_util_Collections_SynchronizedMap), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_Collections_SynchronizedMap;
+JAVA_OBJECT __CLASS_java_util_Collections_SynchronizedMap_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_Collections_SynchronizedMap_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_Collections_SynchronizedMap_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_util_Collections_SynchronizedMap_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_Collections_SynchronizedMap()
+{
+ staticInitializerLock(&__TIB_java_util_Collections_SynchronizedMap);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_Collections_SynchronizedMap.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_Collections_SynchronizedMap.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_Collections_SynchronizedMap);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_Collections_SynchronizedMap.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_Collections_SynchronizedMap.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_Collections_SynchronizedMap.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.Collections$SynchronizedMap")
+ __INIT_IMPL_java_util_Collections_SynchronizedMap();
+ }
+}
+
+void __INIT_IMPL_java_util_Collections_SynchronizedMap()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_util_Collections_SynchronizedMap.newInstanceFunc = __NEW_INSTANCE_java_util_Collections_SynchronizedMap;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_Collections_SynchronizedMap.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_util_Collections_SynchronizedMap.vtable[6] = (VTABLE_PTR) &java_util_Collections_SynchronizedMap_clear__;
+ __TIB_java_util_Collections_SynchronizedMap.vtable[7] = (VTABLE_PTR) &java_util_Collections_SynchronizedMap_containsKey___java_lang_Object;
+ __TIB_java_util_Collections_SynchronizedMap.vtable[8] = (VTABLE_PTR) &java_util_Collections_SynchronizedMap_containsValue___java_lang_Object;
+ __TIB_java_util_Collections_SynchronizedMap.vtable[9] = (VTABLE_PTR) &java_util_Collections_SynchronizedMap_entrySet__;
+ __TIB_java_util_Collections_SynchronizedMap.vtable[1] = (VTABLE_PTR) &java_util_Collections_SynchronizedMap_equals___java_lang_Object;
+ __TIB_java_util_Collections_SynchronizedMap.vtable[10] = (VTABLE_PTR) &java_util_Collections_SynchronizedMap_get___java_lang_Object;
+ __TIB_java_util_Collections_SynchronizedMap.vtable[4] = (VTABLE_PTR) &java_util_Collections_SynchronizedMap_hashCode__;
+ __TIB_java_util_Collections_SynchronizedMap.vtable[11] = (VTABLE_PTR) &java_util_Collections_SynchronizedMap_isEmpty__;
+ __TIB_java_util_Collections_SynchronizedMap.vtable[12] = (VTABLE_PTR) &java_util_Collections_SynchronizedMap_keySet__;
+ __TIB_java_util_Collections_SynchronizedMap.vtable[14] = (VTABLE_PTR) &java_util_Collections_SynchronizedMap_put___java_lang_Object_java_lang_Object;
+ __TIB_java_util_Collections_SynchronizedMap.vtable[13] = (VTABLE_PTR) &java_util_Collections_SynchronizedMap_putAll___java_util_Map;
+ __TIB_java_util_Collections_SynchronizedMap.vtable[15] = (VTABLE_PTR) &java_util_Collections_SynchronizedMap_remove___java_lang_Object;
+ __TIB_java_util_Collections_SynchronizedMap.vtable[16] = (VTABLE_PTR) &java_util_Collections_SynchronizedMap_size__;
+ __TIB_java_util_Collections_SynchronizedMap.vtable[17] = (VTABLE_PTR) &java_util_Collections_SynchronizedMap_values__;
+ __TIB_java_util_Collections_SynchronizedMap.vtable[5] = (VTABLE_PTR) &java_util_Collections_SynchronizedMap_toString__;
+ // Initialize interface information
+ __TIB_java_util_Collections_SynchronizedMap.numImplementedInterfaces = 2;
+ __TIB_java_util_Collections_SynchronizedMap.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_util_Collections_SynchronizedMap.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_util_Map)
+
+ __TIB_java_util_Collections_SynchronizedMap.implementedInterfaces[0][1] = &__TIB_java_util_Map;
+ // Initialize itable for this class
+ __TIB_java_util_Collections_SynchronizedMap.itableBegin = &__TIB_java_util_Collections_SynchronizedMap.itable[0];
+ __TIB_java_util_Collections_SynchronizedMap.itable[XMLVM_ITABLE_IDX_java_util_Map_clear__] = __TIB_java_util_Collections_SynchronizedMap.vtable[6];
+ __TIB_java_util_Collections_SynchronizedMap.itable[XMLVM_ITABLE_IDX_java_util_Map_containsKey___java_lang_Object] = __TIB_java_util_Collections_SynchronizedMap.vtable[7];
+ __TIB_java_util_Collections_SynchronizedMap.itable[XMLVM_ITABLE_IDX_java_util_Map_containsValue___java_lang_Object] = __TIB_java_util_Collections_SynchronizedMap.vtable[8];
+ __TIB_java_util_Collections_SynchronizedMap.itable[XMLVM_ITABLE_IDX_java_util_Map_entrySet__] = __TIB_java_util_Collections_SynchronizedMap.vtable[9];
+ __TIB_java_util_Collections_SynchronizedMap.itable[XMLVM_ITABLE_IDX_java_util_Map_equals___java_lang_Object] = __TIB_java_util_Collections_SynchronizedMap.vtable[1];
+ __TIB_java_util_Collections_SynchronizedMap.itable[XMLVM_ITABLE_IDX_java_util_Map_get___java_lang_Object] = __TIB_java_util_Collections_SynchronizedMap.vtable[10];
+ __TIB_java_util_Collections_SynchronizedMap.itable[XMLVM_ITABLE_IDX_java_util_Map_hashCode__] = __TIB_java_util_Collections_SynchronizedMap.vtable[4];
+ __TIB_java_util_Collections_SynchronizedMap.itable[XMLVM_ITABLE_IDX_java_util_Map_isEmpty__] = __TIB_java_util_Collections_SynchronizedMap.vtable[11];
+ __TIB_java_util_Collections_SynchronizedMap.itable[XMLVM_ITABLE_IDX_java_util_Map_keySet__] = __TIB_java_util_Collections_SynchronizedMap.vtable[12];
+ __TIB_java_util_Collections_SynchronizedMap.itable[XMLVM_ITABLE_IDX_java_util_Map_putAll___java_util_Map] = __TIB_java_util_Collections_SynchronizedMap.vtable[13];
+ __TIB_java_util_Collections_SynchronizedMap.itable[XMLVM_ITABLE_IDX_java_util_Map_put___java_lang_Object_java_lang_Object] = __TIB_java_util_Collections_SynchronizedMap.vtable[14];
+ __TIB_java_util_Collections_SynchronizedMap.itable[XMLVM_ITABLE_IDX_java_util_Map_remove___java_lang_Object] = __TIB_java_util_Collections_SynchronizedMap.vtable[15];
+ __TIB_java_util_Collections_SynchronizedMap.itable[XMLVM_ITABLE_IDX_java_util_Map_size__] = __TIB_java_util_Collections_SynchronizedMap.vtable[16];
+ __TIB_java_util_Collections_SynchronizedMap.itable[XMLVM_ITABLE_IDX_java_util_Map_values__] = __TIB_java_util_Collections_SynchronizedMap.vtable[17];
+
+ _STATIC_java_util_Collections_SynchronizedMap_serialVersionUID = 1978198479659022715;
+
+ __TIB_java_util_Collections_SynchronizedMap.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_Collections_SynchronizedMap.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_Collections_SynchronizedMap.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_Collections_SynchronizedMap.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_Collections_SynchronizedMap.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_Collections_SynchronizedMap.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_Collections_SynchronizedMap.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_Collections_SynchronizedMap.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_Collections_SynchronizedMap = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_Collections_SynchronizedMap);
+ __TIB_java_util_Collections_SynchronizedMap.clazz = __CLASS_java_util_Collections_SynchronizedMap;
+ __TIB_java_util_Collections_SynchronizedMap.baseType = JAVA_NULL;
+ __CLASS_java_util_Collections_SynchronizedMap_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Collections_SynchronizedMap);
+ __CLASS_java_util_Collections_SynchronizedMap_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Collections_SynchronizedMap_1ARRAY);
+ __CLASS_java_util_Collections_SynchronizedMap_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Collections_SynchronizedMap_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_Collections_SynchronizedMap]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_Collections_SynchronizedMap.classInitialized = 1;
+}
+
+void __DELETE_java_util_Collections_SynchronizedMap(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_Collections_SynchronizedMap]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_Collections_SynchronizedMap(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_util_Collections_SynchronizedMap*) me)->fields.java_util_Collections_SynchronizedMap.m_ = (java_util_Map*) JAVA_NULL;
+ ((java_util_Collections_SynchronizedMap*) me)->fields.java_util_Collections_SynchronizedMap.mutex_ = (java_lang_Object*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_Collections_SynchronizedMap]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_Collections_SynchronizedMap()
+{ XMLVM_CLASS_INIT(java_util_Collections_SynchronizedMap)
+java_util_Collections_SynchronizedMap* me = (java_util_Collections_SynchronizedMap*) XMLVM_MALLOC(sizeof(java_util_Collections_SynchronizedMap));
+ me->tib = &__TIB_java_util_Collections_SynchronizedMap;
+ __INIT_INSTANCE_MEMBERS_java_util_Collections_SynchronizedMap(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_Collections_SynchronizedMap]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_Collections_SynchronizedMap()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_util_Collections_SynchronizedMap_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_util_Collections_SynchronizedMap)
+ return _STATIC_java_util_Collections_SynchronizedMap_serialVersionUID;
+}
+
+void java_util_Collections_SynchronizedMap_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_util_Collections_SynchronizedMap)
+_STATIC_java_util_Collections_SynchronizedMap_serialVersionUID = v;
+}
+
+void java_util_Collections_SynchronizedMap___INIT____java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_SynchronizedMap___INIT____java_util_Map]
+ XMLVM_ENTER_METHOD("java.util.Collections$SynchronizedMap", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 709)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 710)
+ XMLVM_CHECK_NPE(0)
+ ((java_util_Collections_SynchronizedMap*) _r0.o)->fields.java_util_Collections_SynchronizedMap.m_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Collections.java", 711)
+ XMLVM_CHECK_NPE(0)
+ ((java_util_Collections_SynchronizedMap*) _r0.o)->fields.java_util_Collections_SynchronizedMap.mutex_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Collections.java", 712)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Collections_SynchronizedMap___INIT____java_util_Map_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_SynchronizedMap___INIT____java_util_Map_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Collections$SynchronizedMap", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("Collections.java", 714)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 715)
+ XMLVM_CHECK_NPE(0)
+ ((java_util_Collections_SynchronizedMap*) _r0.o)->fields.java_util_Collections_SynchronizedMap.m_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Collections.java", 716)
+ XMLVM_CHECK_NPE(0)
+ ((java_util_Collections_SynchronizedMap*) _r0.o)->fields.java_util_Collections_SynchronizedMap.mutex_ = _r2.o;
+ XMLVM_SOURCE_POSITION("Collections.java", 717)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Collections_SynchronizedMap_clear__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_SynchronizedMap_clear__]
+ XMLVM_ENTER_METHOD("java.util.Collections$SynchronizedMap", "clear", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Collections.java", 720)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.mutex_;
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_TRY_BEGIN(w4332aaab5b1b5)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Collections.java", 721)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.m_;
+ XMLVM_CHECK_NPE(1)
+ (*(void (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_clear__])(_r1.o);
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 723)
+ XMLVM_MEMCPY(curThread_w4332aaab5b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4332aaab5b1b5, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaab5b1b5)
+ XMLVM_CATCH_SPECIFIC(w4332aaab5b1b5,java_lang_Object,10)
+ XMLVM_CATCH_END(w4332aaab5b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaab5b1b5)
+ label10:;
+ XMLVM_TRY_BEGIN(w4332aaab5b1b7)
+ // Begin try
+ java_lang_Thread* curThread_w4332aaab5b1b7aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4332aaab5b1b7aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaab5b1b7)
+ XMLVM_CATCH_SPECIFIC(w4332aaab5b1b7,java_lang_Object,10)
+ XMLVM_CATCH_END(w4332aaab5b1b7)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaab5b1b7)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_Collections_SynchronizedMap_containsKey___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_SynchronizedMap_containsKey___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Collections$SynchronizedMap", "containsKey", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 726)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.mutex_;
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_TRY_BEGIN(w4332aaab6b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Collections.java", 727)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.m_;
+ XMLVM_CHECK_NPE(1)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_containsKey___java_lang_Object])(_r1.o, _r3.o);
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ XMLVM_MEMCPY(curThread_w4332aaab6b1b6->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4332aaab6b1b6, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaab6b1b6)
+ XMLVM_CATCH_SPECIFIC(w4332aaab6b1b6,java_lang_Object,11)
+ XMLVM_CATCH_END(w4332aaab6b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaab6b1b6)
+ label11:;
+ XMLVM_TRY_BEGIN(w4332aaab6b1b8)
+ // Begin try
+ java_lang_Thread* curThread_w4332aaab6b1b8aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4332aaab6b1b8aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaab6b1b8)
+ XMLVM_CATCH_SPECIFIC(w4332aaab6b1b8,java_lang_Object,11)
+ XMLVM_CATCH_END(w4332aaab6b1b8)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaab6b1b8)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_Collections_SynchronizedMap_containsValue___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_SynchronizedMap_containsValue___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Collections$SynchronizedMap", "containsValue", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 732)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.mutex_;
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_TRY_BEGIN(w4332aaab7b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Collections.java", 733)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.m_;
+ XMLVM_CHECK_NPE(1)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_containsValue___java_lang_Object])(_r1.o, _r3.o);
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ XMLVM_MEMCPY(curThread_w4332aaab7b1b6->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4332aaab7b1b6, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaab7b1b6)
+ XMLVM_CATCH_SPECIFIC(w4332aaab7b1b6,java_lang_Object,11)
+ XMLVM_CATCH_END(w4332aaab7b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaab7b1b6)
+ label11:;
+ XMLVM_TRY_BEGIN(w4332aaab7b1b8)
+ // Begin try
+ java_lang_Thread* curThread_w4332aaab7b1b8aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4332aaab7b1b8aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaab7b1b8)
+ XMLVM_CATCH_SPECIFIC(w4332aaab7b1b8,java_lang_Object,11)
+ XMLVM_CATCH_END(w4332aaab7b1b8)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaab7b1b8)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_SynchronizedMap_entrySet__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_SynchronizedMap_entrySet__]
+ XMLVM_ENTER_METHOD("java.util.Collections$SynchronizedMap", "entrySet", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ _r4.o = me;
+ XMLVM_SOURCE_POSITION("Collections.java", 738)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_util_Collections_SynchronizedMap*) _r4.o)->fields.java_util_Collections_SynchronizedMap.mutex_;
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_TRY_BEGIN(w4332aaab8b1b5)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Collections.java", 739)
+
+
+ // Red class access removed: java.util.Collections$SynchronizedSet::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_util_Collections_SynchronizedMap*) _r4.o)->fields.java_util_Collections_SynchronizedMap.m_;
+ XMLVM_CHECK_NPE(2)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_entrySet__])(_r2.o);
+ XMLVM_CHECK_NPE(4)
+ _r3.o = ((java_util_Collections_SynchronizedMap*) _r4.o)->fields.java_util_Collections_SynchronizedMap.mutex_;
+
+
+ // Red class access removed: java.util.Collections$SynchronizedSet::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ XMLVM_MEMCPY(curThread_w4332aaab8b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4332aaab8b1b5, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaab8b1b5)
+ XMLVM_CATCH_SPECIFIC(w4332aaab8b1b5,java_lang_Object,18)
+ XMLVM_CATCH_END(w4332aaab8b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaab8b1b5)
+ label18:;
+ XMLVM_TRY_BEGIN(w4332aaab8b1b7)
+ // Begin try
+ java_lang_Thread* curThread_w4332aaab8b1b7aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4332aaab8b1b7aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaab8b1b7)
+ XMLVM_CATCH_SPECIFIC(w4332aaab8b1b7,java_lang_Object,18)
+ XMLVM_CATCH_END(w4332aaab8b1b7)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaab8b1b7)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_Collections_SynchronizedMap_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_SynchronizedMap_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Collections$SynchronizedMap", "equals", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 745)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.mutex_;
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_TRY_BEGIN(w4332aaab9b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Collections.java", 746)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.m_;
+ XMLVM_CHECK_NPE(1)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_equals___java_lang_Object])(_r1.o, _r3.o);
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ XMLVM_MEMCPY(curThread_w4332aaab9b1b6->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4332aaab9b1b6, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaab9b1b6)
+ XMLVM_CATCH_SPECIFIC(w4332aaab9b1b6,java_lang_Object,11)
+ XMLVM_CATCH_END(w4332aaab9b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaab9b1b6)
+ label11:;
+ XMLVM_TRY_BEGIN(w4332aaab9b1b8)
+ // Begin try
+ java_lang_Thread* curThread_w4332aaab9b1b8aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4332aaab9b1b8aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaab9b1b8)
+ XMLVM_CATCH_SPECIFIC(w4332aaab9b1b8,java_lang_Object,11)
+ XMLVM_CATCH_END(w4332aaab9b1b8)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaab9b1b8)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_SynchronizedMap_get___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_SynchronizedMap_get___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Collections$SynchronizedMap", "get", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 751)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.mutex_;
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_TRY_BEGIN(w4332aaac10b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Collections.java", 752)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.m_;
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_get___java_lang_Object])(_r1.o, _r3.o);
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ XMLVM_MEMCPY(curThread_w4332aaac10b1b6->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4332aaac10b1b6, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaac10b1b6)
+ XMLVM_CATCH_SPECIFIC(w4332aaac10b1b6,java_lang_Object,11)
+ XMLVM_CATCH_END(w4332aaac10b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaac10b1b6)
+ label11:;
+ XMLVM_TRY_BEGIN(w4332aaac10b1b8)
+ // Begin try
+ java_lang_Thread* curThread_w4332aaac10b1b8aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4332aaac10b1b8aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaac10b1b8)
+ XMLVM_CATCH_SPECIFIC(w4332aaac10b1b8,java_lang_Object,11)
+ XMLVM_CATCH_END(w4332aaac10b1b8)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaac10b1b8)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_Collections_SynchronizedMap_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_SynchronizedMap_hashCode__]
+ XMLVM_ENTER_METHOD("java.util.Collections$SynchronizedMap", "hashCode", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Collections.java", 758)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.mutex_;
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_TRY_BEGIN(w4332aaac11b1b5)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Collections.java", 759)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.m_;
+ XMLVM_CHECK_NPE(1)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_hashCode__])(_r1.o);
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ XMLVM_MEMCPY(curThread_w4332aaac11b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4332aaac11b1b5, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaac11b1b5)
+ XMLVM_CATCH_SPECIFIC(w4332aaac11b1b5,java_lang_Object,11)
+ XMLVM_CATCH_END(w4332aaac11b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaac11b1b5)
+ label11:;
+ XMLVM_TRY_BEGIN(w4332aaac11b1b7)
+ // Begin try
+ java_lang_Thread* curThread_w4332aaac11b1b7aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4332aaac11b1b7aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaac11b1b7)
+ XMLVM_CATCH_SPECIFIC(w4332aaac11b1b7,java_lang_Object,11)
+ XMLVM_CATCH_END(w4332aaac11b1b7)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaac11b1b7)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_Collections_SynchronizedMap_isEmpty__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_SynchronizedMap_isEmpty__]
+ XMLVM_ENTER_METHOD("java.util.Collections$SynchronizedMap", "isEmpty", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Collections.java", 764)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.mutex_;
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_TRY_BEGIN(w4332aaac12b1b5)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Collections.java", 765)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.m_;
+ XMLVM_CHECK_NPE(1)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_isEmpty__])(_r1.o);
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ XMLVM_MEMCPY(curThread_w4332aaac12b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4332aaac12b1b5, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaac12b1b5)
+ XMLVM_CATCH_SPECIFIC(w4332aaac12b1b5,java_lang_Object,11)
+ XMLVM_CATCH_END(w4332aaac12b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaac12b1b5)
+ label11:;
+ XMLVM_TRY_BEGIN(w4332aaac12b1b7)
+ // Begin try
+ java_lang_Thread* curThread_w4332aaac12b1b7aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4332aaac12b1b7aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaac12b1b7)
+ XMLVM_CATCH_SPECIFIC(w4332aaac12b1b7,java_lang_Object,11)
+ XMLVM_CATCH_END(w4332aaac12b1b7)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaac12b1b7)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_SynchronizedMap_keySet__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_SynchronizedMap_keySet__]
+ XMLVM_ENTER_METHOD("java.util.Collections$SynchronizedMap", "keySet", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ _r4.o = me;
+ XMLVM_SOURCE_POSITION("Collections.java", 770)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_util_Collections_SynchronizedMap*) _r4.o)->fields.java_util_Collections_SynchronizedMap.mutex_;
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_TRY_BEGIN(w4332aaac13b1b5)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Collections.java", 771)
+
+
+ // Red class access removed: java.util.Collections$SynchronizedSet::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_util_Collections_SynchronizedMap*) _r4.o)->fields.java_util_Collections_SynchronizedMap.m_;
+ XMLVM_CHECK_NPE(2)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_keySet__])(_r2.o);
+ XMLVM_CHECK_NPE(4)
+ _r3.o = ((java_util_Collections_SynchronizedMap*) _r4.o)->fields.java_util_Collections_SynchronizedMap.mutex_;
+
+
+ // Red class access removed: java.util.Collections$SynchronizedSet::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ XMLVM_MEMCPY(curThread_w4332aaac13b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4332aaac13b1b5, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaac13b1b5)
+ XMLVM_CATCH_SPECIFIC(w4332aaac13b1b5,java_lang_Object,18)
+ XMLVM_CATCH_END(w4332aaac13b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaac13b1b5)
+ label18:;
+ XMLVM_TRY_BEGIN(w4332aaac13b1b7)
+ // Begin try
+ java_lang_Thread* curThread_w4332aaac13b1b7aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4332aaac13b1b7aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaac13b1b7)
+ XMLVM_CATCH_SPECIFIC(w4332aaac13b1b7,java_lang_Object,18)
+ XMLVM_CATCH_END(w4332aaac13b1b7)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaac13b1b7)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_SynchronizedMap_put___java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_SynchronizedMap_put___java_lang_Object_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Collections$SynchronizedMap", "put", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.o = n2;
+ XMLVM_SOURCE_POSITION("Collections.java", 776)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.mutex_;
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_TRY_BEGIN(w4332aaac14b1b7)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Collections.java", 777)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.m_;
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_put___java_lang_Object_java_lang_Object])(_r1.o, _r3.o, _r4.o);
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ XMLVM_MEMCPY(curThread_w4332aaac14b1b7->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4332aaac14b1b7, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaac14b1b7)
+ XMLVM_CATCH_SPECIFIC(w4332aaac14b1b7,java_lang_Object,11)
+ XMLVM_CATCH_END(w4332aaac14b1b7)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaac14b1b7)
+ label11:;
+ XMLVM_TRY_BEGIN(w4332aaac14b1b9)
+ // Begin try
+ java_lang_Thread* curThread_w4332aaac14b1b9aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4332aaac14b1b9aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaac14b1b9)
+ XMLVM_CATCH_SPECIFIC(w4332aaac14b1b9,java_lang_Object,11)
+ XMLVM_CATCH_END(w4332aaac14b1b9)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaac14b1b9)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Collections_SynchronizedMap_putAll___java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_SynchronizedMap_putAll___java_util_Map]
+ XMLVM_ENTER_METHOD("java.util.Collections$SynchronizedMap", "putAll", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 782)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.mutex_;
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_TRY_BEGIN(w4332aaac15b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Collections.java", 783)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.m_;
+ XMLVM_CHECK_NPE(1)
+ (*(void (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_putAll___java_util_Map])(_r1.o, _r3.o);
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 785)
+ XMLVM_MEMCPY(curThread_w4332aaac15b1b6->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4332aaac15b1b6, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaac15b1b6)
+ XMLVM_CATCH_SPECIFIC(w4332aaac15b1b6,java_lang_Object,10)
+ XMLVM_CATCH_END(w4332aaac15b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaac15b1b6)
+ label10:;
+ XMLVM_TRY_BEGIN(w4332aaac15b1b8)
+ // Begin try
+ java_lang_Thread* curThread_w4332aaac15b1b8aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4332aaac15b1b8aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaac15b1b8)
+ XMLVM_CATCH_SPECIFIC(w4332aaac15b1b8,java_lang_Object,10)
+ XMLVM_CATCH_END(w4332aaac15b1b8)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaac15b1b8)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_SynchronizedMap_remove___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_SynchronizedMap_remove___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Collections$SynchronizedMap", "remove", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 788)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.mutex_;
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_TRY_BEGIN(w4332aaac16b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Collections.java", 789)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.m_;
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_remove___java_lang_Object])(_r1.o, _r3.o);
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ XMLVM_MEMCPY(curThread_w4332aaac16b1b6->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4332aaac16b1b6, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaac16b1b6)
+ XMLVM_CATCH_SPECIFIC(w4332aaac16b1b6,java_lang_Object,11)
+ XMLVM_CATCH_END(w4332aaac16b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaac16b1b6)
+ label11:;
+ XMLVM_TRY_BEGIN(w4332aaac16b1b8)
+ // Begin try
+ java_lang_Thread* curThread_w4332aaac16b1b8aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4332aaac16b1b8aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaac16b1b8)
+ XMLVM_CATCH_SPECIFIC(w4332aaac16b1b8,java_lang_Object,11)
+ XMLVM_CATCH_END(w4332aaac16b1b8)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaac16b1b8)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_Collections_SynchronizedMap_size__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_SynchronizedMap_size__]
+ XMLVM_ENTER_METHOD("java.util.Collections$SynchronizedMap", "size", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Collections.java", 794)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.mutex_;
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_TRY_BEGIN(w4332aaac17b1b5)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Collections.java", 795)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.m_;
+ XMLVM_CHECK_NPE(1)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_size__])(_r1.o);
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ XMLVM_MEMCPY(curThread_w4332aaac17b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4332aaac17b1b5, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r1.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaac17b1b5)
+ XMLVM_CATCH_SPECIFIC(w4332aaac17b1b5,java_lang_Object,11)
+ XMLVM_CATCH_END(w4332aaac17b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaac17b1b5)
+ label11:;
+ XMLVM_TRY_BEGIN(w4332aaac17b1b7)
+ // Begin try
+ java_lang_Thread* curThread_w4332aaac17b1b7aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4332aaac17b1b7aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaac17b1b7)
+ XMLVM_CATCH_SPECIFIC(w4332aaac17b1b7,java_lang_Object,11)
+ XMLVM_CATCH_END(w4332aaac17b1b7)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaac17b1b7)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_SynchronizedMap_values__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_SynchronizedMap_values__]
+ XMLVM_ENTER_METHOD("java.util.Collections$SynchronizedMap", "values", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ _r4.o = me;
+ XMLVM_SOURCE_POSITION("Collections.java", 800)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_util_Collections_SynchronizedMap*) _r4.o)->fields.java_util_Collections_SynchronizedMap.mutex_;
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_TRY_BEGIN(w4332aaac18b1b5)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Collections.java", 801)
+
+
+ // Red class access removed: java.util.Collections$SynchronizedCollection::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_util_Collections_SynchronizedMap*) _r4.o)->fields.java_util_Collections_SynchronizedMap.m_;
+ XMLVM_CHECK_NPE(2)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_values__])(_r2.o);
+ XMLVM_CHECK_NPE(4)
+ _r3.o = ((java_util_Collections_SynchronizedMap*) _r4.o)->fields.java_util_Collections_SynchronizedMap.mutex_;
+
+
+ // Red class access removed: java.util.Collections$SynchronizedCollection::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ XMLVM_MEMCPY(curThread_w4332aaac18b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4332aaac18b1b5, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaac18b1b5)
+ XMLVM_CATCH_SPECIFIC(w4332aaac18b1b5,java_lang_Object,18)
+ XMLVM_CATCH_END(w4332aaac18b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaac18b1b5)
+ label18:;
+ XMLVM_TRY_BEGIN(w4332aaac18b1b7)
+ // Begin try
+ java_lang_Thread* curThread_w4332aaac18b1b7aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4332aaac18b1b7aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaac18b1b7)
+ XMLVM_CATCH_SPECIFIC(w4332aaac18b1b7,java_lang_Object,18)
+ XMLVM_CATCH_END(w4332aaac18b1b7)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaac18b1b7)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Collections_SynchronizedMap_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_SynchronizedMap_toString__]
+ XMLVM_ENTER_METHOD("java.util.Collections$SynchronizedMap", "toString", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Collections.java", 807)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.mutex_;
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_TRY_BEGIN(w4332aaac19b1b5)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Collections.java", 808)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.m_;
+ //java_lang_Object_toString__[5]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r1.o)->tib->vtable[5])(_r1.o);
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ XMLVM_MEMCPY(curThread_w4332aaac19b1b5->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4332aaac19b1b5, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaac19b1b5)
+ XMLVM_CATCH_SPECIFIC(w4332aaac19b1b5,java_lang_Object,11)
+ XMLVM_CATCH_END(w4332aaac19b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaac19b1b5)
+ label11:;
+ XMLVM_TRY_BEGIN(w4332aaac19b1b7)
+ // Begin try
+ java_lang_Thread* curThread_w4332aaac19b1b7aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4332aaac19b1b7aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaac19b1b7)
+ XMLVM_CATCH_SPECIFIC(w4332aaac19b1b7,java_lang_Object,11)
+ XMLVM_CATCH_END(w4332aaac19b1b7)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaac19b1b7)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Collections_SynchronizedMap_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Collections_SynchronizedMap_writeObject___java_io_ObjectOutputStream]
+ XMLVM_ENTER_METHOD("java.util.Collections$SynchronizedMap", "writeObject", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Collections.java", 813)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_Collections_SynchronizedMap*) _r2.o)->fields.java_util_Collections_SynchronizedMap.mutex_;
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_TRY_BEGIN(w4332aaac20b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Collections.java", 814)
+
+
+ // Red class access removed: java.io.ObjectOutputStream::defaultWriteObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ XMLVM_SOURCE_POSITION("Collections.java", 816)
+ XMLVM_MEMCPY(curThread_w4332aaac20b1b6->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4332aaac20b1b6, sizeof(XMLVM_JMP_BUF));
+ XMLVM_EXIT_METHOD()
+ return;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaac20b1b6)
+ XMLVM_CATCH_SPECIFIC(w4332aaac20b1b6,java_lang_Object,8)
+ XMLVM_CATCH_END(w4332aaac20b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaac20b1b6)
+ label8:;
+ XMLVM_TRY_BEGIN(w4332aaac20b1b8)
+ // Begin try
+ java_lang_Thread* curThread_w4332aaac20b1b8aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4332aaac20b1b8aa->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4332aaac20b1b8)
+ XMLVM_CATCH_SPECIFIC(w4332aaac20b1b8,java_lang_Object,8)
+ XMLVM_CATCH_END(w4332aaac20b1b8)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4332aaac20b1b8)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_Collections_SynchronizedMap.h b/tests/nbody-java/java_util_Collections_SynchronizedMap.h
new file mode 100644
index 00000000..602ca034
--- /dev/null
+++ b/tests/nbody-java/java_util_Collections_SynchronizedMap.h
@@ -0,0 +1,120 @@
+#ifndef __JAVA_UTIL_COLLECTIONS_SYNCHRONIZEDMAP__
+#define __JAVA_UTIL_COLLECTIONS_SYNCHRONIZEDMAP__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_Collections_SynchronizedMap 14
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+#include "java_util_Map.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Collection
+#define XMLVM_FORWARD_DECL_java_util_Collection
+XMLVM_FORWARD_DECL(java_util_Collection)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Set
+#define XMLVM_FORWARD_DECL_java_util_Set
+XMLVM_FORWARD_DECL(java_util_Set)
+#endif
+// Class declarations for java.util.Collections$SynchronizedMap
+XMLVM_DEFINE_CLASS(java_util_Collections_SynchronizedMap, 18, XMLVM_ITABLE_SIZE_java_util_Collections_SynchronizedMap)
+
+extern JAVA_OBJECT __CLASS_java_util_Collections_SynchronizedMap;
+extern JAVA_OBJECT __CLASS_java_util_Collections_SynchronizedMap_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Collections_SynchronizedMap_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Collections_SynchronizedMap_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_Collections_SynchronizedMap
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_Collections_SynchronizedMap \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT m_; \
+ JAVA_OBJECT mutex_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_Collections_SynchronizedMap \
+ } java_util_Collections_SynchronizedMap
+
+struct java_util_Collections_SynchronizedMap {
+ __TIB_DEFINITION_java_util_Collections_SynchronizedMap* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_Collections_SynchronizedMap;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_Collections_SynchronizedMap
+#define XMLVM_FORWARD_DECL_java_util_Collections_SynchronizedMap
+typedef struct java_util_Collections_SynchronizedMap java_util_Collections_SynchronizedMap;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_Collections_SynchronizedMap 18
+#define XMLVM_VTABLE_IDX_java_util_Collections_SynchronizedMap_clear__ 6
+#define XMLVM_VTABLE_IDX_java_util_Collections_SynchronizedMap_containsKey___java_lang_Object 7
+#define XMLVM_VTABLE_IDX_java_util_Collections_SynchronizedMap_containsValue___java_lang_Object 8
+#define XMLVM_VTABLE_IDX_java_util_Collections_SynchronizedMap_entrySet__ 9
+#define XMLVM_VTABLE_IDX_java_util_Collections_SynchronizedMap_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_util_Collections_SynchronizedMap_get___java_lang_Object 10
+#define XMLVM_VTABLE_IDX_java_util_Collections_SynchronizedMap_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_util_Collections_SynchronizedMap_isEmpty__ 11
+#define XMLVM_VTABLE_IDX_java_util_Collections_SynchronizedMap_keySet__ 12
+#define XMLVM_VTABLE_IDX_java_util_Collections_SynchronizedMap_put___java_lang_Object_java_lang_Object 14
+#define XMLVM_VTABLE_IDX_java_util_Collections_SynchronizedMap_putAll___java_util_Map 13
+#define XMLVM_VTABLE_IDX_java_util_Collections_SynchronizedMap_remove___java_lang_Object 15
+#define XMLVM_VTABLE_IDX_java_util_Collections_SynchronizedMap_size__ 16
+#define XMLVM_VTABLE_IDX_java_util_Collections_SynchronizedMap_values__ 17
+#define XMLVM_VTABLE_IDX_java_util_Collections_SynchronizedMap_toString__ 5
+
+void __INIT_java_util_Collections_SynchronizedMap();
+void __INIT_IMPL_java_util_Collections_SynchronizedMap();
+void __DELETE_java_util_Collections_SynchronizedMap(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_Collections_SynchronizedMap(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_Collections_SynchronizedMap();
+JAVA_OBJECT __NEW_INSTANCE_java_util_Collections_SynchronizedMap();
+JAVA_LONG java_util_Collections_SynchronizedMap_GET_serialVersionUID();
+void java_util_Collections_SynchronizedMap_PUT_serialVersionUID(JAVA_LONG v);
+void java_util_Collections_SynchronizedMap___INIT____java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_Collections_SynchronizedMap___INIT____java_util_Map_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+// Vtable index: 6
+void java_util_Collections_SynchronizedMap_clear__(JAVA_OBJECT me);
+// Vtable index: 7
+JAVA_BOOLEAN java_util_Collections_SynchronizedMap_containsKey___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 8
+JAVA_BOOLEAN java_util_Collections_SynchronizedMap_containsValue___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 9
+JAVA_OBJECT java_util_Collections_SynchronizedMap_entrySet__(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_util_Collections_SynchronizedMap_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 10
+JAVA_OBJECT java_util_Collections_SynchronizedMap_get___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 4
+JAVA_INT java_util_Collections_SynchronizedMap_hashCode__(JAVA_OBJECT me);
+// Vtable index: 11
+JAVA_BOOLEAN java_util_Collections_SynchronizedMap_isEmpty__(JAVA_OBJECT me);
+// Vtable index: 12
+JAVA_OBJECT java_util_Collections_SynchronizedMap_keySet__(JAVA_OBJECT me);
+// Vtable index: 14
+JAVA_OBJECT java_util_Collections_SynchronizedMap_put___java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+// Vtable index: 13
+void java_util_Collections_SynchronizedMap_putAll___java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 15
+JAVA_OBJECT java_util_Collections_SynchronizedMap_remove___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 16
+JAVA_INT java_util_Collections_SynchronizedMap_size__(JAVA_OBJECT me);
+// Vtable index: 17
+JAVA_OBJECT java_util_Collections_SynchronizedMap_values__(JAVA_OBJECT me);
+// Vtable index: 5
+JAVA_OBJECT java_util_Collections_SynchronizedMap_toString__(JAVA_OBJECT me);
+void java_util_Collections_SynchronizedMap_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_util_Comparator.c b/tests/nbody-java/java_util_Comparator.c
new file mode 100644
index 00000000..1cfb17a1
--- /dev/null
+++ b/tests/nbody-java/java_util_Comparator.c
@@ -0,0 +1,76 @@
+#include "xmlvm.h"
+
+#include "java_util_Comparator.h"
+
+__TIB_DEFINITION_java_util_Comparator __TIB_java_util_Comparator = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_Comparator, // classInitializer
+ "java.util.Comparator", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<T:Ljava/lang/Object;>Ljava/lang/Object;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_util_Comparator;
+JAVA_OBJECT __CLASS_java_util_Comparator_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_Comparator_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_Comparator_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_util_Comparator()
+{
+ staticInitializerLock(&__TIB_java_util_Comparator);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_Comparator.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_Comparator.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_Comparator);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_Comparator.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_Comparator.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_Comparator.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.Comparator")
+ __INIT_IMPL_java_util_Comparator();
+ }
+}
+
+void __INIT_IMPL_java_util_Comparator()
+{
+ __TIB_java_util_Comparator.numInterfaces = 0;
+ __TIB_java_util_Comparator.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_Comparator.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_util_Comparator.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_Comparator.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_Comparator.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_util_Comparator = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_Comparator);
+ __TIB_java_util_Comparator.clazz = __CLASS_java_util_Comparator;
+ __TIB_java_util_Comparator.baseType = JAVA_NULL;
+ __CLASS_java_util_Comparator_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Comparator);
+ __CLASS_java_util_Comparator_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Comparator_1ARRAY);
+ __CLASS_java_util_Comparator_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Comparator_2ARRAY);
+
+ __TIB_java_util_Comparator.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_util_Comparator.h b/tests/nbody-java/java_util_Comparator.h
new file mode 100644
index 00000000..09aef0be
--- /dev/null
+++ b/tests/nbody-java/java_util_Comparator.h
@@ -0,0 +1,29 @@
+#ifndef __JAVA_UTIL_COMPARATOR__
+#define __JAVA_UTIL_COMPARATOR__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_util_Comparator_compare___java_lang_Object_java_lang_Object 0
+#define XMLVM_ITABLE_IDX_java_util_Comparator_equals___java_lang_Object 1
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+
+XMLVM_DEFINE_CLASS(java_util_Comparator, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_util_Comparator;
+extern JAVA_OBJECT __CLASS_java_util_Comparator_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Comparator_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Comparator_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_util_Comparator
+#define XMLVM_FORWARD_DECL_java_util_Comparator
+typedef struct java_util_Comparator java_util_Comparator;
+#endif
+
+void __INIT_java_util_Comparator();
+void __INIT_IMPL_java_util_Comparator();
+
+#endif
diff --git a/tests/nbody-java/java_util_Deque.c b/tests/nbody-java/java_util_Deque.c
new file mode 100644
index 00000000..51c1a623
--- /dev/null
+++ b/tests/nbody-java/java_util_Deque.c
@@ -0,0 +1,78 @@
+#include "xmlvm.h"
+#include "java_util_Iterator.h"
+
+#include "java_util_Deque.h"
+
+__TIB_DEFINITION_java_util_Deque __TIB_java_util_Deque = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_Deque, // classInitializer
+ "java.util.Deque", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<E:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Queue<TE;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_util_Deque;
+JAVA_OBJECT __CLASS_java_util_Deque_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_Deque_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_Deque_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_util_Deque()
+{
+ staticInitializerLock(&__TIB_java_util_Deque);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_Deque.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_Deque.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_Deque);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_Deque.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_Deque.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_Deque.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.Deque")
+ __INIT_IMPL_java_util_Deque();
+ }
+}
+
+void __INIT_IMPL_java_util_Deque()
+{
+ __TIB_java_util_Deque.numInterfaces = 1;
+ //__TIB_java_util_Deque.baseInterfaces[0] = &__INTERFACE_java_util_Queue;
+ __TIB_java_util_Deque.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_Deque.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_util_Deque.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_Deque.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_Deque.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_util_Deque = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_Deque);
+ __TIB_java_util_Deque.clazz = __CLASS_java_util_Deque;
+ __TIB_java_util_Deque.baseType = JAVA_NULL;
+ __CLASS_java_util_Deque_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Deque);
+ __CLASS_java_util_Deque_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Deque_1ARRAY);
+ __CLASS_java_util_Deque_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Deque_2ARRAY);
+
+ __TIB_java_util_Deque.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_util_Deque.h b/tests/nbody-java/java_util_Deque.h
new file mode 100644
index 00000000..d79fe0ec
--- /dev/null
+++ b/tests/nbody-java/java_util_Deque.h
@@ -0,0 +1,69 @@
+#ifndef __JAVA_UTIL_DEQUE__
+#define __JAVA_UTIL_DEQUE__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_util_Deque_addFirst___java_lang_Object 17
+#define XMLVM_ITABLE_IDX_java_util_Deque_addLast___java_lang_Object 18
+#define XMLVM_ITABLE_IDX_java_util_Deque_offerFirst___java_lang_Object 31
+#define XMLVM_ITABLE_IDX_java_util_Deque_offerLast___java_lang_Object 32
+#define XMLVM_ITABLE_IDX_java_util_Deque_removeFirst__ 44
+#define XMLVM_ITABLE_IDX_java_util_Deque_removeLast__ 46
+#define XMLVM_ITABLE_IDX_java_util_Deque_pollFirst__ 37
+#define XMLVM_ITABLE_IDX_java_util_Deque_pollLast__ 38
+#define XMLVM_ITABLE_IDX_java_util_Deque_getFirst__ 26
+#define XMLVM_ITABLE_IDX_java_util_Deque_getLast__ 27
+#define XMLVM_ITABLE_IDX_java_util_Deque_peekFirst__ 34
+#define XMLVM_ITABLE_IDX_java_util_Deque_peekLast__ 35
+#define XMLVM_ITABLE_IDX_java_util_Deque_removeFirstOccurrence___java_lang_Object 43
+#define XMLVM_ITABLE_IDX_java_util_Deque_removeLastOccurrence___java_lang_Object 45
+#define XMLVM_ITABLE_IDX_java_util_Deque_push___java_lang_Object 41
+#define XMLVM_ITABLE_IDX_java_util_Deque_pop__ 40
+#define XMLVM_ITABLE_IDX_java_util_Deque_descendingIterator__ 23
+#define XMLVM_ITABLE_IDX_java_util_Deque_addAll___java_util_Collection 16
+#define XMLVM_ITABLE_IDX_java_util_Deque_add___java_lang_Object 19
+#define XMLVM_ITABLE_IDX_java_util_Deque_clear__ 20
+#define XMLVM_ITABLE_IDX_java_util_Deque_containsAll___java_util_Collection 21
+#define XMLVM_ITABLE_IDX_java_util_Deque_contains___java_lang_Object 22
+#define XMLVM_ITABLE_IDX_java_util_Deque_element__ 24
+#define XMLVM_ITABLE_IDX_java_util_Deque_equals___java_lang_Object 25
+#define XMLVM_ITABLE_IDX_java_util_Deque_hashCode__ 28
+#define XMLVM_ITABLE_IDX_java_util_Deque_isEmpty__ 29
+#define XMLVM_ITABLE_IDX_java_util_Deque_iterator__ 30
+#define XMLVM_ITABLE_IDX_java_util_Deque_offer___java_lang_Object 33
+#define XMLVM_ITABLE_IDX_java_util_Deque_peek__ 36
+#define XMLVM_ITABLE_IDX_java_util_Deque_poll__ 39
+#define XMLVM_ITABLE_IDX_java_util_Deque_removeAll___java_util_Collection 42
+#define XMLVM_ITABLE_IDX_java_util_Deque_remove__ 47
+#define XMLVM_ITABLE_IDX_java_util_Deque_remove___java_lang_Object 48
+#define XMLVM_ITABLE_IDX_java_util_Deque_retainAll___java_util_Collection 49
+#define XMLVM_ITABLE_IDX_java_util_Deque_size__ 50
+#define XMLVM_ITABLE_IDX_java_util_Deque_toArray__ 51
+#define XMLVM_ITABLE_IDX_java_util_Deque_toArray___java_lang_Object_1ARRAY 52
+// Implemented interfaces:
+#include "java_util_Queue.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_util_Iterator
+#define XMLVM_FORWARD_DECL_java_util_Iterator
+XMLVM_FORWARD_DECL(java_util_Iterator)
+#endif
+
+XMLVM_DEFINE_CLASS(java_util_Deque, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_util_Deque;
+extern JAVA_OBJECT __CLASS_java_util_Deque_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Deque_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Deque_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_util_Deque
+#define XMLVM_FORWARD_DECL_java_util_Deque
+typedef struct java_util_Deque java_util_Deque;
+#endif
+
+void __INIT_java_util_Deque();
+void __INIT_IMPL_java_util_Deque();
+
+#endif
diff --git a/tests/nbody-java/java_util_Dictionary.c b/tests/nbody-java/java_util_Dictionary.c
new file mode 100644
index 00000000..7bcac8df
--- /dev/null
+++ b/tests/nbody-java/java_util_Dictionary.c
@@ -0,0 +1,159 @@
+#include "xmlvm.h"
+#include "java_util_Enumeration.h"
+
+#include "java_util_Dictionary.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Dictionary
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_Dictionary
+
+__TIB_DEFINITION_java_util_Dictionary __TIB_java_util_Dictionary = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_Dictionary, // classInitializer
+ "java.util.Dictionary", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_util_Dictionary), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_Dictionary;
+JAVA_OBJECT __CLASS_java_util_Dictionary_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_Dictionary_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_Dictionary_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_Dictionary()
+{
+ staticInitializerLock(&__TIB_java_util_Dictionary);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_Dictionary.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_Dictionary.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_Dictionary);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_Dictionary.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_Dictionary.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_Dictionary.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.Dictionary")
+ __INIT_IMPL_java_util_Dictionary();
+ }
+}
+
+void __INIT_IMPL_java_util_Dictionary()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_util_Dictionary.newInstanceFunc = __NEW_INSTANCE_java_util_Dictionary;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_Dictionary.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_util_Dictionary.numImplementedInterfaces = 0;
+ __TIB_java_util_Dictionary.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ __TIB_java_util_Dictionary.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_Dictionary.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_Dictionary.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_Dictionary.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_Dictionary.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_Dictionary.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_Dictionary.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_Dictionary.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_Dictionary = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_Dictionary);
+ __TIB_java_util_Dictionary.clazz = __CLASS_java_util_Dictionary;
+ __TIB_java_util_Dictionary.baseType = JAVA_NULL;
+ __CLASS_java_util_Dictionary_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Dictionary);
+ __CLASS_java_util_Dictionary_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Dictionary_1ARRAY);
+ __CLASS_java_util_Dictionary_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Dictionary_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_Dictionary]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_Dictionary.classInitialized = 1;
+}
+
+void __DELETE_java_util_Dictionary(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_Dictionary]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_Dictionary(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_Dictionary]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_Dictionary()
+{ XMLVM_CLASS_INIT(java_util_Dictionary)
+java_util_Dictionary* me = (java_util_Dictionary*) XMLVM_MALLOC(sizeof(java_util_Dictionary));
+ me->tib = &__TIB_java_util_Dictionary;
+ __INIT_INSTANCE_MEMBERS_java_util_Dictionary(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_Dictionary]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_Dictionary()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_util_Dictionary();
+ java_util_Dictionary___INIT___(me);
+ return me;
+}
+
+void java_util_Dictionary___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Dictionary___INIT___]
+ XMLVM_ENTER_METHOD("java.util.Dictionary", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Dictionary.java", 35)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Dictionary.java", 36)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_Dictionary.h b/tests/nbody-java/java_util_Dictionary.h
new file mode 100644
index 00000000..d4fa12ad
--- /dev/null
+++ b/tests/nbody-java/java_util_Dictionary.h
@@ -0,0 +1,76 @@
+#ifndef __JAVA_UTIL_DICTIONARY__
+#define __JAVA_UTIL_DICTIONARY__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_Dictionary 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_util_Enumeration
+#define XMLVM_FORWARD_DECL_java_util_Enumeration
+XMLVM_FORWARD_DECL(java_util_Enumeration)
+#endif
+// Class declarations for java.util.Dictionary
+XMLVM_DEFINE_CLASS(java_util_Dictionary, 13, XMLVM_ITABLE_SIZE_java_util_Dictionary)
+
+extern JAVA_OBJECT __CLASS_java_util_Dictionary;
+extern JAVA_OBJECT __CLASS_java_util_Dictionary_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Dictionary_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Dictionary_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_Dictionary
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_Dictionary \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_Dictionary \
+ } java_util_Dictionary
+
+struct java_util_Dictionary {
+ __TIB_DEFINITION_java_util_Dictionary* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_Dictionary;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_Dictionary
+#define XMLVM_FORWARD_DECL_java_util_Dictionary
+typedef struct java_util_Dictionary java_util_Dictionary;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_Dictionary 13
+#define XMLVM_VTABLE_IDX_java_util_Dictionary_elements__ 6
+#define XMLVM_VTABLE_IDX_java_util_Dictionary_get___java_lang_Object 7
+#define XMLVM_VTABLE_IDX_java_util_Dictionary_isEmpty__ 8
+#define XMLVM_VTABLE_IDX_java_util_Dictionary_keys__ 9
+#define XMLVM_VTABLE_IDX_java_util_Dictionary_put___java_lang_Object_java_lang_Object 10
+#define XMLVM_VTABLE_IDX_java_util_Dictionary_remove___java_lang_Object 11
+#define XMLVM_VTABLE_IDX_java_util_Dictionary_size__ 12
+
+void __INIT_java_util_Dictionary();
+void __INIT_IMPL_java_util_Dictionary();
+void __DELETE_java_util_Dictionary(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_Dictionary(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_Dictionary();
+JAVA_OBJECT __NEW_INSTANCE_java_util_Dictionary();
+void java_util_Dictionary___INIT___(JAVA_OBJECT me);
+// Vtable index: 6
+JAVA_OBJECT java_util_Dictionary_elements__(JAVA_OBJECT me);
+// Vtable index: 7
+JAVA_OBJECT java_util_Dictionary_get___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 8
+JAVA_BOOLEAN java_util_Dictionary_isEmpty__(JAVA_OBJECT me);
+// Vtable index: 9
+JAVA_OBJECT java_util_Dictionary_keys__(JAVA_OBJECT me);
+// Vtable index: 10
+JAVA_OBJECT java_util_Dictionary_put___java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+// Vtable index: 11
+JAVA_OBJECT java_util_Dictionary_remove___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 12
+JAVA_INT java_util_Dictionary_size__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_util_Enumeration.c b/tests/nbody-java/java_util_Enumeration.c
new file mode 100644
index 00000000..e69b0e5d
--- /dev/null
+++ b/tests/nbody-java/java_util_Enumeration.c
@@ -0,0 +1,76 @@
+#include "xmlvm.h"
+
+#include "java_util_Enumeration.h"
+
+__TIB_DEFINITION_java_util_Enumeration __TIB_java_util_Enumeration = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_Enumeration, // classInitializer
+ "java.util.Enumeration", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<E:Ljava/lang/Object;>Ljava/lang/Object;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_util_Enumeration;
+JAVA_OBJECT __CLASS_java_util_Enumeration_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_Enumeration_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_Enumeration_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_util_Enumeration()
+{
+ staticInitializerLock(&__TIB_java_util_Enumeration);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_Enumeration.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_Enumeration.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_Enumeration);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_Enumeration.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_Enumeration.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_Enumeration.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.Enumeration")
+ __INIT_IMPL_java_util_Enumeration();
+ }
+}
+
+void __INIT_IMPL_java_util_Enumeration()
+{
+ __TIB_java_util_Enumeration.numInterfaces = 0;
+ __TIB_java_util_Enumeration.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_Enumeration.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_util_Enumeration.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_Enumeration.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_Enumeration.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_util_Enumeration = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_Enumeration);
+ __TIB_java_util_Enumeration.clazz = __CLASS_java_util_Enumeration;
+ __TIB_java_util_Enumeration.baseType = JAVA_NULL;
+ __CLASS_java_util_Enumeration_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Enumeration);
+ __CLASS_java_util_Enumeration_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Enumeration_1ARRAY);
+ __CLASS_java_util_Enumeration_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Enumeration_2ARRAY);
+
+ __TIB_java_util_Enumeration.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_util_Enumeration.h b/tests/nbody-java/java_util_Enumeration.h
new file mode 100644
index 00000000..b1c3e5be
--- /dev/null
+++ b/tests/nbody-java/java_util_Enumeration.h
@@ -0,0 +1,29 @@
+#ifndef __JAVA_UTIL_ENUMERATION__
+#define __JAVA_UTIL_ENUMERATION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_util_Enumeration_hasMoreElements__ 0
+#define XMLVM_ITABLE_IDX_java_util_Enumeration_nextElement__ 1
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+
+XMLVM_DEFINE_CLASS(java_util_Enumeration, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_util_Enumeration;
+extern JAVA_OBJECT __CLASS_java_util_Enumeration_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Enumeration_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Enumeration_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_util_Enumeration
+#define XMLVM_FORWARD_DECL_java_util_Enumeration
+typedef struct java_util_Enumeration java_util_Enumeration;
+#endif
+
+void __INIT_java_util_Enumeration();
+void __INIT_IMPL_java_util_Enumeration();
+
+#endif
diff --git a/tests/nbody-java/java_util_HashMap.c b/tests/nbody-java/java_util_HashMap.c
new file mode 100644
index 00000000..b647ecda
--- /dev/null
+++ b/tests/nbody-java/java_util_HashMap.c
@@ -0,0 +1,1700 @@
+#include "xmlvm.h"
+#include "java_lang_Object.h"
+#include "java_util_Collection.h"
+#include "java_util_HashMap_Entry.h"
+#include "java_util_Iterator.h"
+#include "java_util_Map_Entry.h"
+#include "java_util_Set.h"
+
+#include "java_util_HashMap.h"
+
+#define XMLVM_CURRENT_CLASS_NAME HashMap
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_HashMap
+
+__TIB_DEFINITION_java_util_HashMap __TIB_java_util_HashMap = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_HashMap, // classInitializer
+ "java.util.HashMap", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/util/AbstractMap<TK;TV;>;Ljava/util/Map<TK;TV;>;Ljava/lang/Cloneable;Ljava/io/Serializable;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_AbstractMap, // extends
+ sizeof(java_util_HashMap), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_HashMap;
+JAVA_OBJECT __CLASS_java_util_HashMap_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_HashMap_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_HashMap_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_util_HashMap_serialVersionUID;
+static JAVA_INT _STATIC_java_util_HashMap_DEFAULT_SIZE;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_HashMap()
+{
+ staticInitializerLock(&__TIB_java_util_HashMap);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_HashMap.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_HashMap.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_HashMap);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_HashMap.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_HashMap.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_HashMap.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.HashMap")
+ __INIT_IMPL_java_util_HashMap();
+ }
+}
+
+void __INIT_IMPL_java_util_HashMap()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_util_AbstractMap)
+ __TIB_java_util_HashMap.newInstanceFunc = __NEW_INSTANCE_java_util_HashMap;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_HashMap.vtable, __TIB_java_util_AbstractMap.vtable, sizeof(__TIB_java_util_AbstractMap.vtable));
+ // Initialize vtable for this class
+ __TIB_java_util_HashMap.vtable[6] = (VTABLE_PTR) &java_util_HashMap_clear__;
+ __TIB_java_util_HashMap.vtable[0] = (VTABLE_PTR) &java_util_HashMap_clone__;
+ __TIB_java_util_HashMap.vtable[7] = (VTABLE_PTR) &java_util_HashMap_containsKey___java_lang_Object;
+ __TIB_java_util_HashMap.vtable[8] = (VTABLE_PTR) &java_util_HashMap_containsValue___java_lang_Object;
+ __TIB_java_util_HashMap.vtable[9] = (VTABLE_PTR) &java_util_HashMap_entrySet__;
+ __TIB_java_util_HashMap.vtable[10] = (VTABLE_PTR) &java_util_HashMap_get___java_lang_Object;
+ __TIB_java_util_HashMap.vtable[11] = (VTABLE_PTR) &java_util_HashMap_isEmpty__;
+ __TIB_java_util_HashMap.vtable[12] = (VTABLE_PTR) &java_util_HashMap_keySet__;
+ __TIB_java_util_HashMap.vtable[14] = (VTABLE_PTR) &java_util_HashMap_put___java_lang_Object_java_lang_Object;
+ __TIB_java_util_HashMap.vtable[13] = (VTABLE_PTR) &java_util_HashMap_putAll___java_util_Map;
+ __TIB_java_util_HashMap.vtable[15] = (VTABLE_PTR) &java_util_HashMap_remove___java_lang_Object;
+ __TIB_java_util_HashMap.vtable[16] = (VTABLE_PTR) &java_util_HashMap_size__;
+ __TIB_java_util_HashMap.vtable[17] = (VTABLE_PTR) &java_util_HashMap_values__;
+ // Initialize interface information
+ __TIB_java_util_HashMap.numImplementedInterfaces = 3;
+ __TIB_java_util_HashMap.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 3);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_util_HashMap.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_lang_Cloneable)
+
+ __TIB_java_util_HashMap.implementedInterfaces[0][1] = &__TIB_java_lang_Cloneable;
+
+ XMLVM_CLASS_INIT(java_util_Map)
+
+ __TIB_java_util_HashMap.implementedInterfaces[0][2] = &__TIB_java_util_Map;
+ // Initialize itable for this class
+ __TIB_java_util_HashMap.itableBegin = &__TIB_java_util_HashMap.itable[0];
+ __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_clear__] = __TIB_java_util_HashMap.vtable[6];
+ __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_containsKey___java_lang_Object] = __TIB_java_util_HashMap.vtable[7];
+ __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_containsValue___java_lang_Object] = __TIB_java_util_HashMap.vtable[8];
+ __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_entrySet__] = __TIB_java_util_HashMap.vtable[9];
+ __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_equals___java_lang_Object] = __TIB_java_util_HashMap.vtable[1];
+ __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_get___java_lang_Object] = __TIB_java_util_HashMap.vtable[10];
+ __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_hashCode__] = __TIB_java_util_HashMap.vtable[4];
+ __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_isEmpty__] = __TIB_java_util_HashMap.vtable[11];
+ __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_keySet__] = __TIB_java_util_HashMap.vtable[12];
+ __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_putAll___java_util_Map] = __TIB_java_util_HashMap.vtable[13];
+ __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_put___java_lang_Object_java_lang_Object] = __TIB_java_util_HashMap.vtable[14];
+ __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_remove___java_lang_Object] = __TIB_java_util_HashMap.vtable[15];
+ __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_size__] = __TIB_java_util_HashMap.vtable[16];
+ __TIB_java_util_HashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_values__] = __TIB_java_util_HashMap.vtable[17];
+
+ _STATIC_java_util_HashMap_serialVersionUID = 362498820763181265;
+ _STATIC_java_util_HashMap_DEFAULT_SIZE = 16;
+
+ __TIB_java_util_HashMap.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_HashMap.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_HashMap.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_HashMap.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_HashMap.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_HashMap.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_HashMap.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_HashMap.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_HashMap = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_HashMap);
+ __TIB_java_util_HashMap.clazz = __CLASS_java_util_HashMap;
+ __TIB_java_util_HashMap.baseType = JAVA_NULL;
+ __CLASS_java_util_HashMap_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_HashMap);
+ __CLASS_java_util_HashMap_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_HashMap_1ARRAY);
+ __CLASS_java_util_HashMap_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_HashMap_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_HashMap]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_HashMap.classInitialized = 1;
+}
+
+void __DELETE_java_util_HashMap(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_HashMap]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_HashMap(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_util_AbstractMap(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_util_HashMap*) me)->fields.java_util_HashMap.elementCount_ = 0;
+ ((java_util_HashMap*) me)->fields.java_util_HashMap.elementData_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ ((java_util_HashMap*) me)->fields.java_util_HashMap.modCount_ = 0;
+ ((java_util_HashMap*) me)->fields.java_util_HashMap.loadFactor_ = 0;
+ ((java_util_HashMap*) me)->fields.java_util_HashMap.threshold_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_HashMap]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_HashMap()
+{ XMLVM_CLASS_INIT(java_util_HashMap)
+java_util_HashMap* me = (java_util_HashMap*) XMLVM_MALLOC(sizeof(java_util_HashMap));
+ me->tib = &__TIB_java_util_HashMap;
+ __INIT_INSTANCE_MEMBERS_java_util_HashMap(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_HashMap]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_HashMap()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_util_HashMap();
+ java_util_HashMap___INIT___(me);
+ return me;
+}
+
+JAVA_LONG java_util_HashMap_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_util_HashMap)
+ return _STATIC_java_util_HashMap_serialVersionUID;
+}
+
+void java_util_HashMap_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_util_HashMap)
+_STATIC_java_util_HashMap_serialVersionUID = v;
+}
+
+JAVA_INT java_util_HashMap_GET_DEFAULT_SIZE()
+{
+ XMLVM_CLASS_INIT(java_util_HashMap)
+ return _STATIC_java_util_HashMap_DEFAULT_SIZE;
+}
+
+void java_util_HashMap_PUT_DEFAULT_SIZE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_util_HashMap)
+_STATIC_java_util_HashMap_DEFAULT_SIZE = v;
+}
+
+JAVA_OBJECT java_util_HashMap_newElementArray___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_newElementArray___int]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "newElementArray", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("HashMap.java", 268)
+ XMLVM_CLASS_INIT(java_util_HashMap_Entry)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_util_HashMap_Entry, _r2.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_HashMap___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap___INIT___]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("HashMap.java", 275)
+ _r0.i = 16;
+ XMLVM_CHECK_NPE(1)
+ java_util_HashMap___INIT____int(_r1.o, _r0.i);
+ XMLVM_SOURCE_POSITION("HashMap.java", 276)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_HashMap___INIT____int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap___INIT____int]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("HashMap.java", 287)
+ _r0.f = 0.75;
+ XMLVM_CHECK_NPE(1)
+ java_util_HashMap___INIT____int_float(_r1.o, _r2.i, _r0.f);
+ XMLVM_SOURCE_POSITION("HashMap.java", 288)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_HashMap_calculateCapacity___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_util_HashMap)
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_calculateCapacity___int]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "calculateCapacity", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.i = n1;
+ _r0.i = 1073741824;
+ XMLVM_SOURCE_POSITION("HashMap.java", 299)
+ if (_r2.i < _r0.i) goto label5;
+ label4:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 311)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label5:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 302)
+ if (_r2.i != 0) goto label10;
+ XMLVM_SOURCE_POSITION("HashMap.java", 303)
+ _r0.i = 16;
+ goto label4;
+ label10:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 305)
+ _r0.i = _r2.i + -1;
+ _r1.i = _r0.i >> 1;
+ _r0.i = _r0.i | _r1.i;
+ _r1.i = _r0.i >> 2;
+ _r0.i = _r0.i | _r1.i;
+ _r1.i = _r0.i >> 4;
+ _r0.i = _r0.i | _r1.i;
+ _r1.i = _r0.i >> 8;
+ _r0.i = _r0.i | _r1.i;
+ _r1.i = _r0.i >> 16;
+ _r0.i = _r0.i | _r1.i;
+ _r0.i = _r0.i + 1;
+ goto label4;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_HashMap___INIT____int_float(JAVA_OBJECT me, JAVA_INT n1, JAVA_FLOAT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap___INIT____int_float]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.i = n1;
+ _r4.f = n2;
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("HashMap.java", 326)
+ XMLVM_CHECK_NPE(2)
+ java_util_AbstractMap___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("HashMap.java", 48)
+ XMLVM_CHECK_NPE(2)
+ ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.modCount_ = _r1.i;
+ XMLVM_SOURCE_POSITION("HashMap.java", 327)
+ if (_r3.i < 0) goto label31;
+ _r0.f = 0.0;
+ _r0.i = _r4.f > _r0.f ? 1 : (_r4.f == _r0.f ? 0 : -1);
+ if (_r0.i <= 0) goto label31;
+ XMLVM_SOURCE_POSITION("HashMap.java", 328)
+ _r0.i = java_util_HashMap_calculateCapacity___int(_r3.i);
+ XMLVM_SOURCE_POSITION("HashMap.java", 329)
+ XMLVM_CHECK_NPE(2)
+ ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementCount_ = _r1.i;
+ XMLVM_SOURCE_POSITION("HashMap.java", 330)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_util_HashMap_newElementArray___int(_r2.o, _r0.i);
+ XMLVM_CHECK_NPE(2)
+ ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementData_ = _r0.o;
+ XMLVM_SOURCE_POSITION("HashMap.java", 331)
+ XMLVM_CHECK_NPE(2)
+ ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.loadFactor_ = _r4.f;
+ XMLVM_SOURCE_POSITION("HashMap.java", 332)
+ XMLVM_CHECK_NPE(2)
+ java_util_HashMap_computeThreshold__(_r2.o);
+ XMLVM_SOURCE_POSITION("HashMap.java", 336)
+ XMLVM_EXIT_METHOD()
+ return;
+ label31:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 334)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_HashMap___INIT____java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap___INIT____java_util_Map]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("HashMap.java", 346)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_size__])(_r2.o);
+ _r0.i = java_util_HashMap_calculateCapacity___int(_r0.i);
+ XMLVM_CHECK_NPE(1)
+ java_util_HashMap___INIT____int(_r1.o, _r0.i);
+ XMLVM_SOURCE_POSITION("HashMap.java", 347)
+ XMLVM_CHECK_NPE(1)
+ java_util_HashMap_putAllImpl___java_util_Map(_r1.o, _r2.o);
+ XMLVM_SOURCE_POSITION("HashMap.java", 348)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_HashMap_clear__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_clear__]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "clear", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("HashMap.java", 358)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementCount_;
+ if (_r0.i <= 0) goto label19;
+ XMLVM_SOURCE_POSITION("HashMap.java", 359)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(2)
+ ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementCount_ = _r0.i;
+ XMLVM_SOURCE_POSITION("HashMap.java", 360)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementData_;
+ _r1.o = JAVA_NULL;
+
+
+ // Red class access removed: java.util.Arrays::fill
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("HashMap.java", 361)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.modCount_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(2)
+ ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.modCount_ = _r0.i;
+ label19:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 363)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_HashMap_clone__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_clone__]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "clone", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_TRY_BEGIN(w2219aaac14b1b2)
+ // Begin try
+ XMLVM_SOURCE_POSITION("HashMap.java", 374)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_util_AbstractMap_clone__(_r2.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("HashMap.java", 375)
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(0)
+ ((java_util_HashMap*) _r0.o)->fields.java_util_HashMap.elementCount_ = _r1.i;
+ XMLVM_SOURCE_POSITION("HashMap.java", 376)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementData_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ XMLVM_CHECK_NPE(2)
+ _r1.o = java_util_HashMap_newElementArray___int(_r2.o, _r1.i);
+ XMLVM_CHECK_NPE(0)
+ ((java_util_HashMap*) _r0.o)->fields.java_util_HashMap.elementData_ = _r1.o;
+ XMLVM_SOURCE_POSITION("HashMap.java", 377)
+ //java_util_HashMap_putAll___java_util_Map[13]
+ XMLVM_CHECK_NPE(0)
+ (*(void (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_HashMap*) _r0.o)->tib->vtable[13])(_r0.o, _r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2219aaac14b1b2)
+ XMLVM_CATCH_END(w2219aaac14b1b2)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2219aaac14b1b2)
+ label21:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 381)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label22:;
+ java_lang_Thread* curThread_w2219aaac14b1b7 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w2219aaac14b1b7->fields.java_lang_Thread.xmlvmException_;
+ _r0.o = JAVA_NULL;
+ goto label21;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_HashMap_computeThreshold__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_computeThreshold__]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "computeThreshold", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("HashMap.java", 389)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementData_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ _r0.f = (JAVA_FLOAT) _r0.i;
+ XMLVM_CHECK_NPE(2)
+ _r1.f = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.loadFactor_;
+ _r0.f = _r0.f * _r1.f;
+ _r0.i = (JAVA_INT) _r0.f;
+ XMLVM_CHECK_NPE(2)
+ ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.threshold_ = _r0.i;
+ XMLVM_SOURCE_POSITION("HashMap.java", 390)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_HashMap_containsKey___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_containsKey___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "containsKey", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("HashMap.java", 402)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_HashMap_getEntry___java_lang_Object(_r1.o, _r2.o);
+ XMLVM_SOURCE_POSITION("HashMap.java", 403)
+ if (_r0.o == JAVA_NULL) goto label8;
+ _r0.i = 1;
+ label7:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label8:;
+ _r0.i = 0;
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_HashMap_containsValue___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_containsValue___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "containsValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r5.o = me;
+ _r6.o = n1;
+ _r4.i = 1;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("HashMap.java", 416)
+ if (_r6.o == JAVA_NULL) goto label34;
+ _r0 = _r3;
+ label5:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 417)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_util_HashMap*) _r5.o)->fields.java_util_HashMap.elementData_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ if (_r0.i < _r1.i) goto label12;
+ label10:;
+ _r0 = _r3;
+ label11:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 437)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label12:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 418)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_util_HashMap*) _r5.o)->fields.java_util_HashMap.elementData_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ label16:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 419)
+ if (_r1.o != JAVA_NULL) goto label21;
+ _r0.i = _r0.i + 1;
+ goto label5;
+ label21:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 420)
+ XMLVM_CHECK_NPE(1)
+ _r2.o = ((java_util_MapEntry*) _r1.o)->fields.java_util_MapEntry.value_;
+ _r2.i = java_util_HashMap_areEqualValues___java_lang_Object_java_lang_Object(_r6.o, _r2.o);
+ if (_r2.i == 0) goto label31;
+ _r0 = _r4;
+ XMLVM_SOURCE_POSITION("HashMap.java", 421)
+ goto label11;
+ label31:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 423)
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((java_util_HashMap_Entry*) _r1.o)->fields.java_util_HashMap_Entry.next_;
+ goto label16;
+ label34:;
+ _r0 = _r3;
+ label35:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 427)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_util_HashMap*) _r5.o)->fields.java_util_HashMap.elementData_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ if (_r0.i >= _r1.i) goto label10;
+ XMLVM_SOURCE_POSITION("HashMap.java", 428)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_util_HashMap*) _r5.o)->fields.java_util_HashMap.elementData_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ label44:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 429)
+ if (_r1.o != JAVA_NULL) goto label49;
+ _r0.i = _r0.i + 1;
+ goto label35;
+ label49:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 430)
+ XMLVM_CHECK_NPE(1)
+ _r2.o = ((java_util_MapEntry*) _r1.o)->fields.java_util_MapEntry.value_;
+ if (_r2.o != JAVA_NULL) goto label55;
+ _r0 = _r4;
+ XMLVM_SOURCE_POSITION("HashMap.java", 431)
+ goto label11;
+ label55:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 433)
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((java_util_HashMap_Entry*) _r1.o)->fields.java_util_HashMap_Entry.next_;
+ goto label44;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_HashMap_entrySet__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_entrySet__]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "entrySet", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("HashMap.java", 449)
+
+
+ // Red class access removed: java.util.HashMap$HashMapEntrySet::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.HashMap$HashMapEntrySet::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_HashMap_get___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_get___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "get", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("HashMap.java", 462)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_HashMap_getEntry___java_lang_Object(_r1.o, _r2.o);
+ XMLVM_SOURCE_POSITION("HashMap.java", 463)
+ if (_r0.o == JAVA_NULL) goto label9;
+ XMLVM_SOURCE_POSITION("HashMap.java", 464)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_MapEntry*) _r0.o)->fields.java_util_MapEntry.value_;
+ label8:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 466)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label9:;
+ _r0.o = JAVA_NULL;
+ goto label8;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_HashMap_getEntry___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_getEntry___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "getEntry", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("HashMap.java", 471)
+ if (_r4.o != JAVA_NULL) goto label7;
+ XMLVM_SOURCE_POSITION("HashMap.java", 472)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_util_HashMap_findNullKeyEntry__(_r3.o);
+ label6:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 478)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label7:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 474)
+ _r0.i = java_util_HashMap_computeHashCode___java_lang_Object(_r4.o);
+ XMLVM_SOURCE_POSITION("HashMap.java", 475)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.elementData_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ _r2.i = 1;
+ _r1.i = _r1.i - _r2.i;
+ _r1.i = _r1.i & _r0.i;
+ XMLVM_SOURCE_POSITION("HashMap.java", 476)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_util_HashMap_findNonNullKeyEntry___java_lang_Object_int_int(_r3.o, _r4.o, _r1.i, _r0.i);
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_HashMap_findNonNullKeyEntry___java_lang_Object_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_findNonNullKeyEntry___java_lang_Object_int_int]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "findNonNullKeyEntry", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.i = n2;
+ _r5.i = n3;
+ XMLVM_SOURCE_POSITION("HashMap.java", 482)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementData_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r4.i);
+ _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ label4:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 483)
+ if (_r0.o == JAVA_NULL) goto label18;
+ XMLVM_SOURCE_POSITION("HashMap.java", 484)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = ((java_util_HashMap_Entry*) _r0.o)->fields.java_util_HashMap_Entry.origKeyHash_;
+ if (_r1.i != _r5.i) goto label19;
+ XMLVM_CHECK_NPE(0)
+ _r1.o = ((java_util_MapEntry*) _r0.o)->fields.java_util_MapEntry.key_;
+ _r1.i = java_util_HashMap_areEqualKeys___java_lang_Object_java_lang_Object(_r3.o, _r1.o);
+ if (_r1.i == 0) goto label19;
+ label18:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 487)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label19:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 485)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_HashMap_Entry*) _r0.o)->fields.java_util_HashMap_Entry.next_;
+ goto label4;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_HashMap_findNullKeyEntry__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_findNullKeyEntry__]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "findNullKeyEntry", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("HashMap.java", 491)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementData_;
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ label5:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 492)
+ if (_r0.o == JAVA_NULL) goto label11;
+ XMLVM_CHECK_NPE(0)
+ _r1.o = ((java_util_MapEntry*) _r0.o)->fields.java_util_MapEntry.key_;
+ if (_r1.o != JAVA_NULL) goto label12;
+ label11:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 494)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label12:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 493)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_HashMap_Entry*) _r0.o)->fields.java_util_HashMap_Entry.next_;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_HashMap_isEmpty__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_isEmpty__]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "isEmpty", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("HashMap.java", 506)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_util_HashMap*) _r1.o)->fields.java_util_HashMap.elementCount_;
+ if (_r0.i != 0) goto label6;
+ _r0.i = 1;
+ label5:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ _r0.i = 0;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_HashMap_keySet__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_keySet__]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "keySet", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("HashMap.java", 518)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.keySet_;
+ if (_r0.o != JAVA_NULL) goto label11;
+ XMLVM_SOURCE_POSITION("HashMap.java", 519)
+
+
+ // Red class access removed: java.util.HashMap$1::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.HashMap$1::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(1)
+ ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.keySet_ = _r0.o;
+ label11:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 547)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.keySet_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_HashMap_put___java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_put___java_lang_Object_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "put", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("HashMap.java", 562)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_HashMap_putImpl___java_lang_Object_java_lang_Object(_r1.o, _r2.o, _r3.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_HashMap_putImpl___java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_putImpl___java_lang_Object_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "putImpl", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r3.o = me;
+ _r4.o = n1;
+ _r5.o = n2;
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("HashMap.java", 567)
+ if (_r4.o != JAVA_NULL) goto label38;
+ XMLVM_SOURCE_POSITION("HashMap.java", 568)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_util_HashMap_findNullKeyEntry__(_r3.o);
+ XMLVM_SOURCE_POSITION("HashMap.java", 569)
+ if (_r0.o != JAVA_NULL) goto label33;
+ XMLVM_SOURCE_POSITION("HashMap.java", 570)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.modCount_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(3)
+ ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.modCount_ = _r0.i;
+ XMLVM_SOURCE_POSITION("HashMap.java", 571)
+ _r0.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_util_HashMap_createHashedEntry___java_lang_Object_int_int(_r3.o, _r0.o, _r1.i, _r1.i);
+ XMLVM_SOURCE_POSITION("HashMap.java", 572)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.elementCount_;
+ _r1.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(3)
+ ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.elementCount_ = _r1.i;
+ XMLVM_CHECK_NPE(3)
+ _r2.i = ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.threshold_;
+ if (_r1.i <= _r2.i) goto label33;
+ XMLVM_SOURCE_POSITION("HashMap.java", 573)
+ XMLVM_CHECK_NPE(3)
+ java_util_HashMap_rehash__(_r3.o);
+ label33:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 589)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = ((java_util_MapEntry*) _r0.o)->fields.java_util_MapEntry.value_;
+ XMLVM_SOURCE_POSITION("HashMap.java", 590)
+ XMLVM_CHECK_NPE(0)
+ ((java_util_MapEntry*) _r0.o)->fields.java_util_MapEntry.value_ = _r5.o;
+ XMLVM_SOURCE_POSITION("HashMap.java", 591)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label38:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 577)
+ _r0.i = java_util_HashMap_computeHashCode___java_lang_Object(_r4.o);
+ XMLVM_SOURCE_POSITION("HashMap.java", 578)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.elementData_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ _r2.i = 1;
+ _r1.i = _r1.i - _r2.i;
+ _r1.i = _r1.i & _r0.i;
+ XMLVM_SOURCE_POSITION("HashMap.java", 579)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = java_util_HashMap_findNonNullKeyEntry___java_lang_Object_int_int(_r3.o, _r4.o, _r1.i, _r0.i);
+ XMLVM_SOURCE_POSITION("HashMap.java", 580)
+ if (_r2.o != JAVA_NULL) goto label78;
+ XMLVM_SOURCE_POSITION("HashMap.java", 581)
+ XMLVM_CHECK_NPE(3)
+ _r2.i = ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.modCount_;
+ _r2.i = _r2.i + 1;
+ XMLVM_CHECK_NPE(3)
+ ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.modCount_ = _r2.i;
+ XMLVM_SOURCE_POSITION("HashMap.java", 582)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_util_HashMap_createHashedEntry___java_lang_Object_int_int(_r3.o, _r4.o, _r1.i, _r0.i);
+ XMLVM_SOURCE_POSITION("HashMap.java", 583)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.elementCount_;
+ _r1.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(3)
+ ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.elementCount_ = _r1.i;
+ XMLVM_CHECK_NPE(3)
+ _r2.i = ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.threshold_;
+ if (_r1.i <= _r2.i) goto label33;
+ XMLVM_SOURCE_POSITION("HashMap.java", 584)
+ XMLVM_CHECK_NPE(3)
+ java_util_HashMap_rehash__(_r3.o);
+ goto label33;
+ label78:;
+ _r0 = _r2;
+ goto label33;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_HashMap_createEntry___java_lang_Object_int_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_createEntry___java_lang_Object_int_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "createEntry", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.i = n2;
+ _r5.o = n3;
+ XMLVM_SOURCE_POSITION("HashMap.java", 595)
+ _r0.o = __NEW_java_util_HashMap_Entry();
+ XMLVM_CHECK_NPE(0)
+ java_util_HashMap_Entry___INIT____java_lang_Object_java_lang_Object(_r0.o, _r3.o, _r5.o);
+ XMLVM_SOURCE_POSITION("HashMap.java", 596)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementData_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r4.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ XMLVM_CHECK_NPE(0)
+ ((java_util_HashMap_Entry*) _r0.o)->fields.java_util_HashMap_Entry.next_ = _r1.o;
+ XMLVM_SOURCE_POSITION("HashMap.java", 597)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementData_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r0.o;
+ XMLVM_SOURCE_POSITION("HashMap.java", 598)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_HashMap_createHashedEntry___java_lang_Object_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_createHashedEntry___java_lang_Object_int_int]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "createHashedEntry", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.i = n2;
+ _r5.i = n3;
+ XMLVM_SOURCE_POSITION("HashMap.java", 602)
+ _r0.o = __NEW_java_util_HashMap_Entry();
+ XMLVM_CHECK_NPE(0)
+ java_util_HashMap_Entry___INIT____java_lang_Object_int(_r0.o, _r3.o, _r5.i);
+ XMLVM_SOURCE_POSITION("HashMap.java", 603)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementData_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r4.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ XMLVM_CHECK_NPE(0)
+ ((java_util_HashMap_Entry*) _r0.o)->fields.java_util_HashMap_Entry.next_ = _r1.o;
+ XMLVM_SOURCE_POSITION("HashMap.java", 604)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementData_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r0.o;
+ XMLVM_SOURCE_POSITION("HashMap.java", 605)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_HashMap_putAll___java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_putAll___java_util_Map]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "putAll", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("HashMap.java", 620)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_isEmpty__])(_r2.o);
+ if (_r0.i != 0) goto label9;
+ XMLVM_SOURCE_POSITION("HashMap.java", 621)
+ XMLVM_CHECK_NPE(1)
+ java_util_HashMap_putAllImpl___java_util_Map(_r1.o, _r2.o);
+ label9:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 623)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_HashMap_putAllImpl___java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_putAllImpl___java_util_Map]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "putAllImpl", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("HashMap.java", 626)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.elementCount_;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_size__])(_r4.o);
+ _r0.i = _r0.i + _r1.i;
+ XMLVM_SOURCE_POSITION("HashMap.java", 627)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_util_HashMap*) _r3.o)->fields.java_util_HashMap.threshold_;
+ if (_r0.i <= _r1.i) goto label14;
+ XMLVM_SOURCE_POSITION("HashMap.java", 628)
+ XMLVM_CHECK_NPE(3)
+ java_util_HashMap_rehash___int(_r3.o, _r0.i);
+ label14:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 630)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_entrySet__])(_r4.o);
+ XMLVM_CHECK_NPE(0)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Set_iterator__])(_r0.o);
+ label22:;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r1.o);
+ if (_r0.i != 0) goto label29;
+ XMLVM_SOURCE_POSITION("HashMap.java", 633)
+ XMLVM_EXIT_METHOD()
+ return;
+ label29:;
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r1.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("HashMap.java", 631)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__])(_r0.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__])(_r0.o);
+ XMLVM_CHECK_NPE(3)
+ java_util_HashMap_putImpl___java_lang_Object_java_lang_Object(_r3.o, _r2.o, _r0.o);
+ goto label22;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_HashMap_rehash___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_rehash___int]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "rehash", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r8.o = me;
+ _r9.i = n1;
+ _r7.i = 1;
+ XMLVM_SOURCE_POSITION("HashMap.java", 636)
+ if (_r9.i != 0) goto label24;
+ _r0 = _r7;
+ label4:;
+ _r0.i = java_util_HashMap_calculateCapacity___int(_r0.i);
+ XMLVM_SOURCE_POSITION("HashMap.java", 638)
+ XMLVM_CHECK_NPE(8)
+ _r1.o = java_util_HashMap_newElementArray___int(_r8.o, _r0.i);
+ XMLVM_SOURCE_POSITION("HashMap.java", 639)
+ _r2.i = 0;
+ label13:;
+ XMLVM_CHECK_NPE(8)
+ _r3.o = ((java_util_HashMap*) _r8.o)->fields.java_util_HashMap.elementData_;
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ if (_r2.i < _r3.i) goto label27;
+ XMLVM_SOURCE_POSITION("HashMap.java", 650)
+ XMLVM_CHECK_NPE(8)
+ ((java_util_HashMap*) _r8.o)->fields.java_util_HashMap.elementData_ = _r1.o;
+ XMLVM_SOURCE_POSITION("HashMap.java", 651)
+ XMLVM_CHECK_NPE(8)
+ java_util_HashMap_computeThreshold__(_r8.o);
+ XMLVM_SOURCE_POSITION("HashMap.java", 652)
+ XMLVM_EXIT_METHOD()
+ return;
+ label24:;
+ _r0.i = _r9.i << 1;
+ goto label4;
+ label27:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 640)
+ XMLVM_CHECK_NPE(8)
+ _r3.o = ((java_util_HashMap*) _r8.o)->fields.java_util_HashMap.elementData_;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
+ _r3.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_SOURCE_POSITION("HashMap.java", 641)
+ XMLVM_CHECK_NPE(8)
+ _r4.o = ((java_util_HashMap*) _r8.o)->fields.java_util_HashMap.elementData_;
+ _r5.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r2.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r5.o;
+ label36:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 642)
+ if (_r3.o != JAVA_NULL) goto label41;
+ _r2.i = _r2.i + 1;
+ goto label13;
+ label41:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 643)
+ XMLVM_CHECK_NPE(3)
+ _r4.i = ((java_util_HashMap_Entry*) _r3.o)->fields.java_util_HashMap_Entry.origKeyHash_;
+ _r5.i = _r0.i - _r7.i;
+ _r4.i = _r4.i & _r5.i;
+ XMLVM_SOURCE_POSITION("HashMap.java", 644)
+ XMLVM_CHECK_NPE(3)
+ _r5.o = ((java_util_HashMap_Entry*) _r3.o)->fields.java_util_HashMap_Entry.next_;
+ XMLVM_SOURCE_POSITION("HashMap.java", 645)
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r4.i);
+ _r6.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ XMLVM_CHECK_NPE(3)
+ ((java_util_HashMap_Entry*) _r3.o)->fields.java_util_HashMap_Entry.next_ = _r6.o;
+ XMLVM_SOURCE_POSITION("HashMap.java", 646)
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r3.o;
+ _r3 = _r5;
+ XMLVM_SOURCE_POSITION("HashMap.java", 647)
+ goto label36;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_HashMap_rehash__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_rehash__]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "rehash", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("HashMap.java", 655)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_HashMap*) _r1.o)->fields.java_util_HashMap.elementData_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ XMLVM_CHECK_NPE(1)
+ java_util_HashMap_rehash___int(_r1.o, _r0.i);
+ XMLVM_SOURCE_POSITION("HashMap.java", 656)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_HashMap_remove___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_remove___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "remove", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("HashMap.java", 668)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_HashMap_removeEntry___java_lang_Object(_r1.o, _r2.o);
+ XMLVM_SOURCE_POSITION("HashMap.java", 669)
+ if (_r0.o == JAVA_NULL) goto label9;
+ XMLVM_SOURCE_POSITION("HashMap.java", 670)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_MapEntry*) _r0.o)->fields.java_util_MapEntry.value_;
+ label8:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 672)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label9:;
+ _r0.o = JAVA_NULL;
+ goto label8;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_HashMap_removeEntry___java_util_HashMap_Entry(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_removeEntry___java_util_HashMap_Entry]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "removeEntry", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.o = n1;
+ _r3.i = 1;
+ XMLVM_SOURCE_POSITION("HashMap.java", 680)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_util_HashMap_Entry*) _r5.o)->fields.java_util_HashMap_Entry.origKeyHash_;
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_util_HashMap*) _r4.o)->fields.java_util_HashMap.elementData_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ _r1.i = _r1.i - _r3.i;
+ _r0.i = _r0.i & _r1.i;
+ XMLVM_SOURCE_POSITION("HashMap.java", 681)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_util_HashMap*) _r4.o)->fields.java_util_HashMap.elementData_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_SOURCE_POSITION("HashMap.java", 682)
+ if (_r1.o != _r5.o) goto label43;
+ XMLVM_SOURCE_POSITION("HashMap.java", 683)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_util_HashMap*) _r4.o)->fields.java_util_HashMap.elementData_;
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_util_HashMap_Entry*) _r5.o)->fields.java_util_HashMap_Entry.next_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r2.o;
+ label20:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 691)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_util_HashMap*) _r4.o)->fields.java_util_HashMap.modCount_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(4)
+ ((java_util_HashMap*) _r4.o)->fields.java_util_HashMap.modCount_ = _r0.i;
+ XMLVM_SOURCE_POSITION("HashMap.java", 692)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_util_HashMap*) _r4.o)->fields.java_util_HashMap.elementCount_;
+ _r0.i = _r0.i - _r3.i;
+ XMLVM_CHECK_NPE(4)
+ ((java_util_HashMap*) _r4.o)->fields.java_util_HashMap.elementCount_ = _r0.i;
+ XMLVM_SOURCE_POSITION("HashMap.java", 693)
+ XMLVM_EXIT_METHOD()
+ return;
+ label32:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 686)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_HashMap_Entry*) _r0.o)->fields.java_util_HashMap_Entry.next_;
+ label34:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 685)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = ((java_util_HashMap_Entry*) _r0.o)->fields.java_util_HashMap_Entry.next_;
+ if (_r1.o != _r5.o) goto label32;
+ XMLVM_SOURCE_POSITION("HashMap.java", 688)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = ((java_util_HashMap_Entry*) _r5.o)->fields.java_util_HashMap_Entry.next_;
+ XMLVM_CHECK_NPE(0)
+ ((java_util_HashMap_Entry*) _r0.o)->fields.java_util_HashMap_Entry.next_ = _r1.o;
+ goto label20;
+ label43:;
+ _r0 = _r1;
+ goto label34;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_HashMap_removeEntry___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_removeEntry___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "removeEntry", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r8.o = me;
+ _r9.o = n1;
+ _r6.o = JAVA_NULL;
+ _r5.i = 1;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("HashMap.java", 696)
+ XMLVM_SOURCE_POSITION("HashMap.java", 699)
+ if (_r9.o == JAVA_NULL) goto label47;
+ XMLVM_SOURCE_POSITION("HashMap.java", 700)
+ _r0.i = java_util_HashMap_computeHashCode___java_lang_Object(_r9.o);
+ XMLVM_SOURCE_POSITION("HashMap.java", 701)
+ XMLVM_CHECK_NPE(8)
+ _r1.o = ((java_util_HashMap*) _r8.o)->fields.java_util_HashMap.elementData_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ _r1.i = _r1.i - _r5.i;
+ _r1.i = _r1.i & _r0.i;
+ XMLVM_SOURCE_POSITION("HashMap.java", 702)
+ XMLVM_CHECK_NPE(8)
+ _r2.o = ((java_util_HashMap*) _r8.o)->fields.java_util_HashMap.elementData_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ _r3 = _r2;
+ _r2 = _r6;
+ label20:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 703)
+ if (_r3.o == JAVA_NULL) goto label93;
+ XMLVM_CHECK_NPE(3)
+ _r4.i = ((java_util_HashMap_Entry*) _r3.o)->fields.java_util_HashMap_Entry.origKeyHash_;
+ if (_r4.i != _r0.i) goto label41;
+ XMLVM_CHECK_NPE(3)
+ _r4.o = ((java_util_MapEntry*) _r3.o)->fields.java_util_MapEntry.key_;
+ _r4.i = java_util_HashMap_areEqualKeys___java_lang_Object_java_lang_Object(_r9.o, _r4.o);
+ if (_r4.i == 0) goto label41;
+ _r0 = _r2;
+ _r2 = _r1;
+ _r1 = _r3;
+ label37:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 714)
+ if (_r1.o != JAVA_NULL) goto label67;
+ _r0 = _r6;
+ label40:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 715)
+ XMLVM_SOURCE_POSITION("HashMap.java", 724)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label41:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 705)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_util_HashMap_Entry*) _r3.o)->fields.java_util_HashMap_Entry.next_;
+ _r7 = _r3;
+ _r3 = _r2;
+ _r2 = _r7;
+ goto label20;
+ label47:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 708)
+ XMLVM_CHECK_NPE(8)
+ _r0.o = ((java_util_HashMap*) _r8.o)->fields.java_util_HashMap.elementData_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
+ _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ _r1 = _r0;
+ _r0 = _r6;
+ label53:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 709)
+ if (_r1.o == JAVA_NULL) goto label59;
+ XMLVM_CHECK_NPE(1)
+ _r2.o = ((java_util_MapEntry*) _r1.o)->fields.java_util_MapEntry.key_;
+ if (_r2.o != JAVA_NULL) goto label61;
+ label59:;
+ _r2 = _r3;
+ goto label37;
+ label61:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 711)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_HashMap_Entry*) _r1.o)->fields.java_util_HashMap_Entry.next_;
+ _r7 = _r1;
+ _r1 = _r0;
+ _r0 = _r7;
+ goto label53;
+ label67:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 717)
+ if (_r0.o != JAVA_NULL) goto label88;
+ XMLVM_SOURCE_POSITION("HashMap.java", 718)
+ XMLVM_CHECK_NPE(8)
+ _r0.o = ((java_util_HashMap*) _r8.o)->fields.java_util_HashMap.elementData_;
+ XMLVM_CHECK_NPE(1)
+ _r3.o = ((java_util_HashMap_Entry*) _r1.o)->fields.java_util_HashMap_Entry.next_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r3.o;
+ label75:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 722)
+ XMLVM_CHECK_NPE(8)
+ _r0.i = ((java_util_HashMap*) _r8.o)->fields.java_util_HashMap.modCount_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(8)
+ ((java_util_HashMap*) _r8.o)->fields.java_util_HashMap.modCount_ = _r0.i;
+ XMLVM_SOURCE_POSITION("HashMap.java", 723)
+ XMLVM_CHECK_NPE(8)
+ _r0.i = ((java_util_HashMap*) _r8.o)->fields.java_util_HashMap.elementCount_;
+ _r0.i = _r0.i - _r5.i;
+ XMLVM_CHECK_NPE(8)
+ ((java_util_HashMap*) _r8.o)->fields.java_util_HashMap.elementCount_ = _r0.i;
+ _r0 = _r1;
+ goto label40;
+ label88:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 720)
+ XMLVM_CHECK_NPE(1)
+ _r2.o = ((java_util_HashMap_Entry*) _r1.o)->fields.java_util_HashMap_Entry.next_;
+ XMLVM_CHECK_NPE(0)
+ ((java_util_HashMap_Entry*) _r0.o)->fields.java_util_HashMap_Entry.next_ = _r2.o;
+ goto label75;
+ label93:;
+ _r0 = _r2;
+ _r2 = _r1;
+ _r1 = _r3;
+ goto label37;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_HashMap_size__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_size__]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "size", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("HashMap.java", 734)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_util_HashMap*) _r1.o)->fields.java_util_HashMap.elementCount_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_HashMap_values__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_values__]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "values", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("HashMap.java", 758)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.valuesCollection_;
+ if (_r0.o != JAVA_NULL) goto label11;
+ XMLVM_SOURCE_POSITION("HashMap.java", 759)
+
+
+ // Red class access removed: java.util.HashMap$2::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.HashMap$2::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(1)
+ ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.valuesCollection_ = _r0.o;
+ label11:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 781)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.valuesCollection_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_HashMap_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_writeObject___java_io_ObjectOutputStream]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "writeObject", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("HashMap.java", 785)
+
+
+ // Red class access removed: java.io.ObjectOutputStream::defaultWriteObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("HashMap.java", 786)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementData_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+
+
+ // Red class access removed: java.io.ObjectOutputStream::writeInt
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("HashMap.java", 787)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_util_HashMap*) _r2.o)->fields.java_util_HashMap.elementCount_;
+
+
+ // Red class access removed: java.io.ObjectOutputStream::writeInt
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("HashMap.java", 788)
+ //java_util_HashMap_entrySet__[9]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_HashMap*) _r2.o)->tib->vtable[9])(_r2.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Set_iterator__])(_r0.o);
+ label22:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 789)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r1.i != 0) goto label29;
+ XMLVM_SOURCE_POSITION("HashMap.java", 795)
+ XMLVM_EXIT_METHOD()
+ return;
+ label29:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 790)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+ _r2.o = _r2.o;
+ XMLVM_SOURCE_POSITION("HashMap.java", 791)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_MapEntry*) _r2.o)->fields.java_util_MapEntry.key_;
+
+
+ // Red class access removed: java.io.ObjectOutputStream::writeObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("HashMap.java", 792)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_MapEntry*) _r2.o)->fields.java_util_MapEntry.value_;
+
+
+ // Red class access removed: java.io.ObjectOutputStream::writeObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("HashMap.java", 793)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_HashMap_Entry*) _r2.o)->fields.java_util_HashMap_Entry.next_;
+ goto label22;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_HashMap_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_readObject___java_io_ObjectInputStream]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "readObject", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r5.o = me;
+ _r6.o = n1;
+ XMLVM_SOURCE_POSITION("HashMap.java", 800)
+
+
+ // Red class access removed: java.io.ObjectInputStream::defaultReadObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("HashMap.java", 801)
+
+
+ // Red class access removed: java.io.ObjectInputStream::readInt
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("HashMap.java", 802)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = java_util_HashMap_newElementArray___int(_r5.o, _r0.i);
+ XMLVM_CHECK_NPE(5)
+ ((java_util_HashMap*) _r5.o)->fields.java_util_HashMap.elementData_ = _r1.o;
+ XMLVM_SOURCE_POSITION("HashMap.java", 803)
+
+
+ // Red class access removed: java.io.ObjectInputStream::readInt
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(5)
+ ((java_util_HashMap*) _r5.o)->fields.java_util_HashMap.elementCount_ = _r1.i;
+ XMLVM_SOURCE_POSITION("HashMap.java", 804)
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_util_HashMap*) _r5.o)->fields.java_util_HashMap.elementCount_;
+ label21:;
+ _r1.i = _r1.i + -1;
+ if (_r1.i >= 0) goto label26;
+ XMLVM_SOURCE_POSITION("HashMap.java", 809)
+ XMLVM_EXIT_METHOD()
+ return;
+ label26:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 805)
+
+
+ // Red class access removed: java.io.ObjectInputStream::readObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("HashMap.java", 806)
+ if (_r2.o != JAVA_NULL) goto label41;
+ _r3.i = 0;
+ label33:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 807)
+
+
+ // Red class access removed: java.io.ObjectInputStream::readObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(5)
+ java_util_HashMap_createEntry___java_lang_Object_int_java_lang_Object(_r5.o, _r2.o, _r3.i, _r4.o);
+ goto label21;
+ label41:;
+ _r3.i = java_util_HashMap_computeHashCode___java_lang_Object(_r2.o);
+ _r4.i = 1;
+ _r4.i = _r0.i - _r4.i;
+ _r3.i = _r3.i & _r4.i;
+ goto label33;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_HashMap_computeHashCode___java_lang_Object(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_HashMap)
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_computeHashCode___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "computeHashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("HashMap.java", 815)
+ //java_lang_Object_hashCode__[4]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r1.o)->tib->vtable[4])(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_HashMap_areEqualKeys___java_lang_Object_java_lang_Object(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_util_HashMap)
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_areEqualKeys___java_lang_Object_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "areEqualKeys", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("HashMap.java", 819)
+ if (_r1.o == _r2.o) goto label10;
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r1.o)->tib->vtable[1])(_r1.o, _r2.o);
+ if (_r0.i != 0) goto label10;
+ _r0.i = 0;
+ label9:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label10:;
+ _r0.i = 1;
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_HashMap_areEqualValues___java_lang_Object_java_lang_Object(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(java_util_HashMap)
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_areEqualValues___java_lang_Object_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.HashMap", "areEqualValues", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("HashMap.java", 823)
+ if (_r1.o == _r2.o) goto label10;
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r1.o)->tib->vtable[1])(_r1.o, _r2.o);
+ if (_r0.i != 0) goto label10;
+ _r0.i = 0;
+ label9:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label10:;
+ _r0.i = 1;
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_HashMap.h b/tests/nbody-java/java_util_HashMap.h
new file mode 100644
index 00000000..23cfbfbb
--- /dev/null
+++ b/tests/nbody-java/java_util_HashMap.h
@@ -0,0 +1,148 @@
+#ifndef __JAVA_UTIL_HASHMAP__
+#define __JAVA_UTIL_HASHMAP__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_HashMap 14
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+#include "java_lang_Cloneable.h"
+#include "java_util_Map.h"
+// Super Class:
+#include "java_util_AbstractMap.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Collection
+#define XMLVM_FORWARD_DECL_java_util_Collection
+XMLVM_FORWARD_DECL(java_util_Collection)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_HashMap_Entry
+#define XMLVM_FORWARD_DECL_java_util_HashMap_Entry
+XMLVM_FORWARD_DECL(java_util_HashMap_Entry)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Iterator
+#define XMLVM_FORWARD_DECL_java_util_Iterator
+XMLVM_FORWARD_DECL(java_util_Iterator)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Map_Entry
+#define XMLVM_FORWARD_DECL_java_util_Map_Entry
+XMLVM_FORWARD_DECL(java_util_Map_Entry)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Set
+#define XMLVM_FORWARD_DECL_java_util_Set
+XMLVM_FORWARD_DECL(java_util_Set)
+#endif
+// Class declarations for java.util.HashMap
+XMLVM_DEFINE_CLASS(java_util_HashMap, 18, XMLVM_ITABLE_SIZE_java_util_HashMap)
+
+extern JAVA_OBJECT __CLASS_java_util_HashMap;
+extern JAVA_OBJECT __CLASS_java_util_HashMap_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_HashMap_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_HashMap_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_HashMap
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_HashMap \
+ __INSTANCE_FIELDS_java_util_AbstractMap; \
+ struct { \
+ JAVA_INT elementCount_; \
+ JAVA_OBJECT elementData_; \
+ JAVA_INT modCount_; \
+ JAVA_FLOAT loadFactor_; \
+ JAVA_INT threshold_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_HashMap \
+ } java_util_HashMap
+
+struct java_util_HashMap {
+ __TIB_DEFINITION_java_util_HashMap* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_HashMap;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_HashMap
+#define XMLVM_FORWARD_DECL_java_util_HashMap
+typedef struct java_util_HashMap java_util_HashMap;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_HashMap 18
+#define XMLVM_VTABLE_IDX_java_util_HashMap_clear__ 6
+#define XMLVM_VTABLE_IDX_java_util_HashMap_clone__ 0
+#define XMLVM_VTABLE_IDX_java_util_HashMap_containsKey___java_lang_Object 7
+#define XMLVM_VTABLE_IDX_java_util_HashMap_containsValue___java_lang_Object 8
+#define XMLVM_VTABLE_IDX_java_util_HashMap_entrySet__ 9
+#define XMLVM_VTABLE_IDX_java_util_HashMap_get___java_lang_Object 10
+#define XMLVM_VTABLE_IDX_java_util_HashMap_isEmpty__ 11
+#define XMLVM_VTABLE_IDX_java_util_HashMap_keySet__ 12
+#define XMLVM_VTABLE_IDX_java_util_HashMap_put___java_lang_Object_java_lang_Object 14
+#define XMLVM_VTABLE_IDX_java_util_HashMap_putAll___java_util_Map 13
+#define XMLVM_VTABLE_IDX_java_util_HashMap_remove___java_lang_Object 15
+#define XMLVM_VTABLE_IDX_java_util_HashMap_size__ 16
+#define XMLVM_VTABLE_IDX_java_util_HashMap_values__ 17
+
+void __INIT_java_util_HashMap();
+void __INIT_IMPL_java_util_HashMap();
+void __DELETE_java_util_HashMap(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_HashMap(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_HashMap();
+JAVA_OBJECT __NEW_INSTANCE_java_util_HashMap();
+JAVA_LONG java_util_HashMap_GET_serialVersionUID();
+void java_util_HashMap_PUT_serialVersionUID(JAVA_LONG v);
+JAVA_INT java_util_HashMap_GET_DEFAULT_SIZE();
+void java_util_HashMap_PUT_DEFAULT_SIZE(JAVA_INT v);
+JAVA_OBJECT java_util_HashMap_newElementArray___int(JAVA_OBJECT me, JAVA_INT n1);
+void java_util_HashMap___INIT___(JAVA_OBJECT me);
+void java_util_HashMap___INIT____int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_INT java_util_HashMap_calculateCapacity___int(JAVA_INT n1);
+void java_util_HashMap___INIT____int_float(JAVA_OBJECT me, JAVA_INT n1, JAVA_FLOAT n2);
+void java_util_HashMap___INIT____java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 6
+void java_util_HashMap_clear__(JAVA_OBJECT me);
+// Vtable index: 0
+JAVA_OBJECT java_util_HashMap_clone__(JAVA_OBJECT me);
+void java_util_HashMap_computeThreshold__(JAVA_OBJECT me);
+// Vtable index: 7
+JAVA_BOOLEAN java_util_HashMap_containsKey___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 8
+JAVA_BOOLEAN java_util_HashMap_containsValue___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 9
+JAVA_OBJECT java_util_HashMap_entrySet__(JAVA_OBJECT me);
+// Vtable index: 10
+JAVA_OBJECT java_util_HashMap_get___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_util_HashMap_getEntry___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_util_HashMap_findNonNullKeyEntry___java_lang_Object_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+JAVA_OBJECT java_util_HashMap_findNullKeyEntry__(JAVA_OBJECT me);
+// Vtable index: 11
+JAVA_BOOLEAN java_util_HashMap_isEmpty__(JAVA_OBJECT me);
+// Vtable index: 12
+JAVA_OBJECT java_util_HashMap_keySet__(JAVA_OBJECT me);
+// Vtable index: 14
+JAVA_OBJECT java_util_HashMap_put___java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_util_HashMap_putImpl___java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_util_HashMap_createEntry___java_lang_Object_int_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3);
+JAVA_OBJECT java_util_HashMap_createHashedEntry___java_lang_Object_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+// Vtable index: 13
+void java_util_HashMap_putAll___java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_HashMap_putAllImpl___java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_HashMap_rehash___int(JAVA_OBJECT me, JAVA_INT n1);
+void java_util_HashMap_rehash__(JAVA_OBJECT me);
+// Vtable index: 15
+JAVA_OBJECT java_util_HashMap_remove___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_HashMap_removeEntry___java_util_HashMap_Entry(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_util_HashMap_removeEntry___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 16
+JAVA_INT java_util_HashMap_size__(JAVA_OBJECT me);
+// Vtable index: 17
+JAVA_OBJECT java_util_HashMap_values__(JAVA_OBJECT me);
+void java_util_HashMap_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_HashMap_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_INT java_util_HashMap_computeHashCode___java_lang_Object(JAVA_OBJECT n1);
+JAVA_BOOLEAN java_util_HashMap_areEqualKeys___java_lang_Object_java_lang_Object(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_BOOLEAN java_util_HashMap_areEqualValues___java_lang_Object_java_lang_Object(JAVA_OBJECT n1, JAVA_OBJECT n2);
+
+#endif
diff --git a/tests/nbody-java/java_util_HashMap_Entry.c b/tests/nbody-java/java_util_HashMap_Entry.c
new file mode 100644
index 00000000..e00bf214
--- /dev/null
+++ b/tests/nbody-java/java_util_HashMap_Entry.c
@@ -0,0 +1,247 @@
+#include "xmlvm.h"
+#include "java_lang_Object.h"
+#include "java_util_HashMap.h"
+
+#include "java_util_HashMap_Entry.h"
+
+#define XMLVM_CURRENT_CLASS_NAME HashMap_Entry
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_HashMap_Entry
+
+__TIB_DEFINITION_java_util_HashMap_Entry __TIB_java_util_HashMap_Entry = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_HashMap_Entry, // classInitializer
+ "java.util.HashMap$Entry", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/util/MapEntry<TK;TV;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_MapEntry, // extends
+ sizeof(java_util_HashMap_Entry), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_HashMap_Entry;
+JAVA_OBJECT __CLASS_java_util_HashMap_Entry_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_HashMap_Entry_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_HashMap_Entry_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_HashMap_Entry()
+{
+ staticInitializerLock(&__TIB_java_util_HashMap_Entry);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_HashMap_Entry.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_HashMap_Entry.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_HashMap_Entry);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_HashMap_Entry.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_HashMap_Entry.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_HashMap_Entry.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.HashMap$Entry")
+ __INIT_IMPL_java_util_HashMap_Entry();
+ }
+}
+
+void __INIT_IMPL_java_util_HashMap_Entry()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_util_MapEntry)
+ __TIB_java_util_HashMap_Entry.newInstanceFunc = __NEW_INSTANCE_java_util_HashMap_Entry;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_HashMap_Entry.vtable, __TIB_java_util_MapEntry.vtable, sizeof(__TIB_java_util_MapEntry.vtable));
+ // Initialize vtable for this class
+ __TIB_java_util_HashMap_Entry.vtable[0] = (VTABLE_PTR) &java_util_HashMap_Entry_clone__;
+ // Initialize interface information
+ __TIB_java_util_HashMap_Entry.numImplementedInterfaces = 2;
+ __TIB_java_util_HashMap_Entry.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_lang_Cloneable)
+
+ __TIB_java_util_HashMap_Entry.implementedInterfaces[0][0] = &__TIB_java_lang_Cloneable;
+
+ XMLVM_CLASS_INIT(java_util_Map_Entry)
+
+ __TIB_java_util_HashMap_Entry.implementedInterfaces[0][1] = &__TIB_java_util_Map_Entry;
+ // Initialize itable for this class
+ __TIB_java_util_HashMap_Entry.itableBegin = &__TIB_java_util_HashMap_Entry.itable[0];
+ __TIB_java_util_HashMap_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_equals___java_lang_Object] = __TIB_java_util_HashMap_Entry.vtable[1];
+ __TIB_java_util_HashMap_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__] = __TIB_java_util_HashMap_Entry.vtable[6];
+ __TIB_java_util_HashMap_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__] = __TIB_java_util_HashMap_Entry.vtable[7];
+ __TIB_java_util_HashMap_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_hashCode__] = __TIB_java_util_HashMap_Entry.vtable[4];
+ __TIB_java_util_HashMap_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_setValue___java_lang_Object] = __TIB_java_util_HashMap_Entry.vtable[8];
+
+
+ __TIB_java_util_HashMap_Entry.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_HashMap_Entry.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_HashMap_Entry.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_HashMap_Entry.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_HashMap_Entry.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_HashMap_Entry.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_HashMap_Entry.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_HashMap_Entry.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_HashMap_Entry = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_HashMap_Entry);
+ __TIB_java_util_HashMap_Entry.clazz = __CLASS_java_util_HashMap_Entry;
+ __TIB_java_util_HashMap_Entry.baseType = JAVA_NULL;
+ __CLASS_java_util_HashMap_Entry_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_HashMap_Entry);
+ __CLASS_java_util_HashMap_Entry_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_HashMap_Entry_1ARRAY);
+ __CLASS_java_util_HashMap_Entry_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_HashMap_Entry_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_HashMap_Entry]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_HashMap_Entry.classInitialized = 1;
+}
+
+void __DELETE_java_util_HashMap_Entry(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_HashMap_Entry]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_HashMap_Entry(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_util_MapEntry(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_util_HashMap_Entry*) me)->fields.java_util_HashMap_Entry.origKeyHash_ = 0;
+ ((java_util_HashMap_Entry*) me)->fields.java_util_HashMap_Entry.next_ = (java_util_HashMap_Entry*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_HashMap_Entry]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_HashMap_Entry()
+{ XMLVM_CLASS_INIT(java_util_HashMap_Entry)
+java_util_HashMap_Entry* me = (java_util_HashMap_Entry*) XMLVM_MALLOC(sizeof(java_util_HashMap_Entry));
+ me->tib = &__TIB_java_util_HashMap_Entry;
+ __INIT_INSTANCE_MEMBERS_java_util_HashMap_Entry(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_HashMap_Entry]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_HashMap_Entry()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+void java_util_HashMap_Entry___INIT____java_lang_Object_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_Entry___INIT____java_lang_Object_int]
+ XMLVM_ENTER_METHOD("java.util.HashMap$Entry", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.i = n2;
+ XMLVM_SOURCE_POSITION("HashMap.java", 74)
+ _r0.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(1)
+ java_util_MapEntry___INIT____java_lang_Object_java_lang_Object(_r1.o, _r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("HashMap.java", 75)
+ XMLVM_CHECK_NPE(1)
+ ((java_util_HashMap_Entry*) _r1.o)->fields.java_util_HashMap_Entry.origKeyHash_ = _r3.i;
+ XMLVM_SOURCE_POSITION("HashMap.java", 76)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_HashMap_Entry___INIT____java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_Entry___INIT____java_lang_Object_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.HashMap$Entry", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("HashMap.java", 79)
+ XMLVM_CHECK_NPE(1)
+ java_util_MapEntry___INIT____java_lang_Object_java_lang_Object(_r1.o, _r2.o, _r3.o);
+ XMLVM_SOURCE_POSITION("HashMap.java", 80)
+ if (_r2.o != JAVA_NULL) goto label9;
+ _r0.i = 0;
+ label6:;
+ XMLVM_CHECK_NPE(1)
+ ((java_util_HashMap_Entry*) _r1.o)->fields.java_util_HashMap_Entry.origKeyHash_ = _r0.i;
+ XMLVM_SOURCE_POSITION("HashMap.java", 81)
+ XMLVM_EXIT_METHOD()
+ return;
+ label9:;
+ _r0.i = java_util_HashMap_computeHashCode___java_lang_Object(_r2.o);
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_HashMap_Entry_clone__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashMap_Entry_clone__]
+ XMLVM_ENTER_METHOD("java.util.HashMap$Entry", "clone", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("HashMap.java", 86)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_util_MapEntry_clone__(_r2.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("HashMap.java", 87)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_HashMap_Entry*) _r2.o)->fields.java_util_HashMap_Entry.next_;
+ if (_r1.o == JAVA_NULL) goto label20;
+ XMLVM_SOURCE_POSITION("HashMap.java", 88)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_HashMap_Entry*) _r2.o)->fields.java_util_HashMap_Entry.next_;
+ //java_util_HashMap_Entry_clone__[0]
+ XMLVM_CHECK_NPE(1)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_HashMap_Entry*) _r1.o)->tib->vtable[0])(_r1.o);
+ _r2.o = _r2.o;
+ XMLVM_CHECK_NPE(0)
+ ((java_util_HashMap_Entry*) _r0.o)->fields.java_util_HashMap_Entry.next_ = _r2.o;
+ label20:;
+ XMLVM_SOURCE_POSITION("HashMap.java", 90)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_HashMap_Entry.h b/tests/nbody-java/java_util_HashMap_Entry.h
new file mode 100644
index 00000000..84d7b7de
--- /dev/null
+++ b/tests/nbody-java/java_util_HashMap_Entry.h
@@ -0,0 +1,65 @@
+#ifndef __JAVA_UTIL_HASHMAP_ENTRY__
+#define __JAVA_UTIL_HASHMAP_ENTRY__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_HashMap_Entry 5
+// Implemented interfaces:
+// Super Class:
+#include "java_util_MapEntry.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_HashMap
+#define XMLVM_FORWARD_DECL_java_util_HashMap
+XMLVM_FORWARD_DECL(java_util_HashMap)
+#endif
+// Class declarations for java.util.HashMap$Entry
+XMLVM_DEFINE_CLASS(java_util_HashMap_Entry, 9, XMLVM_ITABLE_SIZE_java_util_HashMap_Entry)
+
+extern JAVA_OBJECT __CLASS_java_util_HashMap_Entry;
+extern JAVA_OBJECT __CLASS_java_util_HashMap_Entry_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_HashMap_Entry_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_HashMap_Entry_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_HashMap_Entry
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_HashMap_Entry \
+ __INSTANCE_FIELDS_java_util_MapEntry; \
+ struct { \
+ JAVA_INT origKeyHash_; \
+ JAVA_OBJECT next_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_HashMap_Entry \
+ } java_util_HashMap_Entry
+
+struct java_util_HashMap_Entry {
+ __TIB_DEFINITION_java_util_HashMap_Entry* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_HashMap_Entry;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_HashMap_Entry
+#define XMLVM_FORWARD_DECL_java_util_HashMap_Entry
+typedef struct java_util_HashMap_Entry java_util_HashMap_Entry;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_HashMap_Entry 9
+#define XMLVM_VTABLE_IDX_java_util_HashMap_Entry_clone__ 0
+
+void __INIT_java_util_HashMap_Entry();
+void __INIT_IMPL_java_util_HashMap_Entry();
+void __DELETE_java_util_HashMap_Entry(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_HashMap_Entry(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_HashMap_Entry();
+JAVA_OBJECT __NEW_INSTANCE_java_util_HashMap_Entry();
+void java_util_HashMap_Entry___INIT____java_lang_Object_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2);
+void java_util_HashMap_Entry___INIT____java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+// Vtable index: 0
+JAVA_OBJECT java_util_HashMap_Entry_clone__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_util_HashSet.c b/tests/nbody-java/java_util_HashSet.c
new file mode 100644
index 00000000..e9a34c2f
--- /dev/null
+++ b/tests/nbody-java/java_util_HashSet.c
@@ -0,0 +1,707 @@
+#include "xmlvm.h"
+#include "java_lang_Object.h"
+#include "java_util_Collection.h"
+#include "java_util_HashMap.h"
+#include "java_util_HashMap_Entry.h"
+#include "java_util_Iterator.h"
+
+#include "java_util_HashSet.h"
+
+#define XMLVM_CURRENT_CLASS_NAME HashSet
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_HashSet
+
+__TIB_DEFINITION_java_util_HashSet __TIB_java_util_HashSet = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_HashSet, // classInitializer
+ "java.util.HashSet", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<E:Ljava/lang/Object;>Ljava/util/AbstractSet<TE;>;Ljava/util/Set<TE;>;Ljava/lang/Cloneable;Ljava/io/Serializable;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_AbstractSet, // extends
+ sizeof(java_util_HashSet), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_HashSet;
+JAVA_OBJECT __CLASS_java_util_HashSet_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_HashSet_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_HashSet_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_util_HashSet_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_HashSet()
+{
+ staticInitializerLock(&__TIB_java_util_HashSet);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_HashSet.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_HashSet.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_HashSet);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_HashSet.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_HashSet.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_HashSet.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.HashSet")
+ __INIT_IMPL_java_util_HashSet();
+ }
+}
+
+void __INIT_IMPL_java_util_HashSet()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_util_AbstractSet)
+ __TIB_java_util_HashSet.newInstanceFunc = __NEW_INSTANCE_java_util_HashSet;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_HashSet.vtable, __TIB_java_util_AbstractSet.vtable, sizeof(__TIB_java_util_AbstractSet.vtable));
+ // Initialize vtable for this class
+ __TIB_java_util_HashSet.vtable[7] = (VTABLE_PTR) &java_util_HashSet_add___java_lang_Object;
+ __TIB_java_util_HashSet.vtable[8] = (VTABLE_PTR) &java_util_HashSet_clear__;
+ __TIB_java_util_HashSet.vtable[0] = (VTABLE_PTR) &java_util_HashSet_clone__;
+ __TIB_java_util_HashSet.vtable[10] = (VTABLE_PTR) &java_util_HashSet_contains___java_lang_Object;
+ __TIB_java_util_HashSet.vtable[11] = (VTABLE_PTR) &java_util_HashSet_isEmpty__;
+ __TIB_java_util_HashSet.vtable[12] = (VTABLE_PTR) &java_util_HashSet_iterator__;
+ __TIB_java_util_HashSet.vtable[14] = (VTABLE_PTR) &java_util_HashSet_remove___java_lang_Object;
+ __TIB_java_util_HashSet.vtable[16] = (VTABLE_PTR) &java_util_HashSet_size__;
+ // Initialize interface information
+ __TIB_java_util_HashSet.numImplementedInterfaces = 5;
+ __TIB_java_util_HashSet.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 5);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_util_HashSet.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_lang_Cloneable)
+
+ __TIB_java_util_HashSet.implementedInterfaces[0][1] = &__TIB_java_lang_Cloneable;
+
+ XMLVM_CLASS_INIT(java_lang_Iterable)
+
+ __TIB_java_util_HashSet.implementedInterfaces[0][2] = &__TIB_java_lang_Iterable;
+
+ XMLVM_CLASS_INIT(java_util_Collection)
+
+ __TIB_java_util_HashSet.implementedInterfaces[0][3] = &__TIB_java_util_Collection;
+
+ XMLVM_CLASS_INIT(java_util_Set)
+
+ __TIB_java_util_HashSet.implementedInterfaces[0][4] = &__TIB_java_util_Set;
+ // Initialize itable for this class
+ __TIB_java_util_HashSet.itableBegin = &__TIB_java_util_HashSet.itable[0];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_lang_Iterable_iterator__] = __TIB_java_util_HashSet.vtable[12];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_addAll___java_util_Collection] = __TIB_java_util_HashSet.vtable[6];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_add___java_lang_Object] = __TIB_java_util_HashSet.vtable[7];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_clear__] = __TIB_java_util_HashSet.vtable[8];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_containsAll___java_util_Collection] = __TIB_java_util_HashSet.vtable[9];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_contains___java_lang_Object] = __TIB_java_util_HashSet.vtable[10];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_equals___java_lang_Object] = __TIB_java_util_HashSet.vtable[1];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_hashCode__] = __TIB_java_util_HashSet.vtable[4];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_isEmpty__] = __TIB_java_util_HashSet.vtable[11];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_iterator__] = __TIB_java_util_HashSet.vtable[12];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_removeAll___java_util_Collection] = __TIB_java_util_HashSet.vtable[13];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_remove___java_lang_Object] = __TIB_java_util_HashSet.vtable[14];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_retainAll___java_util_Collection] = __TIB_java_util_HashSet.vtable[15];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_size__] = __TIB_java_util_HashSet.vtable[16];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_toArray__] = __TIB_java_util_HashSet.vtable[17];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Collection_toArray___java_lang_Object_1ARRAY] = __TIB_java_util_HashSet.vtable[18];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Set_addAll___java_util_Collection] = __TIB_java_util_HashSet.vtable[6];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Set_add___java_lang_Object] = __TIB_java_util_HashSet.vtable[7];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Set_clear__] = __TIB_java_util_HashSet.vtable[8];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Set_containsAll___java_util_Collection] = __TIB_java_util_HashSet.vtable[9];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Set_contains___java_lang_Object] = __TIB_java_util_HashSet.vtable[10];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Set_equals___java_lang_Object] = __TIB_java_util_HashSet.vtable[1];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Set_hashCode__] = __TIB_java_util_HashSet.vtable[4];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Set_isEmpty__] = __TIB_java_util_HashSet.vtable[11];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Set_iterator__] = __TIB_java_util_HashSet.vtable[12];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Set_removeAll___java_util_Collection] = __TIB_java_util_HashSet.vtable[13];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Set_remove___java_lang_Object] = __TIB_java_util_HashSet.vtable[14];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Set_retainAll___java_util_Collection] = __TIB_java_util_HashSet.vtable[15];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Set_size__] = __TIB_java_util_HashSet.vtable[16];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Set_toArray__] = __TIB_java_util_HashSet.vtable[17];
+ __TIB_java_util_HashSet.itable[XMLVM_ITABLE_IDX_java_util_Set_toArray___java_lang_Object_1ARRAY] = __TIB_java_util_HashSet.vtable[18];
+
+ _STATIC_java_util_HashSet_serialVersionUID = -5024744406713321676;
+
+ __TIB_java_util_HashSet.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_HashSet.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_HashSet.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_HashSet.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_HashSet.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_HashSet.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_HashSet.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_HashSet.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_HashSet = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_HashSet);
+ __TIB_java_util_HashSet.clazz = __CLASS_java_util_HashSet;
+ __TIB_java_util_HashSet.baseType = JAVA_NULL;
+ __CLASS_java_util_HashSet_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_HashSet);
+ __CLASS_java_util_HashSet_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_HashSet_1ARRAY);
+ __CLASS_java_util_HashSet_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_HashSet_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_HashSet]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_HashSet.classInitialized = 1;
+}
+
+void __DELETE_java_util_HashSet(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_HashSet]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_HashSet(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_util_AbstractSet(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_util_HashSet*) me)->fields.java_util_HashSet.backingMap_ = (java_util_HashMap*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_HashSet]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_HashSet()
+{ XMLVM_CLASS_INIT(java_util_HashSet)
+java_util_HashSet* me = (java_util_HashSet*) XMLVM_MALLOC(sizeof(java_util_HashSet));
+ me->tib = &__TIB_java_util_HashSet;
+ __INIT_INSTANCE_MEMBERS_java_util_HashSet(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_HashSet]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_HashSet()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_util_HashSet();
+ java_util_HashSet___INIT___(me);
+ return me;
+}
+
+JAVA_LONG java_util_HashSet_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_util_HashSet)
+ return _STATIC_java_util_HashSet_serialVersionUID;
+}
+
+void java_util_HashSet_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_util_HashSet)
+_STATIC_java_util_HashSet_serialVersionUID = v;
+}
+
+void java_util_HashSet___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashSet___INIT___]
+ XMLVM_ENTER_METHOD("java.util.HashSet", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("HashSet.java", 40)
+ _r0.o = __NEW_java_util_HashMap();
+ XMLVM_CHECK_NPE(0)
+ java_util_HashMap___INIT___(_r0.o);
+ XMLVM_CHECK_NPE(1)
+ java_util_HashSet___INIT____java_util_HashMap(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("HashSet.java", 41)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_HashSet___INIT____int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashSet___INIT____int]
+ XMLVM_ENTER_METHOD("java.util.HashSet", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("HashSet.java", 50)
+ _r0.o = __NEW_java_util_HashMap();
+ XMLVM_CHECK_NPE(0)
+ java_util_HashMap___INIT____int(_r0.o, _r2.i);
+ XMLVM_CHECK_NPE(1)
+ java_util_HashSet___INIT____java_util_HashMap(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("HashSet.java", 51)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_HashSet___INIT____int_float(JAVA_OBJECT me, JAVA_INT n1, JAVA_FLOAT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashSet___INIT____int_float]
+ XMLVM_ENTER_METHOD("java.util.HashSet", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.f = n2;
+ XMLVM_SOURCE_POSITION("HashSet.java", 63)
+ _r0.o = __NEW_java_util_HashMap();
+ XMLVM_CHECK_NPE(0)
+ java_util_HashMap___INIT____int_float(_r0.o, _r2.i, _r3.f);
+ XMLVM_CHECK_NPE(1)
+ java_util_HashSet___INIT____java_util_HashMap(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("HashSet.java", 64)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_HashSet___INIT____java_util_Collection(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashSet___INIT____java_util_Collection]
+ XMLVM_ENTER_METHOD("java.util.HashSet", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("HashSet.java", 74)
+ _r0.o = __NEW_java_util_HashMap();
+ XMLVM_CHECK_NPE(4)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_size__])(_r4.o);
+ _r2.i = 6;
+ if (_r1.i >= _r2.i) goto label28;
+ _r1.i = 11;
+ label11:;
+ XMLVM_SOURCE_POSITION("HashSet.java", 75)
+ XMLVM_CHECK_NPE(0)
+ java_util_HashMap___INIT____int(_r0.o, _r1.i);
+ XMLVM_CHECK_NPE(3)
+ java_util_HashSet___INIT____java_util_HashMap(_r3.o, _r0.o);
+ XMLVM_SOURCE_POSITION("HashSet.java", 76)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_iterator__])(_r4.o);
+ label21:;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r1.o);
+ if (_r0.i != 0) goto label35;
+ XMLVM_SOURCE_POSITION("HashSet.java", 79)
+ XMLVM_EXIT_METHOD()
+ return;
+ label28:;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_size__])(_r4.o);
+ _r1.i = _r1.i * 2;
+ goto label11;
+ label35:;
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r1.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("HashSet.java", 77)
+ //java_util_HashSet_add___java_lang_Object[7]
+ XMLVM_CHECK_NPE(3)
+ (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_HashSet*) _r3.o)->tib->vtable[7])(_r3.o, _r0.o);
+ goto label21;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_HashSet___INIT____java_util_HashMap(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashSet___INIT____java_util_HashMap]
+ XMLVM_ENTER_METHOD("java.util.HashSet", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("HashSet.java", 81)
+ XMLVM_CHECK_NPE(0)
+ java_util_AbstractSet___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("HashSet.java", 82)
+ XMLVM_CHECK_NPE(0)
+ ((java_util_HashSet*) _r0.o)->fields.java_util_HashSet.backingMap_ = _r1.o;
+ XMLVM_SOURCE_POSITION("HashSet.java", 83)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_HashSet_add___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashSet_add___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.HashSet", "add", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("HashSet.java", 95)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_HashSet*) _r1.o)->fields.java_util_HashSet.backingMap_;
+ //java_util_HashMap_put___java_lang_Object_java_lang_Object[14]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_HashMap*) _r0.o)->tib->vtable[14])(_r0.o, _r2.o, _r1.o);
+ if (_r0.o != JAVA_NULL) goto label10;
+ _r0.i = 1;
+ label9:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label10:;
+ _r0.i = 0;
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_HashSet_clear__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashSet_clear__]
+ XMLVM_ENTER_METHOD("java.util.HashSet", "clear", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("HashSet.java", 106)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_HashSet*) _r1.o)->fields.java_util_HashSet.backingMap_;
+ //java_util_HashMap_clear__[6]
+ XMLVM_CHECK_NPE(0)
+ (*(void (*)(JAVA_OBJECT)) ((java_util_HashMap*) _r0.o)->tib->vtable[6])(_r0.o);
+ XMLVM_SOURCE_POSITION("HashSet.java", 107)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_HashSet_clone__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashSet_clone__]
+ XMLVM_ENTER_METHOD("java.util.HashSet", "clone", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_TRY_BEGIN(w6279aaab9b1b2)
+ // Begin try
+ XMLVM_SOURCE_POSITION("HashSet.java", 120)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_lang_Object_clone__(_r2.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("HashSet.java", 121)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_HashSet*) _r2.o)->fields.java_util_HashSet.backingMap_;
+ //java_util_HashMap_clone__[0]
+ XMLVM_CHECK_NPE(1)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_HashMap*) _r1.o)->tib->vtable[0])(_r1.o);
+ _r2.o = _r2.o;
+ XMLVM_CHECK_NPE(0)
+ ((java_util_HashSet*) _r0.o)->fields.java_util_HashSet.backingMap_ = _r2.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w6279aaab9b1b2)
+ XMLVM_CATCH_END(w6279aaab9b1b2)
+ XMLVM_RESTORE_EXCEPTION_ENV(w6279aaab9b1b2)
+ label16:;
+ XMLVM_SOURCE_POSITION("HashSet.java", 124)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label17:;
+ java_lang_Thread* curThread_w6279aaab9b1b7 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w6279aaab9b1b7->fields.java_lang_Thread.xmlvmException_;
+ _r0.o = JAVA_NULL;
+ goto label16;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_HashSet_contains___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashSet_contains___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.HashSet", "contains", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("HashSet.java", 138)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_HashSet*) _r1.o)->fields.java_util_HashSet.backingMap_;
+ //java_util_HashMap_containsKey___java_lang_Object[7]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_HashMap*) _r0.o)->tib->vtable[7])(_r0.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_HashSet_isEmpty__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashSet_isEmpty__]
+ XMLVM_ENTER_METHOD("java.util.HashSet", "isEmpty", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("HashSet.java", 150)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_HashSet*) _r1.o)->fields.java_util_HashSet.backingMap_;
+ //java_util_HashMap_isEmpty__[11]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) ((java_util_HashMap*) _r0.o)->tib->vtable[11])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_HashSet_iterator__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashSet_iterator__]
+ XMLVM_ENTER_METHOD("java.util.HashSet", "iterator", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("HashSet.java", 161)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_HashSet*) _r1.o)->fields.java_util_HashSet.backingMap_;
+ //java_util_HashMap_keySet__[12]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_HashMap*) _r0.o)->tib->vtable[12])(_r0.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Set_iterator__])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_HashSet_remove___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashSet_remove___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.HashSet", "remove", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("HashSet.java", 173)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_HashSet*) _r1.o)->fields.java_util_HashSet.backingMap_;
+ //java_util_HashMap_remove___java_lang_Object[15]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_HashMap*) _r0.o)->tib->vtable[15])(_r0.o, _r2.o);
+ if (_r0.o == JAVA_NULL) goto label10;
+ _r0.i = 1;
+ label9:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label10:;
+ _r0.i = 0;
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_HashSet_size__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashSet_size__]
+ XMLVM_ENTER_METHOD("java.util.HashSet", "size", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("HashSet.java", 183)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_HashSet*) _r1.o)->fields.java_util_HashSet.backingMap_;
+ //java_util_HashMap_size__[16]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_HashMap*) _r0.o)->tib->vtable[16])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_HashSet_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashSet_writeObject___java_io_ObjectOutputStream]
+ XMLVM_ENTER_METHOD("java.util.HashSet", "writeObject", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("HashSet.java", 187)
+
+
+ // Red class access removed: java.io.ObjectOutputStream::defaultWriteObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("HashSet.java", 188)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_util_HashSet*) _r3.o)->fields.java_util_HashSet.backingMap_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_HashMap*) _r0.o)->fields.java_util_HashMap.elementData_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+
+
+ // Red class access removed: java.io.ObjectOutputStream::writeInt
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("HashSet.java", 189)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_util_HashSet*) _r3.o)->fields.java_util_HashSet.backingMap_;
+ XMLVM_CHECK_NPE(0)
+ _r0.f = ((java_util_HashMap*) _r0.o)->fields.java_util_HashMap.loadFactor_;
+
+
+ // Red class access removed: java.io.ObjectOutputStream::writeFloat
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("HashSet.java", 190)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_util_HashSet*) _r3.o)->fields.java_util_HashSet.backingMap_;
+ XMLVM_CHECK_NPE(0)
+ _r0.i = ((java_util_HashMap*) _r0.o)->fields.java_util_HashMap.elementCount_;
+
+
+ // Red class access removed: java.io.ObjectOutputStream::writeInt
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("HashSet.java", 191)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_util_HashSet*) _r3.o)->fields.java_util_HashSet.backingMap_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_HashMap*) _r0.o)->fields.java_util_HashMap.elementData_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ label30:;
+ _r0.i = _r0.i + -1;
+ if (_r0.i >= 0) goto label35;
+ XMLVM_SOURCE_POSITION("HashSet.java", 198)
+ XMLVM_EXIT_METHOD()
+ return;
+ label35:;
+ XMLVM_SOURCE_POSITION("HashSet.java", 192)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_util_HashSet*) _r3.o)->fields.java_util_HashSet.backingMap_;
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((java_util_HashMap*) _r1.o)->fields.java_util_HashMap.elementData_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ label41:;
+ XMLVM_SOURCE_POSITION("HashSet.java", 193)
+ if (_r1.o == JAVA_NULL) goto label30;
+ XMLVM_SOURCE_POSITION("HashSet.java", 194)
+ XMLVM_CHECK_NPE(1)
+ _r2.o = ((java_util_MapEntry*) _r1.o)->fields.java_util_MapEntry.key_;
+
+
+ // Red class access removed: java.io.ObjectOutputStream::writeObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("HashSet.java", 195)
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((java_util_HashMap_Entry*) _r1.o)->fields.java_util_HashMap_Entry.next_;
+ goto label41;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_HashSet_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashSet_readObject___java_io_ObjectInputStream]
+ XMLVM_ENTER_METHOD("java.util.HashSet", "readObject", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("HashSet.java", 203)
+
+
+ // Red class access removed: java.io.ObjectInputStream::defaultReadObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("HashSet.java", 204)
+
+
+ // Red class access removed: java.io.ObjectInputStream::readInt
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("HashSet.java", 205)
+
+
+ // Red class access removed: java.io.ObjectInputStream::readFloat
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("HashSet.java", 206)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_util_HashSet_createBackingMap___int_float(_r3.o, _r0.i, _r1.f);
+ XMLVM_CHECK_NPE(3)
+ ((java_util_HashSet*) _r3.o)->fields.java_util_HashSet.backingMap_ = _r0.o;
+ XMLVM_SOURCE_POSITION("HashSet.java", 207)
+
+
+ // Red class access removed: java.io.ObjectInputStream::readInt
+ XMLVM_RED_CLASS_DEPENDENCY();
+ label21:;
+ XMLVM_SOURCE_POSITION("HashSet.java", 208)
+ _r0.i = _r0.i + -1;
+ if (_r0.i >= 0) goto label26;
+ XMLVM_SOURCE_POSITION("HashSet.java", 212)
+ XMLVM_EXIT_METHOD()
+ return;
+ label26:;
+ XMLVM_SOURCE_POSITION("HashSet.java", 209)
+
+
+ // Red class access removed: java.io.ObjectInputStream::readObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("HashSet.java", 210)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_util_HashSet*) _r3.o)->fields.java_util_HashSet.backingMap_;
+ //java_util_HashMap_put___java_lang_Object_java_lang_Object[14]
+ XMLVM_CHECK_NPE(2)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_HashMap*) _r2.o)->tib->vtable[14])(_r2.o, _r1.o, _r3.o);
+ goto label21;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_HashSet_createBackingMap___int_float(JAVA_OBJECT me, JAVA_INT n1, JAVA_FLOAT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_HashSet_createBackingMap___int_float]
+ XMLVM_ENTER_METHOD("java.util.HashSet", "createBackingMap", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.f = n2;
+ XMLVM_SOURCE_POSITION("HashSet.java", 215)
+ _r0.o = __NEW_java_util_HashMap();
+ XMLVM_CHECK_NPE(0)
+ java_util_HashMap___INIT____int_float(_r0.o, _r2.i, _r3.f);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_HashSet.h b/tests/nbody-java/java_util_HashSet.h
new file mode 100644
index 00000000..ca9bc09a
--- /dev/null
+++ b/tests/nbody-java/java_util_HashSet.h
@@ -0,0 +1,108 @@
+#ifndef __JAVA_UTIL_HASHSET__
+#define __JAVA_UTIL_HASHSET__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_HashSet 31
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+#include "java_lang_Cloneable.h"
+#include "java_util_Set.h"
+// Super Class:
+#include "java_util_AbstractSet.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Collection
+#define XMLVM_FORWARD_DECL_java_util_Collection
+XMLVM_FORWARD_DECL(java_util_Collection)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_HashMap
+#define XMLVM_FORWARD_DECL_java_util_HashMap
+XMLVM_FORWARD_DECL(java_util_HashMap)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_HashMap_Entry
+#define XMLVM_FORWARD_DECL_java_util_HashMap_Entry
+XMLVM_FORWARD_DECL(java_util_HashMap_Entry)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Iterator
+#define XMLVM_FORWARD_DECL_java_util_Iterator
+XMLVM_FORWARD_DECL(java_util_Iterator)
+#endif
+// Class declarations for java.util.HashSet
+XMLVM_DEFINE_CLASS(java_util_HashSet, 19, XMLVM_ITABLE_SIZE_java_util_HashSet)
+
+extern JAVA_OBJECT __CLASS_java_util_HashSet;
+extern JAVA_OBJECT __CLASS_java_util_HashSet_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_HashSet_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_HashSet_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_HashSet
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_HashSet \
+ __INSTANCE_FIELDS_java_util_AbstractSet; \
+ struct { \
+ JAVA_OBJECT backingMap_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_HashSet \
+ } java_util_HashSet
+
+struct java_util_HashSet {
+ __TIB_DEFINITION_java_util_HashSet* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_HashSet;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_HashSet
+#define XMLVM_FORWARD_DECL_java_util_HashSet
+typedef struct java_util_HashSet java_util_HashSet;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_HashSet 19
+#define XMLVM_VTABLE_IDX_java_util_HashSet_add___java_lang_Object 7
+#define XMLVM_VTABLE_IDX_java_util_HashSet_clear__ 8
+#define XMLVM_VTABLE_IDX_java_util_HashSet_clone__ 0
+#define XMLVM_VTABLE_IDX_java_util_HashSet_contains___java_lang_Object 10
+#define XMLVM_VTABLE_IDX_java_util_HashSet_isEmpty__ 11
+#define XMLVM_VTABLE_IDX_java_util_HashSet_iterator__ 12
+#define XMLVM_VTABLE_IDX_java_util_HashSet_remove___java_lang_Object 14
+#define XMLVM_VTABLE_IDX_java_util_HashSet_size__ 16
+
+void __INIT_java_util_HashSet();
+void __INIT_IMPL_java_util_HashSet();
+void __DELETE_java_util_HashSet(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_HashSet(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_HashSet();
+JAVA_OBJECT __NEW_INSTANCE_java_util_HashSet();
+JAVA_LONG java_util_HashSet_GET_serialVersionUID();
+void java_util_HashSet_PUT_serialVersionUID(JAVA_LONG v);
+void java_util_HashSet___INIT___(JAVA_OBJECT me);
+void java_util_HashSet___INIT____int(JAVA_OBJECT me, JAVA_INT n1);
+void java_util_HashSet___INIT____int_float(JAVA_OBJECT me, JAVA_INT n1, JAVA_FLOAT n2);
+void java_util_HashSet___INIT____java_util_Collection(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_HashSet___INIT____java_util_HashMap(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 7
+JAVA_BOOLEAN java_util_HashSet_add___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 8
+void java_util_HashSet_clear__(JAVA_OBJECT me);
+// Vtable index: 0
+JAVA_OBJECT java_util_HashSet_clone__(JAVA_OBJECT me);
+// Vtable index: 10
+JAVA_BOOLEAN java_util_HashSet_contains___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 11
+JAVA_BOOLEAN java_util_HashSet_isEmpty__(JAVA_OBJECT me);
+// Vtable index: 12
+JAVA_OBJECT java_util_HashSet_iterator__(JAVA_OBJECT me);
+// Vtable index: 14
+JAVA_BOOLEAN java_util_HashSet_remove___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 16
+JAVA_INT java_util_HashSet_size__(JAVA_OBJECT me);
+void java_util_HashSet_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_HashSet_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_util_HashSet_createBackingMap___int_float(JAVA_OBJECT me, JAVA_INT n1, JAVA_FLOAT n2);
+
+#endif
diff --git a/tests/nbody-java/java_util_Hashtable.c b/tests/nbody-java/java_util_Hashtable.c
new file mode 100644
index 00000000..76d6d4ab
--- /dev/null
+++ b/tests/nbody-java/java_util_Hashtable.c
@@ -0,0 +1,2476 @@
+#include "xmlvm.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_lang_Throwable.h"
+#include "java_util_Collection.h"
+#include "java_util_Enumeration.h"
+#include "java_util_Hashtable_1.h"
+#include "java_util_Hashtable_2.h"
+#include "java_util_Hashtable_Entry.h"
+#include "java_util_Iterator.h"
+#include "java_util_Map_Entry.h"
+#include "java_util_Set.h"
+#include "org_apache_harmony_luni_internal_nls_Messages.h"
+
+#include "java_util_Hashtable.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Hashtable
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_Hashtable
+
+__TIB_DEFINITION_java_util_Hashtable __TIB_java_util_Hashtable = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_Hashtable, // classInitializer
+ "java.util.Hashtable", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/util/Dictionary<TK;TV;>;Ljava/util/Map<TK;TV;>;Ljava/lang/Cloneable;Ljava/io/Serializable;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_Dictionary, // extends
+ sizeof(java_util_Hashtable), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_Hashtable;
+JAVA_OBJECT __CLASS_java_util_Hashtable_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_Hashtable_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_Hashtable_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_util_Hashtable_serialVersionUID;
+static JAVA_OBJECT _STATIC_java_util_Hashtable_EMPTY_ENUMERATION;
+static JAVA_OBJECT _STATIC_java_util_Hashtable_EMPTY_ITERATOR;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_Hashtable()
+{
+ staticInitializerLock(&__TIB_java_util_Hashtable);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_Hashtable.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_Hashtable.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_Hashtable);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_Hashtable.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_Hashtable.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_Hashtable.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.Hashtable")
+ __INIT_IMPL_java_util_Hashtable();
+ }
+}
+
+void __INIT_IMPL_java_util_Hashtable()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_util_Dictionary)
+ __TIB_java_util_Hashtable.newInstanceFunc = __NEW_INSTANCE_java_util_Hashtable;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_Hashtable.vtable, __TIB_java_util_Dictionary.vtable, sizeof(__TIB_java_util_Dictionary.vtable));
+ // Initialize vtable for this class
+ __TIB_java_util_Hashtable.vtable[13] = (VTABLE_PTR) &java_util_Hashtable_clear__;
+ __TIB_java_util_Hashtable.vtable[0] = (VTABLE_PTR) &java_util_Hashtable_clone__;
+ __TIB_java_util_Hashtable.vtable[14] = (VTABLE_PTR) &java_util_Hashtable_containsKey___java_lang_Object;
+ __TIB_java_util_Hashtable.vtable[15] = (VTABLE_PTR) &java_util_Hashtable_containsValue___java_lang_Object;
+ __TIB_java_util_Hashtable.vtable[6] = (VTABLE_PTR) &java_util_Hashtable_elements__;
+ __TIB_java_util_Hashtable.vtable[16] = (VTABLE_PTR) &java_util_Hashtable_entrySet__;
+ __TIB_java_util_Hashtable.vtable[1] = (VTABLE_PTR) &java_util_Hashtable_equals___java_lang_Object;
+ __TIB_java_util_Hashtable.vtable[7] = (VTABLE_PTR) &java_util_Hashtable_get___java_lang_Object;
+ __TIB_java_util_Hashtable.vtable[4] = (VTABLE_PTR) &java_util_Hashtable_hashCode__;
+ __TIB_java_util_Hashtable.vtable[8] = (VTABLE_PTR) &java_util_Hashtable_isEmpty__;
+ __TIB_java_util_Hashtable.vtable[9] = (VTABLE_PTR) &java_util_Hashtable_keys__;
+ __TIB_java_util_Hashtable.vtable[17] = (VTABLE_PTR) &java_util_Hashtable_keySet__;
+ __TIB_java_util_Hashtable.vtable[10] = (VTABLE_PTR) &java_util_Hashtable_put___java_lang_Object_java_lang_Object;
+ __TIB_java_util_Hashtable.vtable[18] = (VTABLE_PTR) &java_util_Hashtable_putAll___java_util_Map;
+ __TIB_java_util_Hashtable.vtable[11] = (VTABLE_PTR) &java_util_Hashtable_remove___java_lang_Object;
+ __TIB_java_util_Hashtable.vtable[12] = (VTABLE_PTR) &java_util_Hashtable_size__;
+ __TIB_java_util_Hashtable.vtable[5] = (VTABLE_PTR) &java_util_Hashtable_toString__;
+ __TIB_java_util_Hashtable.vtable[19] = (VTABLE_PTR) &java_util_Hashtable_values__;
+ // Initialize interface information
+ __TIB_java_util_Hashtable.numImplementedInterfaces = 3;
+ __TIB_java_util_Hashtable.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 3);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_util_Hashtable.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_lang_Cloneable)
+
+ __TIB_java_util_Hashtable.implementedInterfaces[0][1] = &__TIB_java_lang_Cloneable;
+
+ XMLVM_CLASS_INIT(java_util_Map)
+
+ __TIB_java_util_Hashtable.implementedInterfaces[0][2] = &__TIB_java_util_Map;
+ // Initialize itable for this class
+ __TIB_java_util_Hashtable.itableBegin = &__TIB_java_util_Hashtable.itable[0];
+ __TIB_java_util_Hashtable.itable[XMLVM_ITABLE_IDX_java_util_Map_clear__] = __TIB_java_util_Hashtable.vtable[13];
+ __TIB_java_util_Hashtable.itable[XMLVM_ITABLE_IDX_java_util_Map_containsKey___java_lang_Object] = __TIB_java_util_Hashtable.vtable[14];
+ __TIB_java_util_Hashtable.itable[XMLVM_ITABLE_IDX_java_util_Map_containsValue___java_lang_Object] = __TIB_java_util_Hashtable.vtable[15];
+ __TIB_java_util_Hashtable.itable[XMLVM_ITABLE_IDX_java_util_Map_entrySet__] = __TIB_java_util_Hashtable.vtable[16];
+ __TIB_java_util_Hashtable.itable[XMLVM_ITABLE_IDX_java_util_Map_equals___java_lang_Object] = __TIB_java_util_Hashtable.vtable[1];
+ __TIB_java_util_Hashtable.itable[XMLVM_ITABLE_IDX_java_util_Map_get___java_lang_Object] = __TIB_java_util_Hashtable.vtable[7];
+ __TIB_java_util_Hashtable.itable[XMLVM_ITABLE_IDX_java_util_Map_hashCode__] = __TIB_java_util_Hashtable.vtable[4];
+ __TIB_java_util_Hashtable.itable[XMLVM_ITABLE_IDX_java_util_Map_isEmpty__] = __TIB_java_util_Hashtable.vtable[8];
+ __TIB_java_util_Hashtable.itable[XMLVM_ITABLE_IDX_java_util_Map_keySet__] = __TIB_java_util_Hashtable.vtable[17];
+ __TIB_java_util_Hashtable.itable[XMLVM_ITABLE_IDX_java_util_Map_putAll___java_util_Map] = __TIB_java_util_Hashtable.vtable[18];
+ __TIB_java_util_Hashtable.itable[XMLVM_ITABLE_IDX_java_util_Map_put___java_lang_Object_java_lang_Object] = __TIB_java_util_Hashtable.vtable[10];
+ __TIB_java_util_Hashtable.itable[XMLVM_ITABLE_IDX_java_util_Map_remove___java_lang_Object] = __TIB_java_util_Hashtable.vtable[11];
+ __TIB_java_util_Hashtable.itable[XMLVM_ITABLE_IDX_java_util_Map_size__] = __TIB_java_util_Hashtable.vtable[12];
+ __TIB_java_util_Hashtable.itable[XMLVM_ITABLE_IDX_java_util_Map_values__] = __TIB_java_util_Hashtable.vtable[19];
+
+ _STATIC_java_util_Hashtable_serialVersionUID = 1421746759512286392;
+ _STATIC_java_util_Hashtable_EMPTY_ENUMERATION = (java_util_Enumeration*) JAVA_NULL;
+ _STATIC_java_util_Hashtable_EMPTY_ITERATOR = (java_util_Iterator*) JAVA_NULL;
+
+ __TIB_java_util_Hashtable.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_Hashtable.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_Hashtable.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_Hashtable.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_Hashtable.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_Hashtable.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_Hashtable.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_Hashtable.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_Hashtable = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_Hashtable);
+ __TIB_java_util_Hashtable.clazz = __CLASS_java_util_Hashtable;
+ __TIB_java_util_Hashtable.baseType = JAVA_NULL;
+ __CLASS_java_util_Hashtable_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Hashtable);
+ __CLASS_java_util_Hashtable_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Hashtable_1ARRAY);
+ __CLASS_java_util_Hashtable_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Hashtable_2ARRAY);
+ java_util_Hashtable___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_Hashtable]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_Hashtable.classInitialized = 1;
+}
+
+void __DELETE_java_util_Hashtable(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_Hashtable]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_Hashtable(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_util_Dictionary(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_util_Hashtable*) me)->fields.java_util_Hashtable.elementCount_ = 0;
+ ((java_util_Hashtable*) me)->fields.java_util_Hashtable.elementData_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ ((java_util_Hashtable*) me)->fields.java_util_Hashtable.loadFactor_ = 0;
+ ((java_util_Hashtable*) me)->fields.java_util_Hashtable.threshold_ = 0;
+ ((java_util_Hashtable*) me)->fields.java_util_Hashtable.firstSlot_ = 0;
+ ((java_util_Hashtable*) me)->fields.java_util_Hashtable.lastSlot_ = 0;
+ ((java_util_Hashtable*) me)->fields.java_util_Hashtable.modCount_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_Hashtable]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_Hashtable()
+{ XMLVM_CLASS_INIT(java_util_Hashtable)
+java_util_Hashtable* me = (java_util_Hashtable*) XMLVM_MALLOC(sizeof(java_util_Hashtable));
+ me->tib = &__TIB_java_util_Hashtable;
+ __INIT_INSTANCE_MEMBERS_java_util_Hashtable(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_Hashtable]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_Hashtable()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_util_Hashtable();
+ java_util_Hashtable___INIT___(me);
+ return me;
+}
+
+JAVA_LONG java_util_Hashtable_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_util_Hashtable)
+ return _STATIC_java_util_Hashtable_serialVersionUID;
+}
+
+void java_util_Hashtable_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_util_Hashtable)
+_STATIC_java_util_Hashtable_serialVersionUID = v;
+}
+
+JAVA_OBJECT java_util_Hashtable_GET_EMPTY_ENUMERATION()
+{
+ XMLVM_CLASS_INIT(java_util_Hashtable)
+ return _STATIC_java_util_Hashtable_EMPTY_ENUMERATION;
+}
+
+void java_util_Hashtable_PUT_EMPTY_ENUMERATION(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Hashtable)
+_STATIC_java_util_Hashtable_EMPTY_ENUMERATION = v;
+}
+
+JAVA_OBJECT java_util_Hashtable_GET_EMPTY_ITERATOR()
+{
+ XMLVM_CLASS_INIT(java_util_Hashtable)
+ return _STATIC_java_util_Hashtable_EMPTY_ITERATOR;
+}
+
+void java_util_Hashtable_PUT_EMPTY_ITERATOR(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Hashtable)
+_STATIC_java_util_Hashtable_EMPTY_ITERATOR = v;
+}
+
+void java_util_Hashtable___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable___CLINIT___]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 60)
+ _r0.o = __NEW_java_util_Hashtable_1();
+ XMLVM_CHECK_NPE(0)
+ java_util_Hashtable_1___INIT___(_r0.o);
+ java_util_Hashtable_PUT_EMPTY_ENUMERATION( _r0.o);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 70)
+ _r0.o = __NEW_java_util_Hashtable_2();
+ XMLVM_CHECK_NPE(0)
+ java_util_Hashtable_2___INIT___(_r0.o);
+ java_util_Hashtable_PUT_EMPTY_ITERATOR( _r0.o);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 41)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Hashtable_newEntry___java_lang_Object_java_lang_Object_int(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3)
+{
+ XMLVM_CLASS_INIT(java_util_Hashtable)
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_newEntry___java_lang_Object_java_lang_Object_int]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "newEntry", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = n1;
+ _r2.o = n2;
+ _r3.i = n3;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 86)
+ _r0.o = __NEW_java_util_Hashtable_Entry();
+ XMLVM_CHECK_NPE(0)
+ java_util_Hashtable_Entry___INIT____java_lang_Object_java_lang_Object(_r0.o, _r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Hashtable___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable___INIT___]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 235)
+ _r0.i = 11;
+ XMLVM_CHECK_NPE(1)
+ java_util_Hashtable___INIT____int(_r1.o, _r0.i);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 236)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Hashtable___INIT____int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable___INIT____int]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 245)
+ XMLVM_CHECK_NPE(1)
+ java_util_Dictionary___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 56)
+ _r0.i = -1;
+ XMLVM_CHECK_NPE(1)
+ ((java_util_Hashtable*) _r1.o)->fields.java_util_Hashtable.lastSlot_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 246)
+ if (_r2.i < 0) goto label35;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 247)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(1)
+ ((java_util_Hashtable*) _r1.o)->fields.java_util_Hashtable.elementCount_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 248)
+ if (_r2.i != 0) goto label33;
+ _r0.i = 1;
+ label14:;
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_Hashtable_newElementArray___int(_r1.o, _r0.i);
+ XMLVM_CHECK_NPE(1)
+ ((java_util_Hashtable*) _r1.o)->fields.java_util_Hashtable.elementData_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 249)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_Hashtable*) _r1.o)->fields.java_util_Hashtable.elementData_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ XMLVM_CHECK_NPE(1)
+ ((java_util_Hashtable*) _r1.o)->fields.java_util_Hashtable.firstSlot_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 250)
+ _r0.f = 0.75;
+ XMLVM_CHECK_NPE(1)
+ ((java_util_Hashtable*) _r1.o)->fields.java_util_Hashtable.loadFactor_ = _r0.f;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 251)
+ XMLVM_CHECK_NPE(1)
+ java_util_Hashtable_computeMaxSize__(_r1.o);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 255)
+ XMLVM_EXIT_METHOD()
+ return;
+ label33:;
+ _r0 = _r2;
+ goto label14;
+ label35:;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 253)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Hashtable___INIT____int_float(JAVA_OBJECT me, JAVA_INT n1, JAVA_FLOAT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable___INIT____int_float]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.f = n2;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 266)
+ XMLVM_CHECK_NPE(1)
+ java_util_Dictionary___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 56)
+ _r0.i = -1;
+ XMLVM_CHECK_NPE(1)
+ ((java_util_Hashtable*) _r1.o)->fields.java_util_Hashtable.lastSlot_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 267)
+ if (_r2.i < 0) goto label35;
+ _r0.f = 0.0;
+ _r0.i = _r3.f > _r0.f ? 1 : (_r3.f == _r0.f ? 0 : -1);
+ if (_r0.i <= 0) goto label35;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 268)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(1)
+ ((java_util_Hashtable*) _r1.o)->fields.java_util_Hashtable.elementCount_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 269)
+ XMLVM_CHECK_NPE(1)
+ ((java_util_Hashtable*) _r1.o)->fields.java_util_Hashtable.firstSlot_ = _r2.i;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 270)
+ if (_r2.i != 0) goto label33;
+ _r0.i = 1;
+ label21:;
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_Hashtable_newElementArray___int(_r1.o, _r0.i);
+ XMLVM_CHECK_NPE(1)
+ ((java_util_Hashtable*) _r1.o)->fields.java_util_Hashtable.elementData_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 271)
+ XMLVM_CHECK_NPE(1)
+ ((java_util_Hashtable*) _r1.o)->fields.java_util_Hashtable.loadFactor_ = _r3.f;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 272)
+ XMLVM_CHECK_NPE(1)
+ java_util_Hashtable_computeMaxSize__(_r1.o);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 276)
+ XMLVM_EXIT_METHOD()
+ return;
+ label33:;
+ _r0 = _r2;
+ goto label21;
+ label35:;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 274)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Hashtable___INIT____java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable___INIT____java_util_Map]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 286)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_size__])(_r3.o);
+ _r1.i = 6;
+ if (_r0.i >= _r1.i) goto label16;
+ _r0.i = 11;
+ label9:;
+ XMLVM_CHECK_NPE(2)
+ java_util_Hashtable___INIT____int(_r2.o, _r0.i);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 287)
+ //java_util_Hashtable_putAll___java_util_Map[18]
+ XMLVM_CHECK_NPE(2)
+ (*(void (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_Hashtable*) _r2.o)->tib->vtable[18])(_r2.o, _r3.o);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 288)
+ XMLVM_EXIT_METHOD()
+ return;
+ label16:;
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_size__])(_r3.o);
+ _r0.i = _r0.i * 4;
+ _r0.i = _r0.i / 3;
+ _r0.i = _r0.i + 11;
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Hashtable_newElementArray___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_newElementArray___int]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "newElementArray", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 292)
+ XMLVM_CLASS_INIT(java_util_Hashtable_Entry)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_util_Hashtable_Entry, _r2.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Hashtable_clear__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_clear__]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "clear", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 303)
+ java_lang_Object_acquireLockRecursive__(_r2.o);
+ _r0.i = 0;
+ XMLVM_TRY_BEGIN(w2948aaac17b1b5)
+ // Begin try
+ XMLVM_CHECK_NPE(2)
+ ((java_util_Hashtable*) _r2.o)->fields.java_util_Hashtable.elementCount_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 304)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_Hashtable*) _r2.o)->fields.java_util_Hashtable.elementData_;
+ _r1.o = JAVA_NULL;
+
+
+ // Red class access removed: java.util.Arrays::fill
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Hashtable.java", 305)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_util_Hashtable*) _r2.o)->fields.java_util_Hashtable.modCount_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(2)
+ ((java_util_Hashtable*) _r2.o)->fields.java_util_Hashtable.modCount_ = _r0.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac17b1b5)
+ XMLVM_CATCH_SPECIFIC(w2948aaac17b1b5,java_lang_Object,18)
+ XMLVM_CATCH_END(w2948aaac17b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac17b1b5)
+ XMLVM_SOURCE_POSITION("Hashtable.java", 306)
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ label18:;
+ java_lang_Thread* curThread_w2948aaac17b1c10 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w2948aaac17b1c10->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Hashtable_clone__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_clone__]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "clone", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ _r4.o = me;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 319)
+ java_lang_Object_acquireLockRecursive__(_r4.o);
+ XMLVM_TRY_BEGIN(w2948aaac18b1b4)
+ // Begin try
+ XMLVM_CHECK_NPE(4)
+ _r0.o = java_lang_Object_clone__(_r4.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 320)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_util_Hashtable*) _r4.o)->fields.java_util_Hashtable.elementData_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ XMLVM_CLASS_INIT(java_util_Hashtable_Entry)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_java_util_Hashtable_Entry, _r1.i);
+ XMLVM_CHECK_NPE(0)
+ ((java_util_Hashtable*) _r0.o)->fields.java_util_Hashtable.elementData_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 322)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_util_Hashtable*) _r4.o)->fields.java_util_Hashtable.elementData_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac18b1b4)
+ XMLVM_CATCH_SPECIFIC(w2948aaac18b1b4,java_lang_Object,44)
+ XMLVM_CATCH_END(w2948aaac18b1b4)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac18b1b4)
+ label17:;
+ _r2.i = _r1.i + -1;
+ if (_r2.i >= 0) goto label23;
+ label21:;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 329)
+ java_lang_Object_releaseLockRecursive__(_r4.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label23:;
+ XMLVM_TRY_BEGIN(w2948aaac18b1c13)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 323)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_util_Hashtable*) _r4.o)->fields.java_util_Hashtable.elementData_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r2.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ if (_r1.o == JAVA_NULL) { XMLVM_MEMCPY(curThread_w2948aaac18b1c13->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac18b1c13, sizeof(XMLVM_JMP_BUF)); goto label39; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 324)
+ XMLVM_CHECK_NPE(0)
+ _r3.o = ((java_util_Hashtable*) _r0.o)->fields.java_util_Hashtable.elementData_;
+ //java_util_Hashtable_Entry_clone__[0]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_Hashtable_Entry*) _r1.o)->tib->vtable[0])(_r1.o);
+ _r1.o = _r1.o;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r1.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac18b1c13)
+ XMLVM_CATCH_SPECIFIC(w2948aaac18b1c13,java_lang_Object,44)
+ XMLVM_CATCH_END(w2948aaac18b1c13)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac18b1c13)
+ label39:;
+ _r1 = _r2;
+ goto label17;
+ label41:;
+ java_lang_Thread* curThread_w2948aaac18b1c18 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w2948aaac18b1c18->fields.java_lang_Thread.xmlvmException_;
+ _r0.o = JAVA_NULL;
+ goto label21;
+ label44:;
+ java_lang_Thread* curThread_w2948aaac18b1c22 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w2948aaac18b1c22->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r4.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Hashtable_computeMaxSize__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_computeMaxSize__]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "computeMaxSize", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 334)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_Hashtable*) _r2.o)->fields.java_util_Hashtable.elementData_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ _r0.f = (JAVA_FLOAT) _r0.i;
+ XMLVM_CHECK_NPE(2)
+ _r1.f = ((java_util_Hashtable*) _r2.o)->fields.java_util_Hashtable.loadFactor_;
+ _r0.f = _r0.f * _r1.f;
+ _r0.i = (JAVA_INT) _r0.f;
+ XMLVM_CHECK_NPE(2)
+ ((java_util_Hashtable*) _r2.o)->fields.java_util_Hashtable.threshold_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 335)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_Hashtable_contains___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_contains___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "contains", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 349)
+ java_lang_Object_acquireLockRecursive__(_r3.o);
+ if (_r4.o != JAVA_NULL) goto label12;
+ XMLVM_TRY_BEGIN(w2948aaac20b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 350)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac20b1b6)
+ XMLVM_CATCH_SPECIFIC(w2948aaac20b1b6,java_lang_Object,9)
+ XMLVM_CATCH_END(w2948aaac20b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac20b1b6)
+ label9:;
+ java_lang_Thread* curThread_w2948aaac20b1b8 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w2948aaac20b1b8->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label12:;
+ XMLVM_TRY_BEGIN(w2948aaac20b1c12)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 353)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_util_Hashtable*) _r3.o)->fields.java_util_Hashtable.elementData_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac20b1c12)
+ XMLVM_CATCH_SPECIFIC(w2948aaac20b1c12,java_lang_Object,9)
+ XMLVM_CATCH_END(w2948aaac20b1c12)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac20b1c12)
+ label15:;
+ _r0.i = _r0.i + -1;
+ if (_r0.i >= 0) goto label22;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 362)
+ _r0.i = 0;
+ label20:;
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label22:;
+ XMLVM_TRY_BEGIN(w2948aaac20b1c22)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 354)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_util_Hashtable*) _r3.o)->fields.java_util_Hashtable.elementData_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac20b1c22)
+ XMLVM_CATCH_SPECIFIC(w2948aaac20b1c22,java_lang_Object,9)
+ XMLVM_CATCH_END(w2948aaac20b1c22)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac20b1c22)
+ label26:;
+ XMLVM_TRY_BEGIN(w2948aaac20b1c24)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 355)
+ if (_r1.o == JAVA_NULL) { XMLVM_MEMCPY(curThread_w2948aaac20b1c24->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac20b1c24, sizeof(XMLVM_JMP_BUF)); goto label15; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 356)
+ XMLVM_CHECK_NPE(1)
+ _r2.o = ((java_util_MapEntry*) _r1.o)->fields.java_util_MapEntry.value_;
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(2)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r2.o)->tib->vtable[1])(_r2.o, _r4.o);
+ if (_r2.i == 0) { XMLVM_MEMCPY(curThread_w2948aaac20b1c24->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac20b1c24, sizeof(XMLVM_JMP_BUF)); goto label38; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 357)
+ _r0.i = 1;
+ { XMLVM_MEMCPY(curThread_w2948aaac20b1c24->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac20b1c24, sizeof(XMLVM_JMP_BUF)); goto label20; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 359)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac20b1c24)
+ XMLVM_CATCH_SPECIFIC(w2948aaac20b1c24,java_lang_Object,9)
+ XMLVM_CATCH_END(w2948aaac20b1c24)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac20b1c24)
+ label38:;
+ XMLVM_TRY_BEGIN(w2948aaac20b1c26)
+ // Begin try
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((java_util_Hashtable_Entry*) _r1.o)->fields.java_util_Hashtable_Entry.next_;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac20b1c26)
+ XMLVM_CATCH_SPECIFIC(w2948aaac20b1c26,java_lang_Object,9)
+ XMLVM_CATCH_END(w2948aaac20b1c26)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac20b1c26)
+ goto label26;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_Hashtable_containsKey___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_containsKey___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "containsKey", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 377)
+ java_lang_Object_acquireLockRecursive__(_r1.o);
+ XMLVM_TRY_BEGIN(w2948aaac21b1b5)
+ // Begin try
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_Hashtable_getEntry___java_lang_Object(_r1.o, _r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac21b1b5)
+ XMLVM_CATCH_SPECIFIC(w2948aaac21b1b5,java_lang_Object,12)
+ XMLVM_CATCH_END(w2948aaac21b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac21b1b5)
+ if (_r0.o == JAVA_NULL) goto label10;
+ _r0.i = 1;
+ label8:;
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label10:;
+ _r0.i = 0;
+ goto label8;
+ label12:;
+ java_lang_Thread* curThread_w2948aaac21b1c15 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w2948aaac21b1c15->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_Hashtable_containsValue___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_containsValue___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "containsValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 389)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_util_Hashtable_contains___java_lang_Object(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Hashtable_elements__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_elements__]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "elements", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 405)
+ java_lang_Object_acquireLockRecursive__(_r3.o);
+ XMLVM_TRY_BEGIN(w2948aaac23b1b4)
+ // Begin try
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_util_Hashtable*) _r3.o)->fields.java_util_Hashtable.elementCount_;
+ if (_r0.i != 0) { XMLVM_MEMCPY(curThread_w2948aaac23b1b4->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac23b1b4, sizeof(XMLVM_JMP_BUF)); goto label9; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 406)
+ _r0.o = java_util_Hashtable_GET_EMPTY_ENUMERATION();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac23b1b4)
+ XMLVM_CATCH_SPECIFIC(w2948aaac23b1b4,java_lang_Object,21)
+ XMLVM_CATCH_END(w2948aaac23b1b4)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac23b1b4)
+ label7:;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 408)
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label9:;
+ XMLVM_TRY_BEGIN(w2948aaac23b1c10)
+ // Begin try
+
+
+ // Red class access removed: java.util.Hashtable$HashEnumIterator::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Hashtable$3::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Hashtable$3::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Hashtable.java", 412)
+ _r2.i = 1;
+
+
+ // Red class access removed: java.util.Hashtable$HashEnumIterator::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac23b1c10)
+ XMLVM_CATCH_SPECIFIC(w2948aaac23b1c10,java_lang_Object,21)
+ XMLVM_CATCH_END(w2948aaac23b1c10)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac23b1c10)
+ goto label7;
+ label21:;
+ java_lang_Thread* curThread_w2948aaac23b1c13 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w2948aaac23b1c13->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Hashtable_entrySet__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_entrySet__]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "entrySet", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 424)
+
+
+ // Red class access removed: java.util.Collections$SynchronizedSet::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Hashtable.java", 425)
+
+
+ // Red class access removed: java.util.Hashtable$4::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Hashtable$4::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$SynchronizedSet::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_Hashtable_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "equals", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ _r5.o = me;
+ _r6.o = n1;
+ _r4.i = 1;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 481)
+ java_lang_Object_acquireLockRecursive__(_r5.o);
+ if (_r5.o != _r6.o) goto label8;
+ _r0 = _r4;
+ label6:;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 482)
+ XMLVM_SOURCE_POSITION("Hashtable.java", 498)
+ java_lang_Object_releaseLockRecursive__(_r5.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label8:;
+ XMLVM_TRY_BEGIN(w2948aaac25b1c15)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 484)
+ XMLVM_CLASS_INIT(java_util_Map)
+ _r0.i = XMLVM_ISA(_r6.o, __CLASS_java_util_Map);
+ if (_r0.i == 0) { XMLVM_MEMCPY(curThread_w2948aaac25b1c15->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac25b1c15, sizeof(XMLVM_JMP_BUF)); goto label60; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 485)
+ _r6.o = _r6.o;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 486)
+ //java_util_Hashtable_size__[12]
+ XMLVM_CHECK_NPE(5)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_Hashtable*) _r5.o)->tib->vtable[12])(_r5.o);
+ XMLVM_CHECK_NPE(6)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r6.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_size__])(_r6.o);
+ if (_r0.i == _r1.i) { XMLVM_MEMCPY(curThread_w2948aaac25b1c15->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac25b1c15, sizeof(XMLVM_JMP_BUF)); goto label26; };
+ _r0 = _r3;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 487)
+ { XMLVM_MEMCPY(curThread_w2948aaac25b1c15->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac25b1c15, sizeof(XMLVM_JMP_BUF)); goto label6; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 490)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac25b1c15)
+ XMLVM_CATCH_SPECIFIC(w2948aaac25b1c15,java_lang_Object,62)
+ XMLVM_CATCH_END(w2948aaac25b1c15)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac25b1c15)
+ label26:;
+ XMLVM_TRY_BEGIN(w2948aaac25b1c17)
+ // Begin try
+ //java_util_Hashtable_entrySet__[16]
+ XMLVM_CHECK_NPE(5)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_Hashtable*) _r5.o)->tib->vtable[16])(_r5.o);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 491)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r6.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_entrySet__])(_r6.o);
+ XMLVM_CHECK_NPE(0)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Set_iterator__])(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac25b1c17)
+ XMLVM_CATCH_SPECIFIC(w2948aaac25b1c17,java_lang_Object,62)
+ XMLVM_CATCH_END(w2948aaac25b1c17)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac25b1c17)
+ label38:;
+ XMLVM_TRY_BEGIN(w2948aaac25b1c19)
+ // Begin try
+ XMLVM_CHECK_NPE(2)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r2.o);
+ if (_r0.i != 0) { XMLVM_MEMCPY(curThread_w2948aaac25b1c19->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac25b1c19, sizeof(XMLVM_JMP_BUF)); goto label46; };
+ _r0 = _r4;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 496)
+ { XMLVM_MEMCPY(curThread_w2948aaac25b1c19->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac25b1c19, sizeof(XMLVM_JMP_BUF)); goto label6; };
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac25b1c19)
+ XMLVM_CATCH_SPECIFIC(w2948aaac25b1c19,java_lang_Object,62)
+ XMLVM_CATCH_END(w2948aaac25b1c19)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac25b1c19)
+ label46:;
+ XMLVM_TRY_BEGIN(w2948aaac25b1c21)
+ // Begin try
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r2.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 492)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Set_contains___java_lang_Object])(_r1.o, _r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac25b1c21)
+ XMLVM_CATCH_SPECIFIC(w2948aaac25b1c21,java_lang_Object,62)
+ XMLVM_CATCH_END(w2948aaac25b1c21)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac25b1c21)
+ if (_r0.i != 0) goto label38;
+ _r0 = _r3;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 493)
+ goto label6;
+ label60:;
+ _r0 = _r3;
+ goto label6;
+ label62:;
+ java_lang_Thread* curThread_w2948aaac25b1c30 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w2948aaac25b1c30->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r5.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Hashtable_get___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_get___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "get", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 513)
+ java_lang_Object_acquireLockRecursive__(_r3.o);
+ XMLVM_TRY_BEGIN(w2948aaac26b1b5)
+ // Begin try
+ //java_lang_Object_hashCode__[4]
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r4.o)->tib->vtable[4])(_r4.o);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 514)
+ _r1.i = 2147483647;
+ _r1.i = _r1.i & _r0.i;
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_util_Hashtable*) _r3.o)->fields.java_util_Hashtable.elementData_;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ _r1.i = _r1.i % _r2.i;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 515)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_util_Hashtable*) _r3.o)->fields.java_util_Hashtable.elementData_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac26b1b5)
+ XMLVM_CATCH_SPECIFIC(w2948aaac26b1b5,java_lang_Object,34)
+ XMLVM_CATCH_END(w2948aaac26b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac26b1b5)
+ label17:;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 516)
+ if (_r1.o != JAVA_NULL) goto label22;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 522)
+ _r0.o = JAVA_NULL;
+ label20:;
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label22:;
+ XMLVM_TRY_BEGIN(w2948aaac26b1c15)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 517)
+ XMLVM_CHECK_NPE(1)
+ _r2.i = java_util_Hashtable_Entry_equalsKey___java_lang_Object_int(_r1.o, _r4.o, _r0.i);
+ if (_r2.i == 0) { XMLVM_MEMCPY(curThread_w2948aaac26b1c15->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac26b1c15, sizeof(XMLVM_JMP_BUF)); goto label31; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 518)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_MapEntry*) _r1.o)->fields.java_util_MapEntry.value_;
+ { XMLVM_MEMCPY(curThread_w2948aaac26b1c15->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac26b1c15, sizeof(XMLVM_JMP_BUF)); goto label20; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 520)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac26b1c15)
+ XMLVM_CATCH_SPECIFIC(w2948aaac26b1c15,java_lang_Object,34)
+ XMLVM_CATCH_END(w2948aaac26b1c15)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac26b1c15)
+ label31:;
+ XMLVM_TRY_BEGIN(w2948aaac26b1c17)
+ // Begin try
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((java_util_Hashtable_Entry*) _r1.o)->fields.java_util_Hashtable_Entry.next_;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac26b1c17)
+ XMLVM_CATCH_SPECIFIC(w2948aaac26b1c17,java_lang_Object,34)
+ XMLVM_CATCH_END(w2948aaac26b1c17)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac26b1c17)
+ goto label17;
+ label34:;
+ java_lang_Thread* curThread_w2948aaac26b1c20 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w2948aaac26b1c20->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Hashtable_getEntry___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_getEntry___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "getEntry", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 526)
+ //java_lang_Object_hashCode__[4]
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r4.o)->tib->vtable[4])(_r4.o);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 527)
+ _r1.i = 2147483647;
+ _r1.i = _r1.i & _r0.i;
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_util_Hashtable*) _r3.o)->fields.java_util_Hashtable.elementData_;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ _r1.i = _r1.i % _r2.i;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 528)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_util_Hashtable*) _r3.o)->fields.java_util_Hashtable.elementData_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ label16:;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 529)
+ if (_r1.o != JAVA_NULL) goto label20;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 535)
+ _r0.o = JAVA_NULL;
+ label19:;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label20:;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 530)
+ XMLVM_CHECK_NPE(1)
+ _r2.i = java_util_Hashtable_Entry_equalsKey___java_lang_Object_int(_r1.o, _r4.o, _r0.i);
+ if (_r2.i == 0) goto label28;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 531)
+ goto label19;
+ label28:;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 533)
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((java_util_Hashtable_Entry*) _r1.o)->fields.java_util_Hashtable_Entry.next_;
+ goto label16;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_Hashtable_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_hashCode__]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "hashCode", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ _r5.o = me;
+ _r4.i = 0;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 540)
+ java_lang_Object_acquireLockRecursive__(_r5.o);
+ XMLVM_TRY_BEGIN(w2948aaac28b1b5)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 541)
+ //java_util_Hashtable_entrySet__[16]
+ XMLVM_CHECK_NPE(5)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_Hashtable*) _r5.o)->tib->vtable[16])(_r5.o);
+ XMLVM_CHECK_NPE(0)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Set_iterator__])(_r0.o);
+ _r2 = _r4;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 542)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac28b1b5)
+ XMLVM_CATCH_SPECIFIC(w2948aaac28b1b5,java_lang_Object,57)
+ XMLVM_CATCH_END(w2948aaac28b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac28b1b5)
+ label11:;
+ XMLVM_TRY_BEGIN(w2948aaac28b1b7)
+ // Begin try
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac28b1b7)
+ XMLVM_CATCH_SPECIFIC(w2948aaac28b1b7,java_lang_Object,57)
+ XMLVM_CATCH_END(w2948aaac28b1b7)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac28b1b7)
+ if (_r0.i != 0) goto label19;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 556)
+ java_lang_Object_releaseLockRecursive__(_r5.o);
+ XMLVM_EXIT_METHOD()
+ return _r2.i;
+ label19:;
+ XMLVM_TRY_BEGIN(w2948aaac28b1c13)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 543)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r1.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 544)
+ XMLVM_CHECK_NPE(0)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__])(_r0.o);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 545)
+ if (_r3.o == _r5.o) { XMLVM_MEMCPY(curThread_w2948aaac28b1c13->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac28b1c13, sizeof(XMLVM_JMP_BUF)); goto label11; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 548)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__])(_r0.o);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 549)
+ if (_r0.o == _r5.o) { XMLVM_MEMCPY(curThread_w2948aaac28b1c13->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac28b1c13, sizeof(XMLVM_JMP_BUF)); goto label11; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 552)
+ if (_r3.o == JAVA_NULL) { XMLVM_MEMCPY(curThread_w2948aaac28b1c13->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac28b1c13, sizeof(XMLVM_JMP_BUF)); goto label53; };
+ //java_lang_Object_hashCode__[4]
+ XMLVM_CHECK_NPE(3)
+ _r3.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r3.o)->tib->vtable[4])(_r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac28b1c13)
+ XMLVM_CATCH_SPECIFIC(w2948aaac28b1c13,java_lang_Object,57)
+ XMLVM_CATCH_END(w2948aaac28b1c13)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac28b1c13)
+ label43:;
+ XMLVM_TRY_BEGIN(w2948aaac28b1c15)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 553)
+ if (_r0.o == JAVA_NULL) { XMLVM_MEMCPY(curThread_w2948aaac28b1c15->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac28b1c15, sizeof(XMLVM_JMP_BUF)); goto label55; };
+ //java_lang_Object_hashCode__[4]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r0.o)->tib->vtable[4])(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac28b1c15)
+ XMLVM_CATCH_SPECIFIC(w2948aaac28b1c15,java_lang_Object,57)
+ XMLVM_CATCH_END(w2948aaac28b1c15)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac28b1c15)
+ label49:;
+ _r0.i = _r0.i ^ _r3.i;
+ _r0.i = _r0.i + _r2.i;
+ _r2 = _r0;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 554)
+ goto label11;
+ label53:;
+ _r3 = _r4;
+ goto label43;
+ label55:;
+ _r0 = _r4;
+ goto label49;
+ label57:;
+ java_lang_Thread* curThread_w2948aaac28b1c29 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w2948aaac28b1c29->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r5.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_Hashtable_isEmpty__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_isEmpty__]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "isEmpty", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 568)
+ java_lang_Object_acquireLockRecursive__(_r1.o);
+ XMLVM_TRY_BEGIN(w2948aaac29b1b4)
+ // Begin try
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_util_Hashtable*) _r1.o)->fields.java_util_Hashtable.elementCount_;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac29b1b4)
+ XMLVM_CATCH_SPECIFIC(w2948aaac29b1b4,java_lang_Object,10)
+ XMLVM_CATCH_END(w2948aaac29b1b4)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac29b1b4)
+ if (_r0.i != 0) goto label8;
+ _r0.i = 1;
+ label6:;
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label8:;
+ _r0.i = 0;
+ goto label6;
+ label10:;
+ java_lang_Thread* curThread_w2948aaac29b1c14 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w2948aaac29b1c14->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Hashtable_keys__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_keys__]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "keys", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 584)
+ java_lang_Object_acquireLockRecursive__(_r3.o);
+ XMLVM_TRY_BEGIN(w2948aaac30b1b4)
+ // Begin try
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_util_Hashtable*) _r3.o)->fields.java_util_Hashtable.elementCount_;
+ if (_r0.i != 0) { XMLVM_MEMCPY(curThread_w2948aaac30b1b4->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac30b1b4, sizeof(XMLVM_JMP_BUF)); goto label9; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 585)
+ _r0.o = java_util_Hashtable_GET_EMPTY_ENUMERATION();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac30b1b4)
+ XMLVM_CATCH_SPECIFIC(w2948aaac30b1b4,java_lang_Object,21)
+ XMLVM_CATCH_END(w2948aaac30b1b4)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac30b1b4)
+ label7:;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 587)
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label9:;
+ XMLVM_TRY_BEGIN(w2948aaac30b1c10)
+ // Begin try
+
+
+ // Red class access removed: java.util.Hashtable$HashEnumIterator::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Hashtable$5::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Hashtable$5::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Hashtable.java", 591)
+ _r2.i = 1;
+
+
+ // Red class access removed: java.util.Hashtable$HashEnumIterator::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac30b1c10)
+ XMLVM_CATCH_SPECIFIC(w2948aaac30b1c10,java_lang_Object,21)
+ XMLVM_CATCH_END(w2948aaac30b1c10)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac30b1c10)
+ goto label7;
+ label21:;
+ java_lang_Thread* curThread_w2948aaac30b1c13 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w2948aaac30b1c13->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Hashtable_keySet__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_keySet__]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "keySet", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 602)
+
+
+ // Red class access removed: java.util.Collections$SynchronizedSet::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Hashtable$6::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Hashtable$6::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$SynchronizedSet::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Hashtable_put___java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_put___java_lang_Object_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "put", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ _r5.o = me;
+ _r6.o = n1;
+ _r7.o = n2;
+ _r4.i = 2147483647;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 737)
+ java_lang_Object_acquireLockRecursive__(_r5.o);
+ if (_r6.o == JAVA_NULL) goto label97;
+ if (_r7.o == JAVA_NULL) goto label97;
+ XMLVM_TRY_BEGIN(w2948aaac32b1b9)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 738)
+ //java_lang_Object_hashCode__[4]
+ XMLVM_CHECK_NPE(6)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r6.o)->tib->vtable[4])(_r6.o);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 739)
+ _r1.i = _r0.i & _r4.i;
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_util_Hashtable*) _r5.o)->fields.java_util_Hashtable.elementData_;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ _r1.i = _r1.i % _r2.i;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 740)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_util_Hashtable*) _r5.o)->fields.java_util_Hashtable.elementData_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac32b1b9)
+ XMLVM_CATCH_SPECIFIC(w2948aaac32b1b9,java_lang_Object,94)
+ XMLVM_CATCH_END(w2948aaac32b1b9)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac32b1b9)
+ label22:;
+ XMLVM_TRY_BEGIN(w2948aaac32b1c11)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 741)
+ if (_r2.o == JAVA_NULL) { XMLVM_MEMCPY(curThread_w2948aaac32b1c11->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac32b1c11, sizeof(XMLVM_JMP_BUF)); goto label30; };
+ XMLVM_CHECK_NPE(2)
+ _r3.i = java_util_Hashtable_Entry_equalsKey___java_lang_Object_int(_r2.o, _r6.o, _r0.i);
+ if (_r3.i == 0) { XMLVM_MEMCPY(curThread_w2948aaac32b1c11->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac32b1c11, sizeof(XMLVM_JMP_BUF)); goto label86; };
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac32b1c11)
+ XMLVM_CATCH_SPECIFIC(w2948aaac32b1c11,java_lang_Object,94)
+ XMLVM_CATCH_END(w2948aaac32b1c11)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac32b1c11)
+ label30:;
+ XMLVM_TRY_BEGIN(w2948aaac32b1c13)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 744)
+ if (_r2.o != JAVA_NULL) { XMLVM_MEMCPY(curThread_w2948aaac32b1c13->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac32b1c13, sizeof(XMLVM_JMP_BUF)); goto label89; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 745)
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_util_Hashtable*) _r5.o)->fields.java_util_Hashtable.modCount_;
+ _r2.i = _r2.i + 1;
+ XMLVM_CHECK_NPE(5)
+ ((java_util_Hashtable*) _r5.o)->fields.java_util_Hashtable.modCount_ = _r2.i;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 746)
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_util_Hashtable*) _r5.o)->fields.java_util_Hashtable.elementCount_;
+ _r2.i = _r2.i + 1;
+ XMLVM_CHECK_NPE(5)
+ ((java_util_Hashtable*) _r5.o)->fields.java_util_Hashtable.elementCount_ = _r2.i;
+ XMLVM_CHECK_NPE(5)
+ _r3.i = ((java_util_Hashtable*) _r5.o)->fields.java_util_Hashtable.threshold_;
+ if (_r2.i <= _r3.i) { XMLVM_MEMCPY(curThread_w2948aaac32b1c13->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac32b1c13, sizeof(XMLVM_JMP_BUF)); goto label57; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 747)
+ XMLVM_CHECK_NPE(5)
+ java_util_Hashtable_rehash__(_r5.o);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 748)
+ _r1.i = _r0.i & _r4.i;
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_util_Hashtable*) _r5.o)->fields.java_util_Hashtable.elementData_;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ _r1.i = _r1.i % _r2.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac32b1c13)
+ XMLVM_CATCH_SPECIFIC(w2948aaac32b1c13,java_lang_Object,94)
+ XMLVM_CATCH_END(w2948aaac32b1c13)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac32b1c13)
+ label57:;
+ XMLVM_TRY_BEGIN(w2948aaac32b1c15)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 750)
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_util_Hashtable*) _r5.o)->fields.java_util_Hashtable.firstSlot_;
+ if (_r1.i >= _r2.i) { XMLVM_MEMCPY(curThread_w2948aaac32b1c15->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac32b1c15, sizeof(XMLVM_JMP_BUF)); goto label63; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 751)
+ XMLVM_CHECK_NPE(5)
+ ((java_util_Hashtable*) _r5.o)->fields.java_util_Hashtable.firstSlot_ = _r1.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac32b1c15)
+ XMLVM_CATCH_SPECIFIC(w2948aaac32b1c15,java_lang_Object,94)
+ XMLVM_CATCH_END(w2948aaac32b1c15)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac32b1c15)
+ label63:;
+ XMLVM_TRY_BEGIN(w2948aaac32b1c17)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 753)
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_util_Hashtable*) _r5.o)->fields.java_util_Hashtable.lastSlot_;
+ if (_r1.i <= _r2.i) { XMLVM_MEMCPY(curThread_w2948aaac32b1c17->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac32b1c17, sizeof(XMLVM_JMP_BUF)); goto label69; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 754)
+ XMLVM_CHECK_NPE(5)
+ ((java_util_Hashtable*) _r5.o)->fields.java_util_Hashtable.lastSlot_ = _r1.i;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac32b1c17)
+ XMLVM_CATCH_SPECIFIC(w2948aaac32b1c17,java_lang_Object,94)
+ XMLVM_CATCH_END(w2948aaac32b1c17)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac32b1c17)
+ label69:;
+ XMLVM_TRY_BEGIN(w2948aaac32b1c19)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 756)
+ _r0.o = java_util_Hashtable_newEntry___java_lang_Object_java_lang_Object_int(_r6.o, _r7.o, _r0.i);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 757)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_util_Hashtable*) _r5.o)->fields.java_util_Hashtable.elementData_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_CHECK_NPE(0)
+ ((java_util_Hashtable_Entry*) _r0.o)->fields.java_util_Hashtable_Entry.next_ = _r2.o;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 758)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_util_Hashtable*) _r5.o)->fields.java_util_Hashtable.elementData_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r0.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac32b1c19)
+ XMLVM_CATCH_SPECIFIC(w2948aaac32b1c19,java_lang_Object,94)
+ XMLVM_CATCH_END(w2948aaac32b1c19)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac32b1c19)
+ XMLVM_SOURCE_POSITION("Hashtable.java", 759)
+ _r0.o = JAVA_NULL;
+ label84:;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 763)
+ java_lang_Object_releaseLockRecursive__(_r5.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label86:;
+ XMLVM_TRY_BEGIN(w2948aaac32b1c27)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 742)
+ XMLVM_CHECK_NPE(2)
+ _r2.o = ((java_util_Hashtable_Entry*) _r2.o)->fields.java_util_Hashtable_Entry.next_;
+ { XMLVM_MEMCPY(curThread_w2948aaac32b1c27->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac32b1c27, sizeof(XMLVM_JMP_BUF)); goto label22; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 761)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac32b1c27)
+ XMLVM_CATCH_SPECIFIC(w2948aaac32b1c27,java_lang_Object,94)
+ XMLVM_CATCH_END(w2948aaac32b1c27)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac32b1c27)
+ label89:;
+ XMLVM_TRY_BEGIN(w2948aaac32b1c29)
+ // Begin try
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_MapEntry*) _r2.o)->fields.java_util_MapEntry.value_;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 762)
+ XMLVM_CHECK_NPE(2)
+ ((java_util_MapEntry*) _r2.o)->fields.java_util_MapEntry.value_ = _r7.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac32b1c29)
+ XMLVM_CATCH_SPECIFIC(w2948aaac32b1c29,java_lang_Object,94)
+ XMLVM_CATCH_END(w2948aaac32b1c29)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac32b1c29)
+ goto label84;
+ label94:;
+ java_lang_Thread* curThread_w2948aaac32b1c32 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w2948aaac32b1c32->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r5.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label97:;
+ XMLVM_TRY_BEGIN(w2948aaac32b1c36)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 765)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac32b1c36)
+ XMLVM_CATCH_SPECIFIC(w2948aaac32b1c36,java_lang_Object,94)
+ XMLVM_CATCH_END(w2948aaac32b1c36)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac32b1c36)
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Hashtable_putAll___java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_putAll___java_util_Map]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "putAll", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 775)
+ java_lang_Object_acquireLockRecursive__(_r3.o);
+ XMLVM_TRY_BEGIN(w2948aaac33b1b5)
+ // Begin try
+ XMLVM_CHECK_NPE(4)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_entrySet__])(_r4.o);
+ XMLVM_CHECK_NPE(0)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Set_iterator__])(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac33b1b5)
+ XMLVM_CATCH_SPECIFIC(w2948aaac33b1b5,java_lang_Object,35)
+ XMLVM_CATCH_END(w2948aaac33b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac33b1b5)
+ label9:;
+ XMLVM_TRY_BEGIN(w2948aaac33b1b7)
+ // Begin try
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac33b1b7)
+ XMLVM_CATCH_SPECIFIC(w2948aaac33b1b7,java_lang_Object,35)
+ XMLVM_CATCH_END(w2948aaac33b1b7)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac33b1b7)
+ if (_r0.i != 0) goto label17;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 778)
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ label17:;
+ XMLVM_TRY_BEGIN(w2948aaac33b1c13)
+ // Begin try
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r1.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 776)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__])(_r0.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__])(_r0.o);
+ //java_util_Hashtable_put___java_lang_Object_java_lang_Object[10]
+ XMLVM_CHECK_NPE(3)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_Hashtable*) _r3.o)->tib->vtable[10])(_r3.o, _r2.o, _r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac33b1c13)
+ XMLVM_CATCH_SPECIFIC(w2948aaac33b1c13,java_lang_Object,35)
+ XMLVM_CATCH_END(w2948aaac33b1c13)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac33b1c13)
+ goto label9;
+ label35:;
+ java_lang_Thread* curThread_w2948aaac33b1c16 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w2948aaac33b1c16->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Hashtable_rehash__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_rehash__]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "rehash", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ _r10.o = me;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 785)
+ XMLVM_CHECK_NPE(10)
+ _r0.o = ((java_util_Hashtable*) _r10.o)->fields.java_util_Hashtable.elementData_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ _r0.i = _r0.i << 1;
+ _r0.i = _r0.i + 1;
+ if (_r0.i != 0) goto label10;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 786)
+ XMLVM_SOURCE_POSITION("Hashtable.java", 787)
+ _r0.i = 1;
+ label10:;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 790)
+ _r1.i = -1;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 791)
+ XMLVM_CHECK_NPE(10)
+ _r2.o = java_util_Hashtable_newElementArray___int(_r10.o, _r0.i);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 792)
+ XMLVM_CHECK_NPE(10)
+ _r3.i = ((java_util_Hashtable*) _r10.o)->fields.java_util_Hashtable.lastSlot_;
+ _r3.i = _r3.i + 1;
+ _r4 = _r0;
+ _r9 = _r1;
+ _r1 = _r3;
+ _r3 = _r9;
+ label23:;
+ _r1.i = _r1.i + -1;
+ XMLVM_CHECK_NPE(10)
+ _r5.i = ((java_util_Hashtable*) _r10.o)->fields.java_util_Hashtable.firstSlot_;
+ if (_r1.i >= _r5.i) goto label39;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 808)
+ XMLVM_CHECK_NPE(10)
+ ((java_util_Hashtable*) _r10.o)->fields.java_util_Hashtable.firstSlot_ = _r4.i;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 809)
+ XMLVM_CHECK_NPE(10)
+ ((java_util_Hashtable*) _r10.o)->fields.java_util_Hashtable.lastSlot_ = _r3.i;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 810)
+ XMLVM_CHECK_NPE(10)
+ ((java_util_Hashtable*) _r10.o)->fields.java_util_Hashtable.elementData_ = _r2.o;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 811)
+ XMLVM_CHECK_NPE(10)
+ java_util_Hashtable_computeMaxSize__(_r10.o);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 812)
+ XMLVM_EXIT_METHOD()
+ return;
+ label39:;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 793)
+ XMLVM_CHECK_NPE(10)
+ _r5.o = ((java_util_Hashtable*) _r10.o)->fields.java_util_Hashtable.elementData_;
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r1.i);
+ _r5.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ _r9 = _r5;
+ _r5 = _r4;
+ _r4 = _r3;
+ _r3 = _r9;
+ label47:;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 794)
+ if (_r3.o != JAVA_NULL) goto label52;
+ _r3 = _r4;
+ _r4 = _r5;
+ goto label23;
+ label52:;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 795)
+ XMLVM_CHECK_NPE(3)
+ _r6.i = java_util_Hashtable_Entry_getKeyHash__(_r3.o);
+ _r7.i = 2147483647;
+ _r6.i = _r6.i & _r7.i;
+ _r6.i = _r6.i % _r0.i;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 796)
+ if (_r6.i >= _r5.i) goto label64;
+ _r5 = _r6;
+ label64:;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 797)
+ XMLVM_SOURCE_POSITION("Hashtable.java", 799)
+ if (_r6.i <= _r4.i) goto label67;
+ _r4 = _r6;
+ label67:;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 800)
+ XMLVM_SOURCE_POSITION("Hashtable.java", 802)
+ XMLVM_CHECK_NPE(3)
+ _r7.o = ((java_util_Hashtable_Entry*) _r3.o)->fields.java_util_Hashtable_Entry.next_;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 803)
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ _r8.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i];
+ XMLVM_CHECK_NPE(3)
+ ((java_util_Hashtable_Entry*) _r3.o)->fields.java_util_Hashtable_Entry.next_ = _r8.o;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 804)
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ _r3 = _r7;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 805)
+ goto label47;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Hashtable_remove___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_remove___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "remove", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ _r7.o = me;
+ _r8.o = n1;
+ _r5.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 827)
+ java_lang_Object_acquireLockRecursive__(_r7.o);
+ XMLVM_TRY_BEGIN(w2948aaac35b1b6)
+ // Begin try
+ //java_lang_Object_hashCode__[4]
+ XMLVM_CHECK_NPE(8)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r8.o)->tib->vtable[4])(_r8.o);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 828)
+ _r1.i = 2147483647;
+ _r1.i = _r1.i & _r0.i;
+ XMLVM_CHECK_NPE(7)
+ _r2.o = ((java_util_Hashtable*) _r7.o)->fields.java_util_Hashtable.elementData_;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ _r1.i = _r1.i % _r2.i;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 830)
+ XMLVM_CHECK_NPE(7)
+ _r2.o = ((java_util_Hashtable*) _r7.o)->fields.java_util_Hashtable.elementData_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ _r3 = _r5;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 831)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac35b1b6)
+ XMLVM_CATCH_SPECIFIC(w2948aaac35b1b6,java_lang_Object,67)
+ XMLVM_CATCH_END(w2948aaac35b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac35b1b6)
+ label19:;
+ XMLVM_TRY_BEGIN(w2948aaac35b1b8)
+ // Begin try
+ if (_r2.o == JAVA_NULL) { XMLVM_MEMCPY(curThread_w2948aaac35b1b8->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac35b1b8, sizeof(XMLVM_JMP_BUF)); goto label27; };
+ XMLVM_CHECK_NPE(2)
+ _r4.i = java_util_Hashtable_Entry_equalsKey___java_lang_Object_int(_r2.o, _r8.o, _r0.i);
+ if (_r4.i == 0) { XMLVM_MEMCPY(curThread_w2948aaac35b1b8->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac35b1b8, sizeof(XMLVM_JMP_BUF)); goto label56; };
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac35b1b8)
+ XMLVM_CATCH_SPECIFIC(w2948aaac35b1b8,java_lang_Object,67)
+ XMLVM_CATCH_END(w2948aaac35b1b8)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac35b1b8)
+ label27:;
+ XMLVM_TRY_BEGIN(w2948aaac35b1c10)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 835)
+ if (_r2.o == JAVA_NULL) { XMLVM_MEMCPY(curThread_w2948aaac35b1c10->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac35b1c10, sizeof(XMLVM_JMP_BUF)); goto label70; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 836)
+ XMLVM_CHECK_NPE(7)
+ _r0.i = ((java_util_Hashtable*) _r7.o)->fields.java_util_Hashtable.modCount_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(7)
+ ((java_util_Hashtable*) _r7.o)->fields.java_util_Hashtable.modCount_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 837)
+ if (_r3.o != JAVA_NULL) { XMLVM_MEMCPY(curThread_w2948aaac35b1c10->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac35b1c10, sizeof(XMLVM_JMP_BUF)); goto label62; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 838)
+ XMLVM_CHECK_NPE(7)
+ _r0.o = ((java_util_Hashtable*) _r7.o)->fields.java_util_Hashtable.elementData_;
+ XMLVM_CHECK_NPE(2)
+ _r3.o = ((java_util_Hashtable_Entry*) _r2.o)->fields.java_util_Hashtable_Entry.next_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac35b1c10)
+ XMLVM_CATCH_SPECIFIC(w2948aaac35b1c10,java_lang_Object,67)
+ XMLVM_CATCH_END(w2948aaac35b1c10)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac35b1c10)
+ label43:;
+ XMLVM_TRY_BEGIN(w2948aaac35b1c12)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 842)
+ XMLVM_CHECK_NPE(7)
+ _r0.i = ((java_util_Hashtable*) _r7.o)->fields.java_util_Hashtable.elementCount_;
+ _r1.i = 1;
+ _r0.i = _r0.i - _r1.i;
+ XMLVM_CHECK_NPE(7)
+ ((java_util_Hashtable*) _r7.o)->fields.java_util_Hashtable.elementCount_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 843)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_MapEntry*) _r2.o)->fields.java_util_MapEntry.value_;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 844)
+ _r1.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(2)
+ ((java_util_MapEntry*) _r2.o)->fields.java_util_MapEntry.value_ = _r1.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac35b1c12)
+ XMLVM_CATCH_SPECIFIC(w2948aaac35b1c12,java_lang_Object,67)
+ XMLVM_CATCH_END(w2948aaac35b1c12)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac35b1c12)
+ label54:;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 847)
+ java_lang_Object_releaseLockRecursive__(_r7.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label56:;
+ XMLVM_TRY_BEGIN(w2948aaac35b1c18)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 833)
+ XMLVM_CHECK_NPE(2)
+ _r3.o = ((java_util_Hashtable_Entry*) _r2.o)->fields.java_util_Hashtable_Entry.next_;
+ _r6 = _r3;
+ _r3 = _r2;
+ _r2 = _r6;
+ { XMLVM_MEMCPY(curThread_w2948aaac35b1c18->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac35b1c18, sizeof(XMLVM_JMP_BUF)); goto label19; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 840)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac35b1c18)
+ XMLVM_CATCH_SPECIFIC(w2948aaac35b1c18,java_lang_Object,67)
+ XMLVM_CATCH_END(w2948aaac35b1c18)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac35b1c18)
+ label62:;
+ XMLVM_TRY_BEGIN(w2948aaac35b1c20)
+ // Begin try
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_Hashtable_Entry*) _r2.o)->fields.java_util_Hashtable_Entry.next_;
+ XMLVM_CHECK_NPE(3)
+ ((java_util_Hashtable_Entry*) _r3.o)->fields.java_util_Hashtable_Entry.next_ = _r0.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac35b1c20)
+ XMLVM_CATCH_SPECIFIC(w2948aaac35b1c20,java_lang_Object,67)
+ XMLVM_CATCH_END(w2948aaac35b1c20)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac35b1c20)
+ goto label43;
+ label67:;
+ java_lang_Thread* curThread_w2948aaac35b1c23 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w2948aaac35b1c23->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r7.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label70:;
+ _r0 = _r5;
+ goto label54;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_Hashtable_size__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_size__]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "size", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 859)
+ java_lang_Object_acquireLockRecursive__(_r1.o);
+ XMLVM_TRY_BEGIN(w2948aaac36b1b4)
+ // Begin try
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_util_Hashtable*) _r1.o)->fields.java_util_Hashtable.elementCount_;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac36b1b4)
+ XMLVM_CATCH_SPECIFIC(w2948aaac36b1b4,java_lang_Object,5)
+ XMLVM_CATCH_END(w2948aaac36b1b4)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac36b1b4)
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label5:;
+ java_lang_Thread* curThread_w2948aaac36b1b8 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w2948aaac36b1b8->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Hashtable_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_toString__]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "toString", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ _r5.o = me;
+ // "luni.04"
+ _r0.o = xmlvm_create_java_string_from_pool(169);
+ // ")"
+ _r0.o = xmlvm_create_java_string_from_pool(23);
+ // "("
+ _r0.o = xmlvm_create_java_string_from_pool(85);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 869)
+ java_lang_Object_acquireLockRecursive__(_r5.o);
+ XMLVM_TRY_BEGIN(w2948aaac37b1b7)
+ // Begin try
+ //java_util_Hashtable_isEmpty__[8]
+ XMLVM_CHECK_NPE(5)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) ((java_util_Hashtable*) _r5.o)->tib->vtable[8])(_r5.o);
+ if (_r0.i == 0) { XMLVM_MEMCPY(curThread_w2948aaac37b1b7->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac37b1b7, sizeof(XMLVM_JMP_BUF)); goto label17; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 870)
+ // "\173\175"
+ _r0.o = xmlvm_create_java_string_from_pool(6);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac37b1b7)
+ XMLVM_CATCH_SPECIFIC(w2948aaac37b1b7,java_lang_Object,133)
+ XMLVM_CATCH_END(w2948aaac37b1b7)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac37b1b7)
+ label15:;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 900)
+ java_lang_Object_releaseLockRecursive__(_r5.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label17:;
+ XMLVM_TRY_BEGIN(w2948aaac37b1c13)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 873)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ //java_util_Hashtable_size__[12]
+ XMLVM_CHECK_NPE(5)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_Hashtable*) _r5.o)->tib->vtable[12])(_r5.o);
+ _r1.i = _r1.i * 28;
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____int(_r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 874)
+ _r1.i = 123;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 875)
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_util_Hashtable*) _r5.o)->fields.java_util_Hashtable.lastSlot_;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac37b1c13)
+ XMLVM_CATCH_SPECIFIC(w2948aaac37b1c13,java_lang_Object,133)
+ XMLVM_CATCH_END(w2948aaac37b1c13)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac37b1c13)
+ label35:;
+ XMLVM_TRY_BEGIN(w2948aaac37b1c15)
+ // Begin try
+ XMLVM_CHECK_NPE(5)
+ _r2.i = ((java_util_Hashtable*) _r5.o)->fields.java_util_Hashtable.firstSlot_;
+ if (_r1.i >= _r2.i) { XMLVM_MEMCPY(curThread_w2948aaac37b1c15->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac37b1c15, sizeof(XMLVM_JMP_BUF)); goto label62; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 896)
+ XMLVM_CHECK_NPE(5)
+ _r1.i = ((java_util_Hashtable*) _r5.o)->fields.java_util_Hashtable.elementCount_;
+ if (_r1.i <= 0) { XMLVM_MEMCPY(curThread_w2948aaac37b1c15->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac37b1c15, sizeof(XMLVM_JMP_BUF)); goto label52; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 897)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = java_lang_AbstractStringBuilder_length__(_r0.o);
+ _r2.i = 2;
+ _r1.i = _r1.i - _r2.i;
+ XMLVM_CHECK_NPE(0)
+ java_lang_AbstractStringBuilder_setLength___int(_r0.o, _r1.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac37b1c15)
+ XMLVM_CATCH_SPECIFIC(w2948aaac37b1c15,java_lang_Object,133)
+ XMLVM_CATCH_END(w2948aaac37b1c15)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac37b1c15)
+ label52:;
+ XMLVM_TRY_BEGIN(w2948aaac37b1c17)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 899)
+ _r1.i = 125;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r1.i);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ { XMLVM_MEMCPY(curThread_w2948aaac37b1c17->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac37b1c17, sizeof(XMLVM_JMP_BUF)); goto label15; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 876)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac37b1c17)
+ XMLVM_CATCH_SPECIFIC(w2948aaac37b1c17,java_lang_Object,133)
+ XMLVM_CATCH_END(w2948aaac37b1c17)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac37b1c17)
+ label62:;
+ XMLVM_TRY_BEGIN(w2948aaac37b1c19)
+ // Begin try
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_util_Hashtable*) _r5.o)->fields.java_util_Hashtable.elementData_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac37b1c19)
+ XMLVM_CATCH_SPECIFIC(w2948aaac37b1c19,java_lang_Object,133)
+ XMLVM_CATCH_END(w2948aaac37b1c19)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac37b1c19)
+ label66:;
+ XMLVM_TRY_BEGIN(w2948aaac37b1c21)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 877)
+ if (_r2.o != JAVA_NULL) { XMLVM_MEMCPY(curThread_w2948aaac37b1c21->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac37b1c21, sizeof(XMLVM_JMP_BUF)); goto label71; };
+ _r1.i = _r1.i + -1;
+ { XMLVM_MEMCPY(curThread_w2948aaac37b1c21->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac37b1c21, sizeof(XMLVM_JMP_BUF)); goto label35; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 878)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac37b1c21)
+ XMLVM_CATCH_SPECIFIC(w2948aaac37b1c21,java_lang_Object,133)
+ XMLVM_CATCH_END(w2948aaac37b1c21)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac37b1c21)
+ label71:;
+ XMLVM_TRY_BEGIN(w2948aaac37b1c23)
+ // Begin try
+ XMLVM_CHECK_NPE(2)
+ _r3.o = ((java_util_MapEntry*) _r2.o)->fields.java_util_MapEntry.key_;
+ if (_r3.o == _r5.o) { XMLVM_MEMCPY(curThread_w2948aaac37b1c23->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac37b1c23, sizeof(XMLVM_JMP_BUF)); goto label102; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 879)
+ XMLVM_CHECK_NPE(2)
+ _r3.o = ((java_util_MapEntry*) _r2.o)->fields.java_util_MapEntry.key_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_Object(_r0.o, _r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac37b1c23)
+ XMLVM_CATCH_SPECIFIC(w2948aaac37b1c23,java_lang_Object,133)
+ XMLVM_CATCH_END(w2948aaac37b1c23)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac37b1c23)
+ label80:;
+ XMLVM_TRY_BEGIN(w2948aaac37b1c25)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 884)
+ _r3.i = 61;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r3.i);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 885)
+ XMLVM_CHECK_NPE(2)
+ _r3.o = ((java_util_MapEntry*) _r2.o)->fields.java_util_MapEntry.value_;
+ if (_r3.o == _r5.o) { XMLVM_MEMCPY(curThread_w2948aaac37b1c25->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac37b1c25, sizeof(XMLVM_JMP_BUF)); goto label136; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 886)
+ XMLVM_CHECK_NPE(2)
+ _r3.o = ((java_util_MapEntry*) _r2.o)->fields.java_util_MapEntry.value_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_Object(_r0.o, _r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac37b1c25)
+ XMLVM_CATCH_SPECIFIC(w2948aaac37b1c25,java_lang_Object,133)
+ XMLVM_CATCH_END(w2948aaac37b1c25)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac37b1c25)
+ label94:;
+ XMLVM_TRY_BEGIN(w2948aaac37b1c27)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 891)
+ // ", "
+ _r3.o = xmlvm_create_java_string_from_pool(7);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r3.o);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 892)
+ XMLVM_CHECK_NPE(2)
+ _r2.o = ((java_util_Hashtable_Entry*) _r2.o)->fields.java_util_Hashtable_Entry.next_;
+ { XMLVM_MEMCPY(curThread_w2948aaac37b1c27->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac37b1c27, sizeof(XMLVM_JMP_BUF)); goto label66; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 882)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac37b1c27)
+ XMLVM_CATCH_SPECIFIC(w2948aaac37b1c27,java_lang_Object,133)
+ XMLVM_CATCH_END(w2948aaac37b1c27)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac37b1c27)
+ label102:;
+ XMLVM_TRY_BEGIN(w2948aaac37b1c29)
+ // Begin try
+ _r3.o = __NEW_java_lang_StringBuilder();
+ // "("
+ _r4.o = xmlvm_create_java_string_from_pool(85);
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder___INIT____java_lang_String(_r3.o, _r4.o);
+ // "luni.04"
+ _r4.o = xmlvm_create_java_string_from_pool(169);
+ _r4.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String(_r4.o);
+ XMLVM_CHECK_NPE(3)
+ _r3.o = java_lang_StringBuilder_append___java_lang_String(_r3.o, _r4.o);
+ // ")"
+ _r4.o = xmlvm_create_java_string_from_pool(23);
+ XMLVM_CHECK_NPE(3)
+ _r3.o = java_lang_StringBuilder_append___java_lang_String(_r3.o, _r4.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(3)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r3.o)->tib->vtable[5])(_r3.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac37b1c29)
+ XMLVM_CATCH_SPECIFIC(w2948aaac37b1c29,java_lang_Object,133)
+ XMLVM_CATCH_END(w2948aaac37b1c29)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac37b1c29)
+ goto label80;
+ label133:;
+ java_lang_Thread* curThread_w2948aaac37b1c32 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w2948aaac37b1c32->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r5.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label136:;
+ XMLVM_TRY_BEGIN(w2948aaac37b1c36)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 889)
+ _r3.o = __NEW_java_lang_StringBuilder();
+ // "("
+ _r4.o = xmlvm_create_java_string_from_pool(85);
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder___INIT____java_lang_String(_r3.o, _r4.o);
+ // "luni.04"
+ _r4.o = xmlvm_create_java_string_from_pool(169);
+ _r4.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String(_r4.o);
+ XMLVM_CHECK_NPE(3)
+ _r3.o = java_lang_StringBuilder_append___java_lang_String(_r3.o, _r4.o);
+ // ")"
+ _r4.o = xmlvm_create_java_string_from_pool(23);
+ XMLVM_CHECK_NPE(3)
+ _r3.o = java_lang_StringBuilder_append___java_lang_String(_r3.o, _r4.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(3)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r3.o)->tib->vtable[5])(_r3.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac37b1c36)
+ XMLVM_CATCH_SPECIFIC(w2948aaac37b1c36,java_lang_Object,133)
+ XMLVM_CATCH_END(w2948aaac37b1c36)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac37b1c36)
+ goto label94;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Hashtable_values__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_values__]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "values", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 911)
+
+
+ // Red class access removed: java.util.Collections$SynchronizedCollection::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Hashtable.java", 912)
+
+
+ // Red class access removed: java.util.Hashtable$7::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Hashtable$7::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Collections$SynchronizedCollection::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Hashtable_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_writeObject___java_io_ObjectOutputStream]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "writeObject", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 942)
+ java_lang_Object_acquireLockRecursive__(_r3.o);
+ XMLVM_TRY_BEGIN(w2948aaac39b1b5)
+ // Begin try
+
+
+ // Red class access removed: java.io.ObjectOutputStream::defaultWriteObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Hashtable.java", 943)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_util_Hashtable*) _r3.o)->fields.java_util_Hashtable.elementData_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+
+
+ // Red class access removed: java.io.ObjectOutputStream::writeInt
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Hashtable.java", 944)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_util_Hashtable*) _r3.o)->fields.java_util_Hashtable.elementCount_;
+
+
+ // Red class access removed: java.io.ObjectOutputStream::writeInt
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Hashtable.java", 945)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_util_Hashtable*) _r3.o)->fields.java_util_Hashtable.elementData_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac39b1b5)
+ XMLVM_CATCH_SPECIFIC(w2948aaac39b1b5,java_lang_Object,43)
+ XMLVM_CATCH_END(w2948aaac39b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac39b1b5)
+ label18:;
+ _r0.i = _r0.i + -1;
+ if (_r0.i >= 0) goto label24;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 953)
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ label24:;
+ XMLVM_TRY_BEGIN(w2948aaac39b1c13)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 946)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_util_Hashtable*) _r3.o)->fields.java_util_Hashtable.elementData_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac39b1c13)
+ XMLVM_CATCH_SPECIFIC(w2948aaac39b1c13,java_lang_Object,43)
+ XMLVM_CATCH_END(w2948aaac39b1c13)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac39b1c13)
+ label28:;
+ XMLVM_TRY_BEGIN(w2948aaac39b1c15)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Hashtable.java", 947)
+ if (_r1.o == JAVA_NULL) { XMLVM_MEMCPY(curThread_w2948aaac39b1c15->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w2948aaac39b1c15, sizeof(XMLVM_JMP_BUF)); goto label18; };
+ XMLVM_SOURCE_POSITION("Hashtable.java", 948)
+ XMLVM_CHECK_NPE(1)
+ _r2.o = ((java_util_MapEntry*) _r1.o)->fields.java_util_MapEntry.key_;
+
+
+ // Red class access removed: java.io.ObjectOutputStream::writeObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Hashtable.java", 949)
+ XMLVM_CHECK_NPE(1)
+ _r2.o = ((java_util_MapEntry*) _r1.o)->fields.java_util_MapEntry.value_;
+
+
+ // Red class access removed: java.io.ObjectOutputStream::writeObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Hashtable.java", 950)
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((java_util_Hashtable_Entry*) _r1.o)->fields.java_util_Hashtable_Entry.next_;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2948aaac39b1c15)
+ XMLVM_CATCH_SPECIFIC(w2948aaac39b1c15,java_lang_Object,43)
+ XMLVM_CATCH_END(w2948aaac39b1c15)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2948aaac39b1c15)
+ goto label28;
+ label43:;
+ java_lang_Thread* curThread_w2948aaac39b1c18 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w2948aaac39b1c18->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Hashtable_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_readObject___java_io_ObjectInputStream]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "readObject", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 958)
+
+
+ // Red class access removed: java.io.ObjectInputStream::defaultReadObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Hashtable.java", 959)
+
+
+ // Red class access removed: java.io.ObjectInputStream::readInt
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Hashtable.java", 960)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = java_util_Hashtable_newElementArray___int(_r6.o, _r0.i);
+ XMLVM_CHECK_NPE(6)
+ ((java_util_Hashtable*) _r6.o)->fields.java_util_Hashtable.elementData_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 961)
+
+
+ // Red class access removed: java.io.ObjectInputStream::readInt
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(6)
+ ((java_util_Hashtable*) _r6.o)->fields.java_util_Hashtable.elementCount_ = _r1.i;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 962)
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_util_Hashtable*) _r6.o)->fields.java_util_Hashtable.elementCount_;
+ label21:;
+ _r1.i = _r1.i + -1;
+ if (_r1.i >= 0) goto label26;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 976)
+ XMLVM_EXIT_METHOD()
+ return;
+ label26:;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 963)
+
+
+ // Red class access removed: java.io.ObjectInputStream::readObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Hashtable.java", 964)
+ //java_lang_Object_hashCode__[4]
+ XMLVM_CHECK_NPE(2)
+ _r3.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r2.o)->tib->vtable[4])(_r2.o);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 965)
+ _r4.i = 2147483647;
+ _r4.i = _r4.i & _r3.i;
+ _r4.i = _r4.i % _r0.i;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 966)
+ XMLVM_CHECK_NPE(6)
+ _r5.i = ((java_util_Hashtable*) _r6.o)->fields.java_util_Hashtable.firstSlot_;
+ if (_r4.i >= _r5.i) goto label45;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 967)
+ XMLVM_CHECK_NPE(6)
+ ((java_util_Hashtable*) _r6.o)->fields.java_util_Hashtable.firstSlot_ = _r4.i;
+ label45:;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 969)
+ XMLVM_CHECK_NPE(6)
+ _r5.i = ((java_util_Hashtable*) _r6.o)->fields.java_util_Hashtable.lastSlot_;
+ if (_r4.i <= _r5.i) goto label51;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 970)
+ XMLVM_CHECK_NPE(6)
+ ((java_util_Hashtable*) _r6.o)->fields.java_util_Hashtable.lastSlot_ = _r4.i;
+ label51:;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 972)
+
+
+ // Red class access removed: java.io.ObjectInputStream::readObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r2.o = java_util_Hashtable_newEntry___java_lang_Object_java_lang_Object_int(_r2.o, _r5.o, _r3.i);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 973)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_util_Hashtable*) _r6.o)->fields.java_util_Hashtable.elementData_;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ _r3.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ XMLVM_CHECK_NPE(2)
+ ((java_util_Hashtable_Entry*) _r2.o)->fields.java_util_Hashtable_Entry.next_ = _r3.o;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 974)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_util_Hashtable*) _r6.o)->fields.java_util_Hashtable.elementData_;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r2.o;
+ goto label21;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Hashtable_access$0__()
+{
+ XMLVM_CLASS_INIT(java_util_Hashtable)
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_access$0__]
+ XMLVM_ENTER_METHOD("java.util.Hashtable", "access$0", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 70)
+ _r0.o = java_util_Hashtable_GET_EMPTY_ITERATOR();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_Hashtable.h b/tests/nbody-java/java_util_Hashtable.h
new file mode 100644
index 00000000..59185d1b
--- /dev/null
+++ b/tests/nbody-java/java_util_Hashtable.h
@@ -0,0 +1,190 @@
+#ifndef __JAVA_UTIL_HASHTABLE__
+#define __JAVA_UTIL_HASHTABLE__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_Hashtable 14
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+#include "java_lang_Cloneable.h"
+#include "java_util_Map.h"
+// Super Class:
+#include "java_util_Dictionary.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Throwable
+#define XMLVM_FORWARD_DECL_java_lang_Throwable
+XMLVM_FORWARD_DECL(java_lang_Throwable)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Collection
+#define XMLVM_FORWARD_DECL_java_util_Collection
+XMLVM_FORWARD_DECL(java_util_Collection)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Enumeration
+#define XMLVM_FORWARD_DECL_java_util_Enumeration
+XMLVM_FORWARD_DECL(java_util_Enumeration)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Hashtable_1
+#define XMLVM_FORWARD_DECL_java_util_Hashtable_1
+XMLVM_FORWARD_DECL(java_util_Hashtable_1)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Hashtable_2
+#define XMLVM_FORWARD_DECL_java_util_Hashtable_2
+XMLVM_FORWARD_DECL(java_util_Hashtable_2)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Hashtable_Entry
+#define XMLVM_FORWARD_DECL_java_util_Hashtable_Entry
+XMLVM_FORWARD_DECL(java_util_Hashtable_Entry)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Iterator
+#define XMLVM_FORWARD_DECL_java_util_Iterator
+XMLVM_FORWARD_DECL(java_util_Iterator)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Map_Entry
+#define XMLVM_FORWARD_DECL_java_util_Map_Entry
+XMLVM_FORWARD_DECL(java_util_Map_Entry)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Set
+#define XMLVM_FORWARD_DECL_java_util_Set
+XMLVM_FORWARD_DECL(java_util_Set)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_internal_nls_Messages)
+#endif
+// Class declarations for java.util.Hashtable
+XMLVM_DEFINE_CLASS(java_util_Hashtable, 20, XMLVM_ITABLE_SIZE_java_util_Hashtable)
+
+extern JAVA_OBJECT __CLASS_java_util_Hashtable;
+extern JAVA_OBJECT __CLASS_java_util_Hashtable_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Hashtable_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Hashtable_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_Hashtable
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_Hashtable \
+ __INSTANCE_FIELDS_java_util_Dictionary; \
+ struct { \
+ JAVA_INT elementCount_; \
+ JAVA_OBJECT elementData_; \
+ JAVA_FLOAT loadFactor_; \
+ JAVA_INT threshold_; \
+ JAVA_INT firstSlot_; \
+ JAVA_INT lastSlot_; \
+ JAVA_INT modCount_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_Hashtable \
+ } java_util_Hashtable
+
+struct java_util_Hashtable {
+ __TIB_DEFINITION_java_util_Hashtable* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_Hashtable;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_Hashtable
+#define XMLVM_FORWARD_DECL_java_util_Hashtable
+typedef struct java_util_Hashtable java_util_Hashtable;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_Hashtable 20
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_clear__ 13
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_clone__ 0
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_containsKey___java_lang_Object 14
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_containsValue___java_lang_Object 15
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_elements__ 6
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_entrySet__ 16
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_get___java_lang_Object 7
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_isEmpty__ 8
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_keys__ 9
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_keySet__ 17
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_put___java_lang_Object_java_lang_Object 10
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_putAll___java_util_Map 18
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_remove___java_lang_Object 11
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_size__ 12
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_toString__ 5
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_values__ 19
+
+void __INIT_java_util_Hashtable();
+void __INIT_IMPL_java_util_Hashtable();
+void __DELETE_java_util_Hashtable(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_Hashtable(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_Hashtable();
+JAVA_OBJECT __NEW_INSTANCE_java_util_Hashtable();
+JAVA_LONG java_util_Hashtable_GET_serialVersionUID();
+void java_util_Hashtable_PUT_serialVersionUID(JAVA_LONG v);
+JAVA_OBJECT java_util_Hashtable_GET_EMPTY_ENUMERATION();
+void java_util_Hashtable_PUT_EMPTY_ENUMERATION(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Hashtable_GET_EMPTY_ITERATOR();
+void java_util_Hashtable_PUT_EMPTY_ITERATOR(JAVA_OBJECT v);
+void java_util_Hashtable___CLINIT_();
+JAVA_OBJECT java_util_Hashtable_newEntry___java_lang_Object_java_lang_Object_int(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3);
+void java_util_Hashtable___INIT___(JAVA_OBJECT me);
+void java_util_Hashtable___INIT____int(JAVA_OBJECT me, JAVA_INT n1);
+void java_util_Hashtable___INIT____int_float(JAVA_OBJECT me, JAVA_INT n1, JAVA_FLOAT n2);
+void java_util_Hashtable___INIT____java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Hashtable_newElementArray___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 13
+void java_util_Hashtable_clear__(JAVA_OBJECT me);
+// Vtable index: 0
+JAVA_OBJECT java_util_Hashtable_clone__(JAVA_OBJECT me);
+void java_util_Hashtable_computeMaxSize__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_util_Hashtable_contains___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 14
+JAVA_BOOLEAN java_util_Hashtable_containsKey___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 15
+JAVA_BOOLEAN java_util_Hashtable_containsValue___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 6
+JAVA_OBJECT java_util_Hashtable_elements__(JAVA_OBJECT me);
+// Vtable index: 16
+JAVA_OBJECT java_util_Hashtable_entrySet__(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_util_Hashtable_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 7
+JAVA_OBJECT java_util_Hashtable_get___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Hashtable_getEntry___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 4
+JAVA_INT java_util_Hashtable_hashCode__(JAVA_OBJECT me);
+// Vtable index: 8
+JAVA_BOOLEAN java_util_Hashtable_isEmpty__(JAVA_OBJECT me);
+// Vtable index: 9
+JAVA_OBJECT java_util_Hashtable_keys__(JAVA_OBJECT me);
+// Vtable index: 17
+JAVA_OBJECT java_util_Hashtable_keySet__(JAVA_OBJECT me);
+// Vtable index: 10
+JAVA_OBJECT java_util_Hashtable_put___java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+// Vtable index: 18
+void java_util_Hashtable_putAll___java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_Hashtable_rehash__(JAVA_OBJECT me);
+// Vtable index: 11
+JAVA_OBJECT java_util_Hashtable_remove___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 12
+JAVA_INT java_util_Hashtable_size__(JAVA_OBJECT me);
+// Vtable index: 5
+JAVA_OBJECT java_util_Hashtable_toString__(JAVA_OBJECT me);
+// Vtable index: 19
+JAVA_OBJECT java_util_Hashtable_values__(JAVA_OBJECT me);
+void java_util_Hashtable_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_Hashtable_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Hashtable_access$0__();
+
+#endif
diff --git a/tests/nbody-java/java_util_Hashtable_1.c b/tests/nbody-java/java_util_Hashtable_1.c
new file mode 100644
index 00000000..73d7e4c4
--- /dev/null
+++ b/tests/nbody-java/java_util_Hashtable_1.c
@@ -0,0 +1,204 @@
+#include "xmlvm.h"
+#include "java_util_Hashtable.h"
+
+#include "java_util_Hashtable_1.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Hashtable_1
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_Hashtable_1
+
+__TIB_DEFINITION_java_util_Hashtable_1 __TIB_java_util_Hashtable_1 = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_Hashtable_1, // classInitializer
+ "java.util.Hashtable$1", // className
+ "java.util", // package
+ "java.util.Hashtable", // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "Ljava/lang/Object;Ljava/util/Enumeration<Ljava/lang/Object;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_util_Hashtable_1), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_Hashtable_1;
+JAVA_OBJECT __CLASS_java_util_Hashtable_1_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_Hashtable_1_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_Hashtable_1_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_Hashtable_1()
+{
+ staticInitializerLock(&__TIB_java_util_Hashtable_1);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_Hashtable_1.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_Hashtable_1.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_Hashtable_1);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_Hashtable_1.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_Hashtable_1.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_Hashtable_1.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.Hashtable$1")
+ __INIT_IMPL_java_util_Hashtable_1();
+ }
+}
+
+void __INIT_IMPL_java_util_Hashtable_1()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_util_Hashtable_1.newInstanceFunc = __NEW_INSTANCE_java_util_Hashtable_1;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_Hashtable_1.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_util_Hashtable_1.vtable[6] = (VTABLE_PTR) &java_util_Hashtable_1_hasMoreElements__;
+ __TIB_java_util_Hashtable_1.vtable[7] = (VTABLE_PTR) &java_util_Hashtable_1_nextElement__;
+ // Initialize interface information
+ __TIB_java_util_Hashtable_1.numImplementedInterfaces = 1;
+ __TIB_java_util_Hashtable_1.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_util_Enumeration)
+
+ __TIB_java_util_Hashtable_1.implementedInterfaces[0][0] = &__TIB_java_util_Enumeration;
+ // Initialize itable for this class
+ __TIB_java_util_Hashtable_1.itableBegin = &__TIB_java_util_Hashtable_1.itable[0];
+ __TIB_java_util_Hashtable_1.itable[XMLVM_ITABLE_IDX_java_util_Enumeration_hasMoreElements__] = __TIB_java_util_Hashtable_1.vtable[6];
+ __TIB_java_util_Hashtable_1.itable[XMLVM_ITABLE_IDX_java_util_Enumeration_nextElement__] = __TIB_java_util_Hashtable_1.vtable[7];
+
+
+ __TIB_java_util_Hashtable_1.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_Hashtable_1.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_Hashtable_1.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_Hashtable_1.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_Hashtable_1.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_Hashtable_1.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_Hashtable_1.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_Hashtable_1.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_Hashtable_1 = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_Hashtable_1);
+ __TIB_java_util_Hashtable_1.clazz = __CLASS_java_util_Hashtable_1;
+ __TIB_java_util_Hashtable_1.baseType = JAVA_NULL;
+ __CLASS_java_util_Hashtable_1_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Hashtable_1);
+ __CLASS_java_util_Hashtable_1_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Hashtable_1_1ARRAY);
+ __CLASS_java_util_Hashtable_1_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Hashtable_1_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_Hashtable_1]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_Hashtable_1.classInitialized = 1;
+}
+
+void __DELETE_java_util_Hashtable_1(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_Hashtable_1]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_Hashtable_1(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_Hashtable_1]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_Hashtable_1()
+{ XMLVM_CLASS_INIT(java_util_Hashtable_1)
+java_util_Hashtable_1* me = (java_util_Hashtable_1*) XMLVM_MALLOC(sizeof(java_util_Hashtable_1));
+ me->tib = &__TIB_java_util_Hashtable_1;
+ __INIT_INSTANCE_MEMBERS_java_util_Hashtable_1(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_Hashtable_1]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_Hashtable_1()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_util_Hashtable_1();
+ java_util_Hashtable_1___INIT___(me);
+ return me;
+}
+
+void java_util_Hashtable_1___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_1___INIT___]
+ XMLVM_ENTER_METHOD("java.util.Hashtable$1", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 60)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 1)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_Hashtable_1_hasMoreElements__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_1_hasMoreElements__]
+ XMLVM_ENTER_METHOD("java.util.Hashtable$1", "hasMoreElements", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 62)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Hashtable_1_nextElement__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_1_nextElement__]
+ XMLVM_ENTER_METHOD("java.util.Hashtable$1", "nextElement", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 66)
+
+
+ // Red class access removed: java.util.NoSuchElementException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.NoSuchElementException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_Hashtable_1.h b/tests/nbody-java/java_util_Hashtable_1.h
new file mode 100644
index 00000000..a5d2b43b
--- /dev/null
+++ b/tests/nbody-java/java_util_Hashtable_1.h
@@ -0,0 +1,62 @@
+#ifndef __JAVA_UTIL_HASHTABLE_1__
+#define __JAVA_UTIL_HASHTABLE_1__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_Hashtable_1 2
+// Implemented interfaces:
+#include "java_util_Enumeration.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_util_Hashtable
+#define XMLVM_FORWARD_DECL_java_util_Hashtable
+XMLVM_FORWARD_DECL(java_util_Hashtable)
+#endif
+// Class declarations for java.util.Hashtable$1
+XMLVM_DEFINE_CLASS(java_util_Hashtable_1, 8, XMLVM_ITABLE_SIZE_java_util_Hashtable_1)
+
+extern JAVA_OBJECT __CLASS_java_util_Hashtable_1;
+extern JAVA_OBJECT __CLASS_java_util_Hashtable_1_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Hashtable_1_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Hashtable_1_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_Hashtable_1
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_Hashtable_1 \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_Hashtable_1 \
+ } java_util_Hashtable_1
+
+struct java_util_Hashtable_1 {
+ __TIB_DEFINITION_java_util_Hashtable_1* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_Hashtable_1;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_Hashtable_1
+#define XMLVM_FORWARD_DECL_java_util_Hashtable_1
+typedef struct java_util_Hashtable_1 java_util_Hashtable_1;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_Hashtable_1 8
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_1_hasMoreElements__ 6
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_1_nextElement__ 7
+
+void __INIT_java_util_Hashtable_1();
+void __INIT_IMPL_java_util_Hashtable_1();
+void __DELETE_java_util_Hashtable_1(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_Hashtable_1(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_Hashtable_1();
+JAVA_OBJECT __NEW_INSTANCE_java_util_Hashtable_1();
+void java_util_Hashtable_1___INIT___(JAVA_OBJECT me);
+// Vtable index: 6
+JAVA_BOOLEAN java_util_Hashtable_1_hasMoreElements__(JAVA_OBJECT me);
+// Vtable index: 7
+JAVA_OBJECT java_util_Hashtable_1_nextElement__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_util_Hashtable_2.c b/tests/nbody-java/java_util_Hashtable_2.c
new file mode 100644
index 00000000..bd16914b
--- /dev/null
+++ b/tests/nbody-java/java_util_Hashtable_2.c
@@ -0,0 +1,226 @@
+#include "xmlvm.h"
+#include "java_util_Hashtable.h"
+
+#include "java_util_Hashtable_2.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Hashtable_2
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_Hashtable_2
+
+__TIB_DEFINITION_java_util_Hashtable_2 __TIB_java_util_Hashtable_2 = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_Hashtable_2, // classInitializer
+ "java.util.Hashtable$2", // className
+ "java.util", // package
+ "java.util.Hashtable", // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "Ljava/lang/Object;Ljava/util/Iterator<Ljava/lang/Object;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_util_Hashtable_2), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_Hashtable_2;
+JAVA_OBJECT __CLASS_java_util_Hashtable_2_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_Hashtable_2_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_Hashtable_2_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_Hashtable_2()
+{
+ staticInitializerLock(&__TIB_java_util_Hashtable_2);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_Hashtable_2.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_Hashtable_2.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_Hashtable_2);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_Hashtable_2.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_Hashtable_2.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_Hashtable_2.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.Hashtable$2")
+ __INIT_IMPL_java_util_Hashtable_2();
+ }
+}
+
+void __INIT_IMPL_java_util_Hashtable_2()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_util_Hashtable_2.newInstanceFunc = __NEW_INSTANCE_java_util_Hashtable_2;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_Hashtable_2.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_util_Hashtable_2.vtable[6] = (VTABLE_PTR) &java_util_Hashtable_2_hasNext__;
+ __TIB_java_util_Hashtable_2.vtable[7] = (VTABLE_PTR) &java_util_Hashtable_2_next__;
+ __TIB_java_util_Hashtable_2.vtable[8] = (VTABLE_PTR) &java_util_Hashtable_2_remove__;
+ // Initialize interface information
+ __TIB_java_util_Hashtable_2.numImplementedInterfaces = 1;
+ __TIB_java_util_Hashtable_2.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_util_Iterator)
+
+ __TIB_java_util_Hashtable_2.implementedInterfaces[0][0] = &__TIB_java_util_Iterator;
+ // Initialize itable for this class
+ __TIB_java_util_Hashtable_2.itableBegin = &__TIB_java_util_Hashtable_2.itable[0];
+ __TIB_java_util_Hashtable_2.itable[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__] = __TIB_java_util_Hashtable_2.vtable[6];
+ __TIB_java_util_Hashtable_2.itable[XMLVM_ITABLE_IDX_java_util_Iterator_next__] = __TIB_java_util_Hashtable_2.vtable[7];
+ __TIB_java_util_Hashtable_2.itable[XMLVM_ITABLE_IDX_java_util_Iterator_remove__] = __TIB_java_util_Hashtable_2.vtable[8];
+
+
+ __TIB_java_util_Hashtable_2.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_Hashtable_2.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_Hashtable_2.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_Hashtable_2.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_Hashtable_2.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_Hashtable_2.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_Hashtable_2.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_Hashtable_2.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_Hashtable_2 = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_Hashtable_2);
+ __TIB_java_util_Hashtable_2.clazz = __CLASS_java_util_Hashtable_2;
+ __TIB_java_util_Hashtable_2.baseType = JAVA_NULL;
+ __CLASS_java_util_Hashtable_2_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Hashtable_2);
+ __CLASS_java_util_Hashtable_2_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Hashtable_2_1ARRAY);
+ __CLASS_java_util_Hashtable_2_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Hashtable_2_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_Hashtable_2]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_Hashtable_2.classInitialized = 1;
+}
+
+void __DELETE_java_util_Hashtable_2(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_Hashtable_2]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_Hashtable_2(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_Hashtable_2]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_Hashtable_2()
+{ XMLVM_CLASS_INIT(java_util_Hashtable_2)
+java_util_Hashtable_2* me = (java_util_Hashtable_2*) XMLVM_MALLOC(sizeof(java_util_Hashtable_2));
+ me->tib = &__TIB_java_util_Hashtable_2;
+ __INIT_INSTANCE_MEMBERS_java_util_Hashtable_2(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_Hashtable_2]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_Hashtable_2()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_util_Hashtable_2();
+ java_util_Hashtable_2___INIT___(me);
+ return me;
+}
+
+void java_util_Hashtable_2___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_2___INIT___]
+ XMLVM_ENTER_METHOD("java.util.Hashtable$2", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 70)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 1)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_Hashtable_2_hasNext__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_2_hasNext__]
+ XMLVM_ENTER_METHOD("java.util.Hashtable$2", "hasNext", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 73)
+ _r0.i = 0;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Hashtable_2_next__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_2_next__]
+ XMLVM_ENTER_METHOD("java.util.Hashtable$2", "next", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 77)
+
+
+ // Red class access removed: java.util.NoSuchElementException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.NoSuchElementException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Hashtable_2_remove__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_2_remove__]
+ XMLVM_ENTER_METHOD("java.util.Hashtable$2", "remove", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 81)
+
+
+ // Red class access removed: java.lang.IllegalStateException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalStateException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_Hashtable_2.h b/tests/nbody-java/java_util_Hashtable_2.h
new file mode 100644
index 00000000..73562e48
--- /dev/null
+++ b/tests/nbody-java/java_util_Hashtable_2.h
@@ -0,0 +1,65 @@
+#ifndef __JAVA_UTIL_HASHTABLE_2__
+#define __JAVA_UTIL_HASHTABLE_2__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_Hashtable_2 3
+// Implemented interfaces:
+#include "java_util_Iterator.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_util_Hashtable
+#define XMLVM_FORWARD_DECL_java_util_Hashtable
+XMLVM_FORWARD_DECL(java_util_Hashtable)
+#endif
+// Class declarations for java.util.Hashtable$2
+XMLVM_DEFINE_CLASS(java_util_Hashtable_2, 9, XMLVM_ITABLE_SIZE_java_util_Hashtable_2)
+
+extern JAVA_OBJECT __CLASS_java_util_Hashtable_2;
+extern JAVA_OBJECT __CLASS_java_util_Hashtable_2_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Hashtable_2_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Hashtable_2_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_Hashtable_2
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_Hashtable_2 \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_Hashtable_2 \
+ } java_util_Hashtable_2
+
+struct java_util_Hashtable_2 {
+ __TIB_DEFINITION_java_util_Hashtable_2* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_Hashtable_2;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_Hashtable_2
+#define XMLVM_FORWARD_DECL_java_util_Hashtable_2
+typedef struct java_util_Hashtable_2 java_util_Hashtable_2;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_Hashtable_2 9
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_2_hasNext__ 6
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_2_next__ 7
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_2_remove__ 8
+
+void __INIT_java_util_Hashtable_2();
+void __INIT_IMPL_java_util_Hashtable_2();
+void __DELETE_java_util_Hashtable_2(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_Hashtable_2(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_Hashtable_2();
+JAVA_OBJECT __NEW_INSTANCE_java_util_Hashtable_2();
+void java_util_Hashtable_2___INIT___(JAVA_OBJECT me);
+// Vtable index: 6
+JAVA_BOOLEAN java_util_Hashtable_2_hasNext__(JAVA_OBJECT me);
+// Vtable index: 7
+JAVA_OBJECT java_util_Hashtable_2_next__(JAVA_OBJECT me);
+// Vtable index: 8
+void java_util_Hashtable_2_remove__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_util_Hashtable_Entry.c b/tests/nbody-java/java_util_Hashtable_Entry.c
new file mode 100644
index 00000000..d45de22c
--- /dev/null
+++ b/tests/nbody-java/java_util_Hashtable_Entry.c
@@ -0,0 +1,338 @@
+#include "xmlvm.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+
+#include "java_util_Hashtable_Entry.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Hashtable_Entry
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_Hashtable_Entry
+
+__TIB_DEFINITION_java_util_Hashtable_Entry __TIB_java_util_Hashtable_Entry = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_Hashtable_Entry, // classInitializer
+ "java.util.Hashtable$Entry", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/util/MapEntry<TK;TV;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_MapEntry, // extends
+ sizeof(java_util_Hashtable_Entry), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_Hashtable_Entry;
+JAVA_OBJECT __CLASS_java_util_Hashtable_Entry_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_Hashtable_Entry_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_Hashtable_Entry_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_Hashtable_Entry()
+{
+ staticInitializerLock(&__TIB_java_util_Hashtable_Entry);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_Hashtable_Entry.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_Hashtable_Entry.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_Hashtable_Entry);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_Hashtable_Entry.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_Hashtable_Entry.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_Hashtable_Entry.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.Hashtable$Entry")
+ __INIT_IMPL_java_util_Hashtable_Entry();
+ }
+}
+
+void __INIT_IMPL_java_util_Hashtable_Entry()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_util_MapEntry)
+ __TIB_java_util_Hashtable_Entry.newInstanceFunc = __NEW_INSTANCE_java_util_Hashtable_Entry;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_Hashtable_Entry.vtable, __TIB_java_util_MapEntry.vtable, sizeof(__TIB_java_util_MapEntry.vtable));
+ // Initialize vtable for this class
+ __TIB_java_util_Hashtable_Entry.vtable[0] = (VTABLE_PTR) &java_util_Hashtable_Entry_clone__;
+ __TIB_java_util_Hashtable_Entry.vtable[8] = (VTABLE_PTR) &java_util_Hashtable_Entry_setValue___java_lang_Object;
+ __TIB_java_util_Hashtable_Entry.vtable[5] = (VTABLE_PTR) &java_util_Hashtable_Entry_toString__;
+ // Initialize interface information
+ __TIB_java_util_Hashtable_Entry.numImplementedInterfaces = 2;
+ __TIB_java_util_Hashtable_Entry.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_lang_Cloneable)
+
+ __TIB_java_util_Hashtable_Entry.implementedInterfaces[0][0] = &__TIB_java_lang_Cloneable;
+
+ XMLVM_CLASS_INIT(java_util_Map_Entry)
+
+ __TIB_java_util_Hashtable_Entry.implementedInterfaces[0][1] = &__TIB_java_util_Map_Entry;
+ // Initialize itable for this class
+ __TIB_java_util_Hashtable_Entry.itableBegin = &__TIB_java_util_Hashtable_Entry.itable[0];
+ __TIB_java_util_Hashtable_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_equals___java_lang_Object] = __TIB_java_util_Hashtable_Entry.vtable[1];
+ __TIB_java_util_Hashtable_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__] = __TIB_java_util_Hashtable_Entry.vtable[6];
+ __TIB_java_util_Hashtable_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__] = __TIB_java_util_Hashtable_Entry.vtable[7];
+ __TIB_java_util_Hashtable_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_hashCode__] = __TIB_java_util_Hashtable_Entry.vtable[4];
+ __TIB_java_util_Hashtable_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_setValue___java_lang_Object] = __TIB_java_util_Hashtable_Entry.vtable[8];
+
+
+ __TIB_java_util_Hashtable_Entry.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_Hashtable_Entry.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_Hashtable_Entry.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_Hashtable_Entry.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_Hashtable_Entry.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_Hashtable_Entry.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_Hashtable_Entry.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_Hashtable_Entry.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_Hashtable_Entry = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_Hashtable_Entry);
+ __TIB_java_util_Hashtable_Entry.clazz = __CLASS_java_util_Hashtable_Entry;
+ __TIB_java_util_Hashtable_Entry.baseType = JAVA_NULL;
+ __CLASS_java_util_Hashtable_Entry_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Hashtable_Entry);
+ __CLASS_java_util_Hashtable_Entry_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Hashtable_Entry_1ARRAY);
+ __CLASS_java_util_Hashtable_Entry_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Hashtable_Entry_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_Hashtable_Entry]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_Hashtable_Entry.classInitialized = 1;
+}
+
+void __DELETE_java_util_Hashtable_Entry(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_Hashtable_Entry]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_Hashtable_Entry(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_util_MapEntry(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_util_Hashtable_Entry*) me)->fields.java_util_Hashtable_Entry.next_ = (java_util_Hashtable_Entry*) JAVA_NULL;
+ ((java_util_Hashtable_Entry*) me)->fields.java_util_Hashtable_Entry.hashcode_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_Hashtable_Entry]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_Hashtable_Entry()
+{ XMLVM_CLASS_INIT(java_util_Hashtable_Entry)
+java_util_Hashtable_Entry* me = (java_util_Hashtable_Entry*) XMLVM_MALLOC(sizeof(java_util_Hashtable_Entry));
+ me->tib = &__TIB_java_util_Hashtable_Entry;
+ __INIT_INSTANCE_MEMBERS_java_util_Hashtable_Entry(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_Hashtable_Entry]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_Hashtable_Entry()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+void java_util_Hashtable_Entry___INIT____java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_Entry___INIT____java_lang_Object_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Hashtable$Entry", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 95)
+ XMLVM_CHECK_NPE(1)
+ java_util_MapEntry___INIT____java_lang_Object_java_lang_Object(_r1.o, _r2.o, _r3.o);
+ XMLVM_SOURCE_POSITION("Hashtable.java", 96)
+ //java_lang_Object_hashCode__[4]
+ XMLVM_CHECK_NPE(2)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r2.o)->tib->vtable[4])(_r2.o);
+ XMLVM_CHECK_NPE(1)
+ ((java_util_Hashtable_Entry*) _r1.o)->fields.java_util_Hashtable_Entry.hashcode_ = _r0.i;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 97)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Hashtable_Entry_clone__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_Entry_clone__]
+ XMLVM_ENTER_METHOD("java.util.Hashtable$Entry", "clone", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 102)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_util_MapEntry_clone__(_r2.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 103)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_Hashtable_Entry*) _r2.o)->fields.java_util_Hashtable_Entry.next_;
+ if (_r1.o == JAVA_NULL) goto label20;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 104)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_Hashtable_Entry*) _r2.o)->fields.java_util_Hashtable_Entry.next_;
+ //java_util_Hashtable_Entry_clone__[0]
+ XMLVM_CHECK_NPE(1)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_Hashtable_Entry*) _r1.o)->tib->vtable[0])(_r1.o);
+ _r2.o = _r2.o;
+ XMLVM_CHECK_NPE(0)
+ ((java_util_Hashtable_Entry*) _r0.o)->fields.java_util_Hashtable_Entry.next_ = _r2.o;
+ label20:;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 106)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Hashtable_Entry_setValue___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_Entry_setValue___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Hashtable$Entry", "setValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 111)
+ if (_r2.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 112)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 114)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_MapEntry*) _r1.o)->fields.java_util_MapEntry.value_;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 115)
+ XMLVM_CHECK_NPE(1)
+ ((java_util_MapEntry*) _r1.o)->fields.java_util_MapEntry.value_ = _r2.o;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 116)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_Hashtable_Entry_getKeyHash__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_Entry_getKeyHash__]
+ XMLVM_ENTER_METHOD("java.util.Hashtable$Entry", "getKeyHash", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 120)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_MapEntry*) _r1.o)->fields.java_util_MapEntry.key_;
+ //java_lang_Object_hashCode__[4]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r0.o)->tib->vtable[4])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_Hashtable_Entry_equalsKey___java_lang_Object_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_Entry_equalsKey___java_lang_Object_int]
+ XMLVM_ENTER_METHOD("java.util.Hashtable$Entry", "equalsKey", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.i = n2;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 124)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_util_Hashtable_Entry*) _r2.o)->fields.java_util_Hashtable_Entry.hashcode_;
+ //java_lang_Object_hashCode__[4]
+ XMLVM_CHECK_NPE(3)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r3.o)->tib->vtable[4])(_r3.o);
+ if (_r0.i != _r1.i) goto label18;
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_MapEntry*) _r2.o)->fields.java_util_MapEntry.key_;
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r0.o)->tib->vtable[1])(_r0.o, _r3.o);
+ if (_r0.i == 0) goto label18;
+ _r0.i = 1;
+ label17:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label18:;
+ _r0.i = 0;
+ goto label17;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Hashtable_Entry_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Hashtable_Entry_toString__]
+ XMLVM_ENTER_METHOD("java.util.Hashtable$Entry", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Hashtable.java", 129)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT___(_r0.o);
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_MapEntry*) _r2.o)->fields.java_util_MapEntry.key_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_Object(_r0.o, _r1.o);
+ // "="
+ _r1.o = xmlvm_create_java_string_from_pool(648);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_MapEntry*) _r2.o)->fields.java_util_MapEntry.value_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_Object(_r0.o, _r1.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_Hashtable_Entry.h b/tests/nbody-java/java_util_Hashtable_Entry.h
new file mode 100644
index 00000000..fd031c09
--- /dev/null
+++ b/tests/nbody-java/java_util_Hashtable_Entry.h
@@ -0,0 +1,80 @@
+#ifndef __JAVA_UTIL_HASHTABLE_ENTRY__
+#define __JAVA_UTIL_HASHTABLE_ENTRY__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_Hashtable_Entry 5
+// Implemented interfaces:
+// Super Class:
+#include "java_util_MapEntry.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+// Class declarations for java.util.Hashtable$Entry
+XMLVM_DEFINE_CLASS(java_util_Hashtable_Entry, 9, XMLVM_ITABLE_SIZE_java_util_Hashtable_Entry)
+
+extern JAVA_OBJECT __CLASS_java_util_Hashtable_Entry;
+extern JAVA_OBJECT __CLASS_java_util_Hashtable_Entry_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Hashtable_Entry_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Hashtable_Entry_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_Hashtable_Entry
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_Hashtable_Entry \
+ __INSTANCE_FIELDS_java_util_MapEntry; \
+ struct { \
+ JAVA_OBJECT next_; \
+ JAVA_INT hashcode_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_Hashtable_Entry \
+ } java_util_Hashtable_Entry
+
+struct java_util_Hashtable_Entry {
+ __TIB_DEFINITION_java_util_Hashtable_Entry* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_Hashtable_Entry;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_Hashtable_Entry
+#define XMLVM_FORWARD_DECL_java_util_Hashtable_Entry
+typedef struct java_util_Hashtable_Entry java_util_Hashtable_Entry;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_Hashtable_Entry 9
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_Entry_clone__ 0
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_Entry_setValue___java_lang_Object 8
+#define XMLVM_VTABLE_IDX_java_util_Hashtable_Entry_toString__ 5
+
+void __INIT_java_util_Hashtable_Entry();
+void __INIT_IMPL_java_util_Hashtable_Entry();
+void __DELETE_java_util_Hashtable_Entry(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_Hashtable_Entry(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_Hashtable_Entry();
+JAVA_OBJECT __NEW_INSTANCE_java_util_Hashtable_Entry();
+void java_util_Hashtable_Entry___INIT____java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+// Vtable index: 0
+JAVA_OBJECT java_util_Hashtable_Entry_clone__(JAVA_OBJECT me);
+// Vtable index: 8
+JAVA_OBJECT java_util_Hashtable_Entry_setValue___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_INT java_util_Hashtable_Entry_getKeyHash__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_util_Hashtable_Entry_equalsKey___java_lang_Object_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2);
+// Vtable index: 5
+JAVA_OBJECT java_util_Hashtable_Entry_toString__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_util_Iterator.c b/tests/nbody-java/java_util_Iterator.c
new file mode 100644
index 00000000..19d87dd3
--- /dev/null
+++ b/tests/nbody-java/java_util_Iterator.c
@@ -0,0 +1,76 @@
+#include "xmlvm.h"
+
+#include "java_util_Iterator.h"
+
+__TIB_DEFINITION_java_util_Iterator __TIB_java_util_Iterator = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_Iterator, // classInitializer
+ "java.util.Iterator", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<E:Ljava/lang/Object;>Ljava/lang/Object;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_util_Iterator;
+JAVA_OBJECT __CLASS_java_util_Iterator_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_Iterator_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_Iterator_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_util_Iterator()
+{
+ staticInitializerLock(&__TIB_java_util_Iterator);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_Iterator.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_Iterator.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_Iterator);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_Iterator.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_Iterator.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_Iterator.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.Iterator")
+ __INIT_IMPL_java_util_Iterator();
+ }
+}
+
+void __INIT_IMPL_java_util_Iterator()
+{
+ __TIB_java_util_Iterator.numInterfaces = 0;
+ __TIB_java_util_Iterator.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_Iterator.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_util_Iterator.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_Iterator.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_Iterator.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_util_Iterator = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_Iterator);
+ __TIB_java_util_Iterator.clazz = __CLASS_java_util_Iterator;
+ __TIB_java_util_Iterator.baseType = JAVA_NULL;
+ __CLASS_java_util_Iterator_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Iterator);
+ __CLASS_java_util_Iterator_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Iterator_1ARRAY);
+ __CLASS_java_util_Iterator_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Iterator_2ARRAY);
+
+ __TIB_java_util_Iterator.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_util_Iterator.h b/tests/nbody-java/java_util_Iterator.h
new file mode 100644
index 00000000..88eed20f
--- /dev/null
+++ b/tests/nbody-java/java_util_Iterator.h
@@ -0,0 +1,30 @@
+#ifndef __JAVA_UTIL_ITERATOR__
+#define __JAVA_UTIL_ITERATOR__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__ 0
+#define XMLVM_ITABLE_IDX_java_util_Iterator_next__ 1
+#define XMLVM_ITABLE_IDX_java_util_Iterator_remove__ 2
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+
+XMLVM_DEFINE_CLASS(java_util_Iterator, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_util_Iterator;
+extern JAVA_OBJECT __CLASS_java_util_Iterator_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Iterator_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Iterator_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_util_Iterator
+#define XMLVM_FORWARD_DECL_java_util_Iterator
+typedef struct java_util_Iterator java_util_Iterator;
+#endif
+
+void __INIT_java_util_Iterator();
+void __INIT_IMPL_java_util_Iterator();
+
+#endif
diff --git a/tests/nbody-java/java_util_LinkedList.c b/tests/nbody-java/java_util_LinkedList.c
new file mode 100644
index 00000000..f6bfe34d
--- /dev/null
+++ b/tests/nbody-java/java_util_LinkedList.c
@@ -0,0 +1,2404 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_IndexOutOfBoundsException.h"
+#include "java_lang_Object.h"
+#include "java_lang_reflect_Array.h"
+#include "java_util_ArrayList.h"
+#include "java_util_Collection.h"
+#include "java_util_Iterator.h"
+#include "java_util_LinkedList_Link.h"
+
+#include "java_util_LinkedList.h"
+
+#define XMLVM_CURRENT_CLASS_NAME LinkedList
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_LinkedList
+
+__TIB_DEFINITION_java_util_LinkedList __TIB_java_util_LinkedList = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_LinkedList, // classInitializer
+ "java.util.LinkedList", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<E:Ljava/lang/Object;>Ljava/util/AbstractSequentialList<TE;>;Ljava/util/List<TE;>;Ljava/util/Deque<TE;>;Ljava/lang/Cloneable;Ljava/io/Serializable;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_AbstractSequentialList, // extends
+ sizeof(java_util_LinkedList), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_LinkedList;
+JAVA_OBJECT __CLASS_java_util_LinkedList_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_LinkedList_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_LinkedList_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_util_LinkedList_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_LinkedList()
+{
+ staticInitializerLock(&__TIB_java_util_LinkedList);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_LinkedList.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_LinkedList.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_LinkedList);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_LinkedList.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_LinkedList.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_LinkedList.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.LinkedList")
+ __INIT_IMPL_java_util_LinkedList();
+ }
+}
+
+void __INIT_IMPL_java_util_LinkedList()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_util_AbstractSequentialList)
+ __TIB_java_util_LinkedList.newInstanceFunc = __NEW_INSTANCE_java_util_LinkedList;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_LinkedList.vtable, __TIB_java_util_AbstractSequentialList.vtable, sizeof(__TIB_java_util_AbstractSequentialList.vtable));
+ // Initialize vtable for this class
+ __TIB_java_util_LinkedList.vtable[20] = (VTABLE_PTR) &java_util_LinkedList_add___int_java_lang_Object;
+ __TIB_java_util_LinkedList.vtable[7] = (VTABLE_PTR) &java_util_LinkedList_add___java_lang_Object;
+ __TIB_java_util_LinkedList.vtable[19] = (VTABLE_PTR) &java_util_LinkedList_addAll___int_java_util_Collection;
+ __TIB_java_util_LinkedList.vtable[6] = (VTABLE_PTR) &java_util_LinkedList_addAll___java_util_Collection;
+ __TIB_java_util_LinkedList.vtable[30] = (VTABLE_PTR) &java_util_LinkedList_addFirst___java_lang_Object;
+ __TIB_java_util_LinkedList.vtable[31] = (VTABLE_PTR) &java_util_LinkedList_addLast___java_lang_Object;
+ __TIB_java_util_LinkedList.vtable[8] = (VTABLE_PTR) &java_util_LinkedList_clear__;
+ __TIB_java_util_LinkedList.vtable[0] = (VTABLE_PTR) &java_util_LinkedList_clone__;
+ __TIB_java_util_LinkedList.vtable[10] = (VTABLE_PTR) &java_util_LinkedList_contains___java_lang_Object;
+ __TIB_java_util_LinkedList.vtable[21] = (VTABLE_PTR) &java_util_LinkedList_get___int;
+ __TIB_java_util_LinkedList.vtable[34] = (VTABLE_PTR) &java_util_LinkedList_getFirst__;
+ __TIB_java_util_LinkedList.vtable[35] = (VTABLE_PTR) &java_util_LinkedList_getLast__;
+ __TIB_java_util_LinkedList.vtable[22] = (VTABLE_PTR) &java_util_LinkedList_indexOf___java_lang_Object;
+ __TIB_java_util_LinkedList.vtable[23] = (VTABLE_PTR) &java_util_LinkedList_lastIndexOf___java_lang_Object;
+ __TIB_java_util_LinkedList.vtable[25] = (VTABLE_PTR) &java_util_LinkedList_listIterator___int;
+ __TIB_java_util_LinkedList.vtable[27] = (VTABLE_PTR) &java_util_LinkedList_remove___int;
+ __TIB_java_util_LinkedList.vtable[14] = (VTABLE_PTR) &java_util_LinkedList_remove___java_lang_Object;
+ __TIB_java_util_LinkedList.vtable[48] = (VTABLE_PTR) &java_util_LinkedList_removeFirst__;
+ __TIB_java_util_LinkedList.vtable[50] = (VTABLE_PTR) &java_util_LinkedList_removeLast__;
+ __TIB_java_util_LinkedList.vtable[32] = (VTABLE_PTR) &java_util_LinkedList_descendingIterator__;
+ __TIB_java_util_LinkedList.vtable[36] = (VTABLE_PTR) &java_util_LinkedList_offerFirst___java_lang_Object;
+ __TIB_java_util_LinkedList.vtable[37] = (VTABLE_PTR) &java_util_LinkedList_offerLast___java_lang_Object;
+ __TIB_java_util_LinkedList.vtable[39] = (VTABLE_PTR) &java_util_LinkedList_peekFirst__;
+ __TIB_java_util_LinkedList.vtable[40] = (VTABLE_PTR) &java_util_LinkedList_peekLast__;
+ __TIB_java_util_LinkedList.vtable[42] = (VTABLE_PTR) &java_util_LinkedList_pollFirst__;
+ __TIB_java_util_LinkedList.vtable[43] = (VTABLE_PTR) &java_util_LinkedList_pollLast__;
+ __TIB_java_util_LinkedList.vtable[45] = (VTABLE_PTR) &java_util_LinkedList_pop__;
+ __TIB_java_util_LinkedList.vtable[46] = (VTABLE_PTR) &java_util_LinkedList_push___java_lang_Object;
+ __TIB_java_util_LinkedList.vtable[47] = (VTABLE_PTR) &java_util_LinkedList_removeFirstOccurrence___java_lang_Object;
+ __TIB_java_util_LinkedList.vtable[49] = (VTABLE_PTR) &java_util_LinkedList_removeLastOccurrence___java_lang_Object;
+ __TIB_java_util_LinkedList.vtable[28] = (VTABLE_PTR) &java_util_LinkedList_set___int_java_lang_Object;
+ __TIB_java_util_LinkedList.vtable[16] = (VTABLE_PTR) &java_util_LinkedList_size__;
+ __TIB_java_util_LinkedList.vtable[38] = (VTABLE_PTR) &java_util_LinkedList_offer___java_lang_Object;
+ __TIB_java_util_LinkedList.vtable[44] = (VTABLE_PTR) &java_util_LinkedList_poll__;
+ __TIB_java_util_LinkedList.vtable[51] = (VTABLE_PTR) &java_util_LinkedList_remove__;
+ __TIB_java_util_LinkedList.vtable[41] = (VTABLE_PTR) &java_util_LinkedList_peek__;
+ __TIB_java_util_LinkedList.vtable[33] = (VTABLE_PTR) &java_util_LinkedList_element__;
+ __TIB_java_util_LinkedList.vtable[17] = (VTABLE_PTR) &java_util_LinkedList_toArray__;
+ __TIB_java_util_LinkedList.vtable[18] = (VTABLE_PTR) &java_util_LinkedList_toArray___java_lang_Object_1ARRAY;
+ // Initialize interface information
+ __TIB_java_util_LinkedList.numImplementedInterfaces = 7;
+ __TIB_java_util_LinkedList.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 7);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_util_LinkedList.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_lang_Cloneable)
+
+ __TIB_java_util_LinkedList.implementedInterfaces[0][1] = &__TIB_java_lang_Cloneable;
+
+ XMLVM_CLASS_INIT(java_lang_Iterable)
+
+ __TIB_java_util_LinkedList.implementedInterfaces[0][2] = &__TIB_java_lang_Iterable;
+
+ XMLVM_CLASS_INIT(java_util_Collection)
+
+ __TIB_java_util_LinkedList.implementedInterfaces[0][3] = &__TIB_java_util_Collection;
+
+ XMLVM_CLASS_INIT(java_util_Deque)
+
+ __TIB_java_util_LinkedList.implementedInterfaces[0][4] = &__TIB_java_util_Deque;
+
+ XMLVM_CLASS_INIT(java_util_List)
+
+ __TIB_java_util_LinkedList.implementedInterfaces[0][5] = &__TIB_java_util_List;
+
+ XMLVM_CLASS_INIT(java_util_Queue)
+
+ __TIB_java_util_LinkedList.implementedInterfaces[0][6] = &__TIB_java_util_Queue;
+ // Initialize itable for this class
+ __TIB_java_util_LinkedList.itableBegin = &__TIB_java_util_LinkedList.itable[0];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_lang_Iterable_iterator__] = __TIB_java_util_LinkedList.vtable[12];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Collection_addAll___java_util_Collection] = __TIB_java_util_LinkedList.vtable[6];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Collection_add___java_lang_Object] = __TIB_java_util_LinkedList.vtable[7];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Collection_clear__] = __TIB_java_util_LinkedList.vtable[8];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Collection_containsAll___java_util_Collection] = __TIB_java_util_LinkedList.vtable[9];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Collection_contains___java_lang_Object] = __TIB_java_util_LinkedList.vtable[10];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Collection_equals___java_lang_Object] = __TIB_java_util_LinkedList.vtable[1];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Collection_hashCode__] = __TIB_java_util_LinkedList.vtable[4];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Collection_isEmpty__] = __TIB_java_util_LinkedList.vtable[11];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Collection_iterator__] = __TIB_java_util_LinkedList.vtable[12];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Collection_removeAll___java_util_Collection] = __TIB_java_util_LinkedList.vtable[13];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Collection_remove___java_lang_Object] = __TIB_java_util_LinkedList.vtable[14];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Collection_retainAll___java_util_Collection] = __TIB_java_util_LinkedList.vtable[15];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Collection_size__] = __TIB_java_util_LinkedList.vtable[16];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Collection_toArray__] = __TIB_java_util_LinkedList.vtable[17];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Collection_toArray___java_lang_Object_1ARRAY] = __TIB_java_util_LinkedList.vtable[18];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_addAll___java_util_Collection] = __TIB_java_util_LinkedList.vtable[6];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_addFirst___java_lang_Object] = __TIB_java_util_LinkedList.vtable[30];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_addLast___java_lang_Object] = __TIB_java_util_LinkedList.vtable[31];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_add___java_lang_Object] = __TIB_java_util_LinkedList.vtable[7];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_clear__] = __TIB_java_util_LinkedList.vtable[8];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_containsAll___java_util_Collection] = __TIB_java_util_LinkedList.vtable[9];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_contains___java_lang_Object] = __TIB_java_util_LinkedList.vtable[10];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_descendingIterator__] = __TIB_java_util_LinkedList.vtable[32];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_element__] = __TIB_java_util_LinkedList.vtable[33];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_equals___java_lang_Object] = __TIB_java_util_LinkedList.vtable[1];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_getFirst__] = __TIB_java_util_LinkedList.vtable[34];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_getLast__] = __TIB_java_util_LinkedList.vtable[35];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_hashCode__] = __TIB_java_util_LinkedList.vtable[4];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_isEmpty__] = __TIB_java_util_LinkedList.vtable[11];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_iterator__] = __TIB_java_util_LinkedList.vtable[12];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_offerFirst___java_lang_Object] = __TIB_java_util_LinkedList.vtable[36];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_offerLast___java_lang_Object] = __TIB_java_util_LinkedList.vtable[37];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_offer___java_lang_Object] = __TIB_java_util_LinkedList.vtable[38];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_peekFirst__] = __TIB_java_util_LinkedList.vtable[39];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_peekLast__] = __TIB_java_util_LinkedList.vtable[40];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_peek__] = __TIB_java_util_LinkedList.vtable[41];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_pollFirst__] = __TIB_java_util_LinkedList.vtable[42];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_pollLast__] = __TIB_java_util_LinkedList.vtable[43];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_poll__] = __TIB_java_util_LinkedList.vtable[44];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_pop__] = __TIB_java_util_LinkedList.vtable[45];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_push___java_lang_Object] = __TIB_java_util_LinkedList.vtable[46];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_removeAll___java_util_Collection] = __TIB_java_util_LinkedList.vtable[13];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_removeFirstOccurrence___java_lang_Object] = __TIB_java_util_LinkedList.vtable[47];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_removeFirst__] = __TIB_java_util_LinkedList.vtable[48];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_removeLastOccurrence___java_lang_Object] = __TIB_java_util_LinkedList.vtable[49];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_removeLast__] = __TIB_java_util_LinkedList.vtable[50];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_remove__] = __TIB_java_util_LinkedList.vtable[51];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_remove___java_lang_Object] = __TIB_java_util_LinkedList.vtable[14];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_retainAll___java_util_Collection] = __TIB_java_util_LinkedList.vtable[15];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_size__] = __TIB_java_util_LinkedList.vtable[16];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_toArray__] = __TIB_java_util_LinkedList.vtable[17];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Deque_toArray___java_lang_Object_1ARRAY] = __TIB_java_util_LinkedList.vtable[18];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_addAll___int_java_util_Collection] = __TIB_java_util_LinkedList.vtable[19];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_addAll___java_util_Collection] = __TIB_java_util_LinkedList.vtable[6];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_add___int_java_lang_Object] = __TIB_java_util_LinkedList.vtable[20];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_add___java_lang_Object] = __TIB_java_util_LinkedList.vtable[7];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_clear__] = __TIB_java_util_LinkedList.vtable[8];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_containsAll___java_util_Collection] = __TIB_java_util_LinkedList.vtable[9];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_contains___java_lang_Object] = __TIB_java_util_LinkedList.vtable[10];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_equals___java_lang_Object] = __TIB_java_util_LinkedList.vtable[1];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_get___int] = __TIB_java_util_LinkedList.vtable[21];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_hashCode__] = __TIB_java_util_LinkedList.vtable[4];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_indexOf___java_lang_Object] = __TIB_java_util_LinkedList.vtable[22];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_isEmpty__] = __TIB_java_util_LinkedList.vtable[11];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_iterator__] = __TIB_java_util_LinkedList.vtable[12];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_lastIndexOf___java_lang_Object] = __TIB_java_util_LinkedList.vtable[23];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_listIterator__] = __TIB_java_util_LinkedList.vtable[24];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_listIterator___int] = __TIB_java_util_LinkedList.vtable[25];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_removeAll___java_util_Collection] = __TIB_java_util_LinkedList.vtable[13];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_remove___int] = __TIB_java_util_LinkedList.vtable[27];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_remove___java_lang_Object] = __TIB_java_util_LinkedList.vtable[14];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_retainAll___java_util_Collection] = __TIB_java_util_LinkedList.vtable[15];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_set___int_java_lang_Object] = __TIB_java_util_LinkedList.vtable[28];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_size__] = __TIB_java_util_LinkedList.vtable[16];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_subList___int_int] = __TIB_java_util_LinkedList.vtable[29];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_toArray__] = __TIB_java_util_LinkedList.vtable[17];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_List_toArray___java_lang_Object_1ARRAY] = __TIB_java_util_LinkedList.vtable[18];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Queue_addAll___java_util_Collection] = __TIB_java_util_LinkedList.vtable[6];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Queue_add___java_lang_Object] = __TIB_java_util_LinkedList.vtable[7];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Queue_clear__] = __TIB_java_util_LinkedList.vtable[8];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Queue_containsAll___java_util_Collection] = __TIB_java_util_LinkedList.vtable[9];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Queue_contains___java_lang_Object] = __TIB_java_util_LinkedList.vtable[10];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Queue_element__] = __TIB_java_util_LinkedList.vtable[33];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Queue_equals___java_lang_Object] = __TIB_java_util_LinkedList.vtable[1];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Queue_hashCode__] = __TIB_java_util_LinkedList.vtable[4];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Queue_isEmpty__] = __TIB_java_util_LinkedList.vtable[11];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Queue_iterator__] = __TIB_java_util_LinkedList.vtable[12];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Queue_offer___java_lang_Object] = __TIB_java_util_LinkedList.vtable[38];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Queue_peek__] = __TIB_java_util_LinkedList.vtable[41];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Queue_poll__] = __TIB_java_util_LinkedList.vtable[44];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Queue_removeAll___java_util_Collection] = __TIB_java_util_LinkedList.vtable[13];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Queue_remove__] = __TIB_java_util_LinkedList.vtable[51];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Queue_remove___java_lang_Object] = __TIB_java_util_LinkedList.vtable[14];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Queue_retainAll___java_util_Collection] = __TIB_java_util_LinkedList.vtable[15];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Queue_size__] = __TIB_java_util_LinkedList.vtable[16];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Queue_toArray__] = __TIB_java_util_LinkedList.vtable[17];
+ __TIB_java_util_LinkedList.itable[XMLVM_ITABLE_IDX_java_util_Queue_toArray___java_lang_Object_1ARRAY] = __TIB_java_util_LinkedList.vtable[18];
+
+ _STATIC_java_util_LinkedList_serialVersionUID = 876323262645176354;
+
+ __TIB_java_util_LinkedList.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_LinkedList.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_LinkedList.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_LinkedList.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_LinkedList.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_LinkedList.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_LinkedList.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_LinkedList.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_LinkedList = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_LinkedList);
+ __TIB_java_util_LinkedList.clazz = __CLASS_java_util_LinkedList;
+ __TIB_java_util_LinkedList.baseType = JAVA_NULL;
+ __CLASS_java_util_LinkedList_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_LinkedList);
+ __CLASS_java_util_LinkedList_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_LinkedList_1ARRAY);
+ __CLASS_java_util_LinkedList_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_LinkedList_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_LinkedList]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_LinkedList.classInitialized = 1;
+}
+
+void __DELETE_java_util_LinkedList(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_LinkedList]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_LinkedList(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_util_AbstractSequentialList(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_util_LinkedList*) me)->fields.java_util_LinkedList.size_ = 0;
+ ((java_util_LinkedList*) me)->fields.java_util_LinkedList.voidLink_ = (java_util_LinkedList_Link*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_LinkedList]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_LinkedList()
+{ XMLVM_CLASS_INIT(java_util_LinkedList)
+java_util_LinkedList* me = (java_util_LinkedList*) XMLVM_MALLOC(sizeof(java_util_LinkedList));
+ me->tib = &__TIB_java_util_LinkedList;
+ __INIT_INSTANCE_MEMBERS_java_util_LinkedList(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_LinkedList]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_LinkedList()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_util_LinkedList();
+ java_util_LinkedList___INIT___(me);
+ return me;
+}
+
+JAVA_LONG java_util_LinkedList_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_util_LinkedList)
+ return _STATIC_java_util_LinkedList_serialVersionUID;
+}
+
+void java_util_LinkedList_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_util_LinkedList)
+_STATIC_java_util_LinkedList_serialVersionUID = v;
+}
+
+void java_util_LinkedList___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList___INIT___]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ _r1.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 239)
+ XMLVM_CHECK_NPE(2)
+ java_util_AbstractSequentialList___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("LinkedList.java", 39)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(2)
+ ((java_util_LinkedList*) _r2.o)->fields.java_util_LinkedList.size_ = _r0.i;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 240)
+ _r0.o = __NEW_java_util_LinkedList_Link();
+ XMLVM_CHECK_NPE(0)
+ java_util_LinkedList_Link___INIT____java_lang_Object_java_util_LinkedList_Link_java_util_LinkedList_Link(_r0.o, _r1.o, _r1.o, _r1.o);
+ XMLVM_CHECK_NPE(2)
+ ((java_util_LinkedList*) _r2.o)->fields.java_util_LinkedList.voidLink_ = _r0.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 241)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_LinkedList*) _r2.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_LinkedList*) _r2.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(0)
+ ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.previous_ = _r1.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 242)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_LinkedList*) _r2.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_LinkedList*) _r2.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(0)
+ ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.next_ = _r1.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 243)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_LinkedList___INIT____java_util_Collection(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList___INIT____java_util_Collection]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 255)
+ XMLVM_CHECK_NPE(0)
+ java_util_LinkedList___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("LinkedList.java", 256)
+ //java_util_LinkedList_addAll___java_util_Collection[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_LinkedList*) _r0.o)->tib->vtable[6])(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("LinkedList.java", 257)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_LinkedList_add___int_java_lang_Object(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_add___int_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "add", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r4.o = me;
+ _r5.i = n1;
+ _r6.o = n2;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 274)
+ if (_r5.i < 0) goto label64;
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_util_LinkedList*) _r4.o)->fields.java_util_LinkedList.size_;
+ if (_r5.i > _r0.i) goto label64;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 275)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_util_LinkedList*) _r4.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 276)
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_util_LinkedList*) _r4.o)->fields.java_util_LinkedList.size_;
+ _r1.i = _r1.i / 2;
+ if (_r5.i >= _r1.i) goto label50;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 277)
+ _r1.i = 0;
+ _r3 = _r1;
+ _r1 = _r0;
+ _r0 = _r3;
+ label18:;
+ if (_r0.i <= _r5.i) goto label45;
+ _r0 = _r1;
+ label21:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 285)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.previous_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 286)
+ _r2.o = __NEW_java_util_LinkedList_Link();
+ XMLVM_CHECK_NPE(2)
+ java_util_LinkedList_Link___INIT____java_lang_Object_java_util_LinkedList_Link_java_util_LinkedList_Link(_r2.o, _r6.o, _r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("LinkedList.java", 287)
+ XMLVM_CHECK_NPE(1)
+ ((java_util_LinkedList_Link*) _r1.o)->fields.java_util_LinkedList_Link.next_ = _r2.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 288)
+ XMLVM_CHECK_NPE(0)
+ ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.previous_ = _r2.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 289)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_util_LinkedList*) _r4.o)->fields.java_util_LinkedList.size_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(4)
+ ((java_util_LinkedList*) _r4.o)->fields.java_util_LinkedList.size_ = _r0.i;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 290)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_util_AbstractList*) _r4.o)->fields.java_util_AbstractList.modCount_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(4)
+ ((java_util_AbstractList*) _r4.o)->fields.java_util_AbstractList.modCount_ = _r0.i;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 294)
+ XMLVM_EXIT_METHOD()
+ return;
+ label45:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 278)
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((java_util_LinkedList_Link*) _r1.o)->fields.java_util_LinkedList_Link.next_;
+ _r0.i = _r0.i + 1;
+ goto label18;
+ label50:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 281)
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_util_LinkedList*) _r4.o)->fields.java_util_LinkedList.size_;
+ _r3 = _r1;
+ _r1 = _r0;
+ _r0 = _r3;
+ label55:;
+ if (_r0.i > _r5.i) goto label59;
+ _r0 = _r1;
+ goto label21;
+ label59:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 282)
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((java_util_LinkedList_Link*) _r1.o)->fields.java_util_LinkedList_Link.previous_;
+ _r0.i = _r0.i + -1;
+ goto label55;
+ label64:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 292)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_LinkedList_add___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_add___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "add", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 305)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_util_LinkedList_addLastImpl___java_lang_Object(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_LinkedList_addLastImpl___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_addLastImpl___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "addLastImpl", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 309)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.previous_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 310)
+ _r1.o = __NEW_java_util_LinkedList_Link();
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(1)
+ java_util_LinkedList_Link___INIT____java_lang_Object_java_util_LinkedList_Link_java_util_LinkedList_Link(_r1.o, _r4.o, _r0.o, _r2.o);
+ XMLVM_SOURCE_POSITION("LinkedList.java", 311)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(2)
+ ((java_util_LinkedList_Link*) _r2.o)->fields.java_util_LinkedList_Link.previous_ = _r1.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 312)
+ XMLVM_CHECK_NPE(0)
+ ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.next_ = _r1.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 313)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.size_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(3)
+ ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.size_ = _r0.i;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 314)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_util_AbstractList*) _r3.o)->fields.java_util_AbstractList.modCount_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(3)
+ ((java_util_AbstractList*) _r3.o)->fields.java_util_AbstractList.modCount_ = _r0.i;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 315)
+ _r0.i = 1;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_LinkedList_addAll___int_java_util_Collection(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_addAll___int_java_util_Collection]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "addAll", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ _r8.o = me;
+ _r9.i = n1;
+ _r10.o = n2;
+ _r4.i = 0;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 338)
+ if (_r9.i < 0) goto label7;
+ XMLVM_CHECK_NPE(8)
+ _r0.i = ((java_util_LinkedList*) _r8.o)->fields.java_util_LinkedList.size_;
+ if (_r9.i <= _r0.i) goto label13;
+ label7:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 339)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label13:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 341)
+ XMLVM_CHECK_NPE(10)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r10.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_size__])(_r10.o);
+ XMLVM_SOURCE_POSITION("LinkedList.java", 342)
+ if (_r1.i != 0) goto label21;
+ _r0 = _r4;
+ label20:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 343)
+ XMLVM_SOURCE_POSITION("LinkedList.java", 368)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label21:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 345)
+ if (_r10.o != _r8.o) goto label70;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 346)
+ _r0.o = __NEW_java_util_ArrayList();
+ XMLVM_CHECK_NPE(0)
+ java_util_ArrayList___INIT____java_util_Collection(_r0.o, _r10.o);
+ label28:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 348)
+ XMLVM_CHECK_NPE(8)
+ _r2.o = ((java_util_LinkedList*) _r8.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 349)
+ XMLVM_CHECK_NPE(8)
+ _r3.i = ((java_util_LinkedList*) _r8.o)->fields.java_util_LinkedList.size_;
+ _r3.i = _r3.i / 2;
+ if (_r9.i >= _r3.i) goto label77;
+ _r3 = _r2;
+ _r2 = _r4;
+ label38:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 350)
+ if (_r2.i < _r9.i) goto label72;
+ _r2 = _r3;
+ label41:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 358)
+ XMLVM_CHECK_NPE(2)
+ _r3.o = ((java_util_LinkedList_Link*) _r2.o)->fields.java_util_LinkedList_Link.next_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 359)
+ XMLVM_CHECK_NPE(0)
+ _r4.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_iterator__])(_r0.o);
+ label47:;
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r4.o);
+ if (_r0.i != 0) goto label91;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 364)
+ XMLVM_CHECK_NPE(2)
+ ((java_util_LinkedList_Link*) _r2.o)->fields.java_util_LinkedList_Link.next_ = _r3.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 365)
+ XMLVM_CHECK_NPE(3)
+ ((java_util_LinkedList_Link*) _r3.o)->fields.java_util_LinkedList_Link.previous_ = _r2.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 366)
+ XMLVM_CHECK_NPE(8)
+ _r0.i = ((java_util_LinkedList*) _r8.o)->fields.java_util_LinkedList.size_;
+ _r0.i = _r0.i + _r1.i;
+ XMLVM_CHECK_NPE(8)
+ ((java_util_LinkedList*) _r8.o)->fields.java_util_LinkedList.size_ = _r0.i;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 367)
+ XMLVM_CHECK_NPE(8)
+ _r0.i = ((java_util_AbstractList*) _r8.o)->fields.java_util_AbstractList.modCount_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(8)
+ ((java_util_AbstractList*) _r8.o)->fields.java_util_AbstractList.modCount_ = _r0.i;
+ _r0.i = 1;
+ goto label20;
+ label70:;
+ _r0 = _r10;
+ goto label28;
+ label72:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 351)
+ XMLVM_CHECK_NPE(3)
+ _r3.o = ((java_util_LinkedList_Link*) _r3.o)->fields.java_util_LinkedList_Link.next_;
+ _r2.i = _r2.i + 1;
+ goto label38;
+ label77:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 354)
+ XMLVM_CHECK_NPE(8)
+ _r3.i = ((java_util_LinkedList*) _r8.o)->fields.java_util_LinkedList.size_;
+ _r7 = _r3;
+ _r3 = _r2;
+ _r2 = _r7;
+ label82:;
+ if (_r2.i >= _r9.i) goto label86;
+ _r2 = _r3;
+ goto label41;
+ label86:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 355)
+ XMLVM_CHECK_NPE(3)
+ _r3.o = ((java_util_LinkedList_Link*) _r3.o)->fields.java_util_LinkedList_Link.previous_;
+ _r2.i = _r2.i + -1;
+ goto label82;
+ label91:;
+ XMLVM_CHECK_NPE(4)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r4.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 360)
+ _r5.o = __NEW_java_util_LinkedList_Link();
+ _r6.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(5)
+ java_util_LinkedList_Link___INIT____java_lang_Object_java_util_LinkedList_Link_java_util_LinkedList_Link(_r5.o, _r0.o, _r2.o, _r6.o);
+ XMLVM_SOURCE_POSITION("LinkedList.java", 361)
+ XMLVM_CHECK_NPE(2)
+ ((java_util_LinkedList_Link*) _r2.o)->fields.java_util_LinkedList_Link.next_ = _r5.o;
+ _r2 = _r5;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 362)
+ goto label47;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_LinkedList_addAll___java_util_Collection(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_addAll___java_util_Collection]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "addAll", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 381)
+ XMLVM_CHECK_NPE(7)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r7.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_size__])(_r7.o);
+ XMLVM_SOURCE_POSITION("LinkedList.java", 382)
+ if (_r1.i != 0) goto label8;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 383)
+ _r0.i = 0;
+ label7:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 398)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label8:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 385)
+ if (_r7.o != _r6.o) goto label50;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 386)
+ _r0.o = __NEW_java_util_ArrayList();
+ XMLVM_CHECK_NPE(0)
+ java_util_ArrayList___INIT____java_util_Collection(_r0.o, _r7.o);
+ label15:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 388)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_util_LinkedList*) _r6.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(2)
+ _r2.o = ((java_util_LinkedList_Link*) _r2.o)->fields.java_util_LinkedList_Link.previous_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 389)
+ XMLVM_CHECK_NPE(0)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Collection_iterator__])(_r0.o);
+ label23:;
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r3.o);
+ if (_r0.i != 0) goto label52;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 394)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_util_LinkedList*) _r6.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(2)
+ ((java_util_LinkedList_Link*) _r2.o)->fields.java_util_LinkedList_Link.next_ = _r0.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 395)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_util_LinkedList*) _r6.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(0)
+ ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.previous_ = _r2.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 396)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_util_LinkedList*) _r6.o)->fields.java_util_LinkedList.size_;
+ _r0.i = _r0.i + _r1.i;
+ XMLVM_CHECK_NPE(6)
+ ((java_util_LinkedList*) _r6.o)->fields.java_util_LinkedList.size_ = _r0.i;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 397)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_util_AbstractList*) _r6.o)->fields.java_util_AbstractList.modCount_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(6)
+ ((java_util_AbstractList*) _r6.o)->fields.java_util_AbstractList.modCount_ = _r0.i;
+ _r0.i = 1;
+ goto label7;
+ label50:;
+ _r0 = _r7;
+ goto label15;
+ label52:;
+ XMLVM_CHECK_NPE(3)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r3.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 390)
+ _r4.o = __NEW_java_util_LinkedList_Link();
+ _r5.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(4)
+ java_util_LinkedList_Link___INIT____java_lang_Object_java_util_LinkedList_Link_java_util_LinkedList_Link(_r4.o, _r0.o, _r2.o, _r5.o);
+ XMLVM_SOURCE_POSITION("LinkedList.java", 391)
+ XMLVM_CHECK_NPE(2)
+ ((java_util_LinkedList_Link*) _r2.o)->fields.java_util_LinkedList_Link.next_ = _r4.o;
+ _r2 = _r4;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 392)
+ goto label23;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_LinkedList_addFirst___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_addFirst___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "addFirst", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 408)
+ XMLVM_CHECK_NPE(0)
+ java_util_LinkedList_addFirstImpl___java_lang_Object(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("LinkedList.java", 409)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_LinkedList_addFirstImpl___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_addFirstImpl___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "addFirstImpl", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 412)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.next_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 413)
+ _r1.o = __NEW_java_util_LinkedList_Link();
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(1)
+ java_util_LinkedList_Link___INIT____java_lang_Object_java_util_LinkedList_Link_java_util_LinkedList_Link(_r1.o, _r4.o, _r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("LinkedList.java", 414)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(2)
+ ((java_util_LinkedList_Link*) _r2.o)->fields.java_util_LinkedList_Link.next_ = _r1.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 415)
+ XMLVM_CHECK_NPE(0)
+ ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.previous_ = _r1.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 416)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.size_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(3)
+ ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.size_ = _r0.i;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 417)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_util_AbstractList*) _r3.o)->fields.java_util_AbstractList.modCount_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(3)
+ ((java_util_AbstractList*) _r3.o)->fields.java_util_AbstractList.modCount_ = _r0.i;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 418)
+ _r0.i = 1;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_LinkedList_addLast___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_addLast___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "addLast", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 428)
+ XMLVM_CHECK_NPE(0)
+ java_util_LinkedList_addLastImpl___java_lang_Object(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("LinkedList.java", 429)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_LinkedList_clear__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_clear__]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "clear", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 439)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_util_LinkedList*) _r2.o)->fields.java_util_LinkedList.size_;
+ if (_r0.i <= 0) goto label25;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 440)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(2)
+ ((java_util_LinkedList*) _r2.o)->fields.java_util_LinkedList.size_ = _r0.i;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 441)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_LinkedList*) _r2.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_LinkedList*) _r2.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(0)
+ ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.next_ = _r1.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 442)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_LinkedList*) _r2.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_LinkedList*) _r2.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(0)
+ ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.previous_ = _r1.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 443)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_util_AbstractList*) _r2.o)->fields.java_util_AbstractList.modCount_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(2)
+ ((java_util_AbstractList*) _r2.o)->fields.java_util_AbstractList.modCount_ = _r0.i;
+ label25:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 445)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_clone__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_clone__]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "clone", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ _r6.o = me;
+ _r5.o = JAVA_NULL;
+ XMLVM_TRY_BEGIN(w921aaac14b1b3)
+ // Begin try
+ XMLVM_SOURCE_POSITION("LinkedList.java", 458)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = java_lang_Object_clone__(_r6.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 459)
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(0)
+ ((java_util_LinkedList*) _r0.o)->fields.java_util_LinkedList.size_ = _r1.i;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 460)
+ _r1.o = __NEW_java_util_LinkedList_Link();
+ _r2.o = JAVA_NULL;
+ _r3.o = JAVA_NULL;
+ _r4.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(1)
+ java_util_LinkedList_Link___INIT____java_lang_Object_java_util_LinkedList_Link_java_util_LinkedList_Link(_r1.o, _r2.o, _r3.o, _r4.o);
+ XMLVM_CHECK_NPE(0)
+ ((java_util_LinkedList*) _r0.o)->fields.java_util_LinkedList.voidLink_ = _r1.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 461)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = ((java_util_LinkedList*) _r0.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(0)
+ _r2.o = ((java_util_LinkedList*) _r0.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(1)
+ ((java_util_LinkedList_Link*) _r1.o)->fields.java_util_LinkedList_Link.previous_ = _r2.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 462)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = ((java_util_LinkedList*) _r0.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(0)
+ _r2.o = ((java_util_LinkedList*) _r0.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(1)
+ ((java_util_LinkedList_Link*) _r1.o)->fields.java_util_LinkedList_Link.next_ = _r2.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 463)
+ //java_util_LinkedList_addAll___java_util_Collection[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_LinkedList*) _r0.o)->tib->vtable[6])(_r0.o, _r6.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w921aaac14b1b3)
+ XMLVM_CATCH_END(w921aaac14b1b3)
+ XMLVM_RESTORE_EXCEPTION_ENV(w921aaac14b1b3)
+ label35:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 466)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label36:;
+ java_lang_Thread* curThread_w921aaac14b1b8 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w921aaac14b1b8->fields.java_lang_Thread.xmlvmException_;
+ _r0 = _r5;
+ goto label35;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_LinkedList_contains___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_contains___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "contains", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ _r2.i = 1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 480)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.next_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 481)
+ if (_r4.o == JAVA_NULL) goto label34;
+ label7:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 482)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.voidLink_;
+ if (_r0.o != _r1.o) goto label13;
+ label11:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 496)
+ _r0.i = 0;
+ label12:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label13:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 483)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.data_;
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(4)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r4.o)->tib->vtable[1])(_r4.o, _r1.o);
+ if (_r1.i == 0) goto label23;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 484)
+ goto label12;
+ label23:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 486)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.next_;
+ goto label7;
+ label26:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 490)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.data_;
+ if (_r1.o != JAVA_NULL) goto label32;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 491)
+ goto label12;
+ label32:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 493)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.next_;
+ label34:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 489)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.voidLink_;
+ if (_r0.o != _r1.o) goto label26;
+ goto label11;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_get___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_get___int]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "get", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.i = n1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 501)
+ if (_r4.i < 0) goto label43;
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.size_;
+ if (_r4.i >= _r0.i) goto label43;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 502)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 503)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.size_;
+ _r1.i = _r1.i / 2;
+ if (_r4.i >= _r1.i) goto label29;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 504)
+ _r1.i = 0;
+ _r2 = _r1;
+ _r1 = _r0;
+ _r0 = _r2;
+ label18:;
+ if (_r0.i <= _r4.i) goto label24;
+ _r0 = _r1;
+ label21:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 512)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.data_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label24:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 505)
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((java_util_LinkedList_Link*) _r1.o)->fields.java_util_LinkedList_Link.next_;
+ _r0.i = _r0.i + 1;
+ goto label18;
+ label29:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 508)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.size_;
+ _r2 = _r1;
+ _r1 = _r0;
+ _r0 = _r2;
+ label34:;
+ if (_r0.i > _r4.i) goto label38;
+ _r0 = _r1;
+ goto label21;
+ label38:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 509)
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((java_util_LinkedList_Link*) _r1.o)->fields.java_util_LinkedList_Link.previous_;
+ _r0.i = _r0.i + -1;
+ goto label34;
+ label43:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 514)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_getFirst__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_getFirst__]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "getFirst", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 525)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_LinkedList_getFirstImpl__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_getFirstImpl__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_getFirstImpl__]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "getFirstImpl", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 529)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_LinkedList*) _r2.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.next_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 530)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_LinkedList*) _r2.o)->fields.java_util_LinkedList.voidLink_;
+ if (_r0.o == _r1.o) goto label11;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 531)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.data_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label11:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 533)
+
+
+ // Red class access removed: java.util.NoSuchElementException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.NoSuchElementException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_getLast__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_getLast__]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "getLast", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 544)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_LinkedList*) _r2.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.previous_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 545)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_LinkedList*) _r2.o)->fields.java_util_LinkedList.voidLink_;
+ if (_r0.o == _r1.o) goto label11;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 546)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.data_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label11:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 548)
+
+
+ // Red class access removed: java.util.NoSuchElementException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.NoSuchElementException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_LinkedList_indexOf___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_indexOf___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "indexOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.o = n1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 553)
+ _r0.i = 0;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 554)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_util_LinkedList*) _r4.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((java_util_LinkedList_Link*) _r1.o)->fields.java_util_LinkedList_Link.next_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 555)
+ if (_r5.o == JAVA_NULL) goto label46;
+ _r3 = _r1;
+ _r1 = _r0;
+ _r0 = _r3;
+ label10:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 556)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_util_LinkedList*) _r4.o)->fields.java_util_LinkedList.voidLink_;
+ if (_r0.o != _r2.o) goto label16;
+ label14:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 572)
+ _r0.i = -1;
+ label15:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label16:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 557)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.data_;
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(5)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r5.o)->tib->vtable[1])(_r5.o, _r2.o);
+ if (_r2.i == 0) goto label26;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 558)
+ goto label15;
+ label26:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 560)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.next_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 561)
+ _r1.i = _r1.i + 1;
+ goto label10;
+ label31:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 565)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.data_;
+ if (_r2.o != JAVA_NULL) goto label37;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 566)
+ goto label15;
+ label37:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 568)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.next_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 569)
+ _r1.i = _r1.i + 1;
+ label41:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 564)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_util_LinkedList*) _r4.o)->fields.java_util_LinkedList.voidLink_;
+ if (_r0.o != _r2.o) goto label31;
+ goto label14;
+ label46:;
+ _r3 = _r1;
+ _r1 = _r0;
+ _r0 = _r3;
+ goto label41;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_LinkedList_lastIndexOf___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_lastIndexOf___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "lastIndexOf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.o = n1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 586)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_util_LinkedList*) _r4.o)->fields.java_util_LinkedList.size_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 587)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_util_LinkedList*) _r4.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((java_util_LinkedList_Link*) _r1.o)->fields.java_util_LinkedList_Link.previous_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 588)
+ if (_r5.o == JAVA_NULL) goto label47;
+ _r3 = _r1;
+ _r1 = _r0;
+ _r0 = _r3;
+ label11:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 589)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_util_LinkedList*) _r4.o)->fields.java_util_LinkedList.voidLink_;
+ if (_r0.o != _r2.o) goto label17;
+ label15:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 605)
+ _r0.i = -1;
+ label16:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label17:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 590)
+ _r1.i = _r1.i + -1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 591)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.data_;
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(5)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r5.o)->tib->vtable[1])(_r5.o, _r2.o);
+ if (_r2.i == 0) goto label29;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 592)
+ goto label16;
+ label29:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 594)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.previous_;
+ goto label11;
+ label32:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 598)
+ _r1.i = _r1.i + -1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 599)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.data_;
+ if (_r2.o != JAVA_NULL) goto label40;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 600)
+ goto label16;
+ label40:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 602)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.previous_;
+ label42:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 597)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((java_util_LinkedList*) _r4.o)->fields.java_util_LinkedList.voidLink_;
+ if (_r0.o != _r2.o) goto label32;
+ goto label15;
+ label47:;
+ _r3 = _r1;
+ _r1 = _r0;
+ _r0 = _r3;
+ goto label42;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_listIterator___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_listIterator___int]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "listIterator", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 622)
+
+
+ // Red class access removed: java.util.LinkedList$LinkIterator::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.LinkedList$LinkIterator::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_remove___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_remove___int]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "remove", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.i = n1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 636)
+ if (_r5.i < 0) goto label63;
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_util_LinkedList*) _r4.o)->fields.java_util_LinkedList.size_;
+ if (_r5.i >= _r0.i) goto label63;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 637)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_util_LinkedList*) _r4.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 638)
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_util_LinkedList*) _r4.o)->fields.java_util_LinkedList.size_;
+ _r1.i = _r1.i / 2;
+ if (_r5.i >= _r1.i) goto label49;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 639)
+ _r1.i = 0;
+ _r3 = _r1;
+ _r1 = _r0;
+ _r0 = _r3;
+ label18:;
+ if (_r0.i <= _r5.i) goto label44;
+ _r0 = _r1;
+ label21:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 647)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.previous_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 648)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.next_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 649)
+ XMLVM_CHECK_NPE(1)
+ ((java_util_LinkedList_Link*) _r1.o)->fields.java_util_LinkedList_Link.next_ = _r2.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 650)
+ XMLVM_CHECK_NPE(2)
+ ((java_util_LinkedList_Link*) _r2.o)->fields.java_util_LinkedList_Link.previous_ = _r1.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 651)
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_util_LinkedList*) _r4.o)->fields.java_util_LinkedList.size_;
+ _r2.i = 1;
+ _r1.i = _r1.i - _r2.i;
+ XMLVM_CHECK_NPE(4)
+ ((java_util_LinkedList*) _r4.o)->fields.java_util_LinkedList.size_ = _r1.i;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 652)
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_util_AbstractList*) _r4.o)->fields.java_util_AbstractList.modCount_;
+ _r1.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(4)
+ ((java_util_AbstractList*) _r4.o)->fields.java_util_AbstractList.modCount_ = _r1.i;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 653)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.data_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label44:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 640)
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((java_util_LinkedList_Link*) _r1.o)->fields.java_util_LinkedList_Link.next_;
+ _r0.i = _r0.i + 1;
+ goto label18;
+ label49:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 643)
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_util_LinkedList*) _r4.o)->fields.java_util_LinkedList.size_;
+ _r3 = _r1;
+ _r1 = _r0;
+ _r0 = _r3;
+ label54:;
+ if (_r0.i > _r5.i) goto label58;
+ _r0 = _r1;
+ goto label21;
+ label58:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 644)
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((java_util_LinkedList_Link*) _r1.o)->fields.java_util_LinkedList_Link.previous_;
+ _r0.i = _r0.i + -1;
+ goto label54;
+ label63:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 655)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_LinkedList_remove___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_remove___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "remove", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 660)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_util_LinkedList_removeFirstOccurrenceImpl___java_lang_Object(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_removeFirst__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_removeFirst__]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "removeFirst", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 671)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_LinkedList_removeFirstImpl__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_removeFirstImpl__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_removeFirstImpl__]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "removeFirstImpl", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 675)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.next_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 676)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.voidLink_;
+ if (_r0.o == _r1.o) goto label33;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 677)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.next_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 678)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(2)
+ ((java_util_LinkedList_Link*) _r2.o)->fields.java_util_LinkedList_Link.next_ = _r1.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 679)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(1)
+ ((java_util_LinkedList_Link*) _r1.o)->fields.java_util_LinkedList_Link.previous_ = _r2.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 680)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.size_;
+ _r2.i = 1;
+ _r1.i = _r1.i - _r2.i;
+ XMLVM_CHECK_NPE(3)
+ ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.size_ = _r1.i;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 681)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_util_AbstractList*) _r3.o)->fields.java_util_AbstractList.modCount_;
+ _r1.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(3)
+ ((java_util_AbstractList*) _r3.o)->fields.java_util_AbstractList.modCount_ = _r1.i;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 682)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.data_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label33:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 684)
+
+
+ // Red class access removed: java.util.NoSuchElementException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.NoSuchElementException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_removeLast__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_removeLast__]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "removeLast", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 695)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_LinkedList_removeLastImpl__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_removeLastImpl__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_removeLastImpl__]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "removeLastImpl", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 699)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.previous_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 700)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.voidLink_;
+ if (_r0.o == _r1.o) goto label33;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 701)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.previous_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 702)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(2)
+ ((java_util_LinkedList_Link*) _r2.o)->fields.java_util_LinkedList_Link.previous_ = _r1.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 703)
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(1)
+ ((java_util_LinkedList_Link*) _r1.o)->fields.java_util_LinkedList_Link.next_ = _r2.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 704)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.size_;
+ _r2.i = 1;
+ _r1.i = _r1.i - _r2.i;
+ XMLVM_CHECK_NPE(3)
+ ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.size_ = _r1.i;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 705)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_util_AbstractList*) _r3.o)->fields.java_util_AbstractList.modCount_;
+ _r1.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(3)
+ ((java_util_AbstractList*) _r3.o)->fields.java_util_AbstractList.modCount_ = _r1.i;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 706)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.data_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label33:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 708)
+
+
+ // Red class access removed: java.util.NoSuchElementException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.NoSuchElementException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_descendingIterator__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_descendingIterator__]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "descendingIterator", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 718)
+
+
+ // Red class access removed: java.util.LinkedList$ReverseLinkIterator::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.LinkedList$ReverseLinkIterator::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_LinkedList_offerFirst___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_offerFirst___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "offerFirst", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 728)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_util_LinkedList_addFirstImpl___java_lang_Object(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_LinkedList_offerLast___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_offerLast___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "offerLast", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 738)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_util_LinkedList_addLastImpl___java_lang_Object(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_peekFirst__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_peekFirst__]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "peekFirst", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 748)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_LinkedList_peekFirstImpl__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_peekLast__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_peekLast__]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "peekLast", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 758)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_LinkedList*) _r2.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.previous_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 759)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_LinkedList*) _r2.o)->fields.java_util_LinkedList.voidLink_;
+ if (_r0.o != _r1.o) goto label10;
+ _r0.o = JAVA_NULL;
+ label9:;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label10:;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.data_;
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_pollFirst__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_pollFirst__]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "pollFirst", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 769)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_util_LinkedList*) _r1.o)->fields.java_util_LinkedList.size_;
+ if (_r0.i != 0) goto label6;
+ _r0.o = JAVA_NULL;
+ label5:;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label6:;
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_LinkedList_removeFirstImpl__(_r1.o);
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_pollLast__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_pollLast__]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "pollLast", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 779)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_util_LinkedList*) _r1.o)->fields.java_util_LinkedList.size_;
+ if (_r0.i != 0) goto label6;
+ _r0.o = JAVA_NULL;
+ label5:;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label6:;
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_LinkedList_removeLastImpl__(_r1.o);
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_pop__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_pop__]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "pop", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 789)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_LinkedList_removeFirstImpl__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_LinkedList_push___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_push___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "push", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 799)
+ XMLVM_CHECK_NPE(0)
+ java_util_LinkedList_addFirstImpl___java_lang_Object(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("LinkedList.java", 800)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_LinkedList_removeFirstOccurrence___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_removeFirstOccurrence___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "removeFirstOccurrence", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 809)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_util_LinkedList_removeFirstOccurrenceImpl___java_lang_Object(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_LinkedList_removeLastOccurrence___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_removeLastOccurrence___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "removeLastOccurrence", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 819)
+
+
+ // Red class access removed: java.util.LinkedList$ReverseLinkIterator::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.LinkedList$ReverseLinkIterator::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("LinkedList.java", 820)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_util_LinkedList_removeOneOccurrence___java_lang_Object_java_util_Iterator(_r1.o, _r2.o, _r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_LinkedList_removeFirstOccurrenceImpl___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_removeFirstOccurrenceImpl___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "removeFirstOccurrenceImpl", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 824)
+
+
+ // Red class access removed: java.util.LinkedList$LinkIterator::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.i = 0;
+
+
+ // Red class access removed: java.util.LinkedList$LinkIterator::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("LinkedList.java", 825)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = java_util_LinkedList_removeOneOccurrence___java_lang_Object_java_util_Iterator(_r2.o, _r3.o, _r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_LinkedList_removeOneOccurrence___java_lang_Object_java_util_Iterator(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_removeOneOccurrence___java_lang_Object_java_util_Iterator]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "removeOneOccurrence", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ label0:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 829)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r3.o);
+ if (_r0.i != 0) goto label8;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 836)
+ _r0.i = 0;
+ label7:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label8:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 830)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r3.o);
+ XMLVM_SOURCE_POSITION("LinkedList.java", 831)
+ if (_r2.o != JAVA_NULL) goto label21;
+ if (_r0.o != JAVA_NULL) goto label0;
+ label16:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 832)
+ XMLVM_CHECK_NPE(3)
+ (*(void (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_remove__])(_r3.o);
+ XMLVM_SOURCE_POSITION("LinkedList.java", 833)
+ _r0.i = 1;
+ goto label7;
+ label21:;
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(2)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r2.o)->tib->vtable[1])(_r2.o, _r0.o);
+ if (_r0.i == 0) goto label0;
+ goto label16;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_set___int_java_lang_Object(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_set___int_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "set", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r3.o = me;
+ _r4.i = n1;
+ _r5.o = n2;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 857)
+ if (_r4.i < 0) goto label45;
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.size_;
+ if (_r4.i >= _r0.i) goto label45;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 858)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 859)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.size_;
+ _r1.i = _r1.i / 2;
+ if (_r4.i >= _r1.i) goto label31;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 860)
+ _r1.i = 0;
+ _r2 = _r1;
+ _r1 = _r0;
+ _r0 = _r2;
+ label18:;
+ if (_r0.i <= _r4.i) goto label26;
+ _r0 = _r1;
+ label21:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 868)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.data_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 869)
+ XMLVM_CHECK_NPE(0)
+ ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.data_ = _r5.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 870)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label26:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 861)
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((java_util_LinkedList_Link*) _r1.o)->fields.java_util_LinkedList_Link.next_;
+ _r0.i = _r0.i + 1;
+ goto label18;
+ label31:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 864)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = ((java_util_LinkedList*) _r3.o)->fields.java_util_LinkedList.size_;
+ _r2 = _r1;
+ _r1 = _r0;
+ _r0 = _r2;
+ label36:;
+ if (_r0.i > _r4.i) goto label40;
+ _r0 = _r1;
+ goto label21;
+ label40:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 865)
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((java_util_LinkedList_Link*) _r1.o)->fields.java_util_LinkedList_Link.previous_;
+ _r0.i = _r0.i + -1;
+ goto label36;
+ label45:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 872)
+ _r0.o = __NEW_java_lang_IndexOutOfBoundsException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_IndexOutOfBoundsException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_LinkedList_size__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_size__]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "size", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 882)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_util_LinkedList*) _r1.o)->fields.java_util_LinkedList.size_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_LinkedList_offer___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_offer___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "offer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 886)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_util_LinkedList_addLastImpl___java_lang_Object(_r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_poll__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_poll__]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "poll", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 890)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_util_LinkedList*) _r1.o)->fields.java_util_LinkedList.size_;
+ if (_r0.i != 0) goto label6;
+ _r0.o = JAVA_NULL;
+ label5:;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label6:;
+ //java_util_LinkedList_removeFirst__[48]
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_LinkedList*) _r1.o)->tib->vtable[48])(_r1.o);
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_remove__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_remove__]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "remove", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 894)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_LinkedList_removeFirstImpl__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_peek__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_peek__]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "peek", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 898)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_LinkedList_peekFirstImpl__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_peekFirstImpl__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_peekFirstImpl__]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "peekFirstImpl", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 902)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_LinkedList*) _r2.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.next_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 903)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_LinkedList*) _r2.o)->fields.java_util_LinkedList.voidLink_;
+ if (_r0.o != _r1.o) goto label10;
+ _r0.o = JAVA_NULL;
+ label9:;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label10:;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.data_;
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_element__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_element__]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "element", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 907)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_LinkedList_getFirstImpl__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_toArray__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_toArray__]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "toArray", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r6.o = me;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 918)
+ _r0.i = 0;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 919)
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_util_LinkedList*) _r6.o)->fields.java_util_LinkedList.size_;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r1.i);
+ XMLVM_SOURCE_POSITION("LinkedList.java", 920)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_util_LinkedList*) _r6.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(2)
+ _r2.o = ((java_util_LinkedList_Link*) _r2.o)->fields.java_util_LinkedList_Link.next_;
+ _r5 = _r2;
+ _r2 = _r0;
+ _r0 = _r5;
+ label12:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 921)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_util_LinkedList*) _r6.o)->fields.java_util_LinkedList.voidLink_;
+ if (_r0.o != _r3.o) goto label17;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 925)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label17:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 922)
+ _r3.i = _r2.i + 1;
+ XMLVM_CHECK_NPE(0)
+ _r4.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.data_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r2.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r4.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 923)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.next_;
+ _r2 = _r3;
+ goto label12;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_LinkedList_toArray___java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_toArray___java_lang_Object_1ARRAY]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "toArray", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 946)
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 947)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_util_LinkedList*) _r6.o)->fields.java_util_LinkedList.size_;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r7.o));
+ if (_r0.i <= _r2.i) goto label50;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 948)
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(7)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r7.o)->tib->vtable[3])(_r7.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_Class_getComponentType__(_r0.o);
+ XMLVM_SOURCE_POSITION("LinkedList.java", 949)
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_util_LinkedList*) _r6.o)->fields.java_util_LinkedList.size_;
+ _r0.o = java_lang_reflect_Array_newInstance___java_lang_Class_int(_r0.o, _r2.i);
+ _r0.o = _r0.o;
+ label22:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 951)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_util_LinkedList*) _r6.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(2)
+ _r2.o = ((java_util_LinkedList_Link*) _r2.o)->fields.java_util_LinkedList_Link.next_;
+ _r5 = _r2;
+ _r2 = _r1;
+ _r1 = _r5;
+ label29:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 952)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_util_LinkedList*) _r6.o)->fields.java_util_LinkedList.voidLink_;
+ if (_r1.o != _r3.o) goto label40;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 956)
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ if (_r2.i >= _r1.i) goto label39;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 957)
+ _r1.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r1.o;
+ label39:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 959)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label40:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 953)
+ _r3.i = _r2.i + 1;
+ XMLVM_CHECK_NPE(1)
+ _r4.o = ((java_util_LinkedList_Link*) _r1.o)->fields.java_util_LinkedList_Link.data_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r4.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 954)
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((java_util_LinkedList_Link*) _r1.o)->fields.java_util_LinkedList_Link.next_;
+ _r2 = _r3;
+ goto label29;
+ label50:;
+ _r0 = _r7;
+ goto label22;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_LinkedList_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_writeObject___java_io_ObjectOutputStream]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "writeObject", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 963)
+
+
+ // Red class access removed: java.io.ObjectOutputStream::defaultWriteObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("LinkedList.java", 964)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_util_LinkedList*) _r2.o)->fields.java_util_LinkedList.size_;
+
+
+ // Red class access removed: java.io.ObjectOutputStream::writeInt
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("LinkedList.java", 965)
+ //java_util_LinkedList_iterator__[12]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_LinkedList*) _r2.o)->tib->vtable[12])(_r2.o);
+ label12:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 966)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r0.o);
+ if (_r1.i != 0) goto label19;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 969)
+ XMLVM_EXIT_METHOD()
+ return;
+ label19:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 967)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r0.o);
+
+
+ // Red class access removed: java.io.ObjectOutputStream::writeObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label12;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_LinkedList_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_readObject___java_io_ObjectInputStream]
+ XMLVM_ENTER_METHOD("java.util.LinkedList", "readObject", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ _r4.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 974)
+
+
+ // Red class access removed: java.io.ObjectInputStream::defaultReadObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("LinkedList.java", 975)
+
+
+ // Red class access removed: java.io.ObjectInputStream::readInt
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(6)
+ ((java_util_LinkedList*) _r6.o)->fields.java_util_LinkedList.size_ = _r0.i;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 976)
+ _r0.o = __NEW_java_util_LinkedList_Link();
+ XMLVM_CHECK_NPE(0)
+ java_util_LinkedList_Link___INIT____java_lang_Object_java_util_LinkedList_Link_java_util_LinkedList_Link(_r0.o, _r4.o, _r4.o, _r4.o);
+ XMLVM_CHECK_NPE(6)
+ ((java_util_LinkedList*) _r6.o)->fields.java_util_LinkedList.voidLink_ = _r0.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 977)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_util_LinkedList*) _r6.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 978)
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_util_LinkedList*) _r6.o)->fields.java_util_LinkedList.size_;
+ _r5 = _r1;
+ _r1 = _r0;
+ _r0 = _r5;
+ label24:;
+ _r0.i = _r0.i + -1;
+ if (_r0.i >= 0) goto label37;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 983)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_util_LinkedList*) _r6.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(1)
+ ((java_util_LinkedList_Link*) _r1.o)->fields.java_util_LinkedList_Link.next_ = _r0.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 984)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_util_LinkedList*) _r6.o)->fields.java_util_LinkedList.voidLink_;
+ XMLVM_CHECK_NPE(0)
+ ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.previous_ = _r1.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 985)
+ XMLVM_EXIT_METHOD()
+ return;
+ label37:;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 979)
+ _r2.o = __NEW_java_util_LinkedList_Link();
+
+
+ // Red class access removed: java.io.ObjectInputStream::readObject
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(2)
+ java_util_LinkedList_Link___INIT____java_lang_Object_java_util_LinkedList_Link_java_util_LinkedList_Link(_r2.o, _r3.o, _r1.o, _r4.o);
+ XMLVM_SOURCE_POSITION("LinkedList.java", 980)
+ XMLVM_CHECK_NPE(1)
+ ((java_util_LinkedList_Link*) _r1.o)->fields.java_util_LinkedList_Link.next_ = _r2.o;
+ _r1 = _r2;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 981)
+ goto label24;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_LinkedList.h b/tests/nbody-java/java_util_LinkedList.h
new file mode 100644
index 00000000..2151ef8f
--- /dev/null
+++ b/tests/nbody-java/java_util_LinkedList.h
@@ -0,0 +1,219 @@
+#ifndef __JAVA_UTIL_LINKEDLIST__
+#define __JAVA_UTIL_LINKEDLIST__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_LinkedList 98
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+#include "java_lang_Cloneable.h"
+#include "java_util_Deque.h"
+#include "java_util_List.h"
+// Super Class:
+#include "java_util_AbstractSequentialList.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+#define XMLVM_FORWARD_DECL_java_lang_IndexOutOfBoundsException
+XMLVM_FORWARD_DECL(java_lang_IndexOutOfBoundsException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_Array
+#define XMLVM_FORWARD_DECL_java_lang_reflect_Array
+XMLVM_FORWARD_DECL(java_lang_reflect_Array)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_ArrayList
+#define XMLVM_FORWARD_DECL_java_util_ArrayList
+XMLVM_FORWARD_DECL(java_util_ArrayList)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Collection
+#define XMLVM_FORWARD_DECL_java_util_Collection
+XMLVM_FORWARD_DECL(java_util_Collection)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Iterator
+#define XMLVM_FORWARD_DECL_java_util_Iterator
+XMLVM_FORWARD_DECL(java_util_Iterator)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_LinkedList_Link
+#define XMLVM_FORWARD_DECL_java_util_LinkedList_Link
+XMLVM_FORWARD_DECL(java_util_LinkedList_Link)
+#endif
+// Class declarations for java.util.LinkedList
+XMLVM_DEFINE_CLASS(java_util_LinkedList, 52, XMLVM_ITABLE_SIZE_java_util_LinkedList)
+
+extern JAVA_OBJECT __CLASS_java_util_LinkedList;
+extern JAVA_OBJECT __CLASS_java_util_LinkedList_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_LinkedList_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_LinkedList_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_LinkedList
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_LinkedList \
+ __INSTANCE_FIELDS_java_util_AbstractSequentialList; \
+ struct { \
+ JAVA_INT size_; \
+ JAVA_OBJECT voidLink_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_LinkedList \
+ } java_util_LinkedList
+
+struct java_util_LinkedList {
+ __TIB_DEFINITION_java_util_LinkedList* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_LinkedList;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_LinkedList
+#define XMLVM_FORWARD_DECL_java_util_LinkedList
+typedef struct java_util_LinkedList java_util_LinkedList;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_LinkedList 52
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_add___int_java_lang_Object 20
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_add___java_lang_Object 7
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_addAll___int_java_util_Collection 19
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_addAll___java_util_Collection 6
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_addFirst___java_lang_Object 30
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_addLast___java_lang_Object 31
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_clear__ 8
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_clone__ 0
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_contains___java_lang_Object 10
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_get___int 21
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_getFirst__ 34
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_getLast__ 35
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_indexOf___java_lang_Object 22
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_lastIndexOf___java_lang_Object 23
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_listIterator___int 25
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_remove___int 27
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_remove___java_lang_Object 14
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_removeFirst__ 48
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_removeLast__ 50
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_descendingIterator__ 32
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_offerFirst___java_lang_Object 36
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_offerLast___java_lang_Object 37
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_peekFirst__ 39
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_peekLast__ 40
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_pollFirst__ 42
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_pollLast__ 43
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_pop__ 45
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_push___java_lang_Object 46
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_removeFirstOccurrence___java_lang_Object 47
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_removeLastOccurrence___java_lang_Object 49
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_set___int_java_lang_Object 28
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_size__ 16
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_offer___java_lang_Object 38
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_poll__ 44
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_remove__ 51
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_peek__ 41
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_element__ 33
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_toArray__ 17
+#define XMLVM_VTABLE_IDX_java_util_LinkedList_toArray___java_lang_Object_1ARRAY 18
+
+void __INIT_java_util_LinkedList();
+void __INIT_IMPL_java_util_LinkedList();
+void __DELETE_java_util_LinkedList(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_LinkedList(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_LinkedList();
+JAVA_OBJECT __NEW_INSTANCE_java_util_LinkedList();
+JAVA_LONG java_util_LinkedList_GET_serialVersionUID();
+void java_util_LinkedList_PUT_serialVersionUID(JAVA_LONG v);
+void java_util_LinkedList___INIT___(JAVA_OBJECT me);
+void java_util_LinkedList___INIT____java_util_Collection(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 20
+void java_util_LinkedList_add___int_java_lang_Object(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2);
+// Vtable index: 7
+JAVA_BOOLEAN java_util_LinkedList_add___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_util_LinkedList_addLastImpl___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 19
+JAVA_BOOLEAN java_util_LinkedList_addAll___int_java_util_Collection(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2);
+// Vtable index: 6
+JAVA_BOOLEAN java_util_LinkedList_addAll___java_util_Collection(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 30
+void java_util_LinkedList_addFirst___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_util_LinkedList_addFirstImpl___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 31
+void java_util_LinkedList_addLast___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 8
+void java_util_LinkedList_clear__(JAVA_OBJECT me);
+// Vtable index: 0
+JAVA_OBJECT java_util_LinkedList_clone__(JAVA_OBJECT me);
+// Vtable index: 10
+JAVA_BOOLEAN java_util_LinkedList_contains___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 21
+JAVA_OBJECT java_util_LinkedList_get___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 34
+JAVA_OBJECT java_util_LinkedList_getFirst__(JAVA_OBJECT me);
+JAVA_OBJECT java_util_LinkedList_getFirstImpl__(JAVA_OBJECT me);
+// Vtable index: 35
+JAVA_OBJECT java_util_LinkedList_getLast__(JAVA_OBJECT me);
+// Vtable index: 22
+JAVA_INT java_util_LinkedList_indexOf___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 23
+JAVA_INT java_util_LinkedList_lastIndexOf___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 25
+JAVA_OBJECT java_util_LinkedList_listIterator___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 27
+JAVA_OBJECT java_util_LinkedList_remove___int(JAVA_OBJECT me, JAVA_INT n1);
+// Vtable index: 14
+JAVA_BOOLEAN java_util_LinkedList_remove___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 48
+JAVA_OBJECT java_util_LinkedList_removeFirst__(JAVA_OBJECT me);
+JAVA_OBJECT java_util_LinkedList_removeFirstImpl__(JAVA_OBJECT me);
+// Vtable index: 50
+JAVA_OBJECT java_util_LinkedList_removeLast__(JAVA_OBJECT me);
+JAVA_OBJECT java_util_LinkedList_removeLastImpl__(JAVA_OBJECT me);
+// Vtable index: 32
+JAVA_OBJECT java_util_LinkedList_descendingIterator__(JAVA_OBJECT me);
+// Vtable index: 36
+JAVA_BOOLEAN java_util_LinkedList_offerFirst___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 37
+JAVA_BOOLEAN java_util_LinkedList_offerLast___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 39
+JAVA_OBJECT java_util_LinkedList_peekFirst__(JAVA_OBJECT me);
+// Vtable index: 40
+JAVA_OBJECT java_util_LinkedList_peekLast__(JAVA_OBJECT me);
+// Vtable index: 42
+JAVA_OBJECT java_util_LinkedList_pollFirst__(JAVA_OBJECT me);
+// Vtable index: 43
+JAVA_OBJECT java_util_LinkedList_pollLast__(JAVA_OBJECT me);
+// Vtable index: 45
+JAVA_OBJECT java_util_LinkedList_pop__(JAVA_OBJECT me);
+// Vtable index: 46
+void java_util_LinkedList_push___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 47
+JAVA_BOOLEAN java_util_LinkedList_removeFirstOccurrence___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 49
+JAVA_BOOLEAN java_util_LinkedList_removeLastOccurrence___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_util_LinkedList_removeFirstOccurrenceImpl___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_util_LinkedList_removeOneOccurrence___java_lang_Object_java_util_Iterator(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+// Vtable index: 28
+JAVA_OBJECT java_util_LinkedList_set___int_java_lang_Object(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2);
+// Vtable index: 16
+JAVA_INT java_util_LinkedList_size__(JAVA_OBJECT me);
+// Vtable index: 38
+JAVA_BOOLEAN java_util_LinkedList_offer___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 44
+JAVA_OBJECT java_util_LinkedList_poll__(JAVA_OBJECT me);
+// Vtable index: 51
+JAVA_OBJECT java_util_LinkedList_remove__(JAVA_OBJECT me);
+// Vtable index: 41
+JAVA_OBJECT java_util_LinkedList_peek__(JAVA_OBJECT me);
+JAVA_OBJECT java_util_LinkedList_peekFirstImpl__(JAVA_OBJECT me);
+// Vtable index: 33
+JAVA_OBJECT java_util_LinkedList_element__(JAVA_OBJECT me);
+// Vtable index: 17
+JAVA_OBJECT java_util_LinkedList_toArray__(JAVA_OBJECT me);
+// Vtable index: 18
+JAVA_OBJECT java_util_LinkedList_toArray___java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_LinkedList_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_LinkedList_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_util_LinkedList_Link.c b/tests/nbody-java/java_util_LinkedList_Link.c
new file mode 100644
index 00000000..80dd9f81
--- /dev/null
+++ b/tests/nbody-java/java_util_LinkedList_Link.c
@@ -0,0 +1,174 @@
+#include "xmlvm.h"
+
+#include "java_util_LinkedList_Link.h"
+
+#define XMLVM_CURRENT_CLASS_NAME LinkedList_Link
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_LinkedList_Link
+
+__TIB_DEFINITION_java_util_LinkedList_Link __TIB_java_util_LinkedList_Link = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_LinkedList_Link, // classInitializer
+ "java.util.LinkedList$Link", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<ET:Ljava/lang/Object;>Ljava/lang/Object;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_util_LinkedList_Link), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_LinkedList_Link;
+JAVA_OBJECT __CLASS_java_util_LinkedList_Link_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_LinkedList_Link_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_LinkedList_Link_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_LinkedList_Link()
+{
+ staticInitializerLock(&__TIB_java_util_LinkedList_Link);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_LinkedList_Link.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_LinkedList_Link.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_LinkedList_Link);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_LinkedList_Link.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_LinkedList_Link.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_LinkedList_Link.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.LinkedList$Link")
+ __INIT_IMPL_java_util_LinkedList_Link();
+ }
+}
+
+void __INIT_IMPL_java_util_LinkedList_Link()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_util_LinkedList_Link.newInstanceFunc = __NEW_INSTANCE_java_util_LinkedList_Link;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_LinkedList_Link.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_util_LinkedList_Link.numImplementedInterfaces = 0;
+ __TIB_java_util_LinkedList_Link.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ __TIB_java_util_LinkedList_Link.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_LinkedList_Link.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_LinkedList_Link.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_LinkedList_Link.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_LinkedList_Link.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_LinkedList_Link.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_LinkedList_Link.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_LinkedList_Link.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_LinkedList_Link = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_LinkedList_Link);
+ __TIB_java_util_LinkedList_Link.clazz = __CLASS_java_util_LinkedList_Link;
+ __TIB_java_util_LinkedList_Link.baseType = JAVA_NULL;
+ __CLASS_java_util_LinkedList_Link_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_LinkedList_Link);
+ __CLASS_java_util_LinkedList_Link_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_LinkedList_Link_1ARRAY);
+ __CLASS_java_util_LinkedList_Link_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_LinkedList_Link_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_LinkedList_Link]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_LinkedList_Link.classInitialized = 1;
+}
+
+void __DELETE_java_util_LinkedList_Link(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_LinkedList_Link]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_LinkedList_Link(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_util_LinkedList_Link*) me)->fields.java_util_LinkedList_Link.data_ = (java_lang_Object*) JAVA_NULL;
+ ((java_util_LinkedList_Link*) me)->fields.java_util_LinkedList_Link.previous_ = (java_util_LinkedList_Link*) JAVA_NULL;
+ ((java_util_LinkedList_Link*) me)->fields.java_util_LinkedList_Link.next_ = (java_util_LinkedList_Link*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_LinkedList_Link]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_LinkedList_Link()
+{ XMLVM_CLASS_INIT(java_util_LinkedList_Link)
+java_util_LinkedList_Link* me = (java_util_LinkedList_Link*) XMLVM_MALLOC(sizeof(java_util_LinkedList_Link));
+ me->tib = &__TIB_java_util_LinkedList_Link;
+ __INIT_INSTANCE_MEMBERS_java_util_LinkedList_Link(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_LinkedList_Link]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_LinkedList_Link()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+void java_util_LinkedList_Link___INIT____java_lang_Object_java_util_LinkedList_Link_java_util_LinkedList_Link(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_LinkedList_Link___INIT____java_lang_Object_java_util_LinkedList_Link_java_util_LinkedList_Link]
+ XMLVM_ENTER_METHOD("java.util.LinkedList$Link", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ _r3.o = n3;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 48)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("LinkedList.java", 49)
+ XMLVM_CHECK_NPE(0)
+ ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.data_ = _r1.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 50)
+ XMLVM_CHECK_NPE(0)
+ ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.previous_ = _r2.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 51)
+ XMLVM_CHECK_NPE(0)
+ ((java_util_LinkedList_Link*) _r0.o)->fields.java_util_LinkedList_Link.next_ = _r3.o;
+ XMLVM_SOURCE_POSITION("LinkedList.java", 52)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_LinkedList_Link.h b/tests/nbody-java/java_util_LinkedList_Link.h
new file mode 100644
index 00000000..48d134b0
--- /dev/null
+++ b/tests/nbody-java/java_util_LinkedList_Link.h
@@ -0,0 +1,54 @@
+#ifndef __JAVA_UTIL_LINKEDLIST_LINK__
+#define __JAVA_UTIL_LINKEDLIST_LINK__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_LinkedList_Link 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+// Class declarations for java.util.LinkedList$Link
+XMLVM_DEFINE_CLASS(java_util_LinkedList_Link, 6, XMLVM_ITABLE_SIZE_java_util_LinkedList_Link)
+
+extern JAVA_OBJECT __CLASS_java_util_LinkedList_Link;
+extern JAVA_OBJECT __CLASS_java_util_LinkedList_Link_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_LinkedList_Link_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_LinkedList_Link_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_LinkedList_Link
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_LinkedList_Link \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT data_; \
+ JAVA_OBJECT previous_; \
+ JAVA_OBJECT next_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_LinkedList_Link \
+ } java_util_LinkedList_Link
+
+struct java_util_LinkedList_Link {
+ __TIB_DEFINITION_java_util_LinkedList_Link* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_LinkedList_Link;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_LinkedList_Link
+#define XMLVM_FORWARD_DECL_java_util_LinkedList_Link
+typedef struct java_util_LinkedList_Link java_util_LinkedList_Link;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_LinkedList_Link 6
+
+void __INIT_java_util_LinkedList_Link();
+void __INIT_IMPL_java_util_LinkedList_Link();
+void __DELETE_java_util_LinkedList_Link(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_LinkedList_Link(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_LinkedList_Link();
+JAVA_OBJECT __NEW_INSTANCE_java_util_LinkedList_Link();
+void java_util_LinkedList_Link___INIT____java_lang_Object_java_util_LinkedList_Link_java_util_LinkedList_Link(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3);
+
+#endif
diff --git a/tests/nbody-java/java_util_List.c b/tests/nbody-java/java_util_List.c
new file mode 100644
index 00000000..a4c975c9
--- /dev/null
+++ b/tests/nbody-java/java_util_List.c
@@ -0,0 +1,78 @@
+#include "xmlvm.h"
+#include "java_util_Iterator.h"
+
+#include "java_util_List.h"
+
+__TIB_DEFINITION_java_util_List __TIB_java_util_List = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_List, // classInitializer
+ "java.util.List", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<E:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Collection<TE;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_util_List;
+JAVA_OBJECT __CLASS_java_util_List_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_List_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_List_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_util_List()
+{
+ staticInitializerLock(&__TIB_java_util_List);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_List.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_List.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_List);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_List.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_List.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_List.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.List")
+ __INIT_IMPL_java_util_List();
+ }
+}
+
+void __INIT_IMPL_java_util_List()
+{
+ __TIB_java_util_List.numInterfaces = 1;
+ //__TIB_java_util_List.baseInterfaces[0] = &__INTERFACE_java_util_Collection;
+ __TIB_java_util_List.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_List.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_util_List.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_List.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_List.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_util_List = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_List);
+ __TIB_java_util_List.clazz = __CLASS_java_util_List;
+ __TIB_java_util_List.baseType = JAVA_NULL;
+ __CLASS_java_util_List_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_List);
+ __CLASS_java_util_List_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_List_1ARRAY);
+ __CLASS_java_util_List_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_List_2ARRAY);
+
+ __TIB_java_util_List.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_util_List.h b/tests/nbody-java/java_util_List.h
new file mode 100644
index 00000000..a7f291f4
--- /dev/null
+++ b/tests/nbody-java/java_util_List.h
@@ -0,0 +1,57 @@
+#ifndef __JAVA_UTIL_LIST__
+#define __JAVA_UTIL_LIST__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_util_List_add___int_java_lang_Object 55
+#define XMLVM_ITABLE_IDX_java_util_List_add___java_lang_Object 56
+#define XMLVM_ITABLE_IDX_java_util_List_addAll___int_java_util_Collection 53
+#define XMLVM_ITABLE_IDX_java_util_List_addAll___java_util_Collection 54
+#define XMLVM_ITABLE_IDX_java_util_List_clear__ 57
+#define XMLVM_ITABLE_IDX_java_util_List_contains___java_lang_Object 59
+#define XMLVM_ITABLE_IDX_java_util_List_containsAll___java_util_Collection 58
+#define XMLVM_ITABLE_IDX_java_util_List_equals___java_lang_Object 60
+#define XMLVM_ITABLE_IDX_java_util_List_get___int 61
+#define XMLVM_ITABLE_IDX_java_util_List_hashCode__ 62
+#define XMLVM_ITABLE_IDX_java_util_List_indexOf___java_lang_Object 63
+#define XMLVM_ITABLE_IDX_java_util_List_isEmpty__ 64
+#define XMLVM_ITABLE_IDX_java_util_List_iterator__ 65
+#define XMLVM_ITABLE_IDX_java_util_List_lastIndexOf___java_lang_Object 66
+#define XMLVM_ITABLE_IDX_java_util_List_listIterator__ 67
+#define XMLVM_ITABLE_IDX_java_util_List_listIterator___int 68
+#define XMLVM_ITABLE_IDX_java_util_List_remove___int 70
+#define XMLVM_ITABLE_IDX_java_util_List_remove___java_lang_Object 71
+#define XMLVM_ITABLE_IDX_java_util_List_removeAll___java_util_Collection 69
+#define XMLVM_ITABLE_IDX_java_util_List_retainAll___java_util_Collection 72
+#define XMLVM_ITABLE_IDX_java_util_List_set___int_java_lang_Object 73
+#define XMLVM_ITABLE_IDX_java_util_List_size__ 74
+#define XMLVM_ITABLE_IDX_java_util_List_subList___int_int 75
+#define XMLVM_ITABLE_IDX_java_util_List_toArray__ 76
+#define XMLVM_ITABLE_IDX_java_util_List_toArray___java_lang_Object_1ARRAY 77
+// Implemented interfaces:
+#include "java_util_Collection.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_util_Iterator
+#define XMLVM_FORWARD_DECL_java_util_Iterator
+XMLVM_FORWARD_DECL(java_util_Iterator)
+#endif
+
+XMLVM_DEFINE_CLASS(java_util_List, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_util_List;
+extern JAVA_OBJECT __CLASS_java_util_List_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_List_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_List_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_util_List
+#define XMLVM_FORWARD_DECL_java_util_List
+typedef struct java_util_List java_util_List;
+#endif
+
+void __INIT_java_util_List();
+void __INIT_IMPL_java_util_List();
+
+#endif
diff --git a/tests/nbody-java/java_util_Locale.c b/tests/nbody-java/java_util_Locale.c
new file mode 100644
index 00000000..3757e0ca
--- /dev/null
+++ b/tests/nbody-java/java_util_Locale.c
@@ -0,0 +1,1706 @@
+#include "xmlvm.h"
+#include "java_io_ObjectStreamField.h"
+#include "java_lang_Class.h"
+#include "java_lang_Integer.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_lang_Throwable.h"
+#include "org_xmlvm_runtime_XMLVMUtil.h"
+
+#include "java_util_Locale.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Locale
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_Locale
+
+__TIB_DEFINITION_java_util_Locale __TIB_java_util_Locale = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_Locale, // classInitializer
+ "java.util.Locale", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_util_Locale), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_Locale;
+JAVA_OBJECT __CLASS_java_util_Locale_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_Locale_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_Locale_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_util_Locale_serialVersionUID;
+static JAVA_OBJECT _STATIC_java_util_Locale_defaultLocale;
+static JAVA_OBJECT _STATIC_java_util_Locale_CANADA;
+static JAVA_OBJECT _STATIC_java_util_Locale_CANADA_FRENCH;
+static JAVA_OBJECT _STATIC_java_util_Locale_CHINA;
+static JAVA_OBJECT _STATIC_java_util_Locale_CHINESE;
+static JAVA_OBJECT _STATIC_java_util_Locale_ENGLISH;
+static JAVA_OBJECT _STATIC_java_util_Locale_FRANCE;
+static JAVA_OBJECT _STATIC_java_util_Locale_FRENCH;
+static JAVA_OBJECT _STATIC_java_util_Locale_GERMAN;
+static JAVA_OBJECT _STATIC_java_util_Locale_GERMANY;
+static JAVA_OBJECT _STATIC_java_util_Locale_ITALIAN;
+static JAVA_OBJECT _STATIC_java_util_Locale_ITALY;
+static JAVA_OBJECT _STATIC_java_util_Locale_JAPAN;
+static JAVA_OBJECT _STATIC_java_util_Locale_JAPANESE;
+static JAVA_OBJECT _STATIC_java_util_Locale_KOREA;
+static JAVA_OBJECT _STATIC_java_util_Locale_KOREAN;
+static JAVA_OBJECT _STATIC_java_util_Locale_PRC;
+static JAVA_OBJECT _STATIC_java_util_Locale_SIMPLIFIED_CHINESE;
+static JAVA_OBJECT _STATIC_java_util_Locale_TAIWAN;
+static JAVA_OBJECT _STATIC_java_util_Locale_TRADITIONAL_CHINESE;
+static JAVA_OBJECT _STATIC_java_util_Locale_UK;
+static JAVA_OBJECT _STATIC_java_util_Locale_US;
+static JAVA_OBJECT _STATIC_java_util_Locale_ROOT;
+static JAVA_OBJECT _STATIC_java_util_Locale_serialPersistentFields;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_Locale()
+{
+ staticInitializerLock(&__TIB_java_util_Locale);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_Locale.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_Locale.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_Locale);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_Locale.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_Locale.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_Locale.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.Locale")
+ __INIT_IMPL_java_util_Locale();
+ }
+}
+
+void __INIT_IMPL_java_util_Locale()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_util_Locale.newInstanceFunc = __NEW_INSTANCE_java_util_Locale;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_Locale.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_util_Locale.vtable[0] = (VTABLE_PTR) &java_util_Locale_clone__;
+ __TIB_java_util_Locale.vtable[1] = (VTABLE_PTR) &java_util_Locale_equals___java_lang_Object;
+ __TIB_java_util_Locale.vtable[4] = (VTABLE_PTR) &java_util_Locale_hashCode__;
+ __TIB_java_util_Locale.vtable[5] = (VTABLE_PTR) &java_util_Locale_toString__;
+ // Initialize interface information
+ __TIB_java_util_Locale.numImplementedInterfaces = 2;
+ __TIB_java_util_Locale.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_util_Locale.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_lang_Cloneable)
+
+ __TIB_java_util_Locale.implementedInterfaces[0][1] = &__TIB_java_lang_Cloneable;
+ // Initialize itable for this class
+ __TIB_java_util_Locale.itableBegin = &__TIB_java_util_Locale.itable[0];
+
+ _STATIC_java_util_Locale_serialVersionUID = 9149081749638150636;
+ _STATIC_java_util_Locale_defaultLocale = (java_util_Locale*) JAVA_NULL;
+ _STATIC_java_util_Locale_CANADA = (java_util_Locale*) JAVA_NULL;
+ _STATIC_java_util_Locale_CANADA_FRENCH = (java_util_Locale*) JAVA_NULL;
+ _STATIC_java_util_Locale_CHINA = (java_util_Locale*) JAVA_NULL;
+ _STATIC_java_util_Locale_CHINESE = (java_util_Locale*) JAVA_NULL;
+ _STATIC_java_util_Locale_ENGLISH = (java_util_Locale*) JAVA_NULL;
+ _STATIC_java_util_Locale_FRANCE = (java_util_Locale*) JAVA_NULL;
+ _STATIC_java_util_Locale_FRENCH = (java_util_Locale*) JAVA_NULL;
+ _STATIC_java_util_Locale_GERMAN = (java_util_Locale*) JAVA_NULL;
+ _STATIC_java_util_Locale_GERMANY = (java_util_Locale*) JAVA_NULL;
+ _STATIC_java_util_Locale_ITALIAN = (java_util_Locale*) JAVA_NULL;
+ _STATIC_java_util_Locale_ITALY = (java_util_Locale*) JAVA_NULL;
+ _STATIC_java_util_Locale_JAPAN = (java_util_Locale*) JAVA_NULL;
+ _STATIC_java_util_Locale_JAPANESE = (java_util_Locale*) JAVA_NULL;
+ _STATIC_java_util_Locale_KOREA = (java_util_Locale*) JAVA_NULL;
+ _STATIC_java_util_Locale_KOREAN = (java_util_Locale*) JAVA_NULL;
+ _STATIC_java_util_Locale_PRC = (java_util_Locale*) JAVA_NULL;
+ _STATIC_java_util_Locale_SIMPLIFIED_CHINESE = (java_util_Locale*) JAVA_NULL;
+ _STATIC_java_util_Locale_TAIWAN = (java_util_Locale*) JAVA_NULL;
+ _STATIC_java_util_Locale_TRADITIONAL_CHINESE = (java_util_Locale*) JAVA_NULL;
+ _STATIC_java_util_Locale_UK = (java_util_Locale*) JAVA_NULL;
+ _STATIC_java_util_Locale_US = (java_util_Locale*) JAVA_NULL;
+ _STATIC_java_util_Locale_ROOT = (java_util_Locale*) JAVA_NULL;
+ _STATIC_java_util_Locale_serialPersistentFields = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+
+ __TIB_java_util_Locale.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_Locale.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_Locale.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_Locale.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_Locale.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_Locale.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_Locale.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_Locale.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_Locale = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_Locale);
+ __TIB_java_util_Locale.clazz = __CLASS_java_util_Locale;
+ __TIB_java_util_Locale.baseType = JAVA_NULL;
+ __CLASS_java_util_Locale_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Locale);
+ __CLASS_java_util_Locale_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Locale_1ARRAY);
+ __CLASS_java_util_Locale_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Locale_2ARRAY);
+ java_util_Locale___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_Locale]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_Locale.classInitialized = 1;
+}
+
+void __DELETE_java_util_Locale(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_Locale]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_Locale(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_util_Locale*) me)->fields.java_util_Locale.countryCode_ = (java_lang_String*) JAVA_NULL;
+ ((java_util_Locale*) me)->fields.java_util_Locale.languageCode_ = (java_lang_String*) JAVA_NULL;
+ ((java_util_Locale*) me)->fields.java_util_Locale.variantCode_ = (java_lang_String*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_Locale]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_Locale()
+{ XMLVM_CLASS_INIT(java_util_Locale)
+java_util_Locale* me = (java_util_Locale*) XMLVM_MALLOC(sizeof(java_util_Locale));
+ me->tib = &__TIB_java_util_Locale;
+ __INIT_INSTANCE_MEMBERS_java_util_Locale(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_Locale]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_Locale()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_util_Locale_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_serialVersionUID;
+}
+
+void java_util_Locale_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_serialVersionUID = v;
+}
+
+JAVA_OBJECT java_util_Locale_GET_defaultLocale()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_defaultLocale;
+}
+
+void java_util_Locale_PUT_defaultLocale(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_defaultLocale = v;
+}
+
+JAVA_OBJECT java_util_Locale_GET_CANADA()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_CANADA;
+}
+
+void java_util_Locale_PUT_CANADA(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_CANADA = v;
+}
+
+JAVA_OBJECT java_util_Locale_GET_CANADA_FRENCH()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_CANADA_FRENCH;
+}
+
+void java_util_Locale_PUT_CANADA_FRENCH(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_CANADA_FRENCH = v;
+}
+
+JAVA_OBJECT java_util_Locale_GET_CHINA()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_CHINA;
+}
+
+void java_util_Locale_PUT_CHINA(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_CHINA = v;
+}
+
+JAVA_OBJECT java_util_Locale_GET_CHINESE()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_CHINESE;
+}
+
+void java_util_Locale_PUT_CHINESE(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_CHINESE = v;
+}
+
+JAVA_OBJECT java_util_Locale_GET_ENGLISH()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_ENGLISH;
+}
+
+void java_util_Locale_PUT_ENGLISH(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_ENGLISH = v;
+}
+
+JAVA_OBJECT java_util_Locale_GET_FRANCE()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_FRANCE;
+}
+
+void java_util_Locale_PUT_FRANCE(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_FRANCE = v;
+}
+
+JAVA_OBJECT java_util_Locale_GET_FRENCH()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_FRENCH;
+}
+
+void java_util_Locale_PUT_FRENCH(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_FRENCH = v;
+}
+
+JAVA_OBJECT java_util_Locale_GET_GERMAN()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_GERMAN;
+}
+
+void java_util_Locale_PUT_GERMAN(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_GERMAN = v;
+}
+
+JAVA_OBJECT java_util_Locale_GET_GERMANY()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_GERMANY;
+}
+
+void java_util_Locale_PUT_GERMANY(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_GERMANY = v;
+}
+
+JAVA_OBJECT java_util_Locale_GET_ITALIAN()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_ITALIAN;
+}
+
+void java_util_Locale_PUT_ITALIAN(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_ITALIAN = v;
+}
+
+JAVA_OBJECT java_util_Locale_GET_ITALY()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_ITALY;
+}
+
+void java_util_Locale_PUT_ITALY(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_ITALY = v;
+}
+
+JAVA_OBJECT java_util_Locale_GET_JAPAN()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_JAPAN;
+}
+
+void java_util_Locale_PUT_JAPAN(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_JAPAN = v;
+}
+
+JAVA_OBJECT java_util_Locale_GET_JAPANESE()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_JAPANESE;
+}
+
+void java_util_Locale_PUT_JAPANESE(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_JAPANESE = v;
+}
+
+JAVA_OBJECT java_util_Locale_GET_KOREA()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_KOREA;
+}
+
+void java_util_Locale_PUT_KOREA(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_KOREA = v;
+}
+
+JAVA_OBJECT java_util_Locale_GET_KOREAN()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_KOREAN;
+}
+
+void java_util_Locale_PUT_KOREAN(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_KOREAN = v;
+}
+
+JAVA_OBJECT java_util_Locale_GET_PRC()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_PRC;
+}
+
+void java_util_Locale_PUT_PRC(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_PRC = v;
+}
+
+JAVA_OBJECT java_util_Locale_GET_SIMPLIFIED_CHINESE()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_SIMPLIFIED_CHINESE;
+}
+
+void java_util_Locale_PUT_SIMPLIFIED_CHINESE(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_SIMPLIFIED_CHINESE = v;
+}
+
+JAVA_OBJECT java_util_Locale_GET_TAIWAN()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_TAIWAN;
+}
+
+void java_util_Locale_PUT_TAIWAN(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_TAIWAN = v;
+}
+
+JAVA_OBJECT java_util_Locale_GET_TRADITIONAL_CHINESE()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_TRADITIONAL_CHINESE;
+}
+
+void java_util_Locale_PUT_TRADITIONAL_CHINESE(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_TRADITIONAL_CHINESE = v;
+}
+
+JAVA_OBJECT java_util_Locale_GET_UK()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_UK;
+}
+
+void java_util_Locale_PUT_UK(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_UK = v;
+}
+
+JAVA_OBJECT java_util_Locale_GET_US()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_US;
+}
+
+void java_util_Locale_PUT_US(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_US = v;
+}
+
+JAVA_OBJECT java_util_Locale_GET_ROOT()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_ROOT;
+}
+
+void java_util_Locale_PUT_ROOT(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_ROOT = v;
+}
+
+JAVA_OBJECT java_util_Locale_GET_serialPersistentFields()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ return _STATIC_java_util_Locale_serialPersistentFields;
+}
+
+void java_util_Locale_PUT_serialPersistentFields(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+_STATIC_java_util_Locale_serialPersistentFields = v;
+}
+
+//XMLVM_NATIVE[void java_util_Locale_initNativeLayer__()]
+
+void java_util_Locale___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale___INIT___]
+ XMLVM_ENTER_METHOD("java.util.Locale", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Locale.java", 190)
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 191)
+ // "en"
+ _r0.o = xmlvm_create_java_string_from_pool(19);
+ XMLVM_CHECK_NPE(1)
+ ((java_util_Locale*) _r1.o)->fields.java_util_Locale.languageCode_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Locale.java", 192)
+ // "US"
+ _r0.o = xmlvm_create_java_string_from_pool(20);
+ XMLVM_CHECK_NPE(1)
+ ((java_util_Locale*) _r1.o)->fields.java_util_Locale.countryCode_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Locale.java", 193)
+ // ""
+ _r0.o = xmlvm_create_java_string_from_pool(21);
+ XMLVM_CHECK_NPE(1)
+ ((java_util_Locale*) _r1.o)->fields.java_util_Locale.variantCode_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Locale.java", 194)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Locale___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.util.Locale", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ // ""
+ _r1.o = xmlvm_create_java_string_from_pool(21);
+ XMLVM_SOURCE_POSITION("Locale.java", 203)
+ // ""
+ _r0.o = xmlvm_create_java_string_from_pool(21);
+ // ""
+ _r0.o = xmlvm_create_java_string_from_pool(21);
+ XMLVM_CHECK_NPE(2)
+ java_util_Locale___INIT____java_lang_String_java_lang_String_java_lang_String(_r2.o, _r3.o, _r1.o, _r1.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 204)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Locale___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale___INIT____java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("java.util.Locale", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("Locale.java", 215)
+ // ""
+ _r0.o = xmlvm_create_java_string_from_pool(21);
+ XMLVM_CHECK_NPE(1)
+ java_util_Locale___INIT____java_lang_String_java_lang_String_java_lang_String(_r1.o, _r2.o, _r3.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 216)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Locale___INIT____java_lang_String_java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale___INIT____java_lang_String_java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("java.util.Locale", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.o = n2;
+ _r5.o = n3;
+ // ""
+ _r1.o = xmlvm_create_java_string_from_pool(21);
+ XMLVM_SOURCE_POSITION("Locale.java", 232)
+ XMLVM_CHECK_NPE(2)
+ java_lang_Object___INIT___(_r2.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 233)
+ if (_r3.o == JAVA_NULL) goto label11;
+ if (_r4.o == JAVA_NULL) goto label11;
+ if (_r5.o != JAVA_NULL) goto label17;
+ label11:;
+ XMLVM_SOURCE_POSITION("Locale.java", 234)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label17:;
+ XMLVM_SOURCE_POSITION("Locale.java", 236)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r3.o)->tib->vtable[8])(_r3.o);
+ if (_r0.i != 0) goto label40;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r4.o)->tib->vtable[8])(_r4.o);
+ if (_r0.i != 0) goto label40;
+ XMLVM_SOURCE_POSITION("Locale.java", 237)
+ // ""
+ _r0.o = xmlvm_create_java_string_from_pool(21);
+ XMLVM_CHECK_NPE(2)
+ ((java_util_Locale*) _r2.o)->fields.java_util_Locale.languageCode_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Locale.java", 238)
+ // ""
+ _r0.o = xmlvm_create_java_string_from_pool(21);
+ XMLVM_CHECK_NPE(2)
+ ((java_util_Locale*) _r2.o)->fields.java_util_Locale.countryCode_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Locale.java", 239)
+ XMLVM_CHECK_NPE(2)
+ ((java_util_Locale*) _r2.o)->fields.java_util_Locale.variantCode_ = _r5.o;
+ label39:;
+ XMLVM_SOURCE_POSITION("Locale.java", 262)
+ XMLVM_EXIT_METHOD()
+ return;
+ label40:;
+ XMLVM_SOURCE_POSITION("Locale.java", 259)
+ XMLVM_CHECK_NPE(2)
+ ((java_util_Locale*) _r2.o)->fields.java_util_Locale.languageCode_ = _r3.o;
+ XMLVM_SOURCE_POSITION("Locale.java", 260)
+ XMLVM_CHECK_NPE(2)
+ ((java_util_Locale*) _r2.o)->fields.java_util_Locale.countryCode_ = _r4.o;
+ XMLVM_SOURCE_POSITION("Locale.java", 261)
+ XMLVM_CHECK_NPE(2)
+ ((java_util_Locale*) _r2.o)->fields.java_util_Locale.variantCode_ = _r5.o;
+ goto label39;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Locale_clone__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale_clone__]
+ XMLVM_ENTER_METHOD("java.util.Locale", "clone", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_TRY_BEGIN(w406aaac33b1b2)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Locale.java", 274)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = java_lang_Object_clone__(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w406aaac33b1b2)
+ XMLVM_CATCH_END(w406aaac33b1b2)
+ XMLVM_RESTORE_EXCEPTION_ENV(w406aaac33b1b2)
+ label4:;
+ XMLVM_SOURCE_POSITION("Locale.java", 276)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label5:;
+ XMLVM_SOURCE_POSITION("Locale.java", 275)
+ java_lang_Thread* curThread_w406aaac33b1b8 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w406aaac33b1b8->fields.java_lang_Thread.xmlvmException_;
+ _r1.o = JAVA_NULL;
+ goto label4;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_Locale_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.Locale", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ _r5.i = 1;
+ _r4.i = 0;
+ XMLVM_SOURCE_POSITION("Locale.java", 293)
+ if (_r7.o != _r6.o) goto label6;
+ _r2 = _r5;
+ label5:;
+ XMLVM_SOURCE_POSITION("Locale.java", 294)
+ XMLVM_SOURCE_POSITION("Locale.java", 302)
+ XMLVM_EXIT_METHOD()
+ return _r2.i;
+ label6:;
+ XMLVM_SOURCE_POSITION("Locale.java", 296)
+ XMLVM_CLASS_INIT(java_util_Locale)
+ _r2.i = XMLVM_ISA(_r7.o, __CLASS_java_util_Locale);
+ if (_r2.i == 0) goto label48;
+ XMLVM_SOURCE_POSITION("Locale.java", 297)
+ _r0 = _r7;
+ _r0.o = _r0.o;
+ _r1 = _r0;
+ XMLVM_SOURCE_POSITION("Locale.java", 298)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_util_Locale*) _r6.o)->fields.java_util_Locale.languageCode_;
+ XMLVM_CHECK_NPE(1)
+ _r3.o = ((java_util_Locale*) _r1.o)->fields.java_util_Locale.languageCode_;
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(2)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r2.o)->tib->vtable[1])(_r2.o, _r3.o);
+ if (_r2.i == 0) goto label46;
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_util_Locale*) _r6.o)->fields.java_util_Locale.countryCode_;
+ XMLVM_CHECK_NPE(1)
+ _r3.o = ((java_util_Locale*) _r1.o)->fields.java_util_Locale.countryCode_;
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(2)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r2.o)->tib->vtable[1])(_r2.o, _r3.o);
+ if (_r2.i == 0) goto label46;
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_util_Locale*) _r6.o)->fields.java_util_Locale.variantCode_;
+ XMLVM_CHECK_NPE(1)
+ _r3.o = ((java_util_Locale*) _r1.o)->fields.java_util_Locale.variantCode_;
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(2)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r2.o)->tib->vtable[1])(_r2.o, _r3.o);
+ if (_r2.i == 0) goto label46;
+ _r2 = _r5;
+ goto label5;
+ label46:;
+ _r2 = _r4;
+ goto label5;
+ label48:;
+ _r2 = _r4;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Locale_getAvailableLocales__()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale_getAvailableLocales__]
+ XMLVM_ENTER_METHOD("java.util.Locale", "getAvailableLocales", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("Locale.java", 312)
+ org_xmlvm_runtime_XMLVMUtil_notImplemented__();
+ XMLVM_SOURCE_POSITION("Locale.java", 313)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Locale_getCountry__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale_getCountry__]
+ XMLVM_ENTER_METHOD("java.util.Locale", "getCountry", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Locale.java", 329)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_Locale*) _r1.o)->fields.java_util_Locale.countryCode_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Locale_getDefault__()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale_getDefault__]
+ XMLVM_ENTER_METHOD("java.util.Locale", "getDefault", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("Locale.java", 338)
+ _r0.o = java_util_Locale_GET_defaultLocale();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Locale_getDisplayCountry__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale_getDisplayCountry__]
+ XMLVM_ENTER_METHOD("java.util.Locale", "getDisplayCountry", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Locale.java", 349)
+ _r0.o = java_util_Locale_getDefault__();
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_Locale_getDisplayCountry___java_util_Locale(_r1.o, _r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Locale_getDisplayCountry___java_util_Locale(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale_getDisplayCountry___java_util_Locale]
+ XMLVM_ENTER_METHOD("java.util.Locale", "getDisplayCountry", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Locale.java", 362)
+ org_xmlvm_runtime_XMLVMUtil_notImplemented__();
+ XMLVM_SOURCE_POSITION("Locale.java", 363)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Locale_getDisplayLanguage__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale_getDisplayLanguage__]
+ XMLVM_ENTER_METHOD("java.util.Locale", "getDisplayLanguage", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Locale.java", 375)
+ _r0.o = java_util_Locale_getDefault__();
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_Locale_getDisplayLanguage___java_util_Locale(_r1.o, _r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Locale_getDisplayLanguage___java_util_Locale(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale_getDisplayLanguage___java_util_Locale]
+ XMLVM_ENTER_METHOD("java.util.Locale", "getDisplayLanguage", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Locale.java", 388)
+ org_xmlvm_runtime_XMLVMUtil_notImplemented__();
+ XMLVM_SOURCE_POSITION("Locale.java", 389)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Locale_getDisplayName__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale_getDisplayName__]
+ XMLVM_ENTER_METHOD("java.util.Locale", "getDisplayName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Locale.java", 400)
+ _r0.o = java_util_Locale_getDefault__();
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_Locale_getDisplayName___java_util_Locale(_r1.o, _r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Locale_getDisplayName___java_util_Locale(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale_getDisplayName___java_util_Locale]
+ XMLVM_ENTER_METHOD("java.util.Locale", "getDisplayName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r5.o = me;
+ _r6.o = n1;
+ _r3.i = 1;
+ // " ("
+ _r4.o = xmlvm_create_java_string_from_pool(22);
+ XMLVM_SOURCE_POSITION("Locale.java", 412)
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("Locale.java", 413)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 414)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_util_Locale*) _r5.o)->fields.java_util_Locale.languageCode_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(2)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r2.o)->tib->vtable[8])(_r2.o);
+ if (_r2.i <= 0) goto label26;
+ XMLVM_SOURCE_POSITION("Locale.java", 415)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = java_util_Locale_getDisplayLanguage___java_util_Locale(_r5.o, _r6.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r2.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 416)
+ _r1.i = _r1.i + 1;
+ label26:;
+ XMLVM_SOURCE_POSITION("Locale.java", 418)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_util_Locale*) _r5.o)->fields.java_util_Locale.countryCode_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(2)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r2.o)->tib->vtable[8])(_r2.o);
+ if (_r2.i <= 0) goto label50;
+ XMLVM_SOURCE_POSITION("Locale.java", 419)
+ if (_r1.i != _r3.i) goto label41;
+ XMLVM_SOURCE_POSITION("Locale.java", 420)
+ // " ("
+ _r2.o = xmlvm_create_java_string_from_pool(22);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r4.o);
+ label41:;
+ XMLVM_SOURCE_POSITION("Locale.java", 422)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = java_util_Locale_getDisplayCountry___java_util_Locale(_r5.o, _r6.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r2.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 423)
+ _r1.i = _r1.i + 1;
+ label50:;
+ XMLVM_SOURCE_POSITION("Locale.java", 425)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_util_Locale*) _r5.o)->fields.java_util_Locale.variantCode_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(2)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r2.o)->tib->vtable[8])(_r2.o);
+ if (_r2.i <= 0) goto label74;
+ XMLVM_SOURCE_POSITION("Locale.java", 426)
+ if (_r1.i != _r3.i) goto label86;
+ XMLVM_SOURCE_POSITION("Locale.java", 427)
+ // " ("
+ _r2.o = xmlvm_create_java_string_from_pool(22);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r4.o);
+ label65:;
+ XMLVM_SOURCE_POSITION("Locale.java", 431)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = java_util_Locale_getDisplayVariant___java_util_Locale(_r5.o, _r6.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r2.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 432)
+ _r1.i = _r1.i + 1;
+ label74:;
+ XMLVM_SOURCE_POSITION("Locale.java", 434)
+ if (_r1.i <= _r3.i) goto label81;
+ XMLVM_SOURCE_POSITION("Locale.java", 435)
+ // ")"
+ _r2.o = xmlvm_create_java_string_from_pool(23);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r2.o);
+ label81:;
+ XMLVM_SOURCE_POSITION("Locale.java", 437)
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ label86:;
+ XMLVM_SOURCE_POSITION("Locale.java", 428)
+ _r2.i = 2;
+ if (_r1.i != _r2.i) goto label65;
+ XMLVM_SOURCE_POSITION("Locale.java", 429)
+ // ","
+ _r2.o = xmlvm_create_java_string_from_pool(24);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r2.o);
+ goto label65;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Locale_getDisplayVariant__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale_getDisplayVariant__]
+ XMLVM_ENTER_METHOD("java.util.Locale", "getDisplayVariant", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Locale.java", 448)
+ _r0.o = java_util_Locale_getDefault__();
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_Locale_getDisplayVariant___java_util_Locale(_r1.o, _r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Locale_getDisplayVariant___java_util_Locale(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale_getDisplayVariant___java_util_Locale]
+ XMLVM_ENTER_METHOD("java.util.Locale", "getDisplayVariant", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Locale.java", 461)
+ org_xmlvm_runtime_XMLVMUtil_notImplemented__();
+ XMLVM_SOURCE_POSITION("Locale.java", 462)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Locale_getISO3Country__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale_getISO3Country__]
+ XMLVM_ENTER_METHOD("java.util.Locale", "getISO3Country", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Locale.java", 475)
+ org_xmlvm_runtime_XMLVMUtil_notImplemented__();
+ XMLVM_SOURCE_POSITION("Locale.java", 476)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Locale_getISO3Language__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale_getISO3Language__]
+ XMLVM_ENTER_METHOD("java.util.Locale", "getISO3Language", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Locale.java", 489)
+ org_xmlvm_runtime_XMLVMUtil_notImplemented__();
+ XMLVM_SOURCE_POSITION("Locale.java", 490)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Locale_getISOCountries__()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale_getISOCountries__]
+ XMLVM_ENTER_METHOD("java.util.Locale", "getISOCountries", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("Locale.java", 501)
+ org_xmlvm_runtime_XMLVMUtil_notImplemented__();
+ XMLVM_SOURCE_POSITION("Locale.java", 502)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Locale_getISOLanguages__()
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale_getISOLanguages__]
+ XMLVM_ENTER_METHOD("java.util.Locale", "getISOLanguages", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("Locale.java", 513)
+ org_xmlvm_runtime_XMLVMUtil_notImplemented__();
+ XMLVM_SOURCE_POSITION("Locale.java", 514)
+ _r0.o = JAVA_NULL;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Locale_getLanguage__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale_getLanguage__]
+ XMLVM_ENTER_METHOD("java.util.Locale", "getLanguage", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Locale.java", 525)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_Locale*) _r1.o)->fields.java_util_Locale.languageCode_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Locale_getVariant__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale_getVariant__]
+ XMLVM_ENTER_METHOD("java.util.Locale", "getVariant", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Locale.java", 535)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_Locale*) _r1.o)->fields.java_util_Locale.variantCode_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_Locale_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale_hashCode__]
+ XMLVM_ENTER_METHOD("java.util.Locale", "hashCode", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Locale.java", 547)
+ java_lang_Object_acquireLockRecursive__(_r2.o);
+ XMLVM_TRY_BEGIN(w406aaac52b1b4)
+ // Begin try
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_Locale*) _r2.o)->fields.java_util_Locale.countryCode_;
+ //java_lang_String_hashCode__[4]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[4])(_r0.o);
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_Locale*) _r2.o)->fields.java_util_Locale.languageCode_;
+ //java_lang_String_hashCode__[4]
+ XMLVM_CHECK_NPE(1)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[4])(_r1.o);
+ _r0.i = _r0.i + _r1.i;
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_Locale*) _r2.o)->fields.java_util_Locale.variantCode_;
+ //java_lang_String_hashCode__[4]
+ XMLVM_CHECK_NPE(1)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[4])(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w406aaac52b1b4)
+ XMLVM_CATCH_SPECIFIC(w406aaac52b1b4,java_lang_Object,23)
+ XMLVM_CATCH_END(w406aaac52b1b4)
+ XMLVM_RESTORE_EXCEPTION_ENV(w406aaac52b1b4)
+ _r0.i = _r0.i + _r1.i;
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label23:;
+ java_lang_Thread* curThread_w406aaac52b1b9 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w406aaac52b1b9->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r2.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Locale_setDefault___java_util_Locale(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(java_util_Locale)
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale_setDefault___java_util_Locale]
+ XMLVM_ENTER_METHOD("java.util.Locale", "setDefault", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Locale.java", 561)
+ XMLVM_CLASS_INIT(java_util_Locale)
+ _r0.o = __CLASS_java_util_Locale;
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ if (_r2.o == JAVA_NULL) goto label9;
+ XMLVM_TRY_BEGIN(w406aaac53b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Locale.java", 566)
+ java_util_Locale_PUT_defaultLocale( _r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w406aaac53b1b6)
+ XMLVM_CATCH_SPECIFIC(w406aaac53b1b6,java_lang_Object,15)
+ XMLVM_CATCH_END(w406aaac53b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w406aaac53b1b6)
+ XMLVM_SOURCE_POSITION("Locale.java", 570)
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ label9:;
+ XMLVM_TRY_BEGIN(w406aaac53b1c11)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Locale.java", 568)
+ _r1.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(1)
+ java_lang_NullPointerException___INIT___(_r1.o);
+ XMLVM_THROW_CUSTOM(_r1.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w406aaac53b1c11)
+ XMLVM_CATCH_SPECIFIC(w406aaac53b1c11,java_lang_Object,15)
+ XMLVM_CATCH_END(w406aaac53b1c11)
+ XMLVM_RESTORE_EXCEPTION_ENV(w406aaac53b1c11)
+ label15:;
+ java_lang_Thread* curThread_w406aaac53b1c13 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w406aaac53b1c13->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Locale_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale_toString__]
+ XMLVM_ENTER_METHOD("java.util.Locale", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ _r2.i = 95;
+ XMLVM_SOURCE_POSITION("Locale.java", 587)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 588)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_util_Locale*) _r3.o)->fields.java_util_Locale.languageCode_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 589)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_util_Locale*) _r3.o)->fields.java_util_Locale.countryCode_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(1)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
+ if (_r1.i <= 0) goto label28;
+ XMLVM_SOURCE_POSITION("Locale.java", 590)
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r2.i);
+ XMLVM_SOURCE_POSITION("Locale.java", 591)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_util_Locale*) _r3.o)->fields.java_util_Locale.countryCode_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ label28:;
+ XMLVM_SOURCE_POSITION("Locale.java", 593)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_util_Locale*) _r3.o)->fields.java_util_Locale.variantCode_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(1)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
+ if (_r1.i <= 0) goto label60;
+ XMLVM_CHECK_NPE(0)
+ _r1.i = java_lang_AbstractStringBuilder_length__(_r0.o);
+ if (_r1.i <= 0) goto label60;
+ XMLVM_SOURCE_POSITION("Locale.java", 594)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_util_Locale*) _r3.o)->fields.java_util_Locale.countryCode_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(1)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
+ if (_r1.i != 0) goto label65;
+ XMLVM_SOURCE_POSITION("Locale.java", 595)
+ // "__"
+ _r1.o = xmlvm_create_java_string_from_pool(25);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ label55:;
+ XMLVM_SOURCE_POSITION("Locale.java", 599)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_util_Locale*) _r3.o)->fields.java_util_Locale.variantCode_;
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ label60:;
+ XMLVM_SOURCE_POSITION("Locale.java", 601)
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label65:;
+ XMLVM_SOURCE_POSITION("Locale.java", 597)
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r2.i);
+ goto label55;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Locale_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale_writeObject___java_io_ObjectOutputStream]
+ XMLVM_ENTER_METHOD("java.util.Locale", "writeObject", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("Locale.java", 611)
+
+
+ // Red class access removed: java.io.ObjectOutputStream::putFields
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Locale.java", 612)
+ // "country"
+ _r1.o = xmlvm_create_java_string_from_pool(26);
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_util_Locale*) _r3.o)->fields.java_util_Locale.countryCode_;
+
+
+ // Red class access removed: java.io.ObjectOutputStream$PutField::put
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Locale.java", 613)
+ // "hashcode"
+ _r1.o = xmlvm_create_java_string_from_pool(27);
+ _r2.i = -1;
+
+
+ // Red class access removed: java.io.ObjectOutputStream$PutField::put
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Locale.java", 614)
+ // "language"
+ _r1.o = xmlvm_create_java_string_from_pool(28);
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_util_Locale*) _r3.o)->fields.java_util_Locale.languageCode_;
+
+
+ // Red class access removed: java.io.ObjectOutputStream$PutField::put
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Locale.java", 615)
+ // "variant"
+ _r1.o = xmlvm_create_java_string_from_pool(29);
+ XMLVM_CHECK_NPE(3)
+ _r2.o = ((java_util_Locale*) _r3.o)->fields.java_util_Locale.variantCode_;
+
+
+ // Red class access removed: java.io.ObjectOutputStream$PutField::put
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Locale.java", 616)
+
+
+ // Red class access removed: java.io.ObjectOutputStream::writeFields
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Locale.java", 617)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Locale_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale_readObject___java_io_ObjectInputStream]
+ XMLVM_ENTER_METHOD("java.util.Locale", "readObject", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.o = n1;
+ // ""
+ _r3.o = xmlvm_create_java_string_from_pool(21);
+ XMLVM_SOURCE_POSITION("Locale.java", 621)
+
+
+ // Red class access removed: java.io.ObjectInputStream::readFields
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Locale.java", 622)
+ // "country"
+ _r1.o = xmlvm_create_java_string_from_pool(26);
+ // ""
+ _r2.o = xmlvm_create_java_string_from_pool(21);
+
+
+ // Red class access removed: java.io.ObjectInputStream$GetField::get
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = _r1.o;
+ XMLVM_CHECK_NPE(4)
+ ((java_util_Locale*) _r4.o)->fields.java_util_Locale.countryCode_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Locale.java", 623)
+ // "language"
+ _r1.o = xmlvm_create_java_string_from_pool(28);
+ // ""
+ _r2.o = xmlvm_create_java_string_from_pool(21);
+
+
+ // Red class access removed: java.io.ObjectInputStream$GetField::get
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = _r1.o;
+ XMLVM_CHECK_NPE(4)
+ ((java_util_Locale*) _r4.o)->fields.java_util_Locale.languageCode_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Locale.java", 624)
+ // "variant"
+ _r1.o = xmlvm_create_java_string_from_pool(29);
+ // ""
+ _r2.o = xmlvm_create_java_string_from_pool(21);
+
+
+ // Red class access removed: java.io.ObjectInputStream$GetField::get
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = _r1.o;
+ XMLVM_CHECK_NPE(4)
+ ((java_util_Locale*) _r4.o)->fields.java_util_Locale.variantCode_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Locale.java", 625)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Locale___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Locale___CLINIT___]
+ XMLVM_ENTER_METHOD("java.util.Locale", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ // "fr"
+ _r2.o = xmlvm_create_java_string_from_pool(30);
+ // "CN"
+ _r6.o = xmlvm_create_java_string_from_pool(31);
+ // "en"
+ _r5.o = xmlvm_create_java_string_from_pool(19);
+ // "zh"
+ _r4.o = xmlvm_create_java_string_from_pool(32);
+ // ""
+ _r3.o = xmlvm_create_java_string_from_pool(21);
+ XMLVM_SOURCE_POSITION("Locale.java", 53)
+ java_util_Locale_initNativeLayer__();
+ XMLVM_SOURCE_POSITION("Locale.java", 59)
+ _r0.o = __NEW_java_util_Locale();
+ // "en"
+ _r1.o = xmlvm_create_java_string_from_pool(19);
+ // "CA"
+ _r1.o = xmlvm_create_java_string_from_pool(33);
+ XMLVM_CHECK_NPE(0)
+ java_util_Locale___INIT____java_lang_String_java_lang_String(_r0.o, _r5.o, _r1.o);
+ java_util_Locale_PUT_CANADA( _r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 64)
+ _r0.o = __NEW_java_util_Locale();
+ // "fr"
+ _r1.o = xmlvm_create_java_string_from_pool(30);
+ // "CA"
+ _r1.o = xmlvm_create_java_string_from_pool(33);
+ XMLVM_CHECK_NPE(0)
+ java_util_Locale___INIT____java_lang_String_java_lang_String(_r0.o, _r2.o, _r1.o);
+ java_util_Locale_PUT_CANADA_FRENCH( _r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 69)
+ _r0.o = __NEW_java_util_Locale();
+ // "zh"
+ _r1.o = xmlvm_create_java_string_from_pool(32);
+ // "CN"
+ _r1.o = xmlvm_create_java_string_from_pool(31);
+ XMLVM_CHECK_NPE(0)
+ java_util_Locale___INIT____java_lang_String_java_lang_String(_r0.o, _r4.o, _r6.o);
+ java_util_Locale_PUT_CHINA( _r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 74)
+ _r0.o = __NEW_java_util_Locale();
+ // "zh"
+ _r1.o = xmlvm_create_java_string_from_pool(32);
+ // ""
+ _r1.o = xmlvm_create_java_string_from_pool(21);
+ XMLVM_CHECK_NPE(0)
+ java_util_Locale___INIT____java_lang_String_java_lang_String(_r0.o, _r4.o, _r3.o);
+ java_util_Locale_PUT_CHINESE( _r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 79)
+ _r0.o = __NEW_java_util_Locale();
+ // "en"
+ _r1.o = xmlvm_create_java_string_from_pool(19);
+ // ""
+ _r1.o = xmlvm_create_java_string_from_pool(21);
+ XMLVM_CHECK_NPE(0)
+ java_util_Locale___INIT____java_lang_String_java_lang_String(_r0.o, _r5.o, _r3.o);
+ java_util_Locale_PUT_ENGLISH( _r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 84)
+ _r0.o = __NEW_java_util_Locale();
+ // "fr"
+ _r1.o = xmlvm_create_java_string_from_pool(30);
+ // "FR"
+ _r1.o = xmlvm_create_java_string_from_pool(34);
+ XMLVM_CHECK_NPE(0)
+ java_util_Locale___INIT____java_lang_String_java_lang_String(_r0.o, _r2.o, _r1.o);
+ java_util_Locale_PUT_FRANCE( _r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 89)
+ _r0.o = __NEW_java_util_Locale();
+ // "fr"
+ _r1.o = xmlvm_create_java_string_from_pool(30);
+ // ""
+ _r1.o = xmlvm_create_java_string_from_pool(21);
+ XMLVM_CHECK_NPE(0)
+ java_util_Locale___INIT____java_lang_String_java_lang_String(_r0.o, _r2.o, _r3.o);
+ java_util_Locale_PUT_FRENCH( _r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 94)
+ _r0.o = __NEW_java_util_Locale();
+ // "de"
+ _r1.o = xmlvm_create_java_string_from_pool(35);
+ // ""
+ _r2.o = xmlvm_create_java_string_from_pool(21);
+ XMLVM_CHECK_NPE(0)
+ java_util_Locale___INIT____java_lang_String_java_lang_String(_r0.o, _r1.o, _r3.o);
+ java_util_Locale_PUT_GERMAN( _r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 99)
+ _r0.o = __NEW_java_util_Locale();
+ // "de"
+ _r1.o = xmlvm_create_java_string_from_pool(35);
+ // "DE"
+ _r2.o = xmlvm_create_java_string_from_pool(36);
+ XMLVM_CHECK_NPE(0)
+ java_util_Locale___INIT____java_lang_String_java_lang_String(_r0.o, _r1.o, _r2.o);
+ java_util_Locale_PUT_GERMANY( _r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 104)
+ _r0.o = __NEW_java_util_Locale();
+ // "it"
+ _r1.o = xmlvm_create_java_string_from_pool(37);
+ // ""
+ _r2.o = xmlvm_create_java_string_from_pool(21);
+ XMLVM_CHECK_NPE(0)
+ java_util_Locale___INIT____java_lang_String_java_lang_String(_r0.o, _r1.o, _r3.o);
+ java_util_Locale_PUT_ITALIAN( _r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 109)
+ _r0.o = __NEW_java_util_Locale();
+ // "it"
+ _r1.o = xmlvm_create_java_string_from_pool(37);
+ // "IT"
+ _r2.o = xmlvm_create_java_string_from_pool(38);
+ XMLVM_CHECK_NPE(0)
+ java_util_Locale___INIT____java_lang_String_java_lang_String(_r0.o, _r1.o, _r2.o);
+ java_util_Locale_PUT_ITALY( _r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 114)
+ _r0.o = __NEW_java_util_Locale();
+ // "ja"
+ _r1.o = xmlvm_create_java_string_from_pool(39);
+ // "JP"
+ _r2.o = xmlvm_create_java_string_from_pool(40);
+ XMLVM_CHECK_NPE(0)
+ java_util_Locale___INIT____java_lang_String_java_lang_String(_r0.o, _r1.o, _r2.o);
+ java_util_Locale_PUT_JAPAN( _r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 119)
+ _r0.o = __NEW_java_util_Locale();
+ // "ja"
+ _r1.o = xmlvm_create_java_string_from_pool(39);
+ // ""
+ _r2.o = xmlvm_create_java_string_from_pool(21);
+ XMLVM_CHECK_NPE(0)
+ java_util_Locale___INIT____java_lang_String_java_lang_String(_r0.o, _r1.o, _r3.o);
+ java_util_Locale_PUT_JAPANESE( _r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 124)
+ _r0.o = __NEW_java_util_Locale();
+ // "ko"
+ _r1.o = xmlvm_create_java_string_from_pool(41);
+ // "KR"
+ _r2.o = xmlvm_create_java_string_from_pool(42);
+ XMLVM_CHECK_NPE(0)
+ java_util_Locale___INIT____java_lang_String_java_lang_String(_r0.o, _r1.o, _r2.o);
+ java_util_Locale_PUT_KOREA( _r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 129)
+ _r0.o = __NEW_java_util_Locale();
+ // "ko"
+ _r1.o = xmlvm_create_java_string_from_pool(41);
+ // ""
+ _r2.o = xmlvm_create_java_string_from_pool(21);
+ XMLVM_CHECK_NPE(0)
+ java_util_Locale___INIT____java_lang_String_java_lang_String(_r0.o, _r1.o, _r3.o);
+ java_util_Locale_PUT_KOREAN( _r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 134)
+ _r0.o = __NEW_java_util_Locale();
+ // "zh"
+ _r1.o = xmlvm_create_java_string_from_pool(32);
+ // "CN"
+ _r1.o = xmlvm_create_java_string_from_pool(31);
+ XMLVM_CHECK_NPE(0)
+ java_util_Locale___INIT____java_lang_String_java_lang_String(_r0.o, _r4.o, _r6.o);
+ java_util_Locale_PUT_PRC( _r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 139)
+ _r0.o = __NEW_java_util_Locale();
+ // "zh"
+ _r1.o = xmlvm_create_java_string_from_pool(32);
+ // "CN"
+ _r1.o = xmlvm_create_java_string_from_pool(31);
+ XMLVM_CHECK_NPE(0)
+ java_util_Locale___INIT____java_lang_String_java_lang_String(_r0.o, _r4.o, _r6.o);
+ java_util_Locale_PUT_SIMPLIFIED_CHINESE( _r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 144)
+ _r0.o = __NEW_java_util_Locale();
+ // "zh"
+ _r1.o = xmlvm_create_java_string_from_pool(32);
+ // "TW"
+ _r1.o = xmlvm_create_java_string_from_pool(43);
+ XMLVM_CHECK_NPE(0)
+ java_util_Locale___INIT____java_lang_String_java_lang_String(_r0.o, _r4.o, _r1.o);
+ java_util_Locale_PUT_TAIWAN( _r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 149)
+ _r0.o = __NEW_java_util_Locale();
+ // "zh"
+ _r1.o = xmlvm_create_java_string_from_pool(32);
+ // "TW"
+ _r1.o = xmlvm_create_java_string_from_pool(43);
+ XMLVM_CHECK_NPE(0)
+ java_util_Locale___INIT____java_lang_String_java_lang_String(_r0.o, _r4.o, _r1.o);
+ java_util_Locale_PUT_TRADITIONAL_CHINESE( _r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 154)
+ _r0.o = __NEW_java_util_Locale();
+ // "en"
+ _r1.o = xmlvm_create_java_string_from_pool(19);
+ // "GB"
+ _r1.o = xmlvm_create_java_string_from_pool(44);
+ XMLVM_CHECK_NPE(0)
+ java_util_Locale___INIT____java_lang_String_java_lang_String(_r0.o, _r5.o, _r1.o);
+ java_util_Locale_PUT_UK( _r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 159)
+ _r0.o = __NEW_java_util_Locale();
+ // "en"
+ _r1.o = xmlvm_create_java_string_from_pool(19);
+ // "US"
+ _r1.o = xmlvm_create_java_string_from_pool(20);
+ XMLVM_CHECK_NPE(0)
+ java_util_Locale___INIT____java_lang_String_java_lang_String(_r0.o, _r5.o, _r1.o);
+ java_util_Locale_PUT_US( _r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 165)
+ _r0.o = __NEW_java_util_Locale();
+ // ""
+ _r1.o = xmlvm_create_java_string_from_pool(21);
+ // ""
+ _r1.o = xmlvm_create_java_string_from_pool(21);
+ // ""
+ _r1.o = xmlvm_create_java_string_from_pool(21);
+ XMLVM_CHECK_NPE(0)
+ java_util_Locale___INIT____java_lang_String_java_lang_String_java_lang_String(_r0.o, _r3.o, _r3.o, _r3.o);
+ java_util_Locale_PUT_ROOT( _r0.o);
+ XMLVM_SOURCE_POSITION("Locale.java", 604)
+ _r0.i = 4;
+ XMLVM_CLASS_INIT(java_io_ObjectStreamField)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_io_ObjectStreamField, _r0.i);
+ _r1.i = 0;
+ _r2.o = __NEW_java_io_ObjectStreamField();
+ // "country"
+ _r3.o = xmlvm_create_java_string_from_pool(26);
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r4.o = __CLASS_java_lang_String;
+ XMLVM_CHECK_NPE(2)
+ java_io_ObjectStreamField___INIT____java_lang_String_java_lang_Class(_r2.o, _r3.o, _r4.o);
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 1;
+ _r2.o = __NEW_java_io_ObjectStreamField();
+ // "hashcode"
+ _r3.o = xmlvm_create_java_string_from_pool(27);
+ _r4.o = java_lang_Integer_GET_TYPE();
+ XMLVM_CHECK_NPE(2)
+ java_io_ObjectStreamField___INIT____java_lang_String_java_lang_Class(_r2.o, _r3.o, _r4.o);
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 2;
+ _r2.o = __NEW_java_io_ObjectStreamField();
+ // "language"
+ _r3.o = xmlvm_create_java_string_from_pool(28);
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r4.o = __CLASS_java_lang_String;
+ XMLVM_CHECK_NPE(2)
+ java_io_ObjectStreamField___INIT____java_lang_String_java_lang_Class(_r2.o, _r3.o, _r4.o);
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 3;
+ _r2.o = __NEW_java_io_ObjectStreamField();
+ // "variant"
+ _r3.o = xmlvm_create_java_string_from_pool(29);
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r4.o = __CLASS_java_lang_String;
+ XMLVM_CHECK_NPE(2)
+ java_io_ObjectStreamField___INIT____java_lang_String_java_lang_Class(_r2.o, _r3.o, _r4.o);
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ java_util_Locale_PUT_serialPersistentFields( _r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_Locale.h b/tests/nbody-java/java_util_Locale.h
new file mode 100644
index 00000000..3d88d028
--- /dev/null
+++ b/tests/nbody-java/java_util_Locale.h
@@ -0,0 +1,175 @@
+#ifndef __JAVA_UTIL_LOCALE__
+#define __JAVA_UTIL_LOCALE__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_Locale 0
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+#include "java_lang_Cloneable.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_io_ObjectStreamField
+#define XMLVM_FORWARD_DECL_java_io_ObjectStreamField
+XMLVM_FORWARD_DECL(java_io_ObjectStreamField)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Integer
+#define XMLVM_FORWARD_DECL_java_lang_Integer
+XMLVM_FORWARD_DECL(java_lang_Integer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Throwable
+#define XMLVM_FORWARD_DECL_java_lang_Throwable
+XMLVM_FORWARD_DECL(java_lang_Throwable)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_XMLVMUtil
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_XMLVMUtil
+XMLVM_FORWARD_DECL(org_xmlvm_runtime_XMLVMUtil)
+#endif
+// Class declarations for java.util.Locale
+XMLVM_DEFINE_CLASS(java_util_Locale, 6, XMLVM_ITABLE_SIZE_java_util_Locale)
+
+extern JAVA_OBJECT __CLASS_java_util_Locale;
+extern JAVA_OBJECT __CLASS_java_util_Locale_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Locale_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Locale_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_Locale
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_Locale \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT countryCode_; \
+ JAVA_OBJECT languageCode_; \
+ JAVA_OBJECT variantCode_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_Locale \
+ } java_util_Locale
+
+struct java_util_Locale {
+ __TIB_DEFINITION_java_util_Locale* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_Locale;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_Locale
+#define XMLVM_FORWARD_DECL_java_util_Locale
+typedef struct java_util_Locale java_util_Locale;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_Locale 6
+#define XMLVM_VTABLE_IDX_java_util_Locale_clone__ 0
+#define XMLVM_VTABLE_IDX_java_util_Locale_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_util_Locale_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_util_Locale_toString__ 5
+
+void __INIT_java_util_Locale();
+void __INIT_IMPL_java_util_Locale();
+void __DELETE_java_util_Locale(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_Locale(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_Locale();
+JAVA_OBJECT __NEW_INSTANCE_java_util_Locale();
+JAVA_LONG java_util_Locale_GET_serialVersionUID();
+void java_util_Locale_PUT_serialVersionUID(JAVA_LONG v);
+JAVA_OBJECT java_util_Locale_GET_defaultLocale();
+void java_util_Locale_PUT_defaultLocale(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Locale_GET_CANADA();
+void java_util_Locale_PUT_CANADA(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Locale_GET_CANADA_FRENCH();
+void java_util_Locale_PUT_CANADA_FRENCH(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Locale_GET_CHINA();
+void java_util_Locale_PUT_CHINA(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Locale_GET_CHINESE();
+void java_util_Locale_PUT_CHINESE(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Locale_GET_ENGLISH();
+void java_util_Locale_PUT_ENGLISH(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Locale_GET_FRANCE();
+void java_util_Locale_PUT_FRANCE(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Locale_GET_FRENCH();
+void java_util_Locale_PUT_FRENCH(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Locale_GET_GERMAN();
+void java_util_Locale_PUT_GERMAN(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Locale_GET_GERMANY();
+void java_util_Locale_PUT_GERMANY(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Locale_GET_ITALIAN();
+void java_util_Locale_PUT_ITALIAN(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Locale_GET_ITALY();
+void java_util_Locale_PUT_ITALY(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Locale_GET_JAPAN();
+void java_util_Locale_PUT_JAPAN(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Locale_GET_JAPANESE();
+void java_util_Locale_PUT_JAPANESE(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Locale_GET_KOREA();
+void java_util_Locale_PUT_KOREA(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Locale_GET_KOREAN();
+void java_util_Locale_PUT_KOREAN(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Locale_GET_PRC();
+void java_util_Locale_PUT_PRC(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Locale_GET_SIMPLIFIED_CHINESE();
+void java_util_Locale_PUT_SIMPLIFIED_CHINESE(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Locale_GET_TAIWAN();
+void java_util_Locale_PUT_TAIWAN(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Locale_GET_TRADITIONAL_CHINESE();
+void java_util_Locale_PUT_TRADITIONAL_CHINESE(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Locale_GET_UK();
+void java_util_Locale_PUT_UK(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Locale_GET_US();
+void java_util_Locale_PUT_US(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Locale_GET_ROOT();
+void java_util_Locale_PUT_ROOT(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Locale_GET_serialPersistentFields();
+void java_util_Locale_PUT_serialPersistentFields(JAVA_OBJECT v);
+void java_util_Locale_initNativeLayer__();
+void java_util_Locale___INIT___(JAVA_OBJECT me);
+void java_util_Locale___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_Locale___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_util_Locale___INIT____java_lang_String_java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3);
+// Vtable index: 0
+JAVA_OBJECT java_util_Locale_clone__(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_util_Locale_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Locale_getAvailableLocales__();
+JAVA_OBJECT java_util_Locale_getCountry__(JAVA_OBJECT me);
+JAVA_OBJECT java_util_Locale_getDefault__();
+JAVA_OBJECT java_util_Locale_getDisplayCountry__(JAVA_OBJECT me);
+JAVA_OBJECT java_util_Locale_getDisplayCountry___java_util_Locale(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Locale_getDisplayLanguage__(JAVA_OBJECT me);
+JAVA_OBJECT java_util_Locale_getDisplayLanguage___java_util_Locale(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Locale_getDisplayName__(JAVA_OBJECT me);
+JAVA_OBJECT java_util_Locale_getDisplayName___java_util_Locale(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Locale_getDisplayVariant__(JAVA_OBJECT me);
+JAVA_OBJECT java_util_Locale_getDisplayVariant___java_util_Locale(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Locale_getISO3Country__(JAVA_OBJECT me);
+JAVA_OBJECT java_util_Locale_getISO3Language__(JAVA_OBJECT me);
+JAVA_OBJECT java_util_Locale_getISOCountries__();
+JAVA_OBJECT java_util_Locale_getISOLanguages__();
+JAVA_OBJECT java_util_Locale_getLanguage__(JAVA_OBJECT me);
+JAVA_OBJECT java_util_Locale_getVariant__(JAVA_OBJECT me);
+// Vtable index: 4
+JAVA_INT java_util_Locale_hashCode__(JAVA_OBJECT me);
+void java_util_Locale_setDefault___java_util_Locale(JAVA_OBJECT n1);
+// Vtable index: 5
+JAVA_OBJECT java_util_Locale_toString__(JAVA_OBJECT me);
+void java_util_Locale_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_Locale_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_Locale___CLINIT_();
+
+#endif
diff --git a/tests/nbody-java/java_util_Map.c b/tests/nbody-java/java_util_Map.c
new file mode 100644
index 00000000..eacd013c
--- /dev/null
+++ b/tests/nbody-java/java_util_Map.c
@@ -0,0 +1,78 @@
+#include "xmlvm.h"
+#include "java_util_Collection.h"
+#include "java_util_Set.h"
+
+#include "java_util_Map.h"
+
+__TIB_DEFINITION_java_util_Map __TIB_java_util_Map = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_Map, // classInitializer
+ "java.util.Map", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_util_Map;
+JAVA_OBJECT __CLASS_java_util_Map_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_Map_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_Map_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_util_Map()
+{
+ staticInitializerLock(&__TIB_java_util_Map);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_Map.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_Map.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_Map);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_Map.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_Map.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_Map.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.Map")
+ __INIT_IMPL_java_util_Map();
+ }
+}
+
+void __INIT_IMPL_java_util_Map()
+{
+ __TIB_java_util_Map.numInterfaces = 0;
+ __TIB_java_util_Map.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_Map.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_util_Map.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_Map.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_Map.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_util_Map = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_Map);
+ __TIB_java_util_Map.clazz = __CLASS_java_util_Map;
+ __TIB_java_util_Map.baseType = JAVA_NULL;
+ __CLASS_java_util_Map_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Map);
+ __CLASS_java_util_Map_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Map_1ARRAY);
+ __CLASS_java_util_Map_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Map_2ARRAY);
+
+ __TIB_java_util_Map.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_util_Map.h b/tests/nbody-java/java_util_Map.h
new file mode 100644
index 00000000..533fd586
--- /dev/null
+++ b/tests/nbody-java/java_util_Map.h
@@ -0,0 +1,49 @@
+#ifndef __JAVA_UTIL_MAP__
+#define __JAVA_UTIL_MAP__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_util_Map_clear__ 0
+#define XMLVM_ITABLE_IDX_java_util_Map_containsKey___java_lang_Object 1
+#define XMLVM_ITABLE_IDX_java_util_Map_containsValue___java_lang_Object 2
+#define XMLVM_ITABLE_IDX_java_util_Map_entrySet__ 3
+#define XMLVM_ITABLE_IDX_java_util_Map_equals___java_lang_Object 4
+#define XMLVM_ITABLE_IDX_java_util_Map_get___java_lang_Object 5
+#define XMLVM_ITABLE_IDX_java_util_Map_hashCode__ 6
+#define XMLVM_ITABLE_IDX_java_util_Map_isEmpty__ 7
+#define XMLVM_ITABLE_IDX_java_util_Map_keySet__ 8
+#define XMLVM_ITABLE_IDX_java_util_Map_put___java_lang_Object_java_lang_Object 10
+#define XMLVM_ITABLE_IDX_java_util_Map_putAll___java_util_Map 9
+#define XMLVM_ITABLE_IDX_java_util_Map_remove___java_lang_Object 11
+#define XMLVM_ITABLE_IDX_java_util_Map_size__ 12
+#define XMLVM_ITABLE_IDX_java_util_Map_values__ 13
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_util_Collection
+#define XMLVM_FORWARD_DECL_java_util_Collection
+XMLVM_FORWARD_DECL(java_util_Collection)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Set
+#define XMLVM_FORWARD_DECL_java_util_Set
+XMLVM_FORWARD_DECL(java_util_Set)
+#endif
+
+XMLVM_DEFINE_CLASS(java_util_Map, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_util_Map;
+extern JAVA_OBJECT __CLASS_java_util_Map_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Map_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Map_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_util_Map
+#define XMLVM_FORWARD_DECL_java_util_Map
+typedef struct java_util_Map java_util_Map;
+#endif
+
+void __INIT_java_util_Map();
+void __INIT_IMPL_java_util_Map();
+
+#endif
diff --git a/tests/nbody-java/java_util_MapEntry.c b/tests/nbody-java/java_util_MapEntry.c
new file mode 100644
index 00000000..fccd17a2
--- /dev/null
+++ b/tests/nbody-java/java_util_MapEntry.c
@@ -0,0 +1,444 @@
+#include "xmlvm.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+
+#include "java_util_MapEntry.h"
+
+#define XMLVM_CURRENT_CLASS_NAME MapEntry
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_MapEntry
+
+__TIB_DEFINITION_java_util_MapEntry __TIB_java_util_MapEntry = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_MapEntry, // classInitializer
+ "java.util.MapEntry", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Map$Entry<TK;TV;>;Ljava/lang/Cloneable;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_util_MapEntry), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_MapEntry;
+JAVA_OBJECT __CLASS_java_util_MapEntry_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_MapEntry_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_MapEntry_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_MapEntry()
+{
+ staticInitializerLock(&__TIB_java_util_MapEntry);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_MapEntry.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_MapEntry.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_MapEntry);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_MapEntry.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_MapEntry.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_MapEntry.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.MapEntry")
+ __INIT_IMPL_java_util_MapEntry();
+ }
+}
+
+void __INIT_IMPL_java_util_MapEntry()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_util_MapEntry.newInstanceFunc = __NEW_INSTANCE_java_util_MapEntry;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_MapEntry.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_util_MapEntry.vtable[0] = (VTABLE_PTR) &java_util_MapEntry_clone__;
+ __TIB_java_util_MapEntry.vtable[1] = (VTABLE_PTR) &java_util_MapEntry_equals___java_lang_Object;
+ __TIB_java_util_MapEntry.vtable[6] = (VTABLE_PTR) &java_util_MapEntry_getKey__;
+ __TIB_java_util_MapEntry.vtable[7] = (VTABLE_PTR) &java_util_MapEntry_getValue__;
+ __TIB_java_util_MapEntry.vtable[4] = (VTABLE_PTR) &java_util_MapEntry_hashCode__;
+ __TIB_java_util_MapEntry.vtable[8] = (VTABLE_PTR) &java_util_MapEntry_setValue___java_lang_Object;
+ __TIB_java_util_MapEntry.vtable[5] = (VTABLE_PTR) &java_util_MapEntry_toString__;
+ // Initialize interface information
+ __TIB_java_util_MapEntry.numImplementedInterfaces = 2;
+ __TIB_java_util_MapEntry.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_lang_Cloneable)
+
+ __TIB_java_util_MapEntry.implementedInterfaces[0][0] = &__TIB_java_lang_Cloneable;
+
+ XMLVM_CLASS_INIT(java_util_Map_Entry)
+
+ __TIB_java_util_MapEntry.implementedInterfaces[0][1] = &__TIB_java_util_Map_Entry;
+ // Initialize itable for this class
+ __TIB_java_util_MapEntry.itableBegin = &__TIB_java_util_MapEntry.itable[0];
+ __TIB_java_util_MapEntry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_equals___java_lang_Object] = __TIB_java_util_MapEntry.vtable[1];
+ __TIB_java_util_MapEntry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__] = __TIB_java_util_MapEntry.vtable[6];
+ __TIB_java_util_MapEntry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__] = __TIB_java_util_MapEntry.vtable[7];
+ __TIB_java_util_MapEntry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_hashCode__] = __TIB_java_util_MapEntry.vtable[4];
+ __TIB_java_util_MapEntry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_setValue___java_lang_Object] = __TIB_java_util_MapEntry.vtable[8];
+
+
+ __TIB_java_util_MapEntry.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_MapEntry.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_MapEntry.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_MapEntry.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_MapEntry.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_MapEntry.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_MapEntry.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_MapEntry.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_MapEntry = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_MapEntry);
+ __TIB_java_util_MapEntry.clazz = __CLASS_java_util_MapEntry;
+ __TIB_java_util_MapEntry.baseType = JAVA_NULL;
+ __CLASS_java_util_MapEntry_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_MapEntry);
+ __CLASS_java_util_MapEntry_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_MapEntry_1ARRAY);
+ __CLASS_java_util_MapEntry_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_MapEntry_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_MapEntry]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_MapEntry.classInitialized = 1;
+}
+
+void __DELETE_java_util_MapEntry(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_MapEntry]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_MapEntry(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_util_MapEntry*) me)->fields.java_util_MapEntry.key_ = (java_lang_Object*) JAVA_NULL;
+ ((java_util_MapEntry*) me)->fields.java_util_MapEntry.value_ = (java_lang_Object*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_MapEntry]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_MapEntry()
+{ XMLVM_CLASS_INIT(java_util_MapEntry)
+java_util_MapEntry* me = (java_util_MapEntry*) XMLVM_MALLOC(sizeof(java_util_MapEntry));
+ me->tib = &__TIB_java_util_MapEntry;
+ __INIT_INSTANCE_MEMBERS_java_util_MapEntry(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_MapEntry]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_MapEntry()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+void java_util_MapEntry___INIT____java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_MapEntry___INIT____java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.MapEntry", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("MapEntry.java", 32)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("MapEntry.java", 33)
+ XMLVM_CHECK_NPE(0)
+ ((java_util_MapEntry*) _r0.o)->fields.java_util_MapEntry.key_ = _r1.o;
+ XMLVM_SOURCE_POSITION("MapEntry.java", 34)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_MapEntry___INIT____java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_MapEntry___INIT____java_lang_Object_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.MapEntry", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("MapEntry.java", 36)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("MapEntry.java", 37)
+ XMLVM_CHECK_NPE(0)
+ ((java_util_MapEntry*) _r0.o)->fields.java_util_MapEntry.key_ = _r1.o;
+ XMLVM_SOURCE_POSITION("MapEntry.java", 38)
+ XMLVM_CHECK_NPE(0)
+ ((java_util_MapEntry*) _r0.o)->fields.java_util_MapEntry.value_ = _r2.o;
+ XMLVM_SOURCE_POSITION("MapEntry.java", 39)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_MapEntry_clone__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_MapEntry_clone__]
+ XMLVM_ENTER_METHOD("java.util.MapEntry", "clone", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_TRY_BEGIN(w6243aaab4b1b2)
+ // Begin try
+ XMLVM_SOURCE_POSITION("MapEntry.java", 44)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_Object_clone__(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w6243aaab4b1b2)
+ XMLVM_CATCH_END(w6243aaab4b1b2)
+ XMLVM_RESTORE_EXCEPTION_ENV(w6243aaab4b1b2)
+ label4:;
+ XMLVM_SOURCE_POSITION("MapEntry.java", 46)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label5:;
+ java_lang_Thread* curThread_w6243aaab4b1b7 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w6243aaab4b1b7->fields.java_lang_Thread.xmlvmException_;
+ _r0.o = JAVA_NULL;
+ goto label4;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_MapEntry_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_MapEntry_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.MapEntry", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.o = n1;
+ _r3.i = 1;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("MapEntry.java", 52)
+ if (_r4.o != _r5.o) goto label6;
+ _r0 = _r3;
+ label5:;
+ XMLVM_SOURCE_POSITION("MapEntry.java", 53)
+ XMLVM_SOURCE_POSITION("MapEntry.java", 62)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label6:;
+ XMLVM_SOURCE_POSITION("MapEntry.java", 55)
+ XMLVM_CLASS_INIT(java_util_Map_Entry)
+ _r0.i = XMLVM_ISA(_r5.o, __CLASS_java_util_Map_Entry);
+ if (_r0.i == 0) goto label61;
+ XMLVM_SOURCE_POSITION("MapEntry.java", 56)
+ _r5.o = _r5.o;
+ XMLVM_SOURCE_POSITION("MapEntry.java", 57)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_util_MapEntry*) _r4.o)->fields.java_util_MapEntry.key_;
+ if (_r0.o != JAVA_NULL) goto label34;
+ XMLVM_CHECK_NPE(5)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__])(_r5.o);
+ if (_r0.o != JAVA_NULL) goto label46;
+ label22:;
+ XMLVM_SOURCE_POSITION("MapEntry.java", 59)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_util_MapEntry*) _r4.o)->fields.java_util_MapEntry.value_;
+ if (_r0.o != JAVA_NULL) goto label48;
+ XMLVM_CHECK_NPE(5)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__])(_r5.o);
+ if (_r0.o != JAVA_NULL) goto label46;
+ label32:;
+ _r0 = _r3;
+ XMLVM_SOURCE_POSITION("MapEntry.java", 60)
+ goto label5;
+ label34:;
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_util_MapEntry*) _r4.o)->fields.java_util_MapEntry.key_;
+ XMLVM_SOURCE_POSITION("MapEntry.java", 58)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__])(_r5.o);
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r0.o)->tib->vtable[1])(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label22;
+ label46:;
+ _r0 = _r2;
+ goto label5;
+ label48:;
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_util_MapEntry*) _r4.o)->fields.java_util_MapEntry.value_;
+ XMLVM_CHECK_NPE(5)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__])(_r5.o);
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r0.o)->tib->vtable[1])(_r0.o, _r1.o);
+ if (_r0.i == 0) goto label46;
+ goto label32;
+ label61:;
+ _r0 = _r2;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_MapEntry_getKey__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_MapEntry_getKey__]
+ XMLVM_ENTER_METHOD("java.util.MapEntry", "getKey", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("MapEntry.java", 66)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_MapEntry*) _r1.o)->fields.java_util_MapEntry.key_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_MapEntry_getValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_MapEntry_getValue__]
+ XMLVM_ENTER_METHOD("java.util.MapEntry", "getValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("MapEntry.java", 70)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_MapEntry*) _r1.o)->fields.java_util_MapEntry.value_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_MapEntry_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_MapEntry_hashCode__]
+ XMLVM_ENTER_METHOD("java.util.MapEntry", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.o = me;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("MapEntry.java", 75)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_util_MapEntry*) _r3.o)->fields.java_util_MapEntry.key_;
+ if (_r0.o != JAVA_NULL) goto label13;
+ _r0 = _r2;
+ label6:;
+ XMLVM_SOURCE_POSITION("MapEntry.java", 76)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_util_MapEntry*) _r3.o)->fields.java_util_MapEntry.value_;
+ if (_r1.o != JAVA_NULL) goto label20;
+ _r1 = _r2;
+ label11:;
+ _r0.i = _r0.i ^ _r1.i;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label13:;
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_util_MapEntry*) _r3.o)->fields.java_util_MapEntry.key_;
+ //java_lang_Object_hashCode__[4]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r0.o)->tib->vtable[4])(_r0.o);
+ goto label6;
+ label20:;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_util_MapEntry*) _r3.o)->fields.java_util_MapEntry.value_;
+ //java_lang_Object_hashCode__[4]
+ XMLVM_CHECK_NPE(1)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r1.o)->tib->vtable[4])(_r1.o);
+ goto label11;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_MapEntry_setValue___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_MapEntry_setValue___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.MapEntry", "setValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("MapEntry.java", 80)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_MapEntry*) _r1.o)->fields.java_util_MapEntry.value_;
+ XMLVM_SOURCE_POSITION("MapEntry.java", 81)
+ XMLVM_CHECK_NPE(1)
+ ((java_util_MapEntry*) _r1.o)->fields.java_util_MapEntry.value_ = _r2.o;
+ XMLVM_SOURCE_POSITION("MapEntry.java", 82)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_MapEntry_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_MapEntry_toString__]
+ XMLVM_ENTER_METHOD("java.util.MapEntry", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("MapEntry.java", 87)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT___(_r0.o);
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_MapEntry*) _r2.o)->fields.java_util_MapEntry.key_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_Object(_r0.o, _r1.o);
+ // "="
+ _r1.o = xmlvm_create_java_string_from_pool(648);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_MapEntry*) _r2.o)->fields.java_util_MapEntry.value_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_Object(_r0.o, _r1.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_MapEntry.h b/tests/nbody-java/java_util_MapEntry.h
new file mode 100644
index 00000000..f27c6c11
--- /dev/null
+++ b/tests/nbody-java/java_util_MapEntry.h
@@ -0,0 +1,85 @@
+#ifndef __JAVA_UTIL_MAPENTRY__
+#define __JAVA_UTIL_MAPENTRY__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_MapEntry 5
+// Implemented interfaces:
+#include "java_lang_Cloneable.h"
+#include "java_util_Map_Entry.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+// Class declarations for java.util.MapEntry
+XMLVM_DEFINE_CLASS(java_util_MapEntry, 9, XMLVM_ITABLE_SIZE_java_util_MapEntry)
+
+extern JAVA_OBJECT __CLASS_java_util_MapEntry;
+extern JAVA_OBJECT __CLASS_java_util_MapEntry_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_MapEntry_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_MapEntry_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_MapEntry
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_MapEntry \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT key_; \
+ JAVA_OBJECT value_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_MapEntry \
+ } java_util_MapEntry
+
+struct java_util_MapEntry {
+ __TIB_DEFINITION_java_util_MapEntry* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_MapEntry;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_MapEntry
+#define XMLVM_FORWARD_DECL_java_util_MapEntry
+typedef struct java_util_MapEntry java_util_MapEntry;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_MapEntry 9
+#define XMLVM_VTABLE_IDX_java_util_MapEntry_clone__ 0
+#define XMLVM_VTABLE_IDX_java_util_MapEntry_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_util_MapEntry_getKey__ 6
+#define XMLVM_VTABLE_IDX_java_util_MapEntry_getValue__ 7
+#define XMLVM_VTABLE_IDX_java_util_MapEntry_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_util_MapEntry_setValue___java_lang_Object 8
+#define XMLVM_VTABLE_IDX_java_util_MapEntry_toString__ 5
+
+void __INIT_java_util_MapEntry();
+void __INIT_IMPL_java_util_MapEntry();
+void __DELETE_java_util_MapEntry(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_MapEntry(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_MapEntry();
+JAVA_OBJECT __NEW_INSTANCE_java_util_MapEntry();
+void java_util_MapEntry___INIT____java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_MapEntry___INIT____java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+// Vtable index: 0
+JAVA_OBJECT java_util_MapEntry_clone__(JAVA_OBJECT me);
+// Vtable index: 1
+JAVA_BOOLEAN java_util_MapEntry_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 6
+JAVA_OBJECT java_util_MapEntry_getKey__(JAVA_OBJECT me);
+// Vtable index: 7
+JAVA_OBJECT java_util_MapEntry_getValue__(JAVA_OBJECT me);
+// Vtable index: 4
+JAVA_INT java_util_MapEntry_hashCode__(JAVA_OBJECT me);
+// Vtable index: 8
+JAVA_OBJECT java_util_MapEntry_setValue___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 5
+JAVA_OBJECT java_util_MapEntry_toString__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/java_util_Map_Entry.c b/tests/nbody-java/java_util_Map_Entry.c
new file mode 100644
index 00000000..2f5320e8
--- /dev/null
+++ b/tests/nbody-java/java_util_Map_Entry.c
@@ -0,0 +1,76 @@
+#include "xmlvm.h"
+
+#include "java_util_Map_Entry.h"
+
+__TIB_DEFINITION_java_util_Map_Entry __TIB_java_util_Map_Entry = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_Map_Entry, // classInitializer
+ "java.util.Map$Entry", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/Object;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_util_Map_Entry;
+JAVA_OBJECT __CLASS_java_util_Map_Entry_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_Map_Entry_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_Map_Entry_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_util_Map_Entry()
+{
+ staticInitializerLock(&__TIB_java_util_Map_Entry);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_Map_Entry.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_Map_Entry.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_Map_Entry);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_Map_Entry.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_Map_Entry.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_Map_Entry.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.Map$Entry")
+ __INIT_IMPL_java_util_Map_Entry();
+ }
+}
+
+void __INIT_IMPL_java_util_Map_Entry()
+{
+ __TIB_java_util_Map_Entry.numInterfaces = 0;
+ __TIB_java_util_Map_Entry.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_Map_Entry.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_util_Map_Entry.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_Map_Entry.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_Map_Entry.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_util_Map_Entry = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_Map_Entry);
+ __TIB_java_util_Map_Entry.clazz = __CLASS_java_util_Map_Entry;
+ __TIB_java_util_Map_Entry.baseType = JAVA_NULL;
+ __CLASS_java_util_Map_Entry_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Map_Entry);
+ __CLASS_java_util_Map_Entry_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Map_Entry_1ARRAY);
+ __CLASS_java_util_Map_Entry_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Map_Entry_2ARRAY);
+
+ __TIB_java_util_Map_Entry.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_util_Map_Entry.h b/tests/nbody-java/java_util_Map_Entry.h
new file mode 100644
index 00000000..27e5b169
--- /dev/null
+++ b/tests/nbody-java/java_util_Map_Entry.h
@@ -0,0 +1,32 @@
+#ifndef __JAVA_UTIL_MAP_ENTRY__
+#define __JAVA_UTIL_MAP_ENTRY__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_util_Map_Entry_equals___java_lang_Object 0
+#define XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__ 1
+#define XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__ 2
+#define XMLVM_ITABLE_IDX_java_util_Map_Entry_hashCode__ 3
+#define XMLVM_ITABLE_IDX_java_util_Map_Entry_setValue___java_lang_Object 4
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+
+XMLVM_DEFINE_CLASS(java_util_Map_Entry, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_util_Map_Entry;
+extern JAVA_OBJECT __CLASS_java_util_Map_Entry_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Map_Entry_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Map_Entry_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_util_Map_Entry
+#define XMLVM_FORWARD_DECL_java_util_Map_Entry
+typedef struct java_util_Map_Entry java_util_Map_Entry;
+#endif
+
+void __INIT_java_util_Map_Entry();
+void __INIT_IMPL_java_util_Map_Entry();
+
+#endif
diff --git a/tests/nbody-java/java_util_Properties.c b/tests/nbody-java/java_util_Properties.c
new file mode 100644
index 00000000..f9ac47fe
--- /dev/null
+++ b/tests/nbody-java/java_util_Properties.c
@@ -0,0 +1,2783 @@
+#include "xmlvm.h"
+#include "java_io_IOException.h"
+#include "java_io_OutputStream.h"
+#include "java_io_PrintStream.h"
+#include "java_lang_Character.h"
+#include "java_lang_Class.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_lang_System.h"
+#include "java_lang_Throwable.h"
+#include "java_nio_charset_Charset.h"
+#include "java_security_AccessController.h"
+#include "java_util_Collections.h"
+#include "java_util_Enumeration.h"
+#include "java_util_Iterator.h"
+#include "java_util_Map_Entry.h"
+#include "java_util_Set.h"
+#include "org_apache_harmony_luni_internal_nls_Messages.h"
+#include "org_apache_harmony_luni_util_PriviAction.h"
+
+#include "java_util_Properties.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Properties
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_Properties
+
+__TIB_DEFINITION_java_util_Properties __TIB_java_util_Properties = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_Properties, // classInitializer
+ "java.util.Properties", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "Ljava/util/Hashtable<Ljava/lang/Object;Ljava/lang/Object;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_Hashtable, // extends
+ sizeof(java_util_Properties), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_Properties;
+JAVA_OBJECT __CLASS_java_util_Properties_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_Properties_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_Properties_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_util_Properties_serialVersionUID;
+static JAVA_OBJECT _STATIC_java_util_Properties_PROP_DTD_NAME;
+static JAVA_OBJECT _STATIC_java_util_Properties_PROP_DTD;
+static JAVA_INT _STATIC_java_util_Properties_NONE;
+static JAVA_INT _STATIC_java_util_Properties_SLASH;
+static JAVA_INT _STATIC_java_util_Properties_UNICODE;
+static JAVA_INT _STATIC_java_util_Properties_CONTINUE;
+static JAVA_INT _STATIC_java_util_Properties_KEY_DONE;
+static JAVA_INT _STATIC_java_util_Properties_IGNORE;
+static JAVA_OBJECT _STATIC_java_util_Properties_lineSeparator;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_Properties()
+{
+ staticInitializerLock(&__TIB_java_util_Properties);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_Properties.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_Properties.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_Properties);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_Properties.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_Properties.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_Properties.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.Properties")
+ __INIT_IMPL_java_util_Properties();
+ }
+}
+
+void __INIT_IMPL_java_util_Properties()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_util_Hashtable)
+ __TIB_java_util_Properties.newInstanceFunc = __NEW_INSTANCE_java_util_Properties;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_Properties.vtable, __TIB_java_util_Hashtable.vtable, sizeof(__TIB_java_util_Hashtable.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_java_util_Properties.numImplementedInterfaces = 3;
+ __TIB_java_util_Properties.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 3);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_util_Properties.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_lang_Cloneable)
+
+ __TIB_java_util_Properties.implementedInterfaces[0][1] = &__TIB_java_lang_Cloneable;
+
+ XMLVM_CLASS_INIT(java_util_Map)
+
+ __TIB_java_util_Properties.implementedInterfaces[0][2] = &__TIB_java_util_Map;
+ // Initialize itable for this class
+ __TIB_java_util_Properties.itableBegin = &__TIB_java_util_Properties.itable[0];
+ __TIB_java_util_Properties.itable[XMLVM_ITABLE_IDX_java_util_Map_clear__] = __TIB_java_util_Properties.vtable[13];
+ __TIB_java_util_Properties.itable[XMLVM_ITABLE_IDX_java_util_Map_containsKey___java_lang_Object] = __TIB_java_util_Properties.vtable[14];
+ __TIB_java_util_Properties.itable[XMLVM_ITABLE_IDX_java_util_Map_containsValue___java_lang_Object] = __TIB_java_util_Properties.vtable[15];
+ __TIB_java_util_Properties.itable[XMLVM_ITABLE_IDX_java_util_Map_entrySet__] = __TIB_java_util_Properties.vtable[16];
+ __TIB_java_util_Properties.itable[XMLVM_ITABLE_IDX_java_util_Map_equals___java_lang_Object] = __TIB_java_util_Properties.vtable[1];
+ __TIB_java_util_Properties.itable[XMLVM_ITABLE_IDX_java_util_Map_get___java_lang_Object] = __TIB_java_util_Properties.vtable[7];
+ __TIB_java_util_Properties.itable[XMLVM_ITABLE_IDX_java_util_Map_hashCode__] = __TIB_java_util_Properties.vtable[4];
+ __TIB_java_util_Properties.itable[XMLVM_ITABLE_IDX_java_util_Map_isEmpty__] = __TIB_java_util_Properties.vtable[8];
+ __TIB_java_util_Properties.itable[XMLVM_ITABLE_IDX_java_util_Map_keySet__] = __TIB_java_util_Properties.vtable[17];
+ __TIB_java_util_Properties.itable[XMLVM_ITABLE_IDX_java_util_Map_putAll___java_util_Map] = __TIB_java_util_Properties.vtable[18];
+ __TIB_java_util_Properties.itable[XMLVM_ITABLE_IDX_java_util_Map_put___java_lang_Object_java_lang_Object] = __TIB_java_util_Properties.vtable[10];
+ __TIB_java_util_Properties.itable[XMLVM_ITABLE_IDX_java_util_Map_remove___java_lang_Object] = __TIB_java_util_Properties.vtable[11];
+ __TIB_java_util_Properties.itable[XMLVM_ITABLE_IDX_java_util_Map_size__] = __TIB_java_util_Properties.vtable[12];
+ __TIB_java_util_Properties.itable[XMLVM_ITABLE_IDX_java_util_Map_values__] = __TIB_java_util_Properties.vtable[19];
+
+ _STATIC_java_util_Properties_serialVersionUID = 4112578634029874840;
+ _STATIC_java_util_Properties_PROP_DTD_NAME = (java_lang_String*) xmlvm_create_java_string_from_pool(102);
+ _STATIC_java_util_Properties_PROP_DTD = (java_lang_String*) xmlvm_create_java_string_from_pool(103);
+ _STATIC_java_util_Properties_NONE = 0;
+ _STATIC_java_util_Properties_SLASH = 1;
+ _STATIC_java_util_Properties_UNICODE = 2;
+ _STATIC_java_util_Properties_CONTINUE = 3;
+ _STATIC_java_util_Properties_KEY_DONE = 4;
+ _STATIC_java_util_Properties_IGNORE = 5;
+ _STATIC_java_util_Properties_lineSeparator = (java_lang_String*) JAVA_NULL;
+
+ __TIB_java_util_Properties.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_Properties.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_Properties.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_Properties.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_Properties.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_Properties.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_Properties.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_Properties.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_Properties = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_Properties);
+ __TIB_java_util_Properties.clazz = __CLASS_java_util_Properties;
+ __TIB_java_util_Properties.baseType = JAVA_NULL;
+ __CLASS_java_util_Properties_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Properties);
+ __CLASS_java_util_Properties_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Properties_1ARRAY);
+ __CLASS_java_util_Properties_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Properties_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_Properties]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_Properties.classInitialized = 1;
+}
+
+void __DELETE_java_util_Properties(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_Properties]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_Properties(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_util_Hashtable(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_util_Properties*) me)->fields.java_util_Properties.builder_ = (java_lang_Object*) JAVA_NULL;
+ ((java_util_Properties*) me)->fields.java_util_Properties.defaults_ = (java_util_Properties*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_Properties]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_Properties()
+{ XMLVM_CLASS_INIT(java_util_Properties)
+java_util_Properties* me = (java_util_Properties*) XMLVM_MALLOC(sizeof(java_util_Properties));
+ me->tib = &__TIB_java_util_Properties;
+ __INIT_INSTANCE_MEMBERS_java_util_Properties(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_Properties]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_Properties()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_util_Properties();
+ java_util_Properties___INIT___(me);
+ return me;
+}
+
+JAVA_LONG java_util_Properties_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_util_Properties)
+ return _STATIC_java_util_Properties_serialVersionUID;
+}
+
+void java_util_Properties_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_util_Properties)
+_STATIC_java_util_Properties_serialVersionUID = v;
+}
+
+JAVA_OBJECT java_util_Properties_GET_PROP_DTD_NAME()
+{
+ XMLVM_CLASS_INIT(java_util_Properties)
+ return _STATIC_java_util_Properties_PROP_DTD_NAME;
+}
+
+void java_util_Properties_PUT_PROP_DTD_NAME(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Properties)
+_STATIC_java_util_Properties_PROP_DTD_NAME = v;
+}
+
+JAVA_OBJECT java_util_Properties_GET_PROP_DTD()
+{
+ XMLVM_CLASS_INIT(java_util_Properties)
+ return _STATIC_java_util_Properties_PROP_DTD;
+}
+
+void java_util_Properties_PUT_PROP_DTD(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Properties)
+_STATIC_java_util_Properties_PROP_DTD = v;
+}
+
+JAVA_INT java_util_Properties_GET_NONE()
+{
+ XMLVM_CLASS_INIT(java_util_Properties)
+ return _STATIC_java_util_Properties_NONE;
+}
+
+void java_util_Properties_PUT_NONE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_util_Properties)
+_STATIC_java_util_Properties_NONE = v;
+}
+
+JAVA_INT java_util_Properties_GET_SLASH()
+{
+ XMLVM_CLASS_INIT(java_util_Properties)
+ return _STATIC_java_util_Properties_SLASH;
+}
+
+void java_util_Properties_PUT_SLASH(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_util_Properties)
+_STATIC_java_util_Properties_SLASH = v;
+}
+
+JAVA_INT java_util_Properties_GET_UNICODE()
+{
+ XMLVM_CLASS_INIT(java_util_Properties)
+ return _STATIC_java_util_Properties_UNICODE;
+}
+
+void java_util_Properties_PUT_UNICODE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_util_Properties)
+_STATIC_java_util_Properties_UNICODE = v;
+}
+
+JAVA_INT java_util_Properties_GET_CONTINUE()
+{
+ XMLVM_CLASS_INIT(java_util_Properties)
+ return _STATIC_java_util_Properties_CONTINUE;
+}
+
+void java_util_Properties_PUT_CONTINUE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_util_Properties)
+_STATIC_java_util_Properties_CONTINUE = v;
+}
+
+JAVA_INT java_util_Properties_GET_KEY_DONE()
+{
+ XMLVM_CLASS_INIT(java_util_Properties)
+ return _STATIC_java_util_Properties_KEY_DONE;
+}
+
+void java_util_Properties_PUT_KEY_DONE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_util_Properties)
+_STATIC_java_util_Properties_KEY_DONE = v;
+}
+
+JAVA_INT java_util_Properties_GET_IGNORE()
+{
+ XMLVM_CLASS_INIT(java_util_Properties)
+ return _STATIC_java_util_Properties_IGNORE;
+}
+
+void java_util_Properties_PUT_IGNORE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_util_Properties)
+_STATIC_java_util_Properties_IGNORE = v;
+}
+
+JAVA_OBJECT java_util_Properties_GET_lineSeparator()
+{
+ XMLVM_CLASS_INIT(java_util_Properties)
+ return _STATIC_java_util_Properties_lineSeparator;
+}
+
+void java_util_Properties_PUT_lineSeparator(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_Properties)
+_STATIC_java_util_Properties_lineSeparator = v;
+}
+
+void java_util_Properties___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Properties___INIT___]
+ XMLVM_ENTER_METHOD("java.util.Properties", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Properties.java", 90)
+ XMLVM_CHECK_NPE(1)
+ java_util_Hashtable___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 66)
+ _r0.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(1)
+ ((java_util_Properties*) _r1.o)->fields.java_util_Properties.builder_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Properties.java", 91)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Properties___INIT____java_util_Properties(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Properties___INIT____java_util_Properties]
+ XMLVM_ENTER_METHOD("java.util.Properties", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Properties.java", 100)
+ XMLVM_CHECK_NPE(1)
+ java_util_Hashtable___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 66)
+ _r0.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(1)
+ ((java_util_Properties*) _r1.o)->fields.java_util_Properties.builder_ = _r0.o;
+ XMLVM_SOURCE_POSITION("Properties.java", 101)
+ XMLVM_CHECK_NPE(1)
+ ((java_util_Properties*) _r1.o)->fields.java_util_Properties.defaults_ = _r2.o;
+ XMLVM_SOURCE_POSITION("Properties.java", 102)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Properties_dumpString___java_lang_StringBuilder_java_lang_String_boolean_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_BOOLEAN n3, JAVA_BOOLEAN n4)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Properties_dumpString___java_lang_StringBuilder_java_lang_String_boolean_boolean]
+ XMLVM_ENTER_METHOD("java.util.Properties", "dumpString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r5.o = me;
+ _r6.o = n1;
+ _r7.o = n2;
+ _r8.i = n3;
+ _r9.i = n4;
+ _r4.i = 32;
+ XMLVM_SOURCE_POSITION("Properties.java", 106)
+ _r0.i = 0;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(7)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r7.o)->tib->vtable[8])(_r7.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 107)
+ if (_r8.i != 0) goto label24;
+ if (_r0.i >= _r1.i) goto label24;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(7)
+ _r2.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r7.o)->tib->vtable[6])(_r7.o, _r0.i);
+ if (_r2.i != _r4.i) goto label24;
+ XMLVM_SOURCE_POSITION("Properties.java", 108)
+ // "\134 "
+ _r2.o = xmlvm_create_java_string_from_pool(104);
+ XMLVM_CHECK_NPE(6)
+ java_lang_StringBuilder_append___java_lang_String(_r6.o, _r2.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 109)
+ _r0.i = _r0.i + 1;
+ label24:;
+ XMLVM_SOURCE_POSITION("Properties.java", 112)
+ if (_r0.i < _r1.i) goto label27;
+ XMLVM_SOURCE_POSITION("Properties.java", 142)
+ XMLVM_EXIT_METHOD()
+ return;
+ label27:;
+ XMLVM_SOURCE_POSITION("Properties.java", 113)
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(7)
+ _r2.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r7.o)->tib->vtable[6])(_r7.o, _r0.i);
+ XMLVM_SOURCE_POSITION("Properties.java", 114)
+ switch (_r2.i) {
+ case 9: goto label63;
+ case 10: goto label69;
+ case 12: goto label75;
+ case 13: goto label81;
+ }
+ XMLVM_SOURCE_POSITION("Properties.java", 128)
+ // "\134#!=:"
+ _r3.o = xmlvm_create_java_string_from_pool(105);
+ XMLVM_CHECK_NPE(3)
+ _r3.i = java_lang_String_indexOf___int(_r3.o, _r2.i);
+ if (_r3.i >= 0) goto label46;
+ if (_r8.i == 0) goto label51;
+ if (_r2.i != _r4.i) goto label51;
+ label46:;
+ XMLVM_SOURCE_POSITION("Properties.java", 129)
+ _r3.i = 92;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(6)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r6.o)->tib->vtable[6])(_r6.o, _r3.i);
+ label51:;
+ XMLVM_SOURCE_POSITION("Properties.java", 131)
+ if (_r2.i < _r4.i) goto label87;
+ _r3.i = 126;
+ if (_r2.i > _r3.i) goto label87;
+ XMLVM_SOURCE_POSITION("Properties.java", 132)
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(6)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r6.o)->tib->vtable[6])(_r6.o, _r2.i);
+ label60:;
+ _r0.i = _r0.i + 1;
+ goto label24;
+ label63:;
+ XMLVM_SOURCE_POSITION("Properties.java", 116)
+ // "\134t"
+ _r2.o = xmlvm_create_java_string_from_pool(106);
+ XMLVM_CHECK_NPE(6)
+ java_lang_StringBuilder_append___java_lang_String(_r6.o, _r2.o);
+ goto label60;
+ label69:;
+ XMLVM_SOURCE_POSITION("Properties.java", 119)
+ // "\134n"
+ _r2.o = xmlvm_create_java_string_from_pool(107);
+ XMLVM_CHECK_NPE(6)
+ java_lang_StringBuilder_append___java_lang_String(_r6.o, _r2.o);
+ goto label60;
+ label75:;
+ XMLVM_SOURCE_POSITION("Properties.java", 122)
+ // "\134f"
+ _r2.o = xmlvm_create_java_string_from_pool(108);
+ XMLVM_CHECK_NPE(6)
+ java_lang_StringBuilder_append___java_lang_String(_r6.o, _r2.o);
+ goto label60;
+ label81:;
+ XMLVM_SOURCE_POSITION("Properties.java", 125)
+ // "\134r"
+ _r2.o = xmlvm_create_java_string_from_pool(109);
+ XMLVM_CHECK_NPE(6)
+ java_lang_StringBuilder_append___java_lang_String(_r6.o, _r2.o);
+ goto label60;
+ label87:;
+ XMLVM_SOURCE_POSITION("Properties.java", 134)
+ if (_r9.i == 0) goto label97;
+ XMLVM_SOURCE_POSITION("Properties.java", 135)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = java_util_Properties_toHexaDecimal___int(_r5.o, _r2.i);
+ XMLVM_CHECK_NPE(6)
+ java_lang_StringBuilder_append___char_1ARRAY(_r6.o, _r2.o);
+ goto label60;
+ label97:;
+ XMLVM_SOURCE_POSITION("Properties.java", 137)
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(6)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r6.o)->tib->vtable[6])(_r6.o, _r2.i);
+ goto label60;
+ label102:;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Properties_toHexaDecimal___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Properties_toHexaDecimal___int]
+ XMLVM_ENTER_METHOD("java.util.Properties", "toHexaDecimal", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r5.o = me;
+ _r6.i = n1;
+ XMLVM_SOURCE_POSITION("Properties.java", 145)
+ _r0.i = 6;
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ XMLVMArray_fillArray(((org_xmlvm_runtime_XMLVMArray*) _r0.o), (JAVA_ARRAY_CHAR[]){92, 117, 48, 48, 48, 48, });
+ XMLVM_SOURCE_POSITION("Properties.java", 146)
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ _r2 = _r1;
+ _r1 = _r6;
+ label9:;
+ XMLVM_SOURCE_POSITION("Properties.java", 148)
+ _r3.i = _r1.i & 15;
+ _r4.i = 9;
+ if (_r3.i <= _r4.i) goto label30;
+ XMLVM_SOURCE_POSITION("Properties.java", 149)
+ XMLVM_SOURCE_POSITION("Properties.java", 150)
+ _r4.i = 10;
+ _r3.i = _r3.i - _r4.i;
+ _r3.i = _r3.i + 65;
+ label20:;
+ XMLVM_SOURCE_POSITION("Properties.java", 154)
+ _r2.i = _r2.i + -1;
+ _r3.i = _r3.i & 0xffff;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r3.i;
+ XMLVM_SOURCE_POSITION("Properties.java", 155)
+ _r1.i = ((JAVA_UINT) _r1.i) >> (0x1f & ((JAVA_UINT) 4));
+ if (_r1.i != 0) goto label9;
+ XMLVM_SOURCE_POSITION("Properties.java", 156)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label30:;
+ XMLVM_SOURCE_POSITION("Properties.java", 152)
+ _r3.i = _r3.i + 48;
+ goto label20;
+ label34:;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Properties_getProperty___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Properties_getProperty___java_lang_String]
+ XMLVM_ENTER_METHOD("java.util.Properties", "getProperty", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("Properties.java", 169)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_util_Hashtable_get___java_lang_Object(_r2.o, _r3.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 170)
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r1.i = XMLVM_ISA(_r0.o, __CLASS_java_lang_String);
+ if (_r1.i == 0) goto label23;
+ _r0.o = _r0.o;
+ label10:;
+ XMLVM_SOURCE_POSITION("Properties.java", 171)
+ if (_r0.o != JAVA_NULL) goto label22;
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_Properties*) _r2.o)->fields.java_util_Properties.defaults_;
+ if (_r1.o == JAVA_NULL) goto label22;
+ XMLVM_SOURCE_POSITION("Properties.java", 172)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_Properties*) _r2.o)->fields.java_util_Properties.defaults_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_util_Properties_getProperty___java_lang_String(_r0.o, _r3.o);
+ label22:;
+ XMLVM_SOURCE_POSITION("Properties.java", 174)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label23:;
+ _r0.o = JAVA_NULL;
+ goto label10;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Properties_getProperty___java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Properties_getProperty___java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("java.util.Properties", "getProperty", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.o = n2;
+ XMLVM_SOURCE_POSITION("Properties.java", 190)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = java_util_Hashtable_get___java_lang_Object(_r2.o, _r3.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 191)
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r1.i = XMLVM_ISA(_r0.o, __CLASS_java_lang_String);
+ if (_r1.i == 0) goto label26;
+ _r0.o = _r0.o;
+ label10:;
+ XMLVM_SOURCE_POSITION("Properties.java", 192)
+ if (_r0.o != JAVA_NULL) goto label22;
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_Properties*) _r2.o)->fields.java_util_Properties.defaults_;
+ if (_r1.o == JAVA_NULL) goto label22;
+ XMLVM_SOURCE_POSITION("Properties.java", 193)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_Properties*) _r2.o)->fields.java_util_Properties.defaults_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_util_Properties_getProperty___java_lang_String(_r0.o, _r3.o);
+ label22:;
+ XMLVM_SOURCE_POSITION("Properties.java", 195)
+ if (_r0.o != JAVA_NULL) goto label25;
+ _r0 = _r4;
+ label25:;
+ XMLVM_SOURCE_POSITION("Properties.java", 196)
+ XMLVM_SOURCE_POSITION("Properties.java", 198)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label26:;
+ _r0.o = JAVA_NULL;
+ goto label10;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Properties_list___java_io_PrintStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Properties_list___java_io_PrintStream]
+ XMLVM_ENTER_METHOD("java.util.Properties", "list", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ _r5.i = 0;
+ XMLVM_SOURCE_POSITION("Properties.java", 211)
+ if (_r7.o != JAVA_NULL) goto label9;
+ XMLVM_SOURCE_POSITION("Properties.java", 212)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label9:;
+ XMLVM_SOURCE_POSITION("Properties.java", 214)
+ _r2.o = __NEW_java_lang_StringBuilder();
+ _r0.i = 80;
+ XMLVM_CHECK_NPE(2)
+ java_lang_StringBuilder___INIT____int(_r2.o, _r0.i);
+ XMLVM_SOURCE_POSITION("Properties.java", 215)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = java_util_Properties_propertyNames__(_r6.o);
+ label20:;
+ XMLVM_SOURCE_POSITION("Properties.java", 216)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Enumeration_hasMoreElements__])(_r3.o);
+ if (_r0.i != 0) goto label27;
+ XMLVM_SOURCE_POSITION("Properties.java", 235)
+ XMLVM_EXIT_METHOD()
+ return;
+ label27:;
+ XMLVM_SOURCE_POSITION("Properties.java", 217)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Enumeration_nextElement__])(_r3.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("Properties.java", 218)
+ XMLVM_CHECK_NPE(2)
+ java_lang_StringBuilder_append___java_lang_String(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 219)
+ _r1.i = 61;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(2)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r2.o)->tib->vtable[6])(_r2.o, _r1.i);
+ XMLVM_SOURCE_POSITION("Properties.java", 220)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = java_util_Hashtable_get___java_lang_Object(_r6.o, _r0.o);
+ _r1.o = _r1.o;
+ XMLVM_SOURCE_POSITION("Properties.java", 221)
+ XMLVM_CHECK_NPE(6)
+ _r4.o = ((java_util_Properties*) _r6.o)->fields.java_util_Properties.defaults_;
+ label49:;
+ XMLVM_SOURCE_POSITION("Properties.java", 222)
+ if (_r1.o == JAVA_NULL) goto label84;
+ XMLVM_SOURCE_POSITION("Properties.java", 226)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
+ _r4.i = 40;
+ if (_r0.i <= _r4.i) goto label93;
+ XMLVM_SOURCE_POSITION("Properties.java", 227)
+ _r0.i = 37;
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_String_substring___int_int(_r1.o, _r5.i, _r0.i);
+ XMLVM_CHECK_NPE(2)
+ java_lang_StringBuilder_append___java_lang_String(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 228)
+ // "..."
+ _r0.o = xmlvm_create_java_string_from_pool(110);
+ XMLVM_CHECK_NPE(2)
+ java_lang_StringBuilder_append___java_lang_String(_r2.o, _r0.o);
+ label73:;
+ XMLVM_SOURCE_POSITION("Properties.java", 232)
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r2.o)->tib->vtable[5])(_r2.o);
+ XMLVM_CHECK_NPE(7)
+ java_io_PrintStream_println___java_lang_String(_r7.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 233)
+ XMLVM_CHECK_NPE(2)
+ java_lang_AbstractStringBuilder_setLength___int(_r2.o, _r5.i);
+ goto label20;
+ label84:;
+ XMLVM_SOURCE_POSITION("Properties.java", 223)
+ //java_util_Properties_get___java_lang_Object[7]
+ XMLVM_CHECK_NPE(4)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_Properties*) _r4.o)->tib->vtable[7])(_r4.o, _r0.o);
+ _r1.o = _r1.o;
+ XMLVM_SOURCE_POSITION("Properties.java", 224)
+ XMLVM_CHECK_NPE(4)
+ _r4.o = ((java_util_Properties*) _r4.o)->fields.java_util_Properties.defaults_;
+ goto label49;
+ label93:;
+ XMLVM_SOURCE_POSITION("Properties.java", 230)
+ XMLVM_CHECK_NPE(2)
+ java_lang_StringBuilder_append___java_lang_String(_r2.o, _r1.o);
+ goto label73;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Properties_list___java_io_PrintWriter(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Properties_list___java_io_PrintWriter]
+ XMLVM_ENTER_METHOD("java.util.Properties", "list", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ _r5.i = 0;
+ XMLVM_SOURCE_POSITION("Properties.java", 247)
+ if (_r7.o != JAVA_NULL) goto label9;
+ XMLVM_SOURCE_POSITION("Properties.java", 248)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label9:;
+ XMLVM_SOURCE_POSITION("Properties.java", 250)
+ _r2.o = __NEW_java_lang_StringBuilder();
+ _r0.i = 80;
+ XMLVM_CHECK_NPE(2)
+ java_lang_StringBuilder___INIT____int(_r2.o, _r0.i);
+ XMLVM_SOURCE_POSITION("Properties.java", 251)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = java_util_Properties_propertyNames__(_r6.o);
+ label20:;
+ XMLVM_SOURCE_POSITION("Properties.java", 252)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Enumeration_hasMoreElements__])(_r3.o);
+ if (_r0.i != 0) goto label27;
+ XMLVM_SOURCE_POSITION("Properties.java", 271)
+ XMLVM_EXIT_METHOD()
+ return;
+ label27:;
+ XMLVM_SOURCE_POSITION("Properties.java", 253)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Enumeration_nextElement__])(_r3.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("Properties.java", 254)
+ XMLVM_CHECK_NPE(2)
+ java_lang_StringBuilder_append___java_lang_String(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 255)
+ _r1.i = 61;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(2)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r2.o)->tib->vtable[6])(_r2.o, _r1.i);
+ XMLVM_SOURCE_POSITION("Properties.java", 256)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = java_util_Hashtable_get___java_lang_Object(_r6.o, _r0.o);
+ _r1.o = _r1.o;
+ XMLVM_SOURCE_POSITION("Properties.java", 257)
+ XMLVM_CHECK_NPE(6)
+ _r4.o = ((java_util_Properties*) _r6.o)->fields.java_util_Properties.defaults_;
+ label49:;
+ XMLVM_SOURCE_POSITION("Properties.java", 258)
+ if (_r1.o == JAVA_NULL) goto label84;
+ XMLVM_SOURCE_POSITION("Properties.java", 262)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
+ _r4.i = 40;
+ if (_r0.i <= _r4.i) goto label93;
+ XMLVM_SOURCE_POSITION("Properties.java", 263)
+ _r0.i = 37;
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_String_substring___int_int(_r1.o, _r5.i, _r0.i);
+ XMLVM_CHECK_NPE(2)
+ java_lang_StringBuilder_append___java_lang_String(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 264)
+ // "..."
+ _r0.o = xmlvm_create_java_string_from_pool(110);
+ XMLVM_CHECK_NPE(2)
+ java_lang_StringBuilder_append___java_lang_String(_r2.o, _r0.o);
+ label73:;
+ XMLVM_SOURCE_POSITION("Properties.java", 268)
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r2.o)->tib->vtable[5])(_r2.o);
+
+
+ // Red class access removed: java.io.PrintWriter::println
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 269)
+ XMLVM_CHECK_NPE(2)
+ java_lang_AbstractStringBuilder_setLength___int(_r2.o, _r5.i);
+ goto label20;
+ label84:;
+ XMLVM_SOURCE_POSITION("Properties.java", 259)
+ //java_util_Properties_get___java_lang_Object[7]
+ XMLVM_CHECK_NPE(4)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_Properties*) _r4.o)->tib->vtable[7])(_r4.o, _r0.o);
+ _r1.o = _r1.o;
+ XMLVM_SOURCE_POSITION("Properties.java", 260)
+ XMLVM_CHECK_NPE(4)
+ _r4.o = ((java_util_Properties*) _r4.o)->fields.java_util_Properties.defaults_;
+ goto label49;
+ label93:;
+ XMLVM_SOURCE_POSITION("Properties.java", 266)
+ XMLVM_CHECK_NPE(2)
+ java_lang_StringBuilder_append___java_lang_String(_r2.o, _r1.o);
+ goto label73;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Properties_load___java_io_InputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Properties_load___java_io_InputStream]
+ XMLVM_ENTER_METHOD("java.util.Properties", "load", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("Properties.java", 283)
+ java_lang_Object_acquireLockRecursive__(_r3.o);
+ if (_r4.o != JAVA_NULL) goto label12;
+ XMLVM_TRY_BEGIN(w1975aaac20b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Properties.java", 284)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac20b1b6)
+ XMLVM_CATCH_SPECIFIC(w1975aaac20b1b6,java_lang_Object,9)
+ XMLVM_CATCH_END(w1975aaac20b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac20b1b6)
+ label9:;
+ java_lang_Thread* curThread_w1975aaac20b1b8 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w1975aaac20b1b8->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label12:;
+ XMLVM_TRY_BEGIN(w1975aaac20b1c12)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Properties.java", 286)
+
+
+ // Red class access removed: java.io.BufferedInputStream::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.io.BufferedInputStream::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 287)
+ _r1.i = 2147483647;
+
+
+ // Red class access removed: java.io.BufferedInputStream::mark
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 288)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = java_util_Properties_isEbcdic___java_io_BufferedInputStream(_r3.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 289)
+
+
+ // Red class access removed: java.io.BufferedInputStream::reset
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 291)
+ if (_r1.i != 0) { XMLVM_MEMCPY(curThread_w1975aaac20b1c12->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1975aaac20b1c12, sizeof(XMLVM_JMP_BUF)); goto label44; };
+ XMLVM_SOURCE_POSITION("Properties.java", 292)
+
+
+ // Red class access removed: java.io.InputStreamReader::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "ISO8859-1"
+ _r2.o = xmlvm_create_java_string_from_pool(111);
+
+
+ // Red class access removed: java.io.InputStreamReader::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(3)
+ java_util_Properties_loadImpl___java_io_Reader(_r3.o, _r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac20b1c12)
+ XMLVM_CATCH_SPECIFIC(w1975aaac20b1c12,java_lang_Object,9)
+ XMLVM_CATCH_END(w1975aaac20b1c12)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac20b1c12)
+ label42:;
+ XMLVM_SOURCE_POSITION("Properties.java", 296)
+ java_lang_Object_releaseLockRecursive__(_r3.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ label44:;
+ XMLVM_TRY_BEGIN(w1975aaac20b1c18)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Properties.java", 294)
+
+
+ // Red class access removed: java.io.InputStreamReader::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.io.InputStreamReader::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(3)
+ java_util_Properties_loadImpl___java_io_Reader(_r3.o, _r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac20b1c18)
+ XMLVM_CATCH_SPECIFIC(w1975aaac20b1c18,java_lang_Object,9)
+ XMLVM_CATCH_END(w1975aaac20b1c18)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac20b1c18)
+ goto label42;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_Properties_isEbcdic___java_io_BufferedInputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Properties_isEbcdic___java_io_BufferedInputStream]
+ XMLVM_ENTER_METHOD("java.util.Properties", "isEbcdic", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ _r2.i = 0;
+ label1:;
+ XMLVM_SOURCE_POSITION("Properties.java", 300)
+
+
+ // Red class access removed: java.io.BufferedInputStream::read
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r0.i = (_r0.i << 24) >> 24;
+ _r1.i = -1;
+ if (_r0.i != _r1.i) goto label11;
+ _r0 = _r2;
+ label10:;
+ XMLVM_SOURCE_POSITION("Properties.java", 311)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label11:;
+ XMLVM_SOURCE_POSITION("Properties.java", 301)
+ _r1.i = 35;
+ if (_r0.i == _r1.i) goto label23;
+ _r1.i = 10;
+ if (_r0.i == _r1.i) goto label23;
+ _r1.i = 61;
+ if (_r0.i != _r1.i) goto label25;
+ label23:;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("Properties.java", 302)
+ goto label10;
+ label25:;
+ XMLVM_SOURCE_POSITION("Properties.java", 304)
+ _r1.i = 21;
+ if (_r0.i != _r1.i) goto label1;
+ XMLVM_SOURCE_POSITION("Properties.java", 305)
+ _r0.i = 1;
+ goto label10;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Properties_load___java_io_Reader(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Properties_load___java_io_Reader]
+ XMLVM_ENTER_METHOD("java.util.Properties", "load", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Properties.java", 343)
+ java_lang_Object_acquireLockRecursive__(_r1.o);
+ XMLVM_TRY_BEGIN(w1975aaac22b1b5)
+ // Begin try
+ XMLVM_CHECK_NPE(1)
+ java_util_Properties_loadImpl___java_io_Reader(_r1.o, _r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac22b1b5)
+ XMLVM_CATCH_SPECIFIC(w1975aaac22b1b5,java_lang_Object,6)
+ XMLVM_CATCH_END(w1975aaac22b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac22b1b5)
+ XMLVM_SOURCE_POSITION("Properties.java", 344)
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ label6:;
+ java_lang_Thread* curThread_w1975aaac22b1c10 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w1975aaac22b1c10->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r1.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Properties_loadImpl___java_io_Reader(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Properties_loadImpl___java_io_Reader]
+ XMLVM_ENTER_METHOD("java.util.Properties", "loadImpl", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ XMLVMElem _r14;
+ XMLVMElem _r15;
+ XMLVMElem _r16;
+ XMLVMElem _r17;
+ XMLVMElem _r18;
+ XMLVMElem _r19;
+ _r18.o = me;
+ _r19.o = n1;
+ XMLVM_SOURCE_POSITION("Properties.java", 347)
+ _r3.i = 0;
+ _r4.i = 0;
+ _r5.i = 0;
+ _r6.i = 40;
+ XMLVM_SOURCE_POSITION("Properties.java", 348)
+ XMLVM_CLASS_INIT(char)
+ _r6.o = XMLVMArray_createSingleDimension(__CLASS_char, _r6.i);
+ XMLVM_SOURCE_POSITION("Properties.java", 349)
+ _r7.i = 0;
+ _r8.i = -1;
+ _r9.i = 1;
+ XMLVM_SOURCE_POSITION("Properties.java", 351)
+
+
+ // Red class access removed: java.io.BufferedReader::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r0 = _r10;
+ _r1 = _r19;
+
+
+ // Red class access removed: java.io.BufferedReader::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r15 = _r9;
+ _r9 = _r3;
+ _r3 = _r15;
+ _r16 = _r7;
+ _r7 = _r5;
+ _r5 = _r16;
+ _r17 = _r4;
+ _r4 = _r8;
+ _r8 = _r17;
+ label31:;
+ XMLVM_SOURCE_POSITION("Properties.java", 354)
+
+
+ // Red class access removed: java.io.BufferedReader::read
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 355)
+ _r12.i = -1;
+ if (_r11.i != _r12.i) goto label56;
+ XMLVM_SOURCE_POSITION("Properties.java", 488)
+ _r3.i = 2;
+ if (_r9.i != _r3.i) goto label297;
+ _r3.i = 4;
+ if (_r7.i > _r3.i) goto label297;
+ XMLVM_SOURCE_POSITION("Properties.java", 490)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.08"
+ _r4.o = xmlvm_create_java_string_from_pool(112);
+ _r4.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String(_r4.o);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r3.o)
+ label56:;
+ XMLVM_SOURCE_POSITION("Properties.java", 356)
+ _r11.i = _r11.i & 0xffff;
+ XMLVM_SOURCE_POSITION("Properties.java", 358)
+ _r12.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ if (_r5.i != _r12.i) goto label71;
+ XMLVM_SOURCE_POSITION("Properties.java", 359)
+ _r12.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ _r12.i = _r12.i * 2;
+ XMLVM_CLASS_INIT(char)
+ _r12.o = XMLVMArray_createSingleDimension(__CLASS_char, _r12.i);
+ XMLVM_SOURCE_POSITION("Properties.java", 360)
+ _r13.i = 0;
+ _r14.i = 0;
+ java_lang_System_arraycopy___java_lang_Object_int_java_lang_Object_int_int(_r6.o, _r13.i, _r12.o, _r14.i, _r5.i);
+ _r6 = _r12;
+ label71:;
+ XMLVM_SOURCE_POSITION("Properties.java", 361)
+ XMLVM_SOURCE_POSITION("Properties.java", 363)
+ _r12.i = 2;
+ if (_r9.i != _r12.i) goto label122;
+ XMLVM_SOURCE_POSITION("Properties.java", 364)
+ _r12.i = 16;
+ _r12.i = java_lang_Character_digit___char_int(_r11.i, _r12.i);
+ XMLVM_SOURCE_POSITION("Properties.java", 365)
+ if (_r12.i < 0) goto label106;
+ XMLVM_SOURCE_POSITION("Properties.java", 366)
+ _r8.i = _r8.i << 4;
+ _r8.i = _r8.i + _r12.i;
+ _r7.i = _r7.i + 1;
+ _r12.i = 4;
+ if (_r7.i < _r12.i) goto label31;
+ label90:;
+ XMLVM_SOURCE_POSITION("Properties.java", 367)
+ XMLVM_SOURCE_POSITION("Properties.java", 374)
+ _r9.i = 0;
+ _r12.i = _r5.i + 1;
+ _r13.i = _r8.i & 0xffff;
+ XMLVM_SOURCE_POSITION("Properties.java", 375)
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r5.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i] = _r13.i;
+ XMLVM_SOURCE_POSITION("Properties.java", 376)
+ _r5.i = 10;
+ if (_r11.i == _r5.i) goto label121;
+ _r5.i = 133;
+ if (_r11.i == _r5.i) goto label121;
+ _r5 = _r12;
+ XMLVM_SOURCE_POSITION("Properties.java", 377)
+ goto label31;
+ label106:;
+ XMLVM_SOURCE_POSITION("Properties.java", 370)
+ _r9.i = 4;
+ if (_r7.i > _r9.i) goto label90;
+ XMLVM_SOURCE_POSITION("Properties.java", 372)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.09"
+ _r4.o = xmlvm_create_java_string_from_pool(113);
+ _r4.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String(_r4.o);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r3.o)
+ label121:;
+ _r5 = _r12;
+ label122:;
+ XMLVM_SOURCE_POSITION("Properties.java", 380)
+ _r12.i = 1;
+ if (_r9.i != _r12.i) goto label169;
+ XMLVM_SOURCE_POSITION("Properties.java", 381)
+ _r9.i = 0;
+ XMLVM_SOURCE_POSITION("Properties.java", 382)
+ switch (_r11.i) {
+ case 10: goto label146;
+ case 13: goto label144;
+ case 98: goto label148;
+ case 102: goto label151;
+ case 110: goto label154;
+ case 114: goto label157;
+ case 116: goto label160;
+ case 117: goto label163;
+ case 133: goto label146;
+ }
+ _r3 = _r11;
+ label130:;
+ XMLVM_SOURCE_POSITION("Properties.java", 409)
+ XMLVM_SOURCE_POSITION("Properties.java", 481)
+ _r11.i = 0;
+ _r12.i = 4;
+ if (_r9.i != _r12.i) goto label137;
+ XMLVM_SOURCE_POSITION("Properties.java", 482)
+ XMLVM_SOURCE_POSITION("Properties.java", 484)
+ _r4.i = 0;
+ _r9 = _r4;
+ _r4 = _r5;
+ label137:;
+ XMLVM_SOURCE_POSITION("Properties.java", 486)
+ _r12.i = _r5.i + 1;
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r5.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i] = _r3.i;
+ _r3 = _r11;
+ _r5 = _r12;
+ XMLVM_SOURCE_POSITION("Properties.java", 353)
+ goto label31;
+ label144:;
+ XMLVM_SOURCE_POSITION("Properties.java", 384)
+ _r9.i = 3;
+ XMLVM_SOURCE_POSITION("Properties.java", 385)
+ goto label31;
+ label146:;
+ XMLVM_SOURCE_POSITION("Properties.java", 388)
+ _r9.i = 5;
+ XMLVM_SOURCE_POSITION("Properties.java", 389)
+ goto label31;
+ label148:;
+ XMLVM_SOURCE_POSITION("Properties.java", 391)
+ _r3.i = 8;
+ XMLVM_SOURCE_POSITION("Properties.java", 392)
+ goto label130;
+ label151:;
+ XMLVM_SOURCE_POSITION("Properties.java", 394)
+ _r3.i = 12;
+ XMLVM_SOURCE_POSITION("Properties.java", 395)
+ goto label130;
+ label154:;
+ XMLVM_SOURCE_POSITION("Properties.java", 397)
+ _r3.i = 10;
+ XMLVM_SOURCE_POSITION("Properties.java", 398)
+ goto label130;
+ label157:;
+ XMLVM_SOURCE_POSITION("Properties.java", 400)
+ _r3.i = 13;
+ XMLVM_SOURCE_POSITION("Properties.java", 401)
+ goto label130;
+ label160:;
+ XMLVM_SOURCE_POSITION("Properties.java", 403)
+ _r3.i = 9;
+ XMLVM_SOURCE_POSITION("Properties.java", 404)
+ goto label130;
+ label163:;
+ XMLVM_SOURCE_POSITION("Properties.java", 406)
+ _r7.i = 2;
+ _r8.i = 0;
+ _r9 = _r7;
+ _r7 = _r8;
+ XMLVM_SOURCE_POSITION("Properties.java", 408)
+ goto label31;
+ label169:;
+ XMLVM_SOURCE_POSITION("Properties.java", 411)
+ switch (_r11.i) {
+ case 10: goto label223;
+ case 13: goto label229;
+ case 33: goto label199;
+ case 35: goto label199;
+ case 58: goto label277;
+ case 61: goto label277;
+ case 92: goto label270;
+ case 133: goto label229;
+ }
+ label172:;
+ XMLVM_SOURCE_POSITION("Properties.java", 464)
+ _r12.i = 256;
+ if (_r11.i >= _r12.i) goto label285;
+ _r12.i = java_lang_Character_isWhitespace___char(_r11.i);
+ if (_r12.i == 0) goto label285;
+ XMLVM_SOURCE_POSITION("Properties.java", 465)
+ _r12.i = 3;
+ if (_r9.i != _r12.i) goto label186;
+ XMLVM_SOURCE_POSITION("Properties.java", 466)
+ _r9.i = 5;
+ label186:;
+ XMLVM_SOURCE_POSITION("Properties.java", 469)
+ if (_r5.i == 0) goto label31;
+ if (_r5.i == _r4.i) goto label31;
+ _r12.i = 5;
+ if (_r9.i == _r12.i) goto label31;
+ XMLVM_SOURCE_POSITION("Properties.java", 472)
+ _r12.i = -1;
+ if (_r4.i != _r12.i) goto label285;
+ XMLVM_SOURCE_POSITION("Properties.java", 473)
+ _r9.i = 4;
+ XMLVM_SOURCE_POSITION("Properties.java", 474)
+ goto label31;
+ label199:;
+ XMLVM_SOURCE_POSITION("Properties.java", 414)
+ if (_r3.i == 0) goto label172;
+ label201:;
+ XMLVM_SOURCE_POSITION("Properties.java", 416)
+
+
+ // Red class access removed: java.io.BufferedReader::read
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 417)
+ _r12.i = -1;
+ if (_r11.i == _r12.i) goto label31;
+ XMLVM_SOURCE_POSITION("Properties.java", 418)
+ _r11.i = _r11.i & 0xffff;
+ _r12.i = 13;
+ if (_r11.i == _r12.i) goto label31;
+ XMLVM_SOURCE_POSITION("Properties.java", 421)
+ _r12.i = 10;
+ if (_r11.i == _r12.i) goto label31;
+ _r12.i = 133;
+ if (_r11.i != _r12.i) goto label201;
+ goto label31;
+ label223:;
+ XMLVM_SOURCE_POSITION("Properties.java", 429)
+ _r11.i = 3;
+ if (_r9.i != _r11.i) goto label229;
+ XMLVM_SOURCE_POSITION("Properties.java", 430)
+ _r9.i = 5;
+ XMLVM_SOURCE_POSITION("Properties.java", 431)
+ goto label31;
+ label229:;
+ XMLVM_SOURCE_POSITION("Properties.java", 436)
+ _r3.i = 0;
+ _r9.i = 1;
+ if (_r5.i > 0) goto label237;
+ XMLVM_SOURCE_POSITION("Properties.java", 438)
+ if (_r5.i != 0) goto label263;
+ if (_r4.i != 0) goto label263;
+ label237:;
+ XMLVM_SOURCE_POSITION("Properties.java", 439)
+ _r11.i = -1;
+ if (_r4.i != _r11.i) goto label241;
+ _r4 = _r5;
+ label241:;
+ XMLVM_SOURCE_POSITION("Properties.java", 440)
+ XMLVM_SOURCE_POSITION("Properties.java", 442)
+ _r11.o = __NEW_java_lang_String();
+ _r12.i = 0;
+ XMLVM_CHECK_NPE(11)
+ java_lang_String___INIT____char_1ARRAY_int_int(_r11.o, _r6.o, _r12.i, _r5.i);
+ XMLVM_SOURCE_POSITION("Properties.java", 443)
+ _r5.i = 0;
+ XMLVM_CHECK_NPE(11)
+ _r5.o = java_lang_String_substring___int_int(_r11.o, _r5.i, _r4.i);
+ XMLVM_SOURCE_POSITION("Properties.java", 444)
+ XMLVM_CHECK_NPE(11)
+ _r4.o = java_lang_String_substring___int(_r11.o, _r4.i);
+ _r0 = _r18;
+ _r1 = _r5;
+ _r2 = _r4;
+ //java_util_Properties_put___java_lang_Object_java_lang_Object[10]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_Properties*) _r0.o)->tib->vtable[10])(_r0.o, _r1.o, _r2.o);
+ label263:;
+ XMLVM_SOURCE_POSITION("Properties.java", 446)
+ _r4.i = -1;
+ _r5.i = 0;
+ _r15 = _r9;
+ _r9 = _r3;
+ _r3 = _r15;
+ XMLVM_SOURCE_POSITION("Properties.java", 448)
+ goto label31;
+ label270:;
+ XMLVM_SOURCE_POSITION("Properties.java", 450)
+ _r11.i = 4;
+ if (_r9.i != _r11.i) goto label274;
+ _r4 = _r5;
+ label274:;
+ XMLVM_SOURCE_POSITION("Properties.java", 451)
+ XMLVM_SOURCE_POSITION("Properties.java", 453)
+ _r9.i = 1;
+ XMLVM_SOURCE_POSITION("Properties.java", 454)
+ goto label31;
+ label277:;
+ XMLVM_SOURCE_POSITION("Properties.java", 457)
+ _r12.i = -1;
+ if (_r4.i != _r12.i) goto label172;
+ XMLVM_SOURCE_POSITION("Properties.java", 458)
+ _r4.i = 0;
+ _r9 = _r4;
+ _r4 = _r5;
+ XMLVM_SOURCE_POSITION("Properties.java", 460)
+ goto label31;
+ label285:;
+ _r3 = _r9;
+ XMLVM_SOURCE_POSITION("Properties.java", 477)
+ _r9.i = 5;
+ if (_r3.i == _r9.i) goto label292;
+ _r9.i = 3;
+ if (_r3.i != _r9.i) goto label352;
+ label292:;
+ XMLVM_SOURCE_POSITION("Properties.java", 478)
+ _r3.i = 0;
+ _r9 = _r3;
+ _r3 = _r11;
+ goto label130;
+ label297:;
+ XMLVM_SOURCE_POSITION("Properties.java", 492)
+ _r3.i = -1;
+ if (_r4.i != _r3.i) goto label350;
+ if (_r5.i <= 0) goto label350;
+ _r3 = _r5;
+ label303:;
+ XMLVM_SOURCE_POSITION("Properties.java", 493)
+ XMLVM_SOURCE_POSITION("Properties.java", 495)
+ if (_r3.i < 0) goto label349;
+ XMLVM_SOURCE_POSITION("Properties.java", 496)
+ _r4.o = __NEW_java_lang_String();
+ _r7.i = 0;
+ XMLVM_CHECK_NPE(4)
+ java_lang_String___INIT____char_1ARRAY_int_int(_r4.o, _r6.o, _r7.i, _r5.i);
+ XMLVM_SOURCE_POSITION("Properties.java", 497)
+ _r5.i = 0;
+ XMLVM_CHECK_NPE(4)
+ _r5.o = java_lang_String_substring___int_int(_r4.o, _r5.i, _r3.i);
+ XMLVM_SOURCE_POSITION("Properties.java", 498)
+ XMLVM_CHECK_NPE(4)
+ _r3.o = java_lang_String_substring___int(_r4.o, _r3.i);
+ XMLVM_SOURCE_POSITION("Properties.java", 499)
+ _r4.i = 1;
+ if (_r9.i != _r4.i) goto label342;
+ XMLVM_SOURCE_POSITION("Properties.java", 500)
+ _r4.o = __NEW_java_lang_StringBuilder();
+ _r3.o = java_lang_String_valueOf___java_lang_Object(_r3.o);
+ XMLVM_CHECK_NPE(4)
+ java_lang_StringBuilder___INIT____java_lang_String(_r4.o, _r3.o);
+ // "\000"
+ _r3.o = xmlvm_create_java_string_from_pool(114);
+ XMLVM_CHECK_NPE(4)
+ _r3.o = java_lang_StringBuilder_append___java_lang_String(_r4.o, _r3.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(3)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r3.o)->tib->vtable[5])(_r3.o);
+ label342:;
+ XMLVM_SOURCE_POSITION("Properties.java", 502)
+ _r0 = _r18;
+ _r1 = _r5;
+ _r2 = _r3;
+ //java_util_Properties_put___java_lang_Object_java_lang_Object[10]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_Properties*) _r0.o)->tib->vtable[10])(_r0.o, _r1.o, _r2.o);
+ label349:;
+ XMLVM_SOURCE_POSITION("Properties.java", 504)
+ XMLVM_EXIT_METHOD()
+ return;
+ label350:;
+ _r3 = _r4;
+ goto label303;
+ label352:;
+ _r9 = _r3;
+ _r3 = _r11;
+ goto label130;
+ label356:;
+ label394:;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Properties_propertyNames__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Properties_propertyNames__]
+ XMLVM_ENTER_METHOD("java.util.Properties", "propertyNames", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Properties.java", 514)
+ _r0.o = __NEW_java_util_Hashtable();
+ XMLVM_CHECK_NPE(0)
+ java_util_Hashtable___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 515)
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(2)
+ java_util_Properties_selectProperties___java_util_Hashtable_boolean(_r2.o, _r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("Properties.java", 516)
+ //java_util_Hashtable_keys__[9]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_Hashtable*) _r0.o)->tib->vtable[9])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Properties_stringPropertyNames__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Properties_stringPropertyNames__]
+ XMLVM_ENTER_METHOD("java.util.Properties", "stringPropertyNames", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("Properties.java", 528)
+ _r0.o = __NEW_java_util_Hashtable();
+ XMLVM_CHECK_NPE(0)
+ java_util_Hashtable___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 529)
+ _r1.i = 1;
+ XMLVM_CHECK_NPE(2)
+ java_util_Properties_selectProperties___java_util_Hashtable_boolean(_r2.o, _r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("Properties.java", 530)
+ //java_util_Hashtable_keySet__[17]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_Hashtable*) _r0.o)->tib->vtable[17])(_r0.o);
+ _r0.o = java_util_Collections_unmodifiableSet___java_util_Set(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Properties_selectProperties___java_util_Hashtable_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Properties_selectProperties___java_util_Hashtable_boolean]
+ XMLVM_ENTER_METHOD("java.util.Properties", "selectProperties", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r4.o = me;
+ _r5.o = n1;
+ _r6.i = n2;
+ XMLVM_SOURCE_POSITION("Properties.java", 538)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_util_Properties*) _r4.o)->fields.java_util_Properties.defaults_;
+ if (_r0.o == JAVA_NULL) goto label9;
+ XMLVM_SOURCE_POSITION("Properties.java", 539)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_util_Properties*) _r4.o)->fields.java_util_Properties.defaults_;
+ XMLVM_CHECK_NPE(0)
+ java_util_Properties_selectProperties___java_util_Hashtable_boolean(_r0.o, _r5.o, _r6.i);
+ label9:;
+ XMLVM_SOURCE_POSITION("Properties.java", 542)
+ //java_util_Properties_keys__[9]
+ XMLVM_CHECK_NPE(4)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_Properties*) _r4.o)->tib->vtable[9])(_r4.o);
+ label13:;
+ XMLVM_SOURCE_POSITION("Properties.java", 544)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Enumeration_hasMoreElements__])(_r0.o);
+ if (_r1.i != 0) goto label20;
+ XMLVM_SOURCE_POSITION("Properties.java", 559)
+ XMLVM_EXIT_METHOD()
+ return;
+ label20:;
+ XMLVM_SOURCE_POSITION("Properties.java", 545)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Enumeration_nextElement__])(_r0.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 546)
+ if (_r6.i == 0) goto label42;
+ XMLVM_SOURCE_POSITION("Properties.java", 548)
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r2.i = XMLVM_ISA(_r1.o, __CLASS_java_lang_String);
+ if (_r2.i == 0) goto label13;
+ XMLVM_SOURCE_POSITION("Properties.java", 549)
+ //java_util_Properties_get___java_lang_Object[7]
+ XMLVM_CHECK_NPE(4)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_Properties*) _r4.o)->tib->vtable[7])(_r4.o, _r1.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 550)
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.i = XMLVM_ISA(_r2.o, __CLASS_java_lang_String);
+ if (_r3.i == 0) goto label13;
+ XMLVM_SOURCE_POSITION("Properties.java", 551)
+ //java_util_Hashtable_put___java_lang_Object_java_lang_Object[10]
+ XMLVM_CHECK_NPE(5)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_Hashtable*) _r5.o)->tib->vtable[10])(_r5.o, _r1.o, _r2.o);
+ goto label13;
+ label42:;
+ XMLVM_SOURCE_POSITION("Properties.java", 555)
+ //java_util_Properties_get___java_lang_Object[7]
+ XMLVM_CHECK_NPE(4)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_Properties*) _r4.o)->tib->vtable[7])(_r4.o, _r1.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 556)
+ //java_util_Hashtable_put___java_lang_Object_java_lang_Object[10]
+ XMLVM_CHECK_NPE(5)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_Hashtable*) _r5.o)->tib->vtable[10])(_r5.o, _r1.o, _r2.o);
+ goto label13;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Properties_save___java_io_OutputStream_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Properties_save___java_io_OutputStream_java_lang_String]
+ XMLVM_ENTER_METHOD("java.util.Properties", "save", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_TRY_BEGIN(w1975aaac27b1b4)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Properties.java", 578)
+ XMLVM_CHECK_NPE(1)
+ java_util_Properties_store___java_io_OutputStream_java_lang_String(_r1.o, _r2.o, _r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac27b1b4)
+ XMLVM_CATCH_SPECIFIC(w1975aaac27b1b4,java_io_IOException,4)
+ XMLVM_CATCH_END(w1975aaac27b1b4)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac27b1b4)
+ label3:;
+ XMLVM_SOURCE_POSITION("Properties.java", 581)
+ XMLVM_EXIT_METHOD()
+ return;
+ label4:;
+ java_lang_Thread* curThread_w1975aaac27b1b9 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w1975aaac27b1b9->fields.java_lang_Thread.xmlvmException_;
+ goto label3;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Properties_setProperty___java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Properties_setProperty___java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("java.util.Properties", "setProperty", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("Properties.java", 594)
+ //java_util_Properties_put___java_lang_Object_java_lang_Object[10]
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_Properties*) _r1.o)->tib->vtable[10])(_r1.o, _r2.o, _r3.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Properties_store___java_io_OutputStream_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Properties_store___java_io_OutputStream_java_lang_String]
+ XMLVM_ENTER_METHOD("java.util.Properties", "store", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ volatile XMLVMElem _r9;
+ _r7.o = me;
+ _r8.o = n1;
+ _r9.o = n2;
+ XMLVM_SOURCE_POSITION("Properties.java", 615)
+ java_lang_Object_acquireLockRecursive__(_r7.o);
+ XMLVM_TRY_BEGIN(w1975aaac29b1b6)
+ // Begin try
+ _r0.o = java_util_Properties_GET_lineSeparator();
+ if (_r0.o != JAVA_NULL) { XMLVM_MEMCPY(curThread_w1975aaac29b1b6->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1975aaac29b1b6, sizeof(XMLVM_JMP_BUF)); goto label20; };
+ XMLVM_SOURCE_POSITION("Properties.java", 617)
+ _r0.o = __NEW_org_apache_harmony_luni_util_PriviAction();
+ // "line.separator"
+ _r1.o = xmlvm_create_java_string_from_pool(115);
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_luni_util_PriviAction___INIT____java_lang_String(_r0.o, _r1.o);
+ _r0.o = java_security_AccessController_doPrivileged___java_security_PrivilegedAction(_r0.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("Properties.java", 616)
+ java_util_Properties_PUT_lineSeparator( _r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac29b1b6)
+ XMLVM_CATCH_SPECIFIC(w1975aaac29b1b6,java_lang_Object,130)
+ XMLVM_CATCH_END(w1975aaac29b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac29b1b6)
+ label20:;
+ XMLVM_TRY_BEGIN(w1975aaac29b1b8)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Properties.java", 620)
+ _r2.o = __NEW_java_lang_StringBuilder();
+ _r0.i = 200;
+ XMLVM_CHECK_NPE(2)
+ java_lang_StringBuilder___INIT____int(_r2.o, _r0.i);
+ XMLVM_SOURCE_POSITION("Properties.java", 621)
+
+
+ // Red class access removed: java.io.OutputStreamWriter::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "ISO8859_1"
+ _r0.o = xmlvm_create_java_string_from_pool(116);
+
+
+ // Red class access removed: java.io.OutputStreamWriter::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 622)
+ if (_r9.o == JAVA_NULL) { XMLVM_MEMCPY(curThread_w1975aaac29b1b8->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1975aaac29b1b8, sizeof(XMLVM_JMP_BUF)); goto label39; };
+ XMLVM_SOURCE_POSITION("Properties.java", 623)
+ XMLVM_CHECK_NPE(7)
+ java_util_Properties_writeComments___java_io_Writer_java_lang_String(_r7.o, _r3.o, _r9.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac29b1b8)
+ XMLVM_CATCH_SPECIFIC(w1975aaac29b1b8,java_lang_Object,130)
+ XMLVM_CATCH_END(w1975aaac29b1b8)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac29b1b8)
+ label39:;
+ XMLVM_TRY_BEGIN(w1975aaac29b1c10)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Properties.java", 625)
+ _r0.i = 35;
+
+
+ // Red class access removed: java.io.OutputStreamWriter::write
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 626)
+
+
+ // Red class access removed: java.util.Date::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Date::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Date::toString
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.io.OutputStreamWriter::write
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 627)
+ _r0.o = java_util_Properties_GET_lineSeparator();
+
+
+ // Red class access removed: java.io.OutputStreamWriter::write
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 629)
+ //java_util_Properties_entrySet__[16]
+ XMLVM_CHECK_NPE(7)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_Properties*) _r7.o)->tib->vtable[16])(_r7.o);
+ XMLVM_CHECK_NPE(0)
+ _r4.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Set_iterator__])(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac29b1c10)
+ XMLVM_CATCH_SPECIFIC(w1975aaac29b1c10,java_lang_Object,130)
+ XMLVM_CATCH_END(w1975aaac29b1c10)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac29b1c10)
+ label69:;
+ XMLVM_TRY_BEGIN(w1975aaac29b1c12)
+ // Begin try
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r4.o);
+ if (_r0.i != 0) { XMLVM_MEMCPY(curThread_w1975aaac29b1c12->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1975aaac29b1c12, sizeof(XMLVM_JMP_BUF)); goto label80; };
+ XMLVM_SOURCE_POSITION("Properties.java", 638)
+
+
+ // Red class access removed: java.io.OutputStreamWriter::flush
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac29b1c12)
+ XMLVM_CATCH_SPECIFIC(w1975aaac29b1c12,java_lang_Object,130)
+ XMLVM_CATCH_END(w1975aaac29b1c12)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac29b1c12)
+ XMLVM_SOURCE_POSITION("Properties.java", 639)
+ java_lang_Object_releaseLockRecursive__(_r7.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ label80:;
+ XMLVM_TRY_BEGIN(w1975aaac29b1c17)
+ // Begin try
+ XMLVM_CHECK_NPE(4)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r4.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("Properties.java", 630)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__])(_r0.o);
+ _r1.o = _r1.o;
+ XMLVM_SOURCE_POSITION("Properties.java", 631)
+ _r5.i = 1;
+ _r6.i = 1;
+ XMLVM_CHECK_NPE(7)
+ java_util_Properties_dumpString___java_lang_StringBuilder_java_lang_String_boolean_boolean(_r7.o, _r2.o, _r1.o, _r5.i, _r6.i);
+ XMLVM_SOURCE_POSITION("Properties.java", 632)
+ _r1.i = 61;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(2)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r2.o)->tib->vtable[6])(_r2.o, _r1.i);
+ XMLVM_SOURCE_POSITION("Properties.java", 633)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__])(_r0.o);
+ _r0.o = _r0.o;
+ _r1.i = 0;
+ _r5.i = 1;
+ XMLVM_CHECK_NPE(7)
+ java_util_Properties_dumpString___java_lang_StringBuilder_java_lang_String_boolean_boolean(_r7.o, _r2.o, _r0.o, _r1.i, _r5.i);
+ XMLVM_SOURCE_POSITION("Properties.java", 634)
+ _r0.o = java_util_Properties_GET_lineSeparator();
+ XMLVM_CHECK_NPE(2)
+ java_lang_StringBuilder_append___java_lang_String(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 635)
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r2.o)->tib->vtable[5])(_r2.o);
+
+
+ // Red class access removed: java.io.OutputStreamWriter::write
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 636)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(2)
+ java_lang_AbstractStringBuilder_setLength___int(_r2.o, _r0.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac29b1c17)
+ XMLVM_CATCH_SPECIFIC(w1975aaac29b1c17,java_lang_Object,130)
+ XMLVM_CATCH_END(w1975aaac29b1c17)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac29b1c17)
+ goto label69;
+ label130:;
+ java_lang_Thread* curThread_w1975aaac29b1c20 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w1975aaac29b1c20->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r7.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Properties_store___java_io_Writer_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Properties_store___java_io_Writer_java_lang_String]
+ XMLVM_ENTER_METHOD("java.util.Properties", "store", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ _r6.o = me;
+ _r7.o = n1;
+ _r8.o = n2;
+ XMLVM_SOURCE_POSITION("Properties.java", 656)
+ java_lang_Object_acquireLockRecursive__(_r6.o);
+ XMLVM_TRY_BEGIN(w1975aaac30b1b6)
+ // Begin try
+ _r0.o = java_util_Properties_GET_lineSeparator();
+ if (_r0.o != JAVA_NULL) { XMLVM_MEMCPY(curThread_w1975aaac30b1b6->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1975aaac30b1b6, sizeof(XMLVM_JMP_BUF)); goto label20; };
+ XMLVM_SOURCE_POSITION("Properties.java", 658)
+ _r0.o = __NEW_org_apache_harmony_luni_util_PriviAction();
+ // "line.separator"
+ _r1.o = xmlvm_create_java_string_from_pool(115);
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_luni_util_PriviAction___INIT____java_lang_String(_r0.o, _r1.o);
+ _r0.o = java_security_AccessController_doPrivileged___java_security_PrivilegedAction(_r0.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("Properties.java", 657)
+ java_util_Properties_PUT_lineSeparator( _r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac30b1b6)
+ XMLVM_CATCH_SPECIFIC(w1975aaac30b1b6,java_lang_Object,123)
+ XMLVM_CATCH_END(w1975aaac30b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac30b1b6)
+ label20:;
+ XMLVM_TRY_BEGIN(w1975aaac30b1b8)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Properties.java", 660)
+ if (_r8.o == JAVA_NULL) { XMLVM_MEMCPY(curThread_w1975aaac30b1b8->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1975aaac30b1b8, sizeof(XMLVM_JMP_BUF)); goto label25; };
+ XMLVM_SOURCE_POSITION("Properties.java", 661)
+ XMLVM_CHECK_NPE(6)
+ java_util_Properties_writeComments___java_io_Writer_java_lang_String(_r6.o, _r7.o, _r8.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac30b1b8)
+ XMLVM_CATCH_SPECIFIC(w1975aaac30b1b8,java_lang_Object,123)
+ XMLVM_CATCH_END(w1975aaac30b1b8)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac30b1b8)
+ label25:;
+ XMLVM_TRY_BEGIN(w1975aaac30b1c10)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Properties.java", 663)
+ _r0.i = 35;
+
+
+ // Red class access removed: java.io.Writer::write
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 664)
+
+
+ // Red class access removed: java.util.Date::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Date::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Date::toString
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.io.Writer::write
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 665)
+ _r0.o = java_util_Properties_GET_lineSeparator();
+
+
+ // Red class access removed: java.io.Writer::write
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 667)
+ _r2.o = __NEW_java_lang_StringBuilder();
+ _r0.i = 200;
+ XMLVM_CHECK_NPE(2)
+ java_lang_StringBuilder___INIT____int(_r2.o, _r0.i);
+ XMLVM_SOURCE_POSITION("Properties.java", 668)
+ //java_util_Properties_entrySet__[16]
+ XMLVM_CHECK_NPE(6)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_Properties*) _r6.o)->tib->vtable[16])(_r6.o);
+ XMLVM_CHECK_NPE(0)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Set_iterator__])(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac30b1c10)
+ XMLVM_CATCH_SPECIFIC(w1975aaac30b1c10,java_lang_Object,123)
+ XMLVM_CATCH_END(w1975aaac30b1c10)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac30b1c10)
+ label62:;
+ XMLVM_TRY_BEGIN(w1975aaac30b1c12)
+ // Begin try
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r3.o);
+ if (_r0.i != 0) { XMLVM_MEMCPY(curThread_w1975aaac30b1c12->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1975aaac30b1c12, sizeof(XMLVM_JMP_BUF)); goto label73; };
+ XMLVM_SOURCE_POSITION("Properties.java", 677)
+
+
+ // Red class access removed: java.io.Writer::flush
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac30b1c12)
+ XMLVM_CATCH_SPECIFIC(w1975aaac30b1c12,java_lang_Object,123)
+ XMLVM_CATCH_END(w1975aaac30b1c12)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac30b1c12)
+ XMLVM_SOURCE_POSITION("Properties.java", 678)
+ java_lang_Object_releaseLockRecursive__(_r6.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ label73:;
+ XMLVM_TRY_BEGIN(w1975aaac30b1c17)
+ // Begin try
+ XMLVM_CHECK_NPE(3)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r3.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("Properties.java", 669)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__])(_r0.o);
+ _r1.o = _r1.o;
+ XMLVM_SOURCE_POSITION("Properties.java", 670)
+ _r4.i = 1;
+ _r5.i = 0;
+ XMLVM_CHECK_NPE(6)
+ java_util_Properties_dumpString___java_lang_StringBuilder_java_lang_String_boolean_boolean(_r6.o, _r2.o, _r1.o, _r4.i, _r5.i);
+ XMLVM_SOURCE_POSITION("Properties.java", 671)
+ _r1.i = 61;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(2)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r2.o)->tib->vtable[6])(_r2.o, _r1.i);
+ XMLVM_SOURCE_POSITION("Properties.java", 672)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__])(_r0.o);
+ _r0.o = _r0.o;
+ _r1.i = 0;
+ _r4.i = 0;
+ XMLVM_CHECK_NPE(6)
+ java_util_Properties_dumpString___java_lang_StringBuilder_java_lang_String_boolean_boolean(_r6.o, _r2.o, _r0.o, _r1.i, _r4.i);
+ XMLVM_SOURCE_POSITION("Properties.java", 673)
+ _r0.o = java_util_Properties_GET_lineSeparator();
+ XMLVM_CHECK_NPE(2)
+ java_lang_StringBuilder_append___java_lang_String(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 674)
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r2.o)->tib->vtable[5])(_r2.o);
+
+
+ // Red class access removed: java.io.Writer::write
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 675)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(2)
+ java_lang_AbstractStringBuilder_setLength___int(_r2.o, _r0.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac30b1c17)
+ XMLVM_CATCH_SPECIFIC(w1975aaac30b1c17,java_lang_Object,123)
+ XMLVM_CATCH_END(w1975aaac30b1c17)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac30b1c17)
+ goto label62;
+ label123:;
+ java_lang_Thread* curThread_w1975aaac30b1c20 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w1975aaac30b1c20->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r6.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Properties_writeComments___java_io_Writer_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Properties_writeComments___java_io_Writer_java_lang_String]
+ XMLVM_ENTER_METHOD("java.util.Properties", "writeComments", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r7.o = me;
+ _r8.o = n1;
+ _r9.o = n2;
+ _r6.i = 13;
+ _r5.i = 10;
+ _r4.i = 35;
+ XMLVM_SOURCE_POSITION("Properties.java", 682)
+
+
+ // Red class access removed: java.io.Writer::write
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 683)
+ XMLVM_CHECK_NPE(9)
+ _r0.o = java_lang_String_toCharArray__(_r9.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 684)
+ _r1.i = 0;
+ label14:;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ if (_r1.i < _r2.i) goto label23;
+ XMLVM_SOURCE_POSITION("Properties.java", 707)
+ _r0.o = java_util_Properties_GET_lineSeparator();
+
+
+ // Red class access removed: java.io.Writer::write
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 708)
+ XMLVM_EXIT_METHOD()
+ return;
+ label23:;
+ XMLVM_SOURCE_POSITION("Properties.java", 685)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r2.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ _r3.i = 256;
+ if (_r2.i >= _r3.i) goto label81;
+ XMLVM_SOURCE_POSITION("Properties.java", 686)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r2.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ if (_r2.i == _r6.i) goto label37;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r2.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ if (_r2.i != _r5.i) goto label75;
+ label37:;
+ XMLVM_SOURCE_POSITION("Properties.java", 687)
+ _r2.i = _r1.i + 1;
+ XMLVM_SOURCE_POSITION("Properties.java", 688)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ if (_r3.i != _r6.i) goto label53;
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ if (_r2.i >= _r3.i) goto label53;
+ XMLVM_SOURCE_POSITION("Properties.java", 689)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ if (_r3.i != _r5.i) goto label53;
+ label50:;
+ _r1.i = _r1.i + 1;
+ goto label14;
+ label53:;
+ XMLVM_SOURCE_POSITION("Properties.java", 693)
+ _r3.o = java_util_Properties_GET_lineSeparator();
+
+
+ // Red class access removed: java.io.Writer::write
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 694)
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ if (_r2.i >= _r3.i) goto label71;
+ XMLVM_SOURCE_POSITION("Properties.java", 695)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ _r3.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ if (_r3.i == _r4.i) goto label50;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ _r2.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ _r3.i = 33;
+ if (_r2.i == _r3.i) goto label50;
+ label71:;
+ XMLVM_SOURCE_POSITION("Properties.java", 699)
+
+
+ // Red class access removed: java.io.Writer::write
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label50;
+ label75:;
+ XMLVM_SOURCE_POSITION("Properties.java", 701)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r2.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+
+
+ // Red class access removed: java.io.Writer::write
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label50;
+ label81:;
+ XMLVM_SOURCE_POSITION("Properties.java", 704)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r2.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_CHECK_NPE(7)
+ _r2.o = java_util_Properties_toHexaDecimal___int(_r7.o, _r2.i);
+
+
+ // Red class access removed: java.io.Writer::write
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label50;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Properties_loadFromXML___java_io_InputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Properties_loadFromXML___java_io_InputStream]
+ XMLVM_ENTER_METHOD("java.util.Properties", "loadFromXML", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ _r5.o = me;
+ _r6.o = n1;
+ XMLVM_SOURCE_POSITION("Properties.java", 730)
+ java_lang_Object_acquireLockRecursive__(_r5.o);
+ if (_r6.o != JAVA_NULL) goto label12;
+ XMLVM_TRY_BEGIN(w1975aaac32b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Properties.java", 731)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac32b1b6)
+ XMLVM_CATCH_SPECIFIC(w1975aaac32b1b6,java_lang_Object,9)
+ XMLVM_CATCH_END(w1975aaac32b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac32b1b6)
+ label9:;
+ java_lang_Thread* curThread_w1975aaac32b1b8 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w1975aaac32b1b8->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r5.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label12:;
+ XMLVM_TRY_BEGIN(w1975aaac32b1c12)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Properties.java", 734)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_util_Properties*) _r5.o)->fields.java_util_Properties.builder_;
+ if (_r0.o != JAVA_NULL) { XMLVM_MEMCPY(curThread_w1975aaac32b1c12->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1975aaac32b1c12, sizeof(XMLVM_JMP_BUF)); goto label50; };
+ XMLVM_SOURCE_POSITION("Properties.java", 736)
+
+
+ // Red class access removed: javax.xml.parsers.DocumentBuilderFactory::newInstance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 737)
+ _r1.i = 1;
+
+
+ // Red class access removed: javax.xml.parsers.DocumentBuilderFactory::setValidating
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac32b1c12)
+ XMLVM_CATCH_SPECIFIC(w1975aaac32b1c12,java_lang_Object,9)
+ XMLVM_CATCH_END(w1975aaac32b1c12)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac32b1c12)
+ XMLVM_TRY_BEGIN(w1975aaac32b1c13)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Properties.java", 740)
+
+
+ // Red class access removed: javax.xml.parsers.DocumentBuilderFactory::newDocumentBuilder
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(5)
+ ((java_util_Properties*) _r5.o)->fields.java_util_Properties.builder_ = _r0.o;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac32b1c13)
+ XMLVM_CATCH_SPECIFIC(w1975aaac32b1c13,java_lang_Object,9)
+ XMLVM_CATCH_END(w1975aaac32b1c13)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac32b1c13)
+ XMLVM_TRY_BEGIN(w1975aaac32b1c14)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Properties.java", 745)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_util_Properties*) _r5.o)->fields.java_util_Properties.builder_;
+
+
+ // Red class access removed: java.util.Properties$1::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Properties$1::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: javax.xml.parsers.DocumentBuilder::setErrorHandler
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 759)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_util_Properties*) _r5.o)->fields.java_util_Properties.builder_;
+
+
+ // Red class access removed: java.util.Properties$2::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Properties$2::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: javax.xml.parsers.DocumentBuilder::setEntityResolver
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac32b1c14)
+ XMLVM_CATCH_SPECIFIC(w1975aaac32b1c14,java_lang_Object,9)
+ XMLVM_CATCH_END(w1975aaac32b1c14)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac32b1c14)
+ label50:;
+ XMLVM_TRY_BEGIN(w1975aaac32b1c16)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Properties.java", 775)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_util_Properties*) _r5.o)->fields.java_util_Properties.builder_;
+
+
+ // Red class access removed: javax.xml.parsers.DocumentBuilder::parse
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 776)
+ // "entry"
+ _r1.o = xmlvm_create_java_string_from_pool(117);
+
+
+ // Red class access removed: org.w3c.dom.Document::getElementsByTagName
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac32b1c16)
+ XMLVM_CATCH_SPECIFIC(w1975aaac32b1c16,java_io_IOException,104)
+ XMLVM_CATCH_SPECIFIC(w1975aaac32b1c16,java_lang_Object,9)
+ XMLVM_CATCH_END(w1975aaac32b1c16)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac32b1c16)
+ XMLVM_SOURCE_POSITION("Properties.java", 777)
+ if (_r1.o != JAVA_NULL) goto label73;
+ label64:;
+ XMLVM_SOURCE_POSITION("Properties.java", 798)
+ java_lang_Object_releaseLockRecursive__(_r5.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ label66:;
+ XMLVM_SOURCE_POSITION("Properties.java", 741)
+ java_lang_Thread* curThread_w1975aaac32b1c25 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w1975aaac32b1c25->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_TRY_BEGIN(w1975aaac32b1c26)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Properties.java", 742)
+
+
+ // Red class access removed: java.lang.Error::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.Error::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac32b1c26)
+ XMLVM_CATCH_SPECIFIC(w1975aaac32b1c26,java_lang_Object,9)
+ XMLVM_CATCH_END(w1975aaac32b1c26)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac32b1c26)
+ label73:;
+ XMLVM_TRY_BEGIN(w1975aaac32b1c28)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Properties.java", 780)
+
+
+ // Red class access removed: org.w3c.dom.NodeList::getLength
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 782)
+ _r0.i = 0;
+ _r3 = _r0;
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac32b1c28)
+ XMLVM_CATCH_SPECIFIC(w1975aaac32b1c28,java_io_IOException,104)
+ XMLVM_CATCH_SPECIFIC(w1975aaac32b1c28,java_lang_Object,9)
+ XMLVM_CATCH_END(w1975aaac32b1c28)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac32b1c28)
+ label79:;
+ XMLVM_TRY_BEGIN(w1975aaac32b1c30)
+ // Begin try
+ if (_r3.i >= _r2.i) { XMLVM_MEMCPY(curThread_w1975aaac32b1c30->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1975aaac32b1c30, sizeof(XMLVM_JMP_BUF)); goto label64; };
+ XMLVM_SOURCE_POSITION("Properties.java", 783)
+
+
+ // Red class access removed: org.w3c.dom.NodeList::item
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: org.w3c.dom.Element::check-cast
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 784)
+ // "key"
+ _r4.o = xmlvm_create_java_string_from_pool(118);
+
+
+ // Red class access removed: org.w3c.dom.Element::getAttribute
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 785)
+
+
+ // Red class access removed: org.w3c.dom.Element::getTextContent
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Properties.java", 791)
+ //java_util_Properties_put___java_lang_Object_java_lang_Object[10]
+ XMLVM_CHECK_NPE(5)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_Properties*) _r5.o)->tib->vtable[10])(_r5.o, _r4.o, _r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac32b1c30)
+ XMLVM_CATCH_SPECIFIC(w1975aaac32b1c30,java_io_IOException,104)
+ XMLVM_CATCH_SPECIFIC(w1975aaac32b1c30,java_lang_Object,9)
+ XMLVM_CATCH_END(w1975aaac32b1c30)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac32b1c30)
+ _r0.i = _r3.i + 1;
+ _r3 = _r0;
+ goto label79;
+ label104:;
+ XMLVM_SOURCE_POSITION("Properties.java", 793)
+ java_lang_Thread* curThread_w1975aaac32b1c36 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w1975aaac32b1c36->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_TRY_BEGIN(w1975aaac32b1c37)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Properties.java", 794)
+ XMLVM_THROW_CUSTOM(_r0.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac32b1c37)
+ XMLVM_CATCH_SPECIFIC(w1975aaac32b1c37,java_lang_Object,9)
+ XMLVM_CATCH_END(w1975aaac32b1c37)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac32b1c37)
+ label106:;
+ XMLVM_TRY_BEGIN(w1975aaac32b1c39)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Properties.java", 795)
+ java_lang_Thread* curThread_w1975aaac32b1c39ab1 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w1975aaac32b1c39ab1->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_SOURCE_POSITION("Properties.java", 796)
+
+
+ // Red class access removed: java.util.InvalidPropertiesFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.InvalidPropertiesFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac32b1c39)
+ XMLVM_CATCH_SPECIFIC(w1975aaac32b1c39,java_lang_Object,9)
+ XMLVM_CATCH_END(w1975aaac32b1c39)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac32b1c39)
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Properties_storeToXML___java_io_OutputStream_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Properties_storeToXML___java_io_OutputStream_java_lang_String]
+ XMLVM_ENTER_METHOD("java.util.Properties", "storeToXML", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("Properties.java", 818)
+ // "UTF-8"
+ _r0.o = xmlvm_create_java_string_from_pool(100);
+ XMLVM_CHECK_NPE(1)
+ java_util_Properties_storeToXML___java_io_OutputStream_java_lang_String_java_lang_String(_r1.o, _r2.o, _r3.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 819)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_Properties_storeToXML___java_io_OutputStream_java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Properties_storeToXML___java_io_OutputStream_java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("java.util.Properties", "storeToXML", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ _r5.o = me;
+ _r6.o = n1;
+ _r7.o = n2;
+ _r8.o = n3;
+ // "UTF-8"
+ _r3.o = xmlvm_create_java_string_from_pool(100);
+ // "\042>"
+ _r0.o = xmlvm_create_java_string_from_pool(119);
+ XMLVM_SOURCE_POSITION("Properties.java", 842)
+ java_lang_Object_acquireLockRecursive__(_r5.o);
+ if (_r6.o == JAVA_NULL) goto label9;
+ if (_r8.o != JAVA_NULL) goto label18;
+ label9:;
+ XMLVM_TRY_BEGIN(w1975aaac34b1c12)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Properties.java", 843)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac34b1c12)
+ XMLVM_CATCH_SPECIFIC(w1975aaac34b1c12,java_lang_Object,15)
+ XMLVM_CATCH_END(w1975aaac34b1c12)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac34b1c12)
+ label15:;
+ java_lang_Thread* curThread_w1975aaac34b1c14 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w1975aaac34b1c14->fields.java_lang_Thread.xmlvmException_;
+ java_lang_Object_releaseLockRecursive__(_r5.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label18:;
+ XMLVM_TRY_BEGIN(w1975aaac34b1c18)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Properties.java", 855)
+ _r0.o = java_nio_charset_Charset_forName___java_lang_String(_r8.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_nio_charset_Charset_name__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac34b1c18)
+ XMLVM_CATCH_SPECIFIC(w1975aaac34b1c18,java_lang_Object,15)
+ XMLVM_CATCH_END(w1975aaac34b1c18)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac34b1c18)
+ label26:;
+ XMLVM_TRY_BEGIN(w1975aaac34b1c20)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Properties.java", 866)
+ _r2.o = __NEW_java_io_PrintStream();
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream___INIT____java_io_OutputStream_boolean_java_lang_String(_r2.o, _r6.o, _r1.i, _r0.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 869)
+ // "<?xml version=\0421.0\042 encoding=\042"
+ _r1.o = xmlvm_create_java_string_from_pool(120);
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_print___java_lang_String(_r2.o, _r1.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 870)
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_print___java_lang_String(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 871)
+ // "\042?>"
+ _r0.o = xmlvm_create_java_string_from_pool(121);
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_println___java_lang_String(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 873)
+ // "<!DOCTYPE properties SYSTEM \042"
+ _r0.o = xmlvm_create_java_string_from_pool(122);
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_print___java_lang_String(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 874)
+ // "http://java.sun.com/dtd/properties.dtd"
+ _r0.o = xmlvm_create_java_string_from_pool(102);
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_print___java_lang_String(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 875)
+ // "\042>"
+ _r0.o = xmlvm_create_java_string_from_pool(119);
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_println___java_lang_String(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 877)
+ // "<properties>"
+ _r0.o = xmlvm_create_java_string_from_pool(123);
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_println___java_lang_String(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 879)
+ if (_r7.o == JAVA_NULL) { XMLVM_MEMCPY(curThread_w1975aaac34b1c20->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1975aaac34b1c20, sizeof(XMLVM_JMP_BUF)); goto label84; };
+ XMLVM_SOURCE_POSITION("Properties.java", 880)
+ // "<comment>"
+ _r0.o = xmlvm_create_java_string_from_pool(124);
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_print___java_lang_String(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 881)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = java_util_Properties_substitutePredefinedEntries___java_lang_String(_r5.o, _r7.o);
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_print___java_lang_String(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 882)
+ // "</comment>"
+ _r0.o = xmlvm_create_java_string_from_pool(125);
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_println___java_lang_String(_r2.o, _r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac34b1c20)
+ XMLVM_CATCH_SPECIFIC(w1975aaac34b1c20,java_lang_Object,15)
+ XMLVM_CATCH_END(w1975aaac34b1c20)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac34b1c20)
+ label84:;
+ XMLVM_TRY_BEGIN(w1975aaac34b1c22)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Properties.java", 885)
+ //java_util_Properties_entrySet__[16]
+ XMLVM_CHECK_NPE(5)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_Properties*) _r5.o)->tib->vtable[16])(_r5.o);
+ XMLVM_CHECK_NPE(0)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Set_iterator__])(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac34b1c22)
+ XMLVM_CATCH_SPECIFIC(w1975aaac34b1c22,java_lang_Object,15)
+ XMLVM_CATCH_END(w1975aaac34b1c22)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac34b1c22)
+ label92:;
+ XMLVM_TRY_BEGIN(w1975aaac34b1c24)
+ // Begin try
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_hasNext__])(_r3.o);
+ if (_r0.i != 0) { XMLVM_MEMCPY(curThread_w1975aaac34b1c24->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1975aaac34b1c24, sizeof(XMLVM_JMP_BUF)); goto label171; };
+ XMLVM_SOURCE_POSITION("Properties.java", 894)
+ // "</properties>"
+ _r0.o = xmlvm_create_java_string_from_pool(126);
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_println___java_lang_String(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 895)
+ //java_io_PrintStream_flush__[8]
+ XMLVM_CHECK_NPE(2)
+ (*(void (*)(JAVA_OBJECT)) ((java_io_PrintStream*) _r2.o)->tib->vtable[8])(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac34b1c24)
+ XMLVM_CATCH_SPECIFIC(w1975aaac34b1c24,java_lang_Object,15)
+ XMLVM_CATCH_END(w1975aaac34b1c24)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac34b1c24)
+ XMLVM_SOURCE_POSITION("Properties.java", 896)
+ java_lang_Object_releaseLockRecursive__(_r5.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ label108:;
+ XMLVM_SOURCE_POSITION("Properties.java", 857)
+ java_lang_Thread* curThread_w1975aaac34b1c30 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w1975aaac34b1c30->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_TRY_BEGIN(w1975aaac34b1c31)
+ // Begin try
+ _r0.o = java_lang_System_GET_out();
+ _r1.o = __NEW_java_lang_StringBuilder();
+ // "Warning: encoding name "
+ _r2.o = xmlvm_create_java_string_from_pool(127);
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder___INIT____java_lang_String(_r1.o, _r2.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r8.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 858)
+ // " is illegal, using UTF-8 as default encoding"
+ _r2.o = xmlvm_create_java_string_from_pool(128);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r2.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
+ XMLVM_CHECK_NPE(0)
+ java_io_PrintStream_println___java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 859)
+ // "UTF-8"
+ _r0.o = xmlvm_create_java_string_from_pool(100);
+ _r0 = _r3;
+ { XMLVM_MEMCPY(curThread_w1975aaac34b1c31->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1975aaac34b1c31, sizeof(XMLVM_JMP_BUF)); goto label26; };
+ XMLVM_SOURCE_POSITION("Properties.java", 861)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac34b1c31)
+ XMLVM_CATCH_SPECIFIC(w1975aaac34b1c31,java_lang_Object,15)
+ XMLVM_CATCH_END(w1975aaac34b1c31)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac34b1c31)
+ label139:;
+ XMLVM_TRY_BEGIN(w1975aaac34b1c33)
+ // Begin try
+ java_lang_Thread* curThread_w1975aaac34b1c33aa = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w1975aaac34b1c33aa->fields.java_lang_Thread.xmlvmException_;
+ _r0.o = java_lang_System_GET_out();
+ _r1.o = __NEW_java_lang_StringBuilder();
+ // "Warning: encoding "
+ _r2.o = xmlvm_create_java_string_from_pool(129);
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder___INIT____java_lang_String(_r1.o, _r2.o);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r8.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 862)
+ // " is not supported, using UTF-8 as default encoding"
+ _r2.o = xmlvm_create_java_string_from_pool(130);
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r2.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(1)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r1.o)->tib->vtable[5])(_r1.o);
+ XMLVM_CHECK_NPE(0)
+ java_io_PrintStream_println___java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 863)
+ // "UTF-8"
+ _r0.o = xmlvm_create_java_string_from_pool(100);
+ _r0 = _r3;
+ { XMLVM_MEMCPY(curThread_w1975aaac34b1c33->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1975aaac34b1c33, sizeof(XMLVM_JMP_BUF)); goto label26; };
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac34b1c33)
+ XMLVM_CATCH_SPECIFIC(w1975aaac34b1c33,java_lang_Object,15)
+ XMLVM_CATCH_END(w1975aaac34b1c33)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac34b1c33)
+ label171:;
+ XMLVM_TRY_BEGIN(w1975aaac34b1c35)
+ // Begin try
+ XMLVM_CHECK_NPE(3)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Iterator_next__])(_r3.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("Properties.java", 886)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__])(_r0.o);
+ _r1.o = _r1.o;
+ XMLVM_SOURCE_POSITION("Properties.java", 887)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__])(_r0.o);
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("Properties.java", 888)
+ // "<entry key=\042"
+ _r4.o = xmlvm_create_java_string_from_pool(131);
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_print___java_lang_String(_r2.o, _r4.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 889)
+ XMLVM_CHECK_NPE(5)
+ _r1.o = java_util_Properties_substitutePredefinedEntries___java_lang_String(_r5.o, _r1.o);
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_print___java_lang_String(_r2.o, _r1.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 890)
+ // "\042>"
+ _r1.o = xmlvm_create_java_string_from_pool(119);
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_print___java_lang_String(_r2.o, _r1.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 891)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = java_util_Properties_substitutePredefinedEntries___java_lang_String(_r5.o, _r0.o);
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_print___java_lang_String(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 892)
+ // "</entry>"
+ _r0.o = xmlvm_create_java_string_from_pool(132);
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_println___java_lang_String(_r2.o, _r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1975aaac34b1c35)
+ XMLVM_CATCH_SPECIFIC(w1975aaac34b1c35,java_lang_Object,15)
+ XMLVM_CATCH_END(w1975aaac34b1c35)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1975aaac34b1c35)
+ goto label92;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_Properties_substitutePredefinedEntries___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_Properties_substitutePredefinedEntries___java_lang_String]
+ XMLVM_ENTER_METHOD("java.util.Properties", "substitutePredefinedEntries", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("Properties.java", 904)
+ // "&"
+ _r0.o = xmlvm_create_java_string_from_pool(133);
+ // "&amp;"
+ _r1.o = xmlvm_create_java_string_from_pool(134);
+ XMLVM_CHECK_NPE(4)
+ _r0.o = java_lang_String_replaceAll___java_lang_String_java_lang_String(_r4.o, _r0.o, _r1.o);
+ // "<"
+ _r1.o = xmlvm_create_java_string_from_pool(135);
+ // "&lt;"
+ _r2.o = xmlvm_create_java_string_from_pool(136);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_String_replaceAll___java_lang_String_java_lang_String(_r0.o, _r1.o, _r2.o);
+ XMLVM_SOURCE_POSITION("Properties.java", 905)
+ // ">"
+ _r1.o = xmlvm_create_java_string_from_pool(137);
+ // "&gt;"
+ _r2.o = xmlvm_create_java_string_from_pool(138);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_String_replaceAll___java_lang_String_java_lang_String(_r0.o, _r1.o, _r2.o);
+ // "'"
+ _r1.o = xmlvm_create_java_string_from_pool(139);
+ // "&apos;"
+ _r2.o = xmlvm_create_java_string_from_pool(140);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_String_replaceAll___java_lang_String_java_lang_String(_r0.o, _r1.o, _r2.o);
+ // "\042"
+ _r1.o = xmlvm_create_java_string_from_pool(141);
+ XMLVM_SOURCE_POSITION("Properties.java", 906)
+ // "&quot;"
+ _r2.o = xmlvm_create_java_string_from_pool(142);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_String_replaceAll___java_lang_String_java_lang_String(_r0.o, _r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_Properties.h b/tests/nbody-java/java_util_Properties.h
new file mode 100644
index 00000000..44f3e883
--- /dev/null
+++ b/tests/nbody-java/java_util_Properties.h
@@ -0,0 +1,176 @@
+#ifndef __JAVA_UTIL_PROPERTIES__
+#define __JAVA_UTIL_PROPERTIES__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_Properties 14
+// Implemented interfaces:
+// Super Class:
+#include "java_util_Hashtable.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_io_IOException
+#define XMLVM_FORWARD_DECL_java_io_IOException
+XMLVM_FORWARD_DECL(java_io_IOException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_io_OutputStream
+#define XMLVM_FORWARD_DECL_java_io_OutputStream
+XMLVM_FORWARD_DECL(java_io_OutputStream)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_io_PrintStream
+#define XMLVM_FORWARD_DECL_java_io_PrintStream
+XMLVM_FORWARD_DECL(java_io_PrintStream)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Character
+#define XMLVM_FORWARD_DECL_java_lang_Character
+XMLVM_FORWARD_DECL(java_lang_Character)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Throwable
+#define XMLVM_FORWARD_DECL_java_lang_Throwable
+XMLVM_FORWARD_DECL(java_lang_Throwable)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_Charset
+#define XMLVM_FORWARD_DECL_java_nio_charset_Charset
+XMLVM_FORWARD_DECL(java_nio_charset_Charset)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_security_AccessController
+#define XMLVM_FORWARD_DECL_java_security_AccessController
+XMLVM_FORWARD_DECL(java_security_AccessController)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Collections
+#define XMLVM_FORWARD_DECL_java_util_Collections
+XMLVM_FORWARD_DECL(java_util_Collections)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Enumeration
+#define XMLVM_FORWARD_DECL_java_util_Enumeration
+XMLVM_FORWARD_DECL(java_util_Enumeration)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Iterator
+#define XMLVM_FORWARD_DECL_java_util_Iterator
+XMLVM_FORWARD_DECL(java_util_Iterator)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Map_Entry
+#define XMLVM_FORWARD_DECL_java_util_Map_Entry
+XMLVM_FORWARD_DECL(java_util_Map_Entry)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Set
+#define XMLVM_FORWARD_DECL_java_util_Set
+XMLVM_FORWARD_DECL(java_util_Set)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_internal_nls_Messages)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_PriviAction
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_PriviAction
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_util_PriviAction)
+#endif
+// Class declarations for java.util.Properties
+XMLVM_DEFINE_CLASS(java_util_Properties, 20, XMLVM_ITABLE_SIZE_java_util_Properties)
+
+extern JAVA_OBJECT __CLASS_java_util_Properties;
+extern JAVA_OBJECT __CLASS_java_util_Properties_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Properties_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Properties_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_Properties
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_Properties \
+ __INSTANCE_FIELDS_java_util_Hashtable; \
+ struct { \
+ JAVA_OBJECT builder_; \
+ JAVA_OBJECT defaults_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_Properties \
+ } java_util_Properties
+
+struct java_util_Properties {
+ __TIB_DEFINITION_java_util_Properties* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_Properties;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_Properties
+#define XMLVM_FORWARD_DECL_java_util_Properties
+typedef struct java_util_Properties java_util_Properties;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_Properties 20
+
+void __INIT_java_util_Properties();
+void __INIT_IMPL_java_util_Properties();
+void __DELETE_java_util_Properties(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_Properties(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_Properties();
+JAVA_OBJECT __NEW_INSTANCE_java_util_Properties();
+JAVA_LONG java_util_Properties_GET_serialVersionUID();
+void java_util_Properties_PUT_serialVersionUID(JAVA_LONG v);
+JAVA_OBJECT java_util_Properties_GET_PROP_DTD_NAME();
+void java_util_Properties_PUT_PROP_DTD_NAME(JAVA_OBJECT v);
+JAVA_OBJECT java_util_Properties_GET_PROP_DTD();
+void java_util_Properties_PUT_PROP_DTD(JAVA_OBJECT v);
+JAVA_INT java_util_Properties_GET_NONE();
+void java_util_Properties_PUT_NONE(JAVA_INT v);
+JAVA_INT java_util_Properties_GET_SLASH();
+void java_util_Properties_PUT_SLASH(JAVA_INT v);
+JAVA_INT java_util_Properties_GET_UNICODE();
+void java_util_Properties_PUT_UNICODE(JAVA_INT v);
+JAVA_INT java_util_Properties_GET_CONTINUE();
+void java_util_Properties_PUT_CONTINUE(JAVA_INT v);
+JAVA_INT java_util_Properties_GET_KEY_DONE();
+void java_util_Properties_PUT_KEY_DONE(JAVA_INT v);
+JAVA_INT java_util_Properties_GET_IGNORE();
+void java_util_Properties_PUT_IGNORE(JAVA_INT v);
+JAVA_OBJECT java_util_Properties_GET_lineSeparator();
+void java_util_Properties_PUT_lineSeparator(JAVA_OBJECT v);
+void java_util_Properties___INIT___(JAVA_OBJECT me);
+void java_util_Properties___INIT____java_util_Properties(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_Properties_dumpString___java_lang_StringBuilder_java_lang_String_boolean_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_BOOLEAN n3, JAVA_BOOLEAN n4);
+JAVA_OBJECT java_util_Properties_toHexaDecimal___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_OBJECT java_util_Properties_getProperty___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Properties_getProperty___java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_util_Properties_list___java_io_PrintStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_Properties_list___java_io_PrintWriter(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_Properties_load___java_io_InputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN java_util_Properties_isEbcdic___java_io_BufferedInputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_Properties_load___java_io_Reader(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_Properties_loadImpl___java_io_Reader(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_util_Properties_propertyNames__(JAVA_OBJECT me);
+JAVA_OBJECT java_util_Properties_stringPropertyNames__(JAVA_OBJECT me);
+void java_util_Properties_selectProperties___java_util_Hashtable_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2);
+void java_util_Properties_save___java_io_OutputStream_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT java_util_Properties_setProperty___java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_util_Properties_store___java_io_OutputStream_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_util_Properties_store___java_io_Writer_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_util_Properties_writeComments___java_io_Writer_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_util_Properties_loadFromXML___java_io_InputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_Properties_storeToXML___java_io_OutputStream_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_util_Properties_storeToXML___java_io_OutputStream_java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3);
+JAVA_OBJECT java_util_Properties_substitutePredefinedEntries___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_util_PropertyPermission.c b/tests/nbody-java/java_util_PropertyPermission.c
new file mode 100644
index 00000000..fe1e4c5e
--- /dev/null
+++ b/tests/nbody-java/java_util_PropertyPermission.c
@@ -0,0 +1,565 @@
+#include "xmlvm.h"
+#include "java_io_ObjectStreamField.h"
+#include "java_lang_Class.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+#include "java_security_Permission.h"
+#include "java_util_StringTokenizer.h"
+#include "org_apache_harmony_luni_util_Util.h"
+
+#include "java_util_PropertyPermission.h"
+
+#define XMLVM_CURRENT_CLASS_NAME PropertyPermission
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_PropertyPermission
+
+__TIB_DEFINITION_java_util_PropertyPermission __TIB_java_util_PropertyPermission = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_PropertyPermission, // classInitializer
+ "java.util.PropertyPermission", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_security_BasicPermission, // extends
+ sizeof(java_util_PropertyPermission), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_PropertyPermission;
+JAVA_OBJECT __CLASS_java_util_PropertyPermission_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_PropertyPermission_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_PropertyPermission_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_java_util_PropertyPermission_serialVersionUID;
+static JAVA_OBJECT _STATIC_java_util_PropertyPermission_serialPersistentFields;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_PropertyPermission()
+{
+ staticInitializerLock(&__TIB_java_util_PropertyPermission);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_PropertyPermission.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_PropertyPermission.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_PropertyPermission);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_PropertyPermission.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_PropertyPermission.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_PropertyPermission.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.PropertyPermission")
+ __INIT_IMPL_java_util_PropertyPermission();
+ }
+}
+
+void __INIT_IMPL_java_util_PropertyPermission()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_security_BasicPermission)
+ __TIB_java_util_PropertyPermission.newInstanceFunc = __NEW_INSTANCE_java_util_PropertyPermission;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_PropertyPermission.vtable, __TIB_java_security_BasicPermission.vtable, sizeof(__TIB_java_security_BasicPermission.vtable));
+ // Initialize vtable for this class
+ __TIB_java_util_PropertyPermission.vtable[1] = (VTABLE_PTR) &java_util_PropertyPermission_equals___java_lang_Object;
+ __TIB_java_util_PropertyPermission.vtable[7] = (VTABLE_PTR) &java_util_PropertyPermission_getActions__;
+ __TIB_java_util_PropertyPermission.vtable[4] = (VTABLE_PTR) &java_util_PropertyPermission_hashCode__;
+ __TIB_java_util_PropertyPermission.vtable[8] = (VTABLE_PTR) &java_util_PropertyPermission_implies___java_security_Permission;
+ __TIB_java_util_PropertyPermission.vtable[9] = (VTABLE_PTR) &java_util_PropertyPermission_newPermissionCollection__;
+ // Initialize interface information
+ __TIB_java_util_PropertyPermission.numImplementedInterfaces = 2;
+ __TIB_java_util_PropertyPermission.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_java_util_PropertyPermission.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_security_Guard)
+
+ __TIB_java_util_PropertyPermission.implementedInterfaces[0][1] = &__TIB_java_security_Guard;
+ // Initialize itable for this class
+ __TIB_java_util_PropertyPermission.itableBegin = &__TIB_java_util_PropertyPermission.itable[0];
+ __TIB_java_util_PropertyPermission.itable[XMLVM_ITABLE_IDX_java_security_Guard_checkGuard___java_lang_Object] = __TIB_java_util_PropertyPermission.vtable[6];
+
+ _STATIC_java_util_PropertyPermission_serialVersionUID = 885438825399942851;
+ _STATIC_java_util_PropertyPermission_serialPersistentFields = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+
+ __TIB_java_util_PropertyPermission.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_PropertyPermission.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_PropertyPermission.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_PropertyPermission.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_PropertyPermission.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_PropertyPermission.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_PropertyPermission.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_PropertyPermission.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_PropertyPermission = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_PropertyPermission);
+ __TIB_java_util_PropertyPermission.clazz = __CLASS_java_util_PropertyPermission;
+ __TIB_java_util_PropertyPermission.baseType = JAVA_NULL;
+ __CLASS_java_util_PropertyPermission_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_PropertyPermission);
+ __CLASS_java_util_PropertyPermission_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_PropertyPermission_1ARRAY);
+ __CLASS_java_util_PropertyPermission_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_PropertyPermission_2ARRAY);
+ java_util_PropertyPermission___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_PropertyPermission]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_PropertyPermission.classInitialized = 1;
+}
+
+void __DELETE_java_util_PropertyPermission(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_PropertyPermission]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_PropertyPermission(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_security_BasicPermission(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_util_PropertyPermission*) me)->fields.java_util_PropertyPermission.read_ = 0;
+ ((java_util_PropertyPermission*) me)->fields.java_util_PropertyPermission.write_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_PropertyPermission]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_PropertyPermission()
+{ XMLVM_CLASS_INIT(java_util_PropertyPermission)
+java_util_PropertyPermission* me = (java_util_PropertyPermission*) XMLVM_MALLOC(sizeof(java_util_PropertyPermission));
+ me->tib = &__TIB_java_util_PropertyPermission;
+ __INIT_INSTANCE_MEMBERS_java_util_PropertyPermission(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_PropertyPermission]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_PropertyPermission()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG java_util_PropertyPermission_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(java_util_PropertyPermission)
+ return _STATIC_java_util_PropertyPermission_serialVersionUID;
+}
+
+void java_util_PropertyPermission_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(java_util_PropertyPermission)
+_STATIC_java_util_PropertyPermission_serialVersionUID = v;
+}
+
+JAVA_OBJECT java_util_PropertyPermission_GET_serialPersistentFields()
+{
+ XMLVM_CLASS_INIT(java_util_PropertyPermission)
+ return _STATIC_java_util_PropertyPermission_serialPersistentFields;
+}
+
+void java_util_PropertyPermission_PUT_serialPersistentFields(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(java_util_PropertyPermission)
+_STATIC_java_util_PropertyPermission_serialPersistentFields = v;
+}
+
+void java_util_PropertyPermission___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_PropertyPermission___CLINIT___]
+ XMLVM_ENTER_METHOD("java.util.PropertyPermission", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 157)
+ _r0.i = 1;
+ XMLVM_CLASS_INIT(java_io_ObjectStreamField)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_io_ObjectStreamField, _r0.i);
+ _r1.i = 0;
+ _r2.o = __NEW_java_io_ObjectStreamField();
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 158)
+ // "actions"
+ _r3.o = xmlvm_create_java_string_from_pool(668);
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r4.o = __CLASS_java_lang_String;
+ XMLVM_CHECK_NPE(2)
+ java_io_ObjectStreamField___INIT____java_lang_String_java_lang_Class(_r2.o, _r3.o, _r4.o);
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ java_util_PropertyPermission_PUT_serialPersistentFields( _r0.o);
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 43)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_PropertyPermission___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_PropertyPermission___INIT____java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("java.util.PropertyPermission", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 59)
+ XMLVM_CHECK_NPE(0)
+ java_security_BasicPermission___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 60)
+ XMLVM_CHECK_NPE(0)
+ java_util_PropertyPermission_decodeActions___java_lang_String(_r0.o, _r2.o);
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 61)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_PropertyPermission_decodeActions___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_PropertyPermission_decodeActions___java_lang_String]
+ XMLVM_ENTER_METHOD("java.util.PropertyPermission", "decodeActions", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.o = n1;
+ _r3.i = 1;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 64)
+ _r0.o = __NEW_java_util_StringTokenizer();
+ _r1.o = org_apache_harmony_luni_util_Util_toASCIILowerCase___java_lang_String(_r5.o);
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 65)
+ // " \011\012\015,"
+ _r2.o = xmlvm_create_java_string_from_pool(669);
+ XMLVM_CHECK_NPE(0)
+ java_util_StringTokenizer___INIT____java_lang_String_java_lang_String(_r0.o, _r1.o, _r2.o);
+ label12:;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 66)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = java_util_StringTokenizer_hasMoreTokens__(_r0.o);
+ if (_r1.i != 0) goto label32;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 76)
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_util_PropertyPermission*) _r4.o)->fields.java_util_PropertyPermission.read_;
+ if (_r0.i != 0) goto label64;
+ XMLVM_CHECK_NPE(4)
+ _r0.i = ((java_util_PropertyPermission*) _r4.o)->fields.java_util_PropertyPermission.write_;
+ if (_r0.i != 0) goto label64;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 77)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label32:;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 67)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = java_util_StringTokenizer_nextToken__(_r0.o);
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 68)
+ // "read"
+ _r2.o = xmlvm_create_java_string_from_pool(670);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(1)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[1])(_r1.o, _r2.o);
+ if (_r2.i == 0) goto label47;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 69)
+ XMLVM_CHECK_NPE(4)
+ ((java_util_PropertyPermission*) _r4.o)->fields.java_util_PropertyPermission.read_ = _r3.i;
+ goto label12;
+ label47:;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 70)
+ // "write"
+ _r2.o = xmlvm_create_java_string_from_pool(671);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(1)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[1])(_r1.o, _r2.o);
+ if (_r1.i == 0) goto label58;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 71)
+ XMLVM_CHECK_NPE(4)
+ ((java_util_PropertyPermission*) _r4.o)->fields.java_util_PropertyPermission.write_ = _r3.i;
+ goto label12;
+ label58:;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 73)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label64:;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 79)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_PropertyPermission_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_PropertyPermission_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.PropertyPermission", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 97)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = java_security_BasicPermission_equals___java_lang_Object(_r3.o, _r4.o);
+ if (_r0.i == 0) goto label25;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 98)
+ _r4.o = _r4.o;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 99)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_util_PropertyPermission*) _r3.o)->fields.java_util_PropertyPermission.read_;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_util_PropertyPermission*) _r4.o)->fields.java_util_PropertyPermission.read_;
+ if (_r0.i != _r1.i) goto label23;
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_util_PropertyPermission*) _r3.o)->fields.java_util_PropertyPermission.write_;
+ XMLVM_CHECK_NPE(4)
+ _r1.i = ((java_util_PropertyPermission*) _r4.o)->fields.java_util_PropertyPermission.write_;
+ if (_r0.i != _r1.i) goto label23;
+ _r0.i = 1;
+ label22:;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 101)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label23:;
+ _r0 = _r2;
+ goto label22;
+ label25:;
+ _r0 = _r2;
+ goto label22;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_PropertyPermission_getActions__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_PropertyPermission_getActions__]
+ XMLVM_ENTER_METHOD("java.util.PropertyPermission", "getActions", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 112)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_util_PropertyPermission*) _r1.o)->fields.java_util_PropertyPermission.read_;
+ if (_r0.i == 0) goto label14;
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_util_PropertyPermission*) _r1.o)->fields.java_util_PropertyPermission.write_;
+ if (_r0.i == 0) goto label11;
+ // "read,write"
+ _r0.o = xmlvm_create_java_string_from_pool(672);
+ label10:;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label11:;
+ // "read"
+ _r0.o = xmlvm_create_java_string_from_pool(670);
+ goto label10;
+ label14:;
+ // "write"
+ _r0.o = xmlvm_create_java_string_from_pool(671);
+ goto label10;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_PropertyPermission_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_PropertyPermission_hashCode__]
+ XMLVM_ENTER_METHOD("java.util.PropertyPermission", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 125)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_security_BasicPermission_hashCode__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_PropertyPermission_implies___java_security_Permission(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_PropertyPermission_implies___java_security_Permission]
+ XMLVM_ENTER_METHOD("java.util.PropertyPermission", "implies", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 138)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = java_security_BasicPermission_implies___java_security_Permission(_r2.o, _r3.o);
+ if (_r0.i == 0) goto label29;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 139)
+ _r3.o = _r3.o;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 140)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_util_PropertyPermission*) _r2.o)->fields.java_util_PropertyPermission.read_;
+ if (_r0.i != 0) goto label17;
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_util_PropertyPermission*) _r3.o)->fields.java_util_PropertyPermission.read_;
+ if (_r0.i != 0) goto label27;
+ label17:;
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_util_PropertyPermission*) _r2.o)->fields.java_util_PropertyPermission.write_;
+ if (_r0.i != 0) goto label25;
+ XMLVM_CHECK_NPE(3)
+ _r0.i = ((java_util_PropertyPermission*) _r3.o)->fields.java_util_PropertyPermission.write_;
+ if (_r0.i != 0) goto label27;
+ label25:;
+ _r0.i = 1;
+ label26:;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 142)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label27:;
+ _r0 = _r1;
+ goto label26;
+ label29:;
+ _r0 = _r1;
+ goto label26;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_PropertyPermission_newPermissionCollection__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_PropertyPermission_newPermissionCollection__]
+ XMLVM_ENTER_METHOD("java.util.PropertyPermission", "newPermissionCollection", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 154)
+
+
+ // Red class access removed: java.util.PropertyPermissionCollection::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.PropertyPermissionCollection::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_PropertyPermission_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_PropertyPermission_writeObject___java_io_ObjectOutputStream]
+ XMLVM_ENTER_METHOD("java.util.PropertyPermission", "writeObject", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 161)
+
+
+ // Red class access removed: java.io.ObjectOutputStream::putFields
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 162)
+ // "actions"
+ _r1.o = xmlvm_create_java_string_from_pool(668);
+ //java_util_PropertyPermission_getActions__[7]
+ XMLVM_CHECK_NPE(3)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_PropertyPermission*) _r3.o)->tib->vtable[7])(_r3.o);
+
+
+ // Red class access removed: java.io.ObjectOutputStream$PutField::put
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 163)
+
+
+ // Red class access removed: java.io.ObjectOutputStream::writeFields
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 164)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_PropertyPermission_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_PropertyPermission_readObject___java_io_ObjectInputStream]
+ XMLVM_ENTER_METHOD("java.util.PropertyPermission", "readObject", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 168)
+
+
+ // Red class access removed: java.io.ObjectInputStream::readFields
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 169)
+ // "actions"
+ _r1.o = xmlvm_create_java_string_from_pool(668);
+ // ""
+ _r2.o = xmlvm_create_java_string_from_pool(21);
+
+
+ // Red class access removed: java.io.ObjectInputStream$GetField::get
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r0.o = _r0.o;
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 170)
+ XMLVM_CHECK_NPE(3)
+ java_util_PropertyPermission_decodeActions___java_lang_String(_r3.o, _r0.o);
+ XMLVM_SOURCE_POSITION("PropertyPermission.java", 171)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_PropertyPermission.h b/tests/nbody-java/java_util_PropertyPermission.h
new file mode 100644
index 00000000..1119bd1d
--- /dev/null
+++ b/tests/nbody-java/java_util_PropertyPermission.h
@@ -0,0 +1,104 @@
+#ifndef __JAVA_UTIL_PROPERTYPERMISSION__
+#define __JAVA_UTIL_PROPERTYPERMISSION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_PropertyPermission 1
+// Implemented interfaces:
+// Super Class:
+#include "java_security_BasicPermission.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_io_ObjectStreamField
+#define XMLVM_FORWARD_DECL_java_io_ObjectStreamField
+XMLVM_FORWARD_DECL(java_io_ObjectStreamField)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_security_Permission
+#define XMLVM_FORWARD_DECL_java_security_Permission
+XMLVM_FORWARD_DECL(java_security_Permission)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_StringTokenizer
+#define XMLVM_FORWARD_DECL_java_util_StringTokenizer
+XMLVM_FORWARD_DECL(java_util_StringTokenizer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_Util
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_Util
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_util_Util)
+#endif
+// Class declarations for java.util.PropertyPermission
+XMLVM_DEFINE_CLASS(java_util_PropertyPermission, 10, XMLVM_ITABLE_SIZE_java_util_PropertyPermission)
+
+extern JAVA_OBJECT __CLASS_java_util_PropertyPermission;
+extern JAVA_OBJECT __CLASS_java_util_PropertyPermission_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_PropertyPermission_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_PropertyPermission_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_PropertyPermission
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_PropertyPermission \
+ __INSTANCE_FIELDS_java_security_BasicPermission; \
+ struct { \
+ JAVA_BOOLEAN read_; \
+ JAVA_BOOLEAN write_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_PropertyPermission \
+ } java_util_PropertyPermission
+
+struct java_util_PropertyPermission {
+ __TIB_DEFINITION_java_util_PropertyPermission* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_PropertyPermission;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_PropertyPermission
+#define XMLVM_FORWARD_DECL_java_util_PropertyPermission
+typedef struct java_util_PropertyPermission java_util_PropertyPermission;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_PropertyPermission 10
+#define XMLVM_VTABLE_IDX_java_util_PropertyPermission_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_util_PropertyPermission_getActions__ 7
+#define XMLVM_VTABLE_IDX_java_util_PropertyPermission_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_util_PropertyPermission_implies___java_security_Permission 8
+#define XMLVM_VTABLE_IDX_java_util_PropertyPermission_newPermissionCollection__ 9
+
+void __INIT_java_util_PropertyPermission();
+void __INIT_IMPL_java_util_PropertyPermission();
+void __DELETE_java_util_PropertyPermission(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_PropertyPermission(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_PropertyPermission();
+JAVA_OBJECT __NEW_INSTANCE_java_util_PropertyPermission();
+JAVA_LONG java_util_PropertyPermission_GET_serialVersionUID();
+void java_util_PropertyPermission_PUT_serialVersionUID(JAVA_LONG v);
+JAVA_OBJECT java_util_PropertyPermission_GET_serialPersistentFields();
+void java_util_PropertyPermission_PUT_serialPersistentFields(JAVA_OBJECT v);
+void java_util_PropertyPermission___CLINIT_();
+void java_util_PropertyPermission___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_util_PropertyPermission_decodeActions___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 1
+JAVA_BOOLEAN java_util_PropertyPermission_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 7
+JAVA_OBJECT java_util_PropertyPermission_getActions__(JAVA_OBJECT me);
+// Vtable index: 4
+JAVA_INT java_util_PropertyPermission_hashCode__(JAVA_OBJECT me);
+// Vtable index: 8
+JAVA_BOOLEAN java_util_PropertyPermission_implies___java_security_Permission(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 9
+JAVA_OBJECT java_util_PropertyPermission_newPermissionCollection__(JAVA_OBJECT me);
+void java_util_PropertyPermission_writeObject___java_io_ObjectOutputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_PropertyPermission_readObject___java_io_ObjectInputStream(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_util_Queue.c b/tests/nbody-java/java_util_Queue.c
new file mode 100644
index 00000000..0ea378ca
--- /dev/null
+++ b/tests/nbody-java/java_util_Queue.c
@@ -0,0 +1,77 @@
+#include "xmlvm.h"
+
+#include "java_util_Queue.h"
+
+__TIB_DEFINITION_java_util_Queue __TIB_java_util_Queue = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_Queue, // classInitializer
+ "java.util.Queue", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<E:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Collection<TE;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_util_Queue;
+JAVA_OBJECT __CLASS_java_util_Queue_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_Queue_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_Queue_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_util_Queue()
+{
+ staticInitializerLock(&__TIB_java_util_Queue);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_Queue.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_Queue.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_Queue);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_Queue.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_Queue.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_Queue.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.Queue")
+ __INIT_IMPL_java_util_Queue();
+ }
+}
+
+void __INIT_IMPL_java_util_Queue()
+{
+ __TIB_java_util_Queue.numInterfaces = 1;
+ //__TIB_java_util_Queue.baseInterfaces[0] = &__INTERFACE_java_util_Collection;
+ __TIB_java_util_Queue.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_Queue.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_util_Queue.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_Queue.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_Queue.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_util_Queue = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_Queue);
+ __TIB_java_util_Queue.clazz = __CLASS_java_util_Queue;
+ __TIB_java_util_Queue.baseType = JAVA_NULL;
+ __CLASS_java_util_Queue_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Queue);
+ __CLASS_java_util_Queue_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Queue_1ARRAY);
+ __CLASS_java_util_Queue_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Queue_2ARRAY);
+
+ __TIB_java_util_Queue.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_util_Queue.h b/tests/nbody-java/java_util_Queue.h
new file mode 100644
index 00000000..ca878fd0
--- /dev/null
+++ b/tests/nbody-java/java_util_Queue.h
@@ -0,0 +1,48 @@
+#ifndef __JAVA_UTIL_QUEUE__
+#define __JAVA_UTIL_QUEUE__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_util_Queue_offer___java_lang_Object 88
+#define XMLVM_ITABLE_IDX_java_util_Queue_poll__ 90
+#define XMLVM_ITABLE_IDX_java_util_Queue_remove__ 92
+#define XMLVM_ITABLE_IDX_java_util_Queue_peek__ 89
+#define XMLVM_ITABLE_IDX_java_util_Queue_element__ 83
+#define XMLVM_ITABLE_IDX_java_util_Queue_addAll___java_util_Collection 78
+#define XMLVM_ITABLE_IDX_java_util_Queue_add___java_lang_Object 79
+#define XMLVM_ITABLE_IDX_java_util_Queue_clear__ 80
+#define XMLVM_ITABLE_IDX_java_util_Queue_containsAll___java_util_Collection 81
+#define XMLVM_ITABLE_IDX_java_util_Queue_contains___java_lang_Object 82
+#define XMLVM_ITABLE_IDX_java_util_Queue_equals___java_lang_Object 84
+#define XMLVM_ITABLE_IDX_java_util_Queue_hashCode__ 85
+#define XMLVM_ITABLE_IDX_java_util_Queue_isEmpty__ 86
+#define XMLVM_ITABLE_IDX_java_util_Queue_iterator__ 87
+#define XMLVM_ITABLE_IDX_java_util_Queue_removeAll___java_util_Collection 91
+#define XMLVM_ITABLE_IDX_java_util_Queue_remove___java_lang_Object 93
+#define XMLVM_ITABLE_IDX_java_util_Queue_retainAll___java_util_Collection 94
+#define XMLVM_ITABLE_IDX_java_util_Queue_size__ 95
+#define XMLVM_ITABLE_IDX_java_util_Queue_toArray__ 96
+#define XMLVM_ITABLE_IDX_java_util_Queue_toArray___java_lang_Object_1ARRAY 97
+// Implemented interfaces:
+#include "java_util_Collection.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+
+XMLVM_DEFINE_CLASS(java_util_Queue, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_util_Queue;
+extern JAVA_OBJECT __CLASS_java_util_Queue_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Queue_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Queue_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_util_Queue
+#define XMLVM_FORWARD_DECL_java_util_Queue
+typedef struct java_util_Queue java_util_Queue;
+#endif
+
+void __INIT_java_util_Queue();
+void __INIT_IMPL_java_util_Queue();
+
+#endif
diff --git a/tests/nbody-java/java_util_RandomAccess.c b/tests/nbody-java/java_util_RandomAccess.c
new file mode 100644
index 00000000..54602981
--- /dev/null
+++ b/tests/nbody-java/java_util_RandomAccess.c
@@ -0,0 +1,76 @@
+#include "xmlvm.h"
+
+#include "java_util_RandomAccess.h"
+
+__TIB_DEFINITION_java_util_RandomAccess __TIB_java_util_RandomAccess = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_RandomAccess, // classInitializer
+ "java.util.RandomAccess", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_util_RandomAccess;
+JAVA_OBJECT __CLASS_java_util_RandomAccess_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_RandomAccess_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_RandomAccess_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_util_RandomAccess()
+{
+ staticInitializerLock(&__TIB_java_util_RandomAccess);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_RandomAccess.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_RandomAccess.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_RandomAccess);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_RandomAccess.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_RandomAccess.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_RandomAccess.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.RandomAccess")
+ __INIT_IMPL_java_util_RandomAccess();
+ }
+}
+
+void __INIT_IMPL_java_util_RandomAccess()
+{
+ __TIB_java_util_RandomAccess.numInterfaces = 0;
+ __TIB_java_util_RandomAccess.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_RandomAccess.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_util_RandomAccess.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_RandomAccess.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_RandomAccess.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_util_RandomAccess = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_RandomAccess);
+ __TIB_java_util_RandomAccess.clazz = __CLASS_java_util_RandomAccess;
+ __TIB_java_util_RandomAccess.baseType = JAVA_NULL;
+ __CLASS_java_util_RandomAccess_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_RandomAccess);
+ __CLASS_java_util_RandomAccess_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_RandomAccess_1ARRAY);
+ __CLASS_java_util_RandomAccess_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_RandomAccess_2ARRAY);
+
+ __TIB_java_util_RandomAccess.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_util_RandomAccess.h b/tests/nbody-java/java_util_RandomAccess.h
new file mode 100644
index 00000000..36e60c8a
--- /dev/null
+++ b/tests/nbody-java/java_util_RandomAccess.h
@@ -0,0 +1,27 @@
+#ifndef __JAVA_UTIL_RANDOMACCESS__
+#define __JAVA_UTIL_RANDOMACCESS__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+
+XMLVM_DEFINE_CLASS(java_util_RandomAccess, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_util_RandomAccess;
+extern JAVA_OBJECT __CLASS_java_util_RandomAccess_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_RandomAccess_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_RandomAccess_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_util_RandomAccess
+#define XMLVM_FORWARD_DECL_java_util_RandomAccess
+typedef struct java_util_RandomAccess java_util_RandomAccess;
+#endif
+
+void __INIT_java_util_RandomAccess();
+void __INIT_IMPL_java_util_RandomAccess();
+
+#endif
diff --git a/tests/nbody-java/java_util_Set.c b/tests/nbody-java/java_util_Set.c
new file mode 100644
index 00000000..df9670f0
--- /dev/null
+++ b/tests/nbody-java/java_util_Set.c
@@ -0,0 +1,78 @@
+#include "xmlvm.h"
+#include "java_util_Iterator.h"
+
+#include "java_util_Set.h"
+
+__TIB_DEFINITION_java_util_Set __TIB_java_util_Set = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_Set, // classInitializer
+ "java.util.Set", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<E:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Collection<TE;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_java_util_Set;
+JAVA_OBJECT __CLASS_java_util_Set_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_Set_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_Set_3ARRAY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_java_util_Set()
+{
+ staticInitializerLock(&__TIB_java_util_Set);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_Set.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_Set.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_Set);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_Set.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_Set.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_Set.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.Set")
+ __INIT_IMPL_java_util_Set();
+ }
+}
+
+void __INIT_IMPL_java_util_Set()
+{
+ __TIB_java_util_Set.numInterfaces = 1;
+ //__TIB_java_util_Set.baseInterfaces[0] = &__INTERFACE_java_util_Collection;
+ __TIB_java_util_Set.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_Set.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_java_util_Set.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_Set.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_Set.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_java_util_Set = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_Set);
+ __TIB_java_util_Set.clazz = __CLASS_java_util_Set;
+ __TIB_java_util_Set.baseType = JAVA_NULL;
+ __CLASS_java_util_Set_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Set);
+ __CLASS_java_util_Set_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Set_1ARRAY);
+ __CLASS_java_util_Set_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_Set_2ARRAY);
+
+ __TIB_java_util_Set.classInitialized = 1;
+}
+
diff --git a/tests/nbody-java/java_util_Set.h b/tests/nbody-java/java_util_Set.h
new file mode 100644
index 00000000..d9198b8e
--- /dev/null
+++ b/tests/nbody-java/java_util_Set.h
@@ -0,0 +1,47 @@
+#ifndef __JAVA_UTIL_SET__
+#define __JAVA_UTIL_SET__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_java_util_Set_add___java_lang_Object 17
+#define XMLVM_ITABLE_IDX_java_util_Set_addAll___java_util_Collection 16
+#define XMLVM_ITABLE_IDX_java_util_Set_clear__ 18
+#define XMLVM_ITABLE_IDX_java_util_Set_contains___java_lang_Object 20
+#define XMLVM_ITABLE_IDX_java_util_Set_containsAll___java_util_Collection 19
+#define XMLVM_ITABLE_IDX_java_util_Set_equals___java_lang_Object 21
+#define XMLVM_ITABLE_IDX_java_util_Set_hashCode__ 22
+#define XMLVM_ITABLE_IDX_java_util_Set_isEmpty__ 23
+#define XMLVM_ITABLE_IDX_java_util_Set_iterator__ 24
+#define XMLVM_ITABLE_IDX_java_util_Set_remove___java_lang_Object 26
+#define XMLVM_ITABLE_IDX_java_util_Set_removeAll___java_util_Collection 25
+#define XMLVM_ITABLE_IDX_java_util_Set_retainAll___java_util_Collection 27
+#define XMLVM_ITABLE_IDX_java_util_Set_size__ 28
+#define XMLVM_ITABLE_IDX_java_util_Set_toArray__ 29
+#define XMLVM_ITABLE_IDX_java_util_Set_toArray___java_lang_Object_1ARRAY 30
+// Implemented interfaces:
+#include "java_util_Collection.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_util_Iterator
+#define XMLVM_FORWARD_DECL_java_util_Iterator
+XMLVM_FORWARD_DECL(java_util_Iterator)
+#endif
+
+XMLVM_DEFINE_CLASS(java_util_Set, 0, 0)
+
+extern JAVA_OBJECT __CLASS_java_util_Set;
+extern JAVA_OBJECT __CLASS_java_util_Set_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Set_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_Set_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_java_util_Set
+#define XMLVM_FORWARD_DECL_java_util_Set
+typedef struct java_util_Set java_util_Set;
+#endif
+
+void __INIT_java_util_Set();
+void __INIT_IMPL_java_util_Set();
+
+#endif
diff --git a/tests/nbody-java/java_util_StringTokenizer.c b/tests/nbody-java/java_util_StringTokenizer.c
new file mode 100644
index 00000000..2b628cce
--- /dev/null
+++ b/tests/nbody-java/java_util_StringTokenizer.c
@@ -0,0 +1,636 @@
+#include "xmlvm.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_String.h"
+
+#include "java_util_StringTokenizer.h"
+
+#define XMLVM_CURRENT_CLASS_NAME StringTokenizer
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_StringTokenizer
+
+__TIB_DEFINITION_java_util_StringTokenizer __TIB_java_util_StringTokenizer = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_StringTokenizer, // classInitializer
+ "java.util.StringTokenizer", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "Ljava/lang/Object;Ljava/util/Enumeration<Ljava/lang/Object;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(java_util_StringTokenizer), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_StringTokenizer;
+JAVA_OBJECT __CLASS_java_util_StringTokenizer_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_StringTokenizer_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_StringTokenizer_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_StringTokenizer()
+{
+ staticInitializerLock(&__TIB_java_util_StringTokenizer);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_StringTokenizer.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_StringTokenizer.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_StringTokenizer);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_StringTokenizer.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_StringTokenizer.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_StringTokenizer.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.StringTokenizer")
+ __INIT_IMPL_java_util_StringTokenizer();
+ }
+}
+
+void __INIT_IMPL_java_util_StringTokenizer()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_java_util_StringTokenizer.newInstanceFunc = __NEW_INSTANCE_java_util_StringTokenizer;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_StringTokenizer.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_java_util_StringTokenizer.vtable[6] = (VTABLE_PTR) &java_util_StringTokenizer_hasMoreElements__;
+ __TIB_java_util_StringTokenizer.vtable[7] = (VTABLE_PTR) &java_util_StringTokenizer_nextElement__;
+ // Initialize interface information
+ __TIB_java_util_StringTokenizer.numImplementedInterfaces = 1;
+ __TIB_java_util_StringTokenizer.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_util_Enumeration)
+
+ __TIB_java_util_StringTokenizer.implementedInterfaces[0][0] = &__TIB_java_util_Enumeration;
+ // Initialize itable for this class
+ __TIB_java_util_StringTokenizer.itableBegin = &__TIB_java_util_StringTokenizer.itable[0];
+ __TIB_java_util_StringTokenizer.itable[XMLVM_ITABLE_IDX_java_util_Enumeration_hasMoreElements__] = __TIB_java_util_StringTokenizer.vtable[6];
+ __TIB_java_util_StringTokenizer.itable[XMLVM_ITABLE_IDX_java_util_Enumeration_nextElement__] = __TIB_java_util_StringTokenizer.vtable[7];
+
+
+ __TIB_java_util_StringTokenizer.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_StringTokenizer.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_StringTokenizer.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_StringTokenizer.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_StringTokenizer.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_StringTokenizer.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_StringTokenizer.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_StringTokenizer.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_StringTokenizer = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_StringTokenizer);
+ __TIB_java_util_StringTokenizer.clazz = __CLASS_java_util_StringTokenizer;
+ __TIB_java_util_StringTokenizer.baseType = JAVA_NULL;
+ __CLASS_java_util_StringTokenizer_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_StringTokenizer);
+ __CLASS_java_util_StringTokenizer_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_StringTokenizer_1ARRAY);
+ __CLASS_java_util_StringTokenizer_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_StringTokenizer_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_StringTokenizer]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_StringTokenizer.classInitialized = 1;
+}
+
+void __DELETE_java_util_StringTokenizer(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_StringTokenizer]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_StringTokenizer(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_util_StringTokenizer*) me)->fields.java_util_StringTokenizer.string_ = (java_lang_String*) JAVA_NULL;
+ ((java_util_StringTokenizer*) me)->fields.java_util_StringTokenizer.delimiters_ = (java_lang_String*) JAVA_NULL;
+ ((java_util_StringTokenizer*) me)->fields.java_util_StringTokenizer.returnDelimiters_ = 0;
+ ((java_util_StringTokenizer*) me)->fields.java_util_StringTokenizer.position_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_StringTokenizer]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_StringTokenizer()
+{ XMLVM_CLASS_INIT(java_util_StringTokenizer)
+java_util_StringTokenizer* me = (java_util_StringTokenizer*) XMLVM_MALLOC(sizeof(java_util_StringTokenizer));
+ me->tib = &__TIB_java_util_StringTokenizer;
+ __INIT_INSTANCE_MEMBERS_java_util_StringTokenizer(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_StringTokenizer]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_StringTokenizer()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+void java_util_StringTokenizer___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_StringTokenizer___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("java.util.StringTokenizer", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 123)
+ // " \011\012\015\014"
+ _r0.o = xmlvm_create_java_string_from_pool(649);
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(2)
+ java_util_StringTokenizer___INIT____java_lang_String_java_lang_String_boolean(_r2.o, _r3.o, _r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 124)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_StringTokenizer___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_StringTokenizer___INIT____java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("java.util.StringTokenizer", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 139)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(1)
+ java_util_StringTokenizer___INIT____java_lang_String_java_lang_String_boolean(_r1.o, _r2.o, _r3.o, _r0.i);
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 140)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_StringTokenizer___INIT____java_lang_String_java_lang_String_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_BOOLEAN n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_StringTokenizer___INIT____java_lang_String_java_lang_String_boolean]
+ XMLVM_ENTER_METHOD("java.util.StringTokenizer", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ _r4.i = n3;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 156)
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 158)
+ if (_r2.o == JAVA_NULL) goto label15;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 159)
+ XMLVM_CHECK_NPE(1)
+ ((java_util_StringTokenizer*) _r1.o)->fields.java_util_StringTokenizer.string_ = _r2.o;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 160)
+ XMLVM_CHECK_NPE(1)
+ ((java_util_StringTokenizer*) _r1.o)->fields.java_util_StringTokenizer.delimiters_ = _r3.o;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 161)
+ XMLVM_CHECK_NPE(1)
+ ((java_util_StringTokenizer*) _r1.o)->fields.java_util_StringTokenizer.returnDelimiters_ = _r4.i;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 162)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(1)
+ ((java_util_StringTokenizer*) _r1.o)->fields.java_util_StringTokenizer.position_ = _r0.i;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 165)
+ XMLVM_EXIT_METHOD()
+ return;
+ label15:;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 164)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_StringTokenizer_countTokens__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_StringTokenizer_countTokens__]
+ XMLVM_ENTER_METHOD("java.util.StringTokenizer", "countTokens", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r7.o = me;
+ _r6.i = 0;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 174)
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 176)
+ XMLVM_CHECK_NPE(7)
+ _r0.i = ((java_util_StringTokenizer*) _r7.o)->fields.java_util_StringTokenizer.position_;
+ XMLVM_CHECK_NPE(7)
+ _r1.o = ((java_util_StringTokenizer*) _r7.o)->fields.java_util_StringTokenizer.string_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(1)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
+ _r2 = _r6;
+ _r3 = _r6;
+ label11:;
+ if (_r0.i < _r1.i) goto label18;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 188)
+ if (_r2.i == 0) goto label49;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 189)
+ _r0.i = _r3.i + 1;
+ label17:;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 190)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label18:;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 177)
+ XMLVM_CHECK_NPE(7)
+ _r4.o = ((java_util_StringTokenizer*) _r7.o)->fields.java_util_StringTokenizer.delimiters_;
+ XMLVM_CHECK_NPE(7)
+ _r5.o = ((java_util_StringTokenizer*) _r7.o)->fields.java_util_StringTokenizer.string_;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(5)
+ _r5.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r5.o)->tib->vtable[6])(_r5.o, _r0.i);
+ XMLVM_CHECK_NPE(4)
+ _r4.i = java_lang_String_indexOf___int_int(_r4.o, _r5.i, _r6.i);
+ if (_r4.i < 0) goto label47;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 178)
+ XMLVM_CHECK_NPE(7)
+ _r4.i = ((java_util_StringTokenizer*) _r7.o)->fields.java_util_StringTokenizer.returnDelimiters_;
+ if (_r4.i == 0) goto label38;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 179)
+ _r3.i = _r3.i + 1;
+ label38:;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 180)
+ if (_r2.i == 0) goto label44;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 181)
+ _r2.i = _r3.i + 1;
+ _r3 = _r2;
+ _r2 = _r6;
+ label44:;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 182)
+ _r0.i = _r0.i + 1;
+ goto label11;
+ label47:;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 185)
+ _r2.i = 1;
+ goto label44;
+ label49:;
+ _r0 = _r3;
+ goto label17;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_StringTokenizer_hasMoreElements__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_StringTokenizer_hasMoreElements__]
+ XMLVM_ENTER_METHOD("java.util.StringTokenizer", "hasMoreElements", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 200)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = java_util_StringTokenizer_hasMoreTokens__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_StringTokenizer_hasMoreTokens__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_StringTokenizer_hasMoreTokens__]
+ XMLVM_ENTER_METHOD("java.util.StringTokenizer", "hasMoreTokens", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r6.o = me;
+ _r5.i = 1;
+ _r4.i = 0;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 209)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.delimiters_;
+ if (_r0.o != JAVA_NULL) goto label12;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 210)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label12:;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 212)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.string_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[8])(_r0.o);
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 213)
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
+ if (_r1.i >= _r0.i) goto label32;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 214)
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.returnDelimiters_;
+ if (_r1.i == 0) goto label28;
+ _r0 = _r5;
+ label27:;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 215)
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 223)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label28:;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 219)
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
+ label30:;
+ if (_r1.i < _r0.i) goto label34;
+ label32:;
+ _r0 = _r4;
+ goto label27;
+ label34:;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 220)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.delimiters_;
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.string_;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(3)
+ _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r3.o)->tib->vtable[6])(_r3.o, _r1.i);
+ XMLVM_CHECK_NPE(2)
+ _r2.i = java_lang_String_indexOf___int_int(_r2.o, _r3.i, _r4.i);
+ _r3.i = -1;
+ if (_r2.i != _r3.i) goto label51;
+ _r0 = _r5;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 221)
+ goto label27;
+ label51:;
+ _r1.i = _r1.i + 1;
+ goto label30;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_StringTokenizer_nextElement__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_StringTokenizer_nextElement__]
+ XMLVM_ENTER_METHOD("java.util.StringTokenizer", "nextElement", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 235)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_StringTokenizer_nextToken__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_StringTokenizer_nextToken__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_StringTokenizer_nextToken__]
+ XMLVM_ENTER_METHOD("java.util.StringTokenizer", "nextToken", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r6.o = me;
+ _r5.i = 0;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 246)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.delimiters_;
+ if (_r0.o != JAVA_NULL) goto label11;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 247)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label11:;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 249)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 250)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.string_;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(1)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 252)
+ if (_r0.i >= _r1.i) goto label178;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 253)
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.returnDelimiters_;
+ if (_r2.i == 0) goto label109;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 254)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.delimiters_;
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.string_;
+ XMLVM_CHECK_NPE(6)
+ _r4.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(3)
+ _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r3.o)->tib->vtable[6])(_r3.o, _r4.i);
+ XMLVM_CHECK_NPE(2)
+ _r2.i = java_lang_String_indexOf___int_int(_r2.o, _r3.i, _r5.i);
+ if (_r2.i < 0) goto label58;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 255)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.string_;
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
+ _r2.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(6)
+ ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_ = _r2.i;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r0.o)->tib->vtable[6])(_r0.o, _r1.i);
+ _r0.o = java_lang_String_valueOf___char(_r0.i);
+ label57:;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 269)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label58:;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 256)
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
+ _r2.i = _r2.i + 1;
+ XMLVM_CHECK_NPE(6)
+ ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_ = _r2.i;
+ label64:;
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
+ if (_r2.i < _r1.i) goto label75;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 259)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.string_;
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_String_substring___int(_r1.o, _r0.i);
+ goto label57;
+ label75:;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 257)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.delimiters_;
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.string_;
+ XMLVM_CHECK_NPE(6)
+ _r4.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(3)
+ _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r3.o)->tib->vtable[6])(_r3.o, _r4.i);
+ XMLVM_CHECK_NPE(2)
+ _r2.i = java_lang_String_indexOf___int_int(_r2.o, _r3.i, _r5.i);
+ if (_r2.i < 0) goto label100;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 258)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.string_;
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_String_substring___int_int(_r1.o, _r0.i, _r2.i);
+ goto label57;
+ label100:;
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
+ _r2.i = _r2.i + 1;
+ XMLVM_CHECK_NPE(6)
+ ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_ = _r2.i;
+ goto label64;
+ label107:;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 263)
+ _r0.i = _r0.i + 1;
+ label109:;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 262)
+ if (_r0.i >= _r1.i) goto label125;
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.delimiters_;
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.string_;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(3)
+ _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r3.o)->tib->vtable[6])(_r3.o, _r0.i);
+ XMLVM_CHECK_NPE(2)
+ _r2.i = java_lang_String_indexOf___int_int(_r2.o, _r3.i, _r5.i);
+ if (_r2.i >= 0) goto label107;
+ label125:;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 264)
+ XMLVM_CHECK_NPE(6)
+ ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_ = _r0.i;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 265)
+ if (_r0.i >= _r1.i) goto label178;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 266)
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
+ _r2.i = _r2.i + 1;
+ XMLVM_CHECK_NPE(6)
+ ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_ = _r2.i;
+ label135:;
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
+ if (_r2.i < _r1.i) goto label146;
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.string_;
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_String_substring___int(_r1.o, _r0.i);
+ goto label57;
+ label146:;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 267)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.delimiters_;
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.string_;
+ XMLVM_CHECK_NPE(6)
+ _r4.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(3)
+ _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r3.o)->tib->vtable[6])(_r3.o, _r4.i);
+ XMLVM_CHECK_NPE(2)
+ _r2.i = java_lang_String_indexOf___int_int(_r2.o, _r3.i, _r5.i);
+ if (_r2.i < 0) goto label171;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 268)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.string_;
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_String_substring___int_int(_r1.o, _r0.i, _r2.i);
+ goto label57;
+ label171:;
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_;
+ _r2.i = _r2.i + 1;
+ XMLVM_CHECK_NPE(6)
+ ((java_util_StringTokenizer*) _r6.o)->fields.java_util_StringTokenizer.position_ = _r2.i;
+ goto label135;
+ label178:;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 272)
+
+
+ // Red class access removed: java.util.NoSuchElementException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.NoSuchElementException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_StringTokenizer_nextToken___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_StringTokenizer_nextToken___java_lang_String]
+ XMLVM_ENTER_METHOD("java.util.StringTokenizer", "nextToken", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 286)
+ XMLVM_CHECK_NPE(1)
+ ((java_util_StringTokenizer*) _r1.o)->fields.java_util_StringTokenizer.delimiters_ = _r2.o;
+ XMLVM_SOURCE_POSITION("StringTokenizer.java", 287)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_StringTokenizer_nextToken__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_StringTokenizer.h b/tests/nbody-java/java_util_StringTokenizer.h
new file mode 100644
index 00000000..17e482b4
--- /dev/null
+++ b/tests/nbody-java/java_util_StringTokenizer.h
@@ -0,0 +1,76 @@
+#ifndef __JAVA_UTIL_STRINGTOKENIZER__
+#define __JAVA_UTIL_STRINGTOKENIZER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_StringTokenizer 2
+// Implemented interfaces:
+#include "java_util_Enumeration.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+// Class declarations for java.util.StringTokenizer
+XMLVM_DEFINE_CLASS(java_util_StringTokenizer, 8, XMLVM_ITABLE_SIZE_java_util_StringTokenizer)
+
+extern JAVA_OBJECT __CLASS_java_util_StringTokenizer;
+extern JAVA_OBJECT __CLASS_java_util_StringTokenizer_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_StringTokenizer_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_StringTokenizer_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_StringTokenizer
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_StringTokenizer \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT string_; \
+ JAVA_OBJECT delimiters_; \
+ JAVA_BOOLEAN returnDelimiters_; \
+ JAVA_INT position_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_StringTokenizer \
+ } java_util_StringTokenizer
+
+struct java_util_StringTokenizer {
+ __TIB_DEFINITION_java_util_StringTokenizer* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_StringTokenizer;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_StringTokenizer
+#define XMLVM_FORWARD_DECL_java_util_StringTokenizer
+typedef struct java_util_StringTokenizer java_util_StringTokenizer;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_StringTokenizer 8
+#define XMLVM_VTABLE_IDX_java_util_StringTokenizer_hasMoreElements__ 6
+#define XMLVM_VTABLE_IDX_java_util_StringTokenizer_nextElement__ 7
+
+void __INIT_java_util_StringTokenizer();
+void __INIT_IMPL_java_util_StringTokenizer();
+void __DELETE_java_util_StringTokenizer(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_StringTokenizer(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_StringTokenizer();
+JAVA_OBJECT __NEW_INSTANCE_java_util_StringTokenizer();
+void java_util_StringTokenizer___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void java_util_StringTokenizer___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_util_StringTokenizer___INIT____java_lang_String_java_lang_String_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_BOOLEAN n3);
+JAVA_INT java_util_StringTokenizer_countTokens__(JAVA_OBJECT me);
+// Vtable index: 6
+JAVA_BOOLEAN java_util_StringTokenizer_hasMoreElements__(JAVA_OBJECT me);
+JAVA_BOOLEAN java_util_StringTokenizer_hasMoreTokens__(JAVA_OBJECT me);
+// Vtable index: 7
+JAVA_OBJECT java_util_StringTokenizer_nextElement__(JAVA_OBJECT me);
+JAVA_OBJECT java_util_StringTokenizer_nextToken__(JAVA_OBJECT me);
+JAVA_OBJECT java_util_StringTokenizer_nextToken___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_util_WeakHashMap.c b/tests/nbody-java/java_util_WeakHashMap.c
new file mode 100644
index 00000000..4b7c7988
--- /dev/null
+++ b/tests/nbody-java/java_util_WeakHashMap.c
@@ -0,0 +1,1428 @@
+#include "xmlvm.h"
+#include "java_lang_Object.h"
+#include "java_lang_ref_Reference.h"
+#include "java_lang_ref_ReferenceQueue.h"
+#include "java_util_Collection.h"
+#include "java_util_Set.h"
+#include "java_util_WeakHashMap_Entry.h"
+
+#include "java_util_WeakHashMap.h"
+
+#define XMLVM_CURRENT_CLASS_NAME WeakHashMap
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_WeakHashMap
+
+__TIB_DEFINITION_java_util_WeakHashMap __TIB_java_util_WeakHashMap = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_WeakHashMap, // classInitializer
+ "java.util.WeakHashMap", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/util/AbstractMap<TK;TV;>;Ljava/util/Map<TK;TV;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_AbstractMap, // extends
+ sizeof(java_util_WeakHashMap), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_WeakHashMap;
+JAVA_OBJECT __CLASS_java_util_WeakHashMap_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_WeakHashMap_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_WeakHashMap_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_INT _STATIC_java_util_WeakHashMap_DEFAULT_SIZE;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_WeakHashMap()
+{
+ staticInitializerLock(&__TIB_java_util_WeakHashMap);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_WeakHashMap.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_WeakHashMap.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_WeakHashMap);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_WeakHashMap.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_WeakHashMap.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_WeakHashMap.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.WeakHashMap")
+ __INIT_IMPL_java_util_WeakHashMap();
+ }
+}
+
+void __INIT_IMPL_java_util_WeakHashMap()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_util_AbstractMap)
+ __TIB_java_util_WeakHashMap.newInstanceFunc = __NEW_INSTANCE_java_util_WeakHashMap;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_WeakHashMap.vtable, __TIB_java_util_AbstractMap.vtable, sizeof(__TIB_java_util_AbstractMap.vtable));
+ // Initialize vtable for this class
+ __TIB_java_util_WeakHashMap.vtable[6] = (VTABLE_PTR) &java_util_WeakHashMap_clear__;
+ __TIB_java_util_WeakHashMap.vtable[7] = (VTABLE_PTR) &java_util_WeakHashMap_containsKey___java_lang_Object;
+ __TIB_java_util_WeakHashMap.vtable[9] = (VTABLE_PTR) &java_util_WeakHashMap_entrySet__;
+ __TIB_java_util_WeakHashMap.vtable[12] = (VTABLE_PTR) &java_util_WeakHashMap_keySet__;
+ __TIB_java_util_WeakHashMap.vtable[17] = (VTABLE_PTR) &java_util_WeakHashMap_values__;
+ __TIB_java_util_WeakHashMap.vtable[10] = (VTABLE_PTR) &java_util_WeakHashMap_get___java_lang_Object;
+ __TIB_java_util_WeakHashMap.vtable[8] = (VTABLE_PTR) &java_util_WeakHashMap_containsValue___java_lang_Object;
+ __TIB_java_util_WeakHashMap.vtable[11] = (VTABLE_PTR) &java_util_WeakHashMap_isEmpty__;
+ __TIB_java_util_WeakHashMap.vtable[14] = (VTABLE_PTR) &java_util_WeakHashMap_put___java_lang_Object_java_lang_Object;
+ __TIB_java_util_WeakHashMap.vtable[13] = (VTABLE_PTR) &java_util_WeakHashMap_putAll___java_util_Map;
+ __TIB_java_util_WeakHashMap.vtable[15] = (VTABLE_PTR) &java_util_WeakHashMap_remove___java_lang_Object;
+ __TIB_java_util_WeakHashMap.vtable[16] = (VTABLE_PTR) &java_util_WeakHashMap_size__;
+ // Initialize interface information
+ __TIB_java_util_WeakHashMap.numImplementedInterfaces = 1;
+ __TIB_java_util_WeakHashMap.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_util_Map)
+
+ __TIB_java_util_WeakHashMap.implementedInterfaces[0][0] = &__TIB_java_util_Map;
+ // Initialize itable for this class
+ __TIB_java_util_WeakHashMap.itableBegin = &__TIB_java_util_WeakHashMap.itable[0];
+ __TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_clear__] = __TIB_java_util_WeakHashMap.vtable[6];
+ __TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_containsKey___java_lang_Object] = __TIB_java_util_WeakHashMap.vtable[7];
+ __TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_containsValue___java_lang_Object] = __TIB_java_util_WeakHashMap.vtable[8];
+ __TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_entrySet__] = __TIB_java_util_WeakHashMap.vtable[9];
+ __TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_equals___java_lang_Object] = __TIB_java_util_WeakHashMap.vtable[1];
+ __TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_get___java_lang_Object] = __TIB_java_util_WeakHashMap.vtable[10];
+ __TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_hashCode__] = __TIB_java_util_WeakHashMap.vtable[4];
+ __TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_isEmpty__] = __TIB_java_util_WeakHashMap.vtable[11];
+ __TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_keySet__] = __TIB_java_util_WeakHashMap.vtable[12];
+ __TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_putAll___java_util_Map] = __TIB_java_util_WeakHashMap.vtable[13];
+ __TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_put___java_lang_Object_java_lang_Object] = __TIB_java_util_WeakHashMap.vtable[14];
+ __TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_remove___java_lang_Object] = __TIB_java_util_WeakHashMap.vtable[15];
+ __TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_size__] = __TIB_java_util_WeakHashMap.vtable[16];
+ __TIB_java_util_WeakHashMap.itable[XMLVM_ITABLE_IDX_java_util_Map_values__] = __TIB_java_util_WeakHashMap.vtable[17];
+
+ _STATIC_java_util_WeakHashMap_DEFAULT_SIZE = 16;
+
+ __TIB_java_util_WeakHashMap.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_WeakHashMap.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_WeakHashMap.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_WeakHashMap.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_WeakHashMap.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_WeakHashMap.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_WeakHashMap.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_WeakHashMap.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_WeakHashMap = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_WeakHashMap);
+ __TIB_java_util_WeakHashMap.clazz = __CLASS_java_util_WeakHashMap;
+ __TIB_java_util_WeakHashMap.baseType = JAVA_NULL;
+ __CLASS_java_util_WeakHashMap_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_WeakHashMap);
+ __CLASS_java_util_WeakHashMap_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_WeakHashMap_1ARRAY);
+ __CLASS_java_util_WeakHashMap_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_WeakHashMap_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_WeakHashMap]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_WeakHashMap.classInitialized = 1;
+}
+
+void __DELETE_java_util_WeakHashMap(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_WeakHashMap]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_WeakHashMap(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_util_AbstractMap(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_util_WeakHashMap*) me)->fields.java_util_WeakHashMap.referenceQueue_ = (java_lang_ref_ReferenceQueue*) JAVA_NULL;
+ ((java_util_WeakHashMap*) me)->fields.java_util_WeakHashMap.elementCount_ = 0;
+ ((java_util_WeakHashMap*) me)->fields.java_util_WeakHashMap.elementData_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ ((java_util_WeakHashMap*) me)->fields.java_util_WeakHashMap.loadFactor_ = 0;
+ ((java_util_WeakHashMap*) me)->fields.java_util_WeakHashMap.threshold_ = 0;
+ ((java_util_WeakHashMap*) me)->fields.java_util_WeakHashMap.modCount_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_WeakHashMap]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_WeakHashMap()
+{ XMLVM_CLASS_INIT(java_util_WeakHashMap)
+java_util_WeakHashMap* me = (java_util_WeakHashMap*) XMLVM_MALLOC(sizeof(java_util_WeakHashMap));
+ me->tib = &__TIB_java_util_WeakHashMap;
+ __INIT_INSTANCE_MEMBERS_java_util_WeakHashMap(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_WeakHashMap]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_WeakHashMap()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_java_util_WeakHashMap();
+ java_util_WeakHashMap___INIT___(me);
+ return me;
+}
+
+JAVA_INT java_util_WeakHashMap_GET_DEFAULT_SIZE()
+{
+ XMLVM_CLASS_INIT(java_util_WeakHashMap)
+ return _STATIC_java_util_WeakHashMap_DEFAULT_SIZE;
+}
+
+void java_util_WeakHashMap_PUT_DEFAULT_SIZE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(java_util_WeakHashMap)
+_STATIC_java_util_WeakHashMap_DEFAULT_SIZE = v;
+}
+
+JAVA_OBJECT java_util_WeakHashMap_newEntryArray___int(JAVA_INT n1)
+{
+ XMLVM_CLASS_INIT(java_util_WeakHashMap)
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_newEntryArray___int]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap", "newEntryArray", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 53)
+ XMLVM_CLASS_INIT(java_util_WeakHashMap_Entry)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_util_WeakHashMap_Entry, _r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_WeakHashMap___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap___INIT___]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 188)
+ _r0.i = 16;
+ XMLVM_CHECK_NPE(1)
+ java_util_WeakHashMap___INIT____int(_r1.o, _r0.i);
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 189)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_WeakHashMap___INIT____int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap___INIT____int]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 200)
+ XMLVM_CHECK_NPE(1)
+ java_util_AbstractMap___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 201)
+ if (_r2.i < 0) goto label34;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 202)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(1)
+ ((java_util_WeakHashMap*) _r1.o)->fields.java_util_WeakHashMap.elementCount_ = _r0.i;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 203)
+ if (_r2.i != 0) goto label32;
+ _r0.i = 1;
+ label11:;
+ _r0.o = java_util_WeakHashMap_newEntryArray___int(_r0.i);
+ XMLVM_CHECK_NPE(1)
+ ((java_util_WeakHashMap*) _r1.o)->fields.java_util_WeakHashMap.elementData_ = _r0.o;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 204)
+ _r0.i = 7500;
+ XMLVM_CHECK_NPE(1)
+ ((java_util_WeakHashMap*) _r1.o)->fields.java_util_WeakHashMap.loadFactor_ = _r0.i;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 205)
+ XMLVM_CHECK_NPE(1)
+ java_util_WeakHashMap_computeMaxSize__(_r1.o);
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 206)
+ _r0.o = __NEW_java_lang_ref_ReferenceQueue();
+ XMLVM_CHECK_NPE(0)
+ java_lang_ref_ReferenceQueue___INIT___(_r0.o);
+ XMLVM_CHECK_NPE(1)
+ ((java_util_WeakHashMap*) _r1.o)->fields.java_util_WeakHashMap.referenceQueue_ = _r0.o;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 210)
+ XMLVM_EXIT_METHOD()
+ return;
+ label32:;
+ _r0 = _r2;
+ goto label11;
+ label34:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 208)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_WeakHashMap___INIT____int_float(JAVA_OBJECT me, JAVA_INT n1, JAVA_FLOAT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap___INIT____int_float]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.i = n1;
+ _r3.f = n2;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 224)
+ XMLVM_CHECK_NPE(1)
+ java_util_AbstractMap___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 225)
+ if (_r2.i < 0) goto label42;
+ _r0.f = 0.0;
+ _r0.i = _r3.f > _r0.f ? 1 : (_r3.f == _r0.f ? 0 : -1);
+ if (_r0.i <= 0) goto label42;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 226)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(1)
+ ((java_util_WeakHashMap*) _r1.o)->fields.java_util_WeakHashMap.elementCount_ = _r0.i;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 227)
+ if (_r2.i != 0) goto label40;
+ _r0.i = 1;
+ label16:;
+ _r0.o = java_util_WeakHashMap_newEntryArray___int(_r0.i);
+ XMLVM_CHECK_NPE(1)
+ ((java_util_WeakHashMap*) _r1.o)->fields.java_util_WeakHashMap.elementData_ = _r0.o;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 228)
+ _r0.f = 10000.0;
+ _r0.f = _r0.f * _r3.f;
+ _r0.i = (JAVA_INT) _r0.f;
+ XMLVM_CHECK_NPE(1)
+ ((java_util_WeakHashMap*) _r1.o)->fields.java_util_WeakHashMap.loadFactor_ = _r0.i;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 229)
+ XMLVM_CHECK_NPE(1)
+ java_util_WeakHashMap_computeMaxSize__(_r1.o);
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 230)
+ _r0.o = __NEW_java_lang_ref_ReferenceQueue();
+ XMLVM_CHECK_NPE(0)
+ java_lang_ref_ReferenceQueue___INIT___(_r0.o);
+ XMLVM_CHECK_NPE(1)
+ ((java_util_WeakHashMap*) _r1.o)->fields.java_util_WeakHashMap.referenceQueue_ = _r0.o;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 234)
+ XMLVM_EXIT_METHOD()
+ return;
+ label40:;
+ _r0 = _r2;
+ goto label16;
+ label42:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 232)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_WeakHashMap___INIT____java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap___INIT____java_util_Map]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 244)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_size__])(_r3.o);
+ _r1.i = 6;
+ if (_r0.i >= _r1.i) goto label16;
+ _r0.i = 11;
+ label9:;
+ XMLVM_CHECK_NPE(2)
+ java_util_WeakHashMap___INIT____int(_r2.o, _r0.i);
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 245)
+ XMLVM_CHECK_NPE(2)
+ java_util_WeakHashMap_putAllImpl___java_util_Map(_r2.o, _r3.o);
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 246)
+ XMLVM_EXIT_METHOD()
+ return;
+ label16:;
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r3.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_size__])(_r3.o);
+ _r0.i = _r0.i * 2;
+ goto label9;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_WeakHashMap_clear__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_clear__]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap", "clear", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 256)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_util_WeakHashMap*) _r2.o)->fields.java_util_WeakHashMap.elementCount_;
+ if (_r0.i <= 0) goto label27;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 257)
+ _r0.i = 0;
+ XMLVM_CHECK_NPE(2)
+ ((java_util_WeakHashMap*) _r2.o)->fields.java_util_WeakHashMap.elementCount_ = _r0.i;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 258)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_WeakHashMap*) _r2.o)->fields.java_util_WeakHashMap.elementData_;
+ _r1.o = JAVA_NULL;
+
+
+ // Red class access removed: java.util.Arrays::fill
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 259)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_util_WeakHashMap*) _r2.o)->fields.java_util_WeakHashMap.modCount_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(2)
+ ((java_util_WeakHashMap*) _r2.o)->fields.java_util_WeakHashMap.modCount_ = _r0.i;
+ label19:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 260)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_WeakHashMap*) _r2.o)->fields.java_util_WeakHashMap.referenceQueue_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_ref_ReferenceQueue_poll__(_r0.o);
+ if (_r0.o != JAVA_NULL) goto label19;
+ label27:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 264)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_WeakHashMap_computeMaxSize__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_computeMaxSize__]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap", "computeMaxSize", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 267)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_util_WeakHashMap*) _r4.o)->fields.java_util_WeakHashMap.elementData_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ _r0.l = (JAVA_LONG) _r0.i;
+ XMLVM_CHECK_NPE(4)
+ _r2.i = ((java_util_WeakHashMap*) _r4.o)->fields.java_util_WeakHashMap.loadFactor_;
+ _r2.l = (JAVA_LONG) _r2.i;
+ _r0.l = _r0.l * _r2.l;
+ _r2.l = 10000;
+ _r0.l = _r0.l / _r2.l;
+ _r0.i = (JAVA_INT) _r0.l;
+ XMLVM_CHECK_NPE(4)
+ ((java_util_WeakHashMap*) _r4.o)->fields.java_util_WeakHashMap.threshold_ = _r0.i;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 268)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_WeakHashMap_containsKey___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_containsKey___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap", "containsKey", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 280)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_util_WeakHashMap_getEntry___java_lang_Object(_r1.o, _r2.o);
+ if (_r0.o == JAVA_NULL) goto label8;
+ _r0.i = 1;
+ label7:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label8:;
+ _r0.i = 0;
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_WeakHashMap_entrySet__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_entrySet__]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap", "entrySet", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 293)
+ XMLVM_CHECK_NPE(1)
+ java_util_WeakHashMap_poll__(_r1.o);
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 294)
+
+
+ // Red class access removed: java.util.WeakHashMap$1::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.WeakHashMap$1::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_WeakHashMap_keySet__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_keySet__]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap", "keySet", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 351)
+ XMLVM_CHECK_NPE(1)
+ java_util_WeakHashMap_poll__(_r1.o);
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 352)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.keySet_;
+ if (_r0.o != JAVA_NULL) goto label14;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 353)
+
+
+ // Red class access removed: java.util.WeakHashMap$2::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.WeakHashMap$2::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(1)
+ ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.keySet_ = _r0.o;
+ label14:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 408)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.keySet_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_WeakHashMap_values__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_values__]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap", "values", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 432)
+ XMLVM_CHECK_NPE(1)
+ java_util_WeakHashMap_poll__(_r1.o);
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 433)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.valuesCollection_;
+ if (_r0.o != JAVA_NULL) goto label14;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 434)
+
+
+ // Red class access removed: java.util.WeakHashMap$3::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.WeakHashMap$3::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(1)
+ ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.valuesCollection_ = _r0.o;
+ label14:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 460)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_AbstractMap*) _r1.o)->fields.java_util_AbstractMap.valuesCollection_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_WeakHashMap_get___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_get___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap", "get", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ _r2.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 473)
+ XMLVM_CHECK_NPE(3)
+ java_util_WeakHashMap_poll__(_r3.o);
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 474)
+ if (_r4.o == JAVA_NULL) goto label42;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 475)
+ //java_lang_Object_hashCode__[4]
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r4.o)->tib->vtable[4])(_r4.o);
+ _r1.i = 2147483647;
+ _r0.i = _r0.i & _r1.i;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_util_WeakHashMap*) _r3.o)->fields.java_util_WeakHashMap.elementData_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ _r0.i = _r0.i % _r1.i;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 476)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_util_WeakHashMap*) _r3.o)->fields.java_util_WeakHashMap.elementData_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ label22:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 477)
+ if (_r0.o != JAVA_NULL) goto label26;
+ _r0 = _r2;
+ label25:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 483)
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 492)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label26:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 478)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = java_lang_ref_Reference_get__(_r0.o);
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(4)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r4.o)->tib->vtable[1])(_r4.o, _r1.o);
+ if (_r1.i == 0) goto label39;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 479)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.value_;
+ goto label25;
+ label39:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 481)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.next_;
+ goto label22;
+ label42:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 485)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_util_WeakHashMap*) _r3.o)->fields.java_util_WeakHashMap.elementData_;
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ label47:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 486)
+ if (_r0.o != JAVA_NULL) goto label51;
+ _r0 = _r2;
+ goto label25;
+ label51:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 487)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.isNull_;
+ if (_r1.i == 0) goto label58;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 488)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.value_;
+ goto label25;
+ label58:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 490)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.next_;
+ goto label47;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_WeakHashMap_getEntry___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_getEntry___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap", "getEntry", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ _r2.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 496)
+ XMLVM_CHECK_NPE(3)
+ java_util_WeakHashMap_poll__(_r3.o);
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 497)
+ if (_r4.o == JAVA_NULL) goto label39;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 498)
+ //java_lang_Object_hashCode__[4]
+ XMLVM_CHECK_NPE(4)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r4.o)->tib->vtable[4])(_r4.o);
+ _r1.i = 2147483647;
+ _r0.i = _r0.i & _r1.i;
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_util_WeakHashMap*) _r3.o)->fields.java_util_WeakHashMap.elementData_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ _r0.i = _r0.i % _r1.i;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 499)
+ XMLVM_CHECK_NPE(3)
+ _r1.o = ((java_util_WeakHashMap*) _r3.o)->fields.java_util_WeakHashMap.elementData_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ label22:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 500)
+ if (_r0.o != JAVA_NULL) goto label26;
+ _r0 = _r2;
+ label25:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 506)
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 515)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label26:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 501)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = java_lang_ref_Reference_get__(_r0.o);
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(4)
+ _r1.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r4.o)->tib->vtable[1])(_r4.o, _r1.o);
+ if (_r1.i != 0) goto label25;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 504)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.next_;
+ goto label22;
+ label39:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 508)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_util_WeakHashMap*) _r3.o)->fields.java_util_WeakHashMap.elementData_;
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ label44:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 509)
+ if (_r0.o != JAVA_NULL) goto label48;
+ _r0 = _r2;
+ goto label25;
+ label48:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 510)
+ XMLVM_CHECK_NPE(0)
+ _r1.i = ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.isNull_;
+ if (_r1.i != 0) goto label25;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 513)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.next_;
+ goto label44;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_WeakHashMap_containsValue___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_containsValue___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap", "containsValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = me;
+ _r5.o = n1;
+ _r3.i = 1;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 528)
+ XMLVM_CHECK_NPE(4)
+ java_util_WeakHashMap_poll__(_r4.o);
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 529)
+ if (_r5.o == JAVA_NULL) goto label44;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 530)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_util_WeakHashMap*) _r4.o)->fields.java_util_WeakHashMap.elementData_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ label9:;
+ _r0.i = _r0.i + -1;
+ if (_r0.i >= 0) goto label15;
+ label13:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 553)
+ _r0.i = 0;
+ label14:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label15:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 531)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_util_WeakHashMap*) _r4.o)->fields.java_util_WeakHashMap.elementData_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ label19:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 532)
+ if (_r1.o == JAVA_NULL) goto label9;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 533)
+ XMLVM_CHECK_NPE(1)
+ _r2.o = java_lang_ref_Reference_get__(_r1.o);
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 534)
+ if (_r2.o != JAVA_NULL) goto label31;
+ XMLVM_CHECK_NPE(1)
+ _r2.i = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.isNull_;
+ if (_r2.i == 0) goto label41;
+ label31:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 535)
+ XMLVM_CHECK_NPE(1)
+ _r2.o = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.value_;
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(5)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r5.o)->tib->vtable[1])(_r5.o, _r2.o);
+ if (_r2.i == 0) goto label41;
+ _r0 = _r3;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 536)
+ goto label14;
+ label41:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 538)
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.next_;
+ goto label19;
+ label44:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 542)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = ((java_util_WeakHashMap*) _r4.o)->fields.java_util_WeakHashMap.elementData_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ label47:;
+ _r0.i = _r0.i + -1;
+ if (_r0.i < 0) goto label13;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 543)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = ((java_util_WeakHashMap*) _r4.o)->fields.java_util_WeakHashMap.elementData_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ label55:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 544)
+ if (_r1.o == JAVA_NULL) goto label47;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 545)
+ XMLVM_CHECK_NPE(1)
+ _r2.o = java_lang_ref_Reference_get__(_r1.o);
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 546)
+ if (_r2.o != JAVA_NULL) goto label67;
+ XMLVM_CHECK_NPE(1)
+ _r2.i = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.isNull_;
+ if (_r2.i == 0) goto label73;
+ label67:;
+ XMLVM_CHECK_NPE(1)
+ _r2.o = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.value_;
+ if (_r2.o != JAVA_NULL) goto label73;
+ _r0 = _r3;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 547)
+ goto label14;
+ label73:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 549)
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.next_;
+ goto label55;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_WeakHashMap_isEmpty__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_isEmpty__]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap", "isEmpty", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 563)
+ //java_util_WeakHashMap_size__[16]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_WeakHashMap*) _r1.o)->tib->vtable[16])(_r1.o);
+ if (_r0.i != 0) goto label8;
+ _r0.i = 1;
+ label7:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label8:;
+ _r0.i = 0;
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_WeakHashMap_poll__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_poll__]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap", "poll", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ label0:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 569)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_WeakHashMap*) _r1.o)->fields.java_util_WeakHashMap.referenceQueue_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_ref_ReferenceQueue_poll__(_r0.o);
+ _r0.o = _r0.o;
+ if (_r0.o != JAVA_NULL) goto label11;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 572)
+ XMLVM_EXIT_METHOD()
+ return;
+ label11:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 570)
+ XMLVM_CHECK_NPE(1)
+ java_util_WeakHashMap_removeEntry___java_util_WeakHashMap_Entry(_r1.o, _r0.o);
+ goto label0;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_WeakHashMap_removeEntry___java_util_WeakHashMap_Entry(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_removeEntry___java_util_WeakHashMap_Entry]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap", "removeEntry", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r5.o = me;
+ _r6.o = n1;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 575)
+ _r0.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 576)
+ XMLVM_CHECK_NPE(6)
+ _r1.i = ((java_util_WeakHashMap_Entry*) _r6.o)->fields.java_util_WeakHashMap_Entry.hash_;
+ _r2.i = 2147483647;
+ _r1.i = _r1.i & _r2.i;
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_util_WeakHashMap*) _r5.o)->fields.java_util_WeakHashMap.elementData_;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ _r1.i = _r1.i % _r2.i;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 577)
+ XMLVM_CHECK_NPE(5)
+ _r2.o = ((java_util_WeakHashMap*) _r5.o)->fields.java_util_WeakHashMap.elementData_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ label15:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 580)
+ if (_r2.o != JAVA_NULL) goto label18;
+ label17:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 594)
+ XMLVM_EXIT_METHOD()
+ return;
+ label18:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 581)
+ if (_r6.o != _r2.o) goto label46;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 582)
+ XMLVM_CHECK_NPE(5)
+ _r3.i = ((java_util_WeakHashMap*) _r5.o)->fields.java_util_WeakHashMap.modCount_;
+ _r3.i = _r3.i + 1;
+ XMLVM_CHECK_NPE(5)
+ ((java_util_WeakHashMap*) _r5.o)->fields.java_util_WeakHashMap.modCount_ = _r3.i;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 583)
+ if (_r0.o != JAVA_NULL) goto label41;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 584)
+ XMLVM_CHECK_NPE(5)
+ _r0.o = ((java_util_WeakHashMap*) _r5.o)->fields.java_util_WeakHashMap.elementData_;
+ XMLVM_CHECK_NPE(2)
+ _r2.o = ((java_util_WeakHashMap_Entry*) _r2.o)->fields.java_util_WeakHashMap_Entry.next_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ label34:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 588)
+ XMLVM_CHECK_NPE(5)
+ _r0.i = ((java_util_WeakHashMap*) _r5.o)->fields.java_util_WeakHashMap.elementCount_;
+ _r1.i = 1;
+ _r0.i = _r0.i - _r1.i;
+ XMLVM_CHECK_NPE(5)
+ ((java_util_WeakHashMap*) _r5.o)->fields.java_util_WeakHashMap.elementCount_ = _r0.i;
+ goto label17;
+ label41:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 586)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_WeakHashMap_Entry*) _r2.o)->fields.java_util_WeakHashMap_Entry.next_;
+ XMLVM_CHECK_NPE(0)
+ ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.next_ = _r1.o;
+ goto label34;
+ label46:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 592)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = ((java_util_WeakHashMap_Entry*) _r2.o)->fields.java_util_WeakHashMap_Entry.next_;
+ _r4 = _r2;
+ _r2 = _r0;
+ _r0 = _r4;
+ goto label15;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_WeakHashMap_put___java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_put___java_lang_Object_java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap", "put", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r6.o = me;
+ _r7.o = n1;
+ _r8.o = n2;
+ _r4.i = 2147483647;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 608)
+ XMLVM_CHECK_NPE(6)
+ java_util_WeakHashMap_poll__(_r6.o);
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 611)
+ if (_r7.o == JAVA_NULL) goto label83;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 612)
+ //java_lang_Object_hashCode__[4]
+ XMLVM_CHECK_NPE(7)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r7.o)->tib->vtable[4])(_r7.o);
+ _r0.i = _r0.i & _r4.i;
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementData_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ _r0.i = _r0.i % _r1.i;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 613)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementData_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ label22:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 614)
+ if (_r1.o == JAVA_NULL) goto label116;
+ XMLVM_CHECK_NPE(1)
+ _r2.o = java_lang_ref_Reference_get__(_r1.o);
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(7)
+ _r2.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r7.o)->tib->vtable[1])(_r7.o, _r2.o);
+ if (_r2.i == 0) goto label80;
+ _r5 = _r1;
+ _r1 = _r0;
+ _r0 = _r5;
+ label37:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 623)
+ if (_r0.o != JAVA_NULL) goto label108;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 624)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.modCount_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(6)
+ ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.modCount_ = _r0.i;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 625)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementCount_;
+ _r0.i = _r0.i + 1;
+ XMLVM_CHECK_NPE(6)
+ ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementCount_ = _r0.i;
+ XMLVM_CHECK_NPE(6)
+ _r2.i = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.threshold_;
+ if (_r0.i <= _r2.i) goto label114;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 626)
+ XMLVM_CHECK_NPE(6)
+ java_util_WeakHashMap_rehash__(_r6.o);
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 627)
+ if (_r7.o != JAVA_NULL) goto label98;
+ _r0 = _r3;
+ label61:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 630)
+ _r1.o = __NEW_java_util_WeakHashMap_Entry();
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.referenceQueue_;
+ XMLVM_CHECK_NPE(1)
+ java_util_WeakHashMap_Entry___INIT____java_lang_Object_java_lang_Object_java_lang_ref_ReferenceQueue(_r1.o, _r7.o, _r8.o, _r2.o);
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 631)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementData_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_CHECK_NPE(1)
+ ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.next_ = _r2.o;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 632)
+ XMLVM_CHECK_NPE(6)
+ _r2.o = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementData_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r1.o;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 633)
+ _r0.o = JAVA_NULL;
+ label79:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 637)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label80:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 615)
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.next_;
+ goto label22;
+ label83:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 618)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementData_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
+ _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ label87:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 619)
+ if (_r0.o == JAVA_NULL) goto label93;
+ XMLVM_CHECK_NPE(0)
+ _r1.i = ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.isNull_;
+ if (_r1.i == 0) goto label95;
+ label93:;
+ _r1 = _r3;
+ goto label37;
+ label95:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 620)
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.next_;
+ goto label87;
+ label98:;
+ //java_lang_Object_hashCode__[4]
+ XMLVM_CHECK_NPE(7)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r7.o)->tib->vtable[4])(_r7.o);
+ _r0.i = _r0.i & _r4.i;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 628)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementData_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ _r0.i = _r0.i % _r1.i;
+ goto label61;
+ label108:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 635)
+ XMLVM_CHECK_NPE(0)
+ _r1.o = ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.value_;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 636)
+ XMLVM_CHECK_NPE(0)
+ ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.value_ = _r8.o;
+ _r0 = _r1;
+ goto label79;
+ label114:;
+ _r0 = _r1;
+ goto label61;
+ label116:;
+ _r5 = _r1;
+ _r1 = _r0;
+ _r0 = _r5;
+ goto label37;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_WeakHashMap_rehash__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_rehash__]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap", "rehash", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r8.o = me;
+ _r7.i = 0;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 641)
+ XMLVM_CHECK_NPE(8)
+ _r0.o = ((java_util_WeakHashMap*) _r8.o)->fields.java_util_WeakHashMap.elementData_;
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r0.o));
+ _r0.i = _r0.i << 1;
+ if (_r0.i != 0) goto label9;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 642)
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 643)
+ _r0.i = 1;
+ label9:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 645)
+ _r1.o = java_util_WeakHashMap_newEntryArray___int(_r0.i);
+ _r2 = _r7;
+ label14:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 646)
+ XMLVM_CHECK_NPE(8)
+ _r3.o = ((java_util_WeakHashMap*) _r8.o)->fields.java_util_WeakHashMap.elementData_;
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ if (_r2.i < _r3.i) goto label25;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 657)
+ XMLVM_CHECK_NPE(8)
+ ((java_util_WeakHashMap*) _r8.o)->fields.java_util_WeakHashMap.elementData_ = _r1.o;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 658)
+ XMLVM_CHECK_NPE(8)
+ java_util_WeakHashMap_computeMaxSize__(_r8.o);
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 659)
+ XMLVM_EXIT_METHOD()
+ return;
+ label25:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 647)
+ XMLVM_CHECK_NPE(8)
+ _r3.o = ((java_util_WeakHashMap*) _r8.o)->fields.java_util_WeakHashMap.elementData_;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
+ _r3.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ label29:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 648)
+ if (_r3.o != JAVA_NULL) goto label34;
+ _r2.i = _r2.i + 1;
+ goto label14;
+ label34:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 649)
+ XMLVM_CHECK_NPE(3)
+ _r4.i = ((java_util_WeakHashMap_Entry*) _r3.o)->fields.java_util_WeakHashMap_Entry.isNull_;
+ if (_r4.i == 0) goto label49;
+ _r4 = _r7;
+ label39:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 651)
+ XMLVM_CHECK_NPE(3)
+ _r5.o = ((java_util_WeakHashMap_Entry*) _r3.o)->fields.java_util_WeakHashMap_Entry.next_;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 652)
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r4.i);
+ _r6.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ XMLVM_CHECK_NPE(3)
+ ((java_util_WeakHashMap_Entry*) _r3.o)->fields.java_util_WeakHashMap_Entry.next_ = _r6.o;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 653)
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r3.o;
+ _r3 = _r5;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 654)
+ goto label29;
+ label49:;
+ XMLVM_CHECK_NPE(3)
+ _r4.i = ((java_util_WeakHashMap_Entry*) _r3.o)->fields.java_util_WeakHashMap_Entry.hash_;
+ _r5.i = 2147483647;
+ _r4.i = _r4.i & _r5.i;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 650)
+ _r4.i = _r4.i % _r0.i;
+ goto label39;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_WeakHashMap_putAll___java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_putAll___java_util_Map]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap", "putAll", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 673)
+ XMLVM_CHECK_NPE(0)
+ java_util_WeakHashMap_putAllImpl___java_util_Map(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 674)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_WeakHashMap_remove___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_remove___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap", "remove", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ _r4.o = JAVA_NULL;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 686)
+ XMLVM_CHECK_NPE(6)
+ java_util_WeakHashMap_poll__(_r6.o);
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 689)
+ if (_r7.o == JAVA_NULL) goto label72;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 690)
+ //java_lang_Object_hashCode__[4]
+ XMLVM_CHECK_NPE(7)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r7.o)->tib->vtable[4])(_r7.o);
+ _r1.i = 2147483647;
+ _r0.i = _r0.i & _r1.i;
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementData_;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ _r0.i = _r0.i % _r1.i;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 691)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementData_;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r0.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ _r2 = _r1;
+ _r1 = _r4;
+ label25:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 692)
+ if (_r2.o == JAVA_NULL) goto label99;
+ XMLVM_CHECK_NPE(2)
+ _r3.o = java_lang_ref_Reference_get__(_r2.o);
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(7)
+ _r3.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r7.o)->tib->vtable[1])(_r7.o, _r3.o);
+ if (_r3.i == 0) goto label66;
+ _r5 = _r1;
+ _r1 = _r2;
+ _r2 = _r0;
+ _r0 = _r5;
+ label41:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 703)
+ if (_r1.o == JAVA_NULL) goto label97;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 704)
+ XMLVM_CHECK_NPE(6)
+ _r3.i = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.modCount_;
+ _r3.i = _r3.i + 1;
+ XMLVM_CHECK_NPE(6)
+ ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.modCount_ = _r3.i;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 705)
+ if (_r0.o != JAVA_NULL) goto label92;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 706)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementData_;
+ XMLVM_CHECK_NPE(1)
+ _r3.o = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.next_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r3.o;
+ label57:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 710)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementCount_;
+ _r2.i = 1;
+ _r0.i = _r0.i - _r2.i;
+ XMLVM_CHECK_NPE(6)
+ ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementCount_ = _r0.i;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 711)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.value_;
+ label65:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 713)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label66:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 694)
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_WeakHashMap_Entry*) _r2.o)->fields.java_util_WeakHashMap_Entry.next_;
+ _r5 = _r2;
+ _r2 = _r1;
+ _r1 = _r5;
+ goto label25;
+ label72:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 697)
+ XMLVM_CHECK_NPE(6)
+ _r0.o = ((java_util_WeakHashMap*) _r6.o)->fields.java_util_WeakHashMap.elementData_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
+ _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ _r1 = _r0;
+ _r0 = _r4;
+ label78:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 698)
+ if (_r1.o == JAVA_NULL) goto label84;
+ XMLVM_CHECK_NPE(1)
+ _r2.i = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.isNull_;
+ if (_r2.i == 0) goto label86;
+ label84:;
+ _r2 = _r3;
+ goto label41;
+ label86:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 700)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.next_;
+ _r5 = _r1;
+ _r1 = _r0;
+ _r0 = _r5;
+ goto label78;
+ label92:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 708)
+ XMLVM_CHECK_NPE(1)
+ _r2.o = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.next_;
+ XMLVM_CHECK_NPE(0)
+ ((java_util_WeakHashMap_Entry*) _r0.o)->fields.java_util_WeakHashMap_Entry.next_ = _r2.o;
+ goto label57;
+ label97:;
+ _r0 = _r4;
+ goto label65;
+ label99:;
+ _r5 = _r1;
+ _r1 = _r2;
+ _r2 = _r0;
+ _r0 = _r5;
+ goto label41;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_WeakHashMap_size__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_size__]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap", "size", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 723)
+ XMLVM_CHECK_NPE(1)
+ java_util_WeakHashMap_poll__(_r1.o);
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 724)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((java_util_WeakHashMap*) _r1.o)->fields.java_util_WeakHashMap.elementCount_;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+void java_util_WeakHashMap_putAllImpl___java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_putAllImpl___java_util_Map]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap", "putAllImpl", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 728)
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r2.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_entrySet__])(_r2.o);
+ if (_r0.o == JAVA_NULL) goto label9;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 729)
+ XMLVM_CHECK_NPE(1)
+ java_util_AbstractMap_putAll___java_util_Map(_r1.o, _r2.o);
+ label9:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 731)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_WeakHashMap.h b/tests/nbody-java/java_util_WeakHashMap.h
new file mode 100644
index 00000000..c89b54f9
--- /dev/null
+++ b/tests/nbody-java/java_util_WeakHashMap.h
@@ -0,0 +1,130 @@
+#ifndef __JAVA_UTIL_WEAKHASHMAP__
+#define __JAVA_UTIL_WEAKHASHMAP__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_WeakHashMap 14
+// Implemented interfaces:
+#include "java_util_Map.h"
+// Super Class:
+#include "java_util_AbstractMap.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_ref_Reference
+#define XMLVM_FORWARD_DECL_java_lang_ref_Reference
+XMLVM_FORWARD_DECL(java_lang_ref_Reference)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_ref_ReferenceQueue
+#define XMLVM_FORWARD_DECL_java_lang_ref_ReferenceQueue
+XMLVM_FORWARD_DECL(java_lang_ref_ReferenceQueue)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Collection
+#define XMLVM_FORWARD_DECL_java_util_Collection
+XMLVM_FORWARD_DECL(java_util_Collection)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Set
+#define XMLVM_FORWARD_DECL_java_util_Set
+XMLVM_FORWARD_DECL(java_util_Set)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_WeakHashMap_Entry
+#define XMLVM_FORWARD_DECL_java_util_WeakHashMap_Entry
+XMLVM_FORWARD_DECL(java_util_WeakHashMap_Entry)
+#endif
+// Class declarations for java.util.WeakHashMap
+XMLVM_DEFINE_CLASS(java_util_WeakHashMap, 18, XMLVM_ITABLE_SIZE_java_util_WeakHashMap)
+
+extern JAVA_OBJECT __CLASS_java_util_WeakHashMap;
+extern JAVA_OBJECT __CLASS_java_util_WeakHashMap_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_WeakHashMap_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_WeakHashMap_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_WeakHashMap
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_WeakHashMap \
+ __INSTANCE_FIELDS_java_util_AbstractMap; \
+ struct { \
+ JAVA_OBJECT referenceQueue_; \
+ JAVA_INT elementCount_; \
+ JAVA_OBJECT elementData_; \
+ JAVA_INT loadFactor_; \
+ JAVA_INT threshold_; \
+ JAVA_INT modCount_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_WeakHashMap \
+ } java_util_WeakHashMap
+
+struct java_util_WeakHashMap {
+ __TIB_DEFINITION_java_util_WeakHashMap* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_WeakHashMap;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_WeakHashMap
+#define XMLVM_FORWARD_DECL_java_util_WeakHashMap
+typedef struct java_util_WeakHashMap java_util_WeakHashMap;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_WeakHashMap 18
+#define XMLVM_VTABLE_IDX_java_util_WeakHashMap_clear__ 6
+#define XMLVM_VTABLE_IDX_java_util_WeakHashMap_containsKey___java_lang_Object 7
+#define XMLVM_VTABLE_IDX_java_util_WeakHashMap_entrySet__ 9
+#define XMLVM_VTABLE_IDX_java_util_WeakHashMap_keySet__ 12
+#define XMLVM_VTABLE_IDX_java_util_WeakHashMap_values__ 17
+#define XMLVM_VTABLE_IDX_java_util_WeakHashMap_get___java_lang_Object 10
+#define XMLVM_VTABLE_IDX_java_util_WeakHashMap_containsValue___java_lang_Object 8
+#define XMLVM_VTABLE_IDX_java_util_WeakHashMap_isEmpty__ 11
+#define XMLVM_VTABLE_IDX_java_util_WeakHashMap_put___java_lang_Object_java_lang_Object 14
+#define XMLVM_VTABLE_IDX_java_util_WeakHashMap_putAll___java_util_Map 13
+#define XMLVM_VTABLE_IDX_java_util_WeakHashMap_remove___java_lang_Object 15
+#define XMLVM_VTABLE_IDX_java_util_WeakHashMap_size__ 16
+
+void __INIT_java_util_WeakHashMap();
+void __INIT_IMPL_java_util_WeakHashMap();
+void __DELETE_java_util_WeakHashMap(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_WeakHashMap(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_WeakHashMap();
+JAVA_OBJECT __NEW_INSTANCE_java_util_WeakHashMap();
+JAVA_INT java_util_WeakHashMap_GET_DEFAULT_SIZE();
+void java_util_WeakHashMap_PUT_DEFAULT_SIZE(JAVA_INT v);
+JAVA_OBJECT java_util_WeakHashMap_newEntryArray___int(JAVA_INT n1);
+void java_util_WeakHashMap___INIT___(JAVA_OBJECT me);
+void java_util_WeakHashMap___INIT____int(JAVA_OBJECT me, JAVA_INT n1);
+void java_util_WeakHashMap___INIT____int_float(JAVA_OBJECT me, JAVA_INT n1, JAVA_FLOAT n2);
+void java_util_WeakHashMap___INIT____java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 6
+void java_util_WeakHashMap_clear__(JAVA_OBJECT me);
+void java_util_WeakHashMap_computeMaxSize__(JAVA_OBJECT me);
+// Vtable index: 7
+JAVA_BOOLEAN java_util_WeakHashMap_containsKey___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 9
+JAVA_OBJECT java_util_WeakHashMap_entrySet__(JAVA_OBJECT me);
+// Vtable index: 12
+JAVA_OBJECT java_util_WeakHashMap_keySet__(JAVA_OBJECT me);
+// Vtable index: 17
+JAVA_OBJECT java_util_WeakHashMap_values__(JAVA_OBJECT me);
+// Vtable index: 10
+JAVA_OBJECT java_util_WeakHashMap_get___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT java_util_WeakHashMap_getEntry___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 8
+JAVA_BOOLEAN java_util_WeakHashMap_containsValue___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 11
+JAVA_BOOLEAN java_util_WeakHashMap_isEmpty__(JAVA_OBJECT me);
+void java_util_WeakHashMap_poll__(JAVA_OBJECT me);
+void java_util_WeakHashMap_removeEntry___java_util_WeakHashMap_Entry(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 14
+JAVA_OBJECT java_util_WeakHashMap_put___java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void java_util_WeakHashMap_rehash__(JAVA_OBJECT me);
+// Vtable index: 13
+void java_util_WeakHashMap_putAll___java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 15
+JAVA_OBJECT java_util_WeakHashMap_remove___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 16
+JAVA_INT java_util_WeakHashMap_size__(JAVA_OBJECT me);
+void java_util_WeakHashMap_putAllImpl___java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/java_util_WeakHashMap_Entry.c b/tests/nbody-java/java_util_WeakHashMap_Entry.c
new file mode 100644
index 00000000..5bea2e98
--- /dev/null
+++ b/tests/nbody-java/java_util_WeakHashMap_Entry.c
@@ -0,0 +1,398 @@
+#include "xmlvm.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_lang_ref_ReferenceQueue.h"
+
+#include "java_util_WeakHashMap_Entry.h"
+
+#define XMLVM_CURRENT_CLASS_NAME WeakHashMap_Entry
+#define XMLVM_CURRENT_PKG_CLASS_NAME java_util_WeakHashMap_Entry
+
+__TIB_DEFINITION_java_util_WeakHashMap_Entry __TIB_java_util_WeakHashMap_Entry = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_java_util_WeakHashMap_Entry, // classInitializer
+ "java.util.WeakHashMap$Entry", // className
+ "java.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/lang/ref/WeakReference<TK;>;Ljava/util/Map$Entry<TK;TV;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_ref_WeakReference, // extends
+ sizeof(java_util_WeakHashMap_Entry), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_java_util_WeakHashMap_Entry;
+JAVA_OBJECT __CLASS_java_util_WeakHashMap_Entry_1ARRAY;
+JAVA_OBJECT __CLASS_java_util_WeakHashMap_Entry_2ARRAY;
+JAVA_OBJECT __CLASS_java_util_WeakHashMap_Entry_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_java_util_WeakHashMap_Entry()
+{
+ staticInitializerLock(&__TIB_java_util_WeakHashMap_Entry);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_java_util_WeakHashMap_Entry.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_java_util_WeakHashMap_Entry.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_java_util_WeakHashMap_Entry);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_java_util_WeakHashMap_Entry.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_java_util_WeakHashMap_Entry.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_java_util_WeakHashMap_Entry.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("java.util.WeakHashMap$Entry")
+ __INIT_IMPL_java_util_WeakHashMap_Entry();
+ }
+}
+
+void __INIT_IMPL_java_util_WeakHashMap_Entry()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_ref_WeakReference)
+ __TIB_java_util_WeakHashMap_Entry.newInstanceFunc = __NEW_INSTANCE_java_util_WeakHashMap_Entry;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_java_util_WeakHashMap_Entry.vtable, __TIB_java_lang_ref_WeakReference.vtable, sizeof(__TIB_java_lang_ref_WeakReference.vtable));
+ // Initialize vtable for this class
+ __TIB_java_util_WeakHashMap_Entry.vtable[6] = (VTABLE_PTR) &java_util_WeakHashMap_Entry_getKey__;
+ __TIB_java_util_WeakHashMap_Entry.vtable[7] = (VTABLE_PTR) &java_util_WeakHashMap_Entry_getValue__;
+ __TIB_java_util_WeakHashMap_Entry.vtable[8] = (VTABLE_PTR) &java_util_WeakHashMap_Entry_setValue___java_lang_Object;
+ __TIB_java_util_WeakHashMap_Entry.vtable[1] = (VTABLE_PTR) &java_util_WeakHashMap_Entry_equals___java_lang_Object;
+ __TIB_java_util_WeakHashMap_Entry.vtable[4] = (VTABLE_PTR) &java_util_WeakHashMap_Entry_hashCode__;
+ __TIB_java_util_WeakHashMap_Entry.vtable[5] = (VTABLE_PTR) &java_util_WeakHashMap_Entry_toString__;
+ // Initialize interface information
+ __TIB_java_util_WeakHashMap_Entry.numImplementedInterfaces = 1;
+ __TIB_java_util_WeakHashMap_Entry.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_util_Map_Entry)
+
+ __TIB_java_util_WeakHashMap_Entry.implementedInterfaces[0][0] = &__TIB_java_util_Map_Entry;
+ // Initialize itable for this class
+ __TIB_java_util_WeakHashMap_Entry.itableBegin = &__TIB_java_util_WeakHashMap_Entry.itable[0];
+ __TIB_java_util_WeakHashMap_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_equals___java_lang_Object] = __TIB_java_util_WeakHashMap_Entry.vtable[1];
+ __TIB_java_util_WeakHashMap_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__] = __TIB_java_util_WeakHashMap_Entry.vtable[6];
+ __TIB_java_util_WeakHashMap_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__] = __TIB_java_util_WeakHashMap_Entry.vtable[7];
+ __TIB_java_util_WeakHashMap_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_hashCode__] = __TIB_java_util_WeakHashMap_Entry.vtable[4];
+ __TIB_java_util_WeakHashMap_Entry.itable[XMLVM_ITABLE_IDX_java_util_Map_Entry_setValue___java_lang_Object] = __TIB_java_util_WeakHashMap_Entry.vtable[8];
+
+
+ __TIB_java_util_WeakHashMap_Entry.declaredFields = &__field_reflection_data[0];
+ __TIB_java_util_WeakHashMap_Entry.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_java_util_WeakHashMap_Entry.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_java_util_WeakHashMap_Entry.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_java_util_WeakHashMap_Entry.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_java_util_WeakHashMap_Entry.methodDispatcherFunc = method_dispatcher;
+ __TIB_java_util_WeakHashMap_Entry.declaredMethods = &__method_reflection_data[0];
+ __TIB_java_util_WeakHashMap_Entry.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_java_util_WeakHashMap_Entry = XMLVM_CREATE_CLASS_OBJECT(&__TIB_java_util_WeakHashMap_Entry);
+ __TIB_java_util_WeakHashMap_Entry.clazz = __CLASS_java_util_WeakHashMap_Entry;
+ __TIB_java_util_WeakHashMap_Entry.baseType = JAVA_NULL;
+ __CLASS_java_util_WeakHashMap_Entry_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_WeakHashMap_Entry);
+ __CLASS_java_util_WeakHashMap_Entry_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_WeakHashMap_Entry_1ARRAY);
+ __CLASS_java_util_WeakHashMap_Entry_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_java_util_WeakHashMap_Entry_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_java_util_WeakHashMap_Entry]
+ //XMLVM_END_WRAPPER
+
+ __TIB_java_util_WeakHashMap_Entry.classInitialized = 1;
+}
+
+void __DELETE_java_util_WeakHashMap_Entry(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_java_util_WeakHashMap_Entry]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_java_util_WeakHashMap_Entry(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_ref_WeakReference(me, 0 || derivedClassWillRegisterFinalizer);
+ ((java_util_WeakHashMap_Entry*) me)->fields.java_util_WeakHashMap_Entry.hash_ = 0;
+ ((java_util_WeakHashMap_Entry*) me)->fields.java_util_WeakHashMap_Entry.isNull_ = 0;
+ ((java_util_WeakHashMap_Entry*) me)->fields.java_util_WeakHashMap_Entry.value_ = (java_lang_Object*) JAVA_NULL;
+ ((java_util_WeakHashMap_Entry*) me)->fields.java_util_WeakHashMap_Entry.next_ = (java_util_WeakHashMap_Entry*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_java_util_WeakHashMap_Entry]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_java_util_WeakHashMap_Entry()
+{ XMLVM_CLASS_INIT(java_util_WeakHashMap_Entry)
+java_util_WeakHashMap_Entry* me = (java_util_WeakHashMap_Entry*) XMLVM_MALLOC(sizeof(java_util_WeakHashMap_Entry));
+ me->tib = &__TIB_java_util_WeakHashMap_Entry;
+ __INIT_INSTANCE_MEMBERS_java_util_WeakHashMap_Entry(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_java_util_WeakHashMap_Entry]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_java_util_WeakHashMap_Entry()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+void java_util_WeakHashMap_Entry___INIT____java_lang_Object_java_lang_Object_java_lang_ref_ReferenceQueue(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_Entry___INIT____java_lang_Object_java_lang_Object_java_lang_ref_ReferenceQueue]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap$Entry", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.o = n2;
+ _r5.o = n3;
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 71)
+ XMLVM_CHECK_NPE(2)
+ java_lang_ref_WeakReference___INIT____java_lang_Object_java_lang_ref_ReferenceQueue(_r2.o, _r3.o, _r5.o);
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 72)
+ if (_r3.o != JAVA_NULL) goto label19;
+ _r0.i = 1;
+ label7:;
+ XMLVM_CHECK_NPE(2)
+ ((java_util_WeakHashMap_Entry*) _r2.o)->fields.java_util_WeakHashMap_Entry.isNull_ = _r0.i;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 73)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_util_WeakHashMap_Entry*) _r2.o)->fields.java_util_WeakHashMap_Entry.isNull_;
+ if (_r0.i == 0) goto label21;
+ _r0 = _r1;
+ label14:;
+ XMLVM_CHECK_NPE(2)
+ ((java_util_WeakHashMap_Entry*) _r2.o)->fields.java_util_WeakHashMap_Entry.hash_ = _r0.i;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 74)
+ XMLVM_CHECK_NPE(2)
+ ((java_util_WeakHashMap_Entry*) _r2.o)->fields.java_util_WeakHashMap_Entry.value_ = _r4.o;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 75)
+ XMLVM_EXIT_METHOD()
+ return;
+ label19:;
+ _r0 = _r1;
+ goto label7;
+ label21:;
+ //java_lang_Object_hashCode__[4]
+ XMLVM_CHECK_NPE(3)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r3.o)->tib->vtable[4])(_r3.o);
+ goto label14;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_WeakHashMap_Entry_getKey__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_Entry_getKey__]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap$Entry", "getKey", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 78)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_ref_Reference_get__(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_WeakHashMap_Entry_getValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_Entry_getValue__]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap$Entry", "getValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 82)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.value_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_WeakHashMap_Entry_setValue___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_Entry_setValue___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap$Entry", "setValue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 86)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.value_;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 87)
+ XMLVM_CHECK_NPE(1)
+ ((java_util_WeakHashMap_Entry*) _r1.o)->fields.java_util_WeakHashMap_Entry.value_ = _r2.o;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 88)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN java_util_WeakHashMap_Entry_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_Entry_equals___java_lang_Object]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap$Entry", "equals", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.o = n1;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 93)
+ XMLVM_CLASS_INIT(java_util_Map_Entry)
+ _r0.i = XMLVM_ISA(_r4.o, __CLASS_java_util_Map_Entry);
+ if (_r0.i != 0) goto label7;
+ _r0 = _r2;
+ label6:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 94)
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 101)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label7:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 96)
+ _r4.o = _r4.o;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 97)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_lang_ref_Reference_get__(_r3.o);
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 98)
+ if (_r0.o != JAVA_NULL) goto label35;
+ XMLVM_CHECK_NPE(4)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__])(_r4.o);
+ if (_r0.o != _r1.o) goto label45;
+ label21:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 100)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_util_WeakHashMap_Entry*) _r3.o)->fields.java_util_WeakHashMap_Entry.value_;
+ if (_r0.o != JAVA_NULL) goto label47;
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_util_WeakHashMap_Entry*) _r3.o)->fields.java_util_WeakHashMap_Entry.value_;
+ XMLVM_CHECK_NPE(4)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__])(_r4.o);
+ if (_r0.o != _r1.o) goto label45;
+ label33:;
+ _r0.i = 1;
+ goto label6;
+ label35:;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 99)
+ XMLVM_CHECK_NPE(4)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__])(_r4.o);
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r0.o)->tib->vtable[1])(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label21;
+ label45:;
+ _r0 = _r2;
+ goto label6;
+ label47:;
+ XMLVM_CHECK_NPE(3)
+ _r0.o = ((java_util_WeakHashMap_Entry*) _r3.o)->fields.java_util_WeakHashMap_Entry.value_;
+ XMLVM_CHECK_NPE(4)
+ _r1.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__])(_r4.o);
+ //java_lang_Object_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(0)
+ _r0.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_Object*) _r0.o)->tib->vtable[1])(_r0.o, _r1.o);
+ if (_r0.i == 0) goto label45;
+ goto label33;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT java_util_WeakHashMap_Entry_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_Entry_hashCode__]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap$Entry", "hashCode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 106)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = ((java_util_WeakHashMap_Entry*) _r2.o)->fields.java_util_WeakHashMap_Entry.hash_;
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_WeakHashMap_Entry*) _r2.o)->fields.java_util_WeakHashMap_Entry.value_;
+ if (_r1.o != JAVA_NULL) goto label9;
+ _r1.i = 0;
+ label7:;
+ _r0.i = _r0.i + _r1.i;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label9:;
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_WeakHashMap_Entry*) _r2.o)->fields.java_util_WeakHashMap_Entry.value_;
+ //java_lang_Object_hashCode__[4]
+ XMLVM_CHECK_NPE(1)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r1.o)->tib->vtable[4])(_r1.o);
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT java_util_WeakHashMap_Entry_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[java_util_WeakHashMap_Entry_toString__]
+ XMLVM_ENTER_METHOD("java.util.WeakHashMap$Entry", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("WeakHashMap.java", 111)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT___(_r0.o);
+ XMLVM_CHECK_NPE(2)
+ _r1.o = java_lang_ref_Reference_get__(_r2.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_Object(_r0.o, _r1.o);
+ // "="
+ _r1.o = xmlvm_create_java_string_from_pool(648);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ XMLVM_CHECK_NPE(2)
+ _r1.o = ((java_util_WeakHashMap_Entry*) _r2.o)->fields.java_util_WeakHashMap_Entry.value_;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_Object(_r0.o, _r1.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/java_util_WeakHashMap_Entry.h b/tests/nbody-java/java_util_WeakHashMap_Entry.h
new file mode 100644
index 00000000..ba2ac7c3
--- /dev/null
+++ b/tests/nbody-java/java_util_WeakHashMap_Entry.h
@@ -0,0 +1,90 @@
+#ifndef __JAVA_UTIL_WEAKHASHMAP_ENTRY__
+#define __JAVA_UTIL_WEAKHASHMAP_ENTRY__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_java_util_WeakHashMap_Entry 5
+// Implemented interfaces:
+#include "java_util_Map_Entry.h"
+// Super Class:
+#include "java_lang_ref_WeakReference.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_ref_ReferenceQueue
+#define XMLVM_FORWARD_DECL_java_lang_ref_ReferenceQueue
+XMLVM_FORWARD_DECL(java_lang_ref_ReferenceQueue)
+#endif
+// Class declarations for java.util.WeakHashMap$Entry
+XMLVM_DEFINE_CLASS(java_util_WeakHashMap_Entry, 9, XMLVM_ITABLE_SIZE_java_util_WeakHashMap_Entry)
+
+extern JAVA_OBJECT __CLASS_java_util_WeakHashMap_Entry;
+extern JAVA_OBJECT __CLASS_java_util_WeakHashMap_Entry_1ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_WeakHashMap_Entry_2ARRAY;
+extern JAVA_OBJECT __CLASS_java_util_WeakHashMap_Entry_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_java_util_WeakHashMap_Entry
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_java_util_WeakHashMap_Entry \
+ __INSTANCE_FIELDS_java_lang_ref_WeakReference; \
+ struct { \
+ JAVA_INT hash_; \
+ JAVA_BOOLEAN isNull_; \
+ JAVA_OBJECT value_; \
+ JAVA_OBJECT next_; \
+ __ADDITIONAL_INSTANCE_FIELDS_java_util_WeakHashMap_Entry \
+ } java_util_WeakHashMap_Entry
+
+struct java_util_WeakHashMap_Entry {
+ __TIB_DEFINITION_java_util_WeakHashMap_Entry* tib;
+ struct {
+ __INSTANCE_FIELDS_java_util_WeakHashMap_Entry;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_java_util_WeakHashMap_Entry
+#define XMLVM_FORWARD_DECL_java_util_WeakHashMap_Entry
+typedef struct java_util_WeakHashMap_Entry java_util_WeakHashMap_Entry;
+#endif
+
+#define XMLVM_VTABLE_SIZE_java_util_WeakHashMap_Entry 9
+#define XMLVM_VTABLE_IDX_java_util_WeakHashMap_Entry_getKey__ 6
+#define XMLVM_VTABLE_IDX_java_util_WeakHashMap_Entry_getValue__ 7
+#define XMLVM_VTABLE_IDX_java_util_WeakHashMap_Entry_setValue___java_lang_Object 8
+#define XMLVM_VTABLE_IDX_java_util_WeakHashMap_Entry_equals___java_lang_Object 1
+#define XMLVM_VTABLE_IDX_java_util_WeakHashMap_Entry_hashCode__ 4
+#define XMLVM_VTABLE_IDX_java_util_WeakHashMap_Entry_toString__ 5
+
+void __INIT_java_util_WeakHashMap_Entry();
+void __INIT_IMPL_java_util_WeakHashMap_Entry();
+void __DELETE_java_util_WeakHashMap_Entry(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_java_util_WeakHashMap_Entry(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_java_util_WeakHashMap_Entry();
+JAVA_OBJECT __NEW_INSTANCE_java_util_WeakHashMap_Entry();
+void java_util_WeakHashMap_Entry___INIT____java_lang_Object_java_lang_Object_java_lang_ref_ReferenceQueue(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3);
+// Vtable index: 6
+JAVA_OBJECT java_util_WeakHashMap_Entry_getKey__(JAVA_OBJECT me);
+// Vtable index: 7
+JAVA_OBJECT java_util_WeakHashMap_Entry_getValue__(JAVA_OBJECT me);
+// Vtable index: 8
+JAVA_OBJECT java_util_WeakHashMap_Entry_setValue___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 1
+JAVA_BOOLEAN java_util_WeakHashMap_Entry_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 4
+JAVA_INT java_util_WeakHashMap_Entry_hashCode__(JAVA_OBJECT me);
+// Vtable index: 5
+JAVA_OBJECT java_util_WeakHashMap_Entry_toString__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/native_java_io_File.c b/tests/nbody-java/native_java_io_File.c
new file mode 100644
index 00000000..0539f167
--- /dev/null
+++ b/tests/nbody-java/native_java_io_File.c
@@ -0,0 +1,309 @@
+
+#include "xmlvm.h"
+#include "java_io_File.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+#include <sys/stat.h>
+#include <unistd.h>
+#include <dirent.h>
+#include "xmlvm-util.h"
+
+char * readlink_malloc (const char *filename)
+{
+ int size = 100;
+ char *buffer = NULL;
+
+ while (1)
+ {
+ buffer = (char *) XMLVM_ATOMIC_MALLOC (size);
+ int nchars = readlink (filename, buffer, size);
+ if (nchars < 0)
+ {
+ XMLVM_FREE(buffer);
+ return NULL;
+ }
+ if (nchars < size)
+ return buffer;
+ XMLVM_FREE(buffer);
+ size *= 2;
+ }
+}
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+void java_io_File_oneTimeInitialization__()
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_oneTimeInitialization__]
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_io_File_rootsImpl__()
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_rootsImpl__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_io_File_isCaseSensitiveImpl__()
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_isCaseSensitiveImpl__]
+ return 1;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_io_File_deleteDirImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_deleteDirImpl___byte_1ARRAY]
+ char* fileName = XMLVMUtil_convertFromByteArray(n1);
+ return rmdir(fileName) == 0;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_io_File_deleteFileImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_deleteFileImpl___byte_1ARRAY]
+ char* fileName = XMLVMUtil_convertFromByteArray(n1);
+ return remove(fileName) == 0;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_io_File_existsImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_existsImpl___byte_1ARRAY]
+ char* fileName = XMLVMUtil_convertFromByteArray(n1);
+ struct stat buf;
+ int err;
+ err = stat(fileName, &buf);
+ return err != -1;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_io_File_getCanonImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_getCanonImpl___byte_1ARRAY]
+ //See HARMONY/classlib/modules/luni/src/main/native/luni/shared/file.c
+ //They don't seem to do more either on a UNIX file system
+ return n1;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG java_io_File_getTotalSpaceImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_getTotalSpaceImpl___byte_1ARRAY]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG java_io_File_getUsableSpaceImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_getUsableSpaceImpl___byte_1ARRAY]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG java_io_File_getFreeSpaceImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_getFreeSpaceImpl___byte_1ARRAY]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_io_File_isDirectoryImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_isDirectoryImpl___byte_1ARRAY]
+ char* fileName = XMLVMUtil_convertFromByteArray(n1);
+ struct stat buf;
+ int err;
+ err = stat(fileName, &buf);
+ return buf.st_mode; // XXX & S_IFDIR;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_io_File_isFileImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_isFileImpl___byte_1ARRAY]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_io_File_isHiddenImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_isHiddenImpl___byte_1ARRAY]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_io_File_isReadOnlyImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_isReadOnlyImpl___byte_1ARRAY]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_io_File_isWriteOnlyImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_isWriteOnlyImpl___byte_1ARRAY]
+ return (JAVA_BOOLEAN) 0; //TODO: Check this natively
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_io_File_getLinkImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_getLinkImpl___byte_1ARRAY]
+ const char* fileName = XMLVMUtil_convertFromByteArray(n1);
+ char* resolved = readlink_malloc(fileName);
+ if(resolved == NULL) {
+ return n1;
+ } else {
+ XMLVMElem _r0;
+ int length = strlen(resolved);
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_byte, length);
+ char* data = (char*) ((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ XMLVM_MEMCPY(data, resolved, length);
+ return _r0.o;
+ }
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG java_io_File_lastModifiedImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_lastModifiedImpl___byte_1ARRAY]
+ char* fileName = XMLVMUtil_convertFromByteArray(n1);
+ struct stat buf;
+ int err;
+ err = stat(fileName, &buf);
+ return buf.st_mtime;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_io_File_setLastModifiedImpl___byte_1ARRAY_long(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_LONG n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_setLastModifiedImpl___byte_1ARRAY_long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_io_File_setReadOnlyImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_setReadOnlyImpl___byte_1ARRAY]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_io_File_setReadableImpl___byte_1ARRAY_boolean_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2, JAVA_BOOLEAN n3)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_setReadableImpl___byte_1ARRAY_boolean_boolean]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_io_File_setWritableImpl___byte_1ARRAY_boolean_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2, JAVA_BOOLEAN n3)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_setWritableImpl___byte_1ARRAY_boolean_boolean]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG java_io_File_lengthImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_lengthImpl___byte_1ARRAY]
+ char* fileName = XMLVMUtil_convertFromByteArray(n1);
+ FILE* fp = fopen(fileName, "rb");
+ fseek(fp, 0L, SEEK_END);
+ JAVA_LONG size = ftell(fp);
+ fclose(fp);
+ return size;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_io_File_listImpl___byte_1ARRAY(JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_listImpl___byte_1ARRAY]
+ // TODO: There may be memory management issues in this implementation
+ org_xmlvm_runtime_XMLVMArray *array =
+ (org_xmlvm_runtime_XMLVMArray *) __NEW_org_xmlvm_runtime_XMLVMArray();
+ array->fields.org_xmlvm_runtime_XMLVMArray.type_ = __CLASS_org_xmlvm_runtime_XMLVMArray;
+ array->fields.org_xmlvm_runtime_XMLVMArray.length_ = 256;
+ array->fields.org_xmlvm_runtime_XMLVMArray.array_ = XMLVM_MALLOC(sizeof(JAVA_OBJECT) * 256);
+
+ JAVA_OBJECT *subarray = (JAVA_OBJECT *) array->fields.org_xmlvm_runtime_XMLVMArray.array_;
+
+ int i = 0;
+ for (i = 0; i < 256; i++) {
+ org_xmlvm_runtime_XMLVMArray *array2 =
+ (org_xmlvm_runtime_XMLVMArray *) __NEW_org_xmlvm_runtime_XMLVMArray();
+ array2->fields.org_xmlvm_runtime_XMLVMArray.type_ = __CLASS_byte;
+ array2->fields.org_xmlvm_runtime_XMLVMArray.length_ = 256;
+ array2->fields.org_xmlvm_runtime_XMLVMArray.array_ = XMLVM_MALLOC(sizeof(char) * 256);
+ subarray[i] = (JAVA_OBJECT) array2;
+ }
+
+ // Get the
+ char* fileName = XMLVMUtil_convertFromByteArray(n1);
+
+ DIR *d;
+ struct dirent *e;
+ if (d = opendir(fileName)) {
+ i = 0;
+ int j = 0;
+ while (e = readdir(d)) {
+ if (i < 256) { // TODO: What if there are more than 256 files?
+ org_xmlvm_runtime_XMLVMArray *array2 = (org_xmlvm_runtime_XMLVMArray *) (subarray[i]);
+ char *bytearray = array2->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ for (j = 0; j < 256; j++) {
+ bytearray[j] = e->d_name[j];
+ if (e->d_name[j] == 0) {
+ array2->fields.org_xmlvm_runtime_XMLVMArray.length_ = j;
+ break;
+ }
+ }
+ i++;
+
+ }
+
+ // Add e->d_name to array!
+ }
+ array->fields.org_xmlvm_runtime_XMLVMArray.length_ = i;
+ closedir(d);
+ } else {
+ // TODO: Throw IOException?
+ }
+ return array;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_io_File_mkdirImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_mkdirImpl___byte_1ARRAY]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT java_io_File_newFileImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_newFileImpl___byte_1ARRAY]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_io_File_renameToImpl___byte_1ARRAY_byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_renameToImpl___byte_1ARRAY_byte_1ARRAY]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_io_File_setExecutableImpl___byte_1ARRAY_boolean_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2, JAVA_BOOLEAN n3)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_setExecutableImpl___byte_1ARRAY_boolean_boolean]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_io_File_isExecutableImpl___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_File_isExecutableImpl___byte_1ARRAY]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
diff --git a/tests/nbody-java/native_java_io_FileDescriptor.c b/tests/nbody-java/native_java_io_FileDescriptor.c
new file mode 100644
index 00000000..aa065e96
--- /dev/null
+++ b/tests/nbody-java/native_java_io_FileDescriptor.c
@@ -0,0 +1,21 @@
+
+#include "xmlvm.h"
+#include "java_io_FileDescriptor.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+void java_io_FileDescriptor_oneTimeInitialization__()
+{
+ //XMLVM_BEGIN_NATIVE[java_io_FileDescriptor_oneTimeInitialization__]
+ //XMLVM_END_NATIVE
+}
+
+void java_io_FileDescriptor_syncImpl__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_io_FileDescriptor_syncImpl__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
diff --git a/tests/nbody-java/native_java_lang_Class.c b/tests/nbody-java/native_java_lang_Class.c
new file mode 100644
index 00000000..f04c95e5
--- /dev/null
+++ b/tests/nbody-java/native_java_lang_Class.c
@@ -0,0 +1,899 @@
+
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+
+#include "java_lang_reflect_Field.h"
+#include "java_lang_reflect_Constructor.h"
+#include "java_lang_reflect_Method.h"
+#include "org_xmlvm_runtime_XMLVMArray.h"
+#include "java_lang_ClassNotFoundException.h"
+#include "xmlvm-util.h"
+
+
+__TIB_DEFINITION_boolean __TIB_boolean;
+__TIB_DEFINITION_byte __TIB_byte;
+__TIB_DEFINITION_char __TIB_char;
+__TIB_DEFINITION_short __TIB_short;
+__TIB_DEFINITION_int __TIB_int;
+__TIB_DEFINITION_long __TIB_long;
+__TIB_DEFINITION_float __TIB_float;
+__TIB_DEFINITION_double __TIB_double;
+__TIB_DEFINITION_void __TIB_void;
+
+JAVA_OBJECT __CLASS_boolean;
+JAVA_OBJECT __CLASS_byte;
+JAVA_OBJECT __CLASS_char;
+JAVA_OBJECT __CLASS_short;
+JAVA_OBJECT __CLASS_int;
+JAVA_OBJECT __CLASS_long;
+JAVA_OBJECT __CLASS_float;
+JAVA_OBJECT __CLASS_double;
+JAVA_OBJECT __CLASS_void;
+
+
+JAVA_OBJECT __CLASS_boolean_1ARRAY;
+JAVA_OBJECT __CLASS_byte_1ARRAY;
+JAVA_OBJECT __CLASS_char_1ARRAY;
+JAVA_OBJECT __CLASS_short_1ARRAY;
+JAVA_OBJECT __CLASS_int_1ARRAY;
+JAVA_OBJECT __CLASS_long_1ARRAY;
+JAVA_OBJECT __CLASS_float_1ARRAY;
+JAVA_OBJECT __CLASS_double_1ARRAY;
+
+JAVA_OBJECT __CLASS_boolean_2ARRAY;
+JAVA_OBJECT __CLASS_byte_2ARRAY;
+JAVA_OBJECT __CLASS_char_2ARRAY;
+JAVA_OBJECT __CLASS_short_2ARRAY;
+JAVA_OBJECT __CLASS_int_2ARRAY;
+JAVA_OBJECT __CLASS_long_2ARRAY;
+JAVA_OBJECT __CLASS_float_2ARRAY;
+JAVA_OBJECT __CLASS_double_2ARRAY;
+
+JAVA_OBJECT __CLASS_boolean_3ARRAY;
+JAVA_OBJECT __CLASS_byte_3ARRAY;
+JAVA_OBJECT __CLASS_char_3ARRAY;
+JAVA_OBJECT __CLASS_short_3ARRAY;
+JAVA_OBJECT __CLASS_int_3ARRAY;
+JAVA_OBJECT __CLASS_long_3ARRAY;
+JAVA_OBJECT __CLASS_float_3ARRAY;
+JAVA_OBJECT __CLASS_double_3ARRAY;
+
+
+void init_primitive_class(void* clazz, const char* name)
+{
+ __TIB_DEFINITION_TEMPLATE* c = (__TIB_DEFINITION_TEMPLATE*) clazz;
+ //TODO who is initializing this class?
+ c->classInitializationBegan = 1;
+ c->classInitialized = 1;
+ c->initializerThreadId = -1;
+ c->className = name;
+ c->extends = (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Class;
+ c->flags = XMLVM_TYPE_PRIMITIVE;
+ XMLVM_MEMCPY(c->vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+}
+
+void __INIT_boolean()
+{
+ init_primitive_class(&__TIB_boolean, "boolean");
+}
+
+void __INIT_byte()
+{
+ init_primitive_class(&__TIB_byte, "byte");
+}
+
+void __INIT_char()
+{
+ init_primitive_class(&__TIB_char, "char");
+}
+
+void __INIT_short()
+{
+ init_primitive_class(&__TIB_short, "short");
+}
+
+void __INIT_int()
+{
+ init_primitive_class(&__TIB_int, "int");
+}
+
+void __INIT_long()
+{
+ init_primitive_class(&__TIB_long, "long");
+}
+
+void __INIT_float()
+{
+ init_primitive_class(&__TIB_float, "float");
+}
+
+void __INIT_double()
+{
+ init_primitive_class(&__TIB_double, "double");
+}
+
+void __INIT_void()
+{
+ init_primitive_class(&__TIB_void, "void");
+}
+
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+void java_lang_Class_initNativeLayer__()
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_initNativeLayer__]
+ __INIT_boolean();
+ __INIT_byte();
+ __INIT_char();
+ __INIT_short();
+ __INIT_int();
+ __INIT_long();
+ __INIT_float();
+ __INIT_double();
+ __INIT_void();
+
+ __CLASS_boolean = XMLVM_CREATE_CLASS_OBJECT(&__TIB_boolean);
+ __CLASS_byte = XMLVM_CREATE_CLASS_OBJECT(&__TIB_byte);
+ __CLASS_char = XMLVM_CREATE_CLASS_OBJECT(&__TIB_char);
+ __CLASS_short = XMLVM_CREATE_CLASS_OBJECT(&__TIB_short);
+ __CLASS_int = XMLVM_CREATE_CLASS_OBJECT(&__TIB_int);
+ __CLASS_long = XMLVM_CREATE_CLASS_OBJECT(&__TIB_long);
+ __CLASS_float = XMLVM_CREATE_CLASS_OBJECT(&__TIB_float);
+ __CLASS_double = XMLVM_CREATE_CLASS_OBJECT(&__TIB_double);
+ __CLASS_void = XMLVM_CREATE_CLASS_OBJECT(&__TIB_void);
+
+ __CLASS_boolean_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_boolean);
+ __CLASS_byte_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_byte);
+ __CLASS_char_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_char);
+ __CLASS_short_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_short);
+ __CLASS_int_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_int);
+ __CLASS_long_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_long);
+ __CLASS_float_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_float);
+ __CLASS_double_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_double);
+
+ __CLASS_boolean_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_boolean_1ARRAY);
+ __CLASS_byte_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_byte_1ARRAY);
+ __CLASS_char_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_char_1ARRAY);
+ __CLASS_short_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_short_1ARRAY);
+ __CLASS_int_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_int_1ARRAY);
+ __CLASS_long_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_long_1ARRAY);
+ __CLASS_float_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_float_1ARRAY);
+ __CLASS_double_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_double_1ARRAY);
+
+ __CLASS_boolean_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_boolean_2ARRAY);
+ __CLASS_byte_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_byte_2ARRAY);
+ __CLASS_char_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_char_2ARRAY);
+ __CLASS_short_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_short_2ARRAY);
+ __CLASS_int_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_int_2ARRAY);
+ __CLASS_long_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_long_2ARRAY);
+ __CLASS_float_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_float_2ARRAY);
+ __CLASS_double_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_double_2ARRAY);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getStackClasses___int_boolean(JAVA_INT n1, JAVA_BOOLEAN n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getStackClasses___int_boolean]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_forName___java_lang_String_boolean_java_lang_ClassLoader(JAVA_OBJECT n1, JAVA_BOOLEAN n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_forName___java_lang_String_boolean_java_lang_ClassLoader]
+ static JAVA_OBJECT classMap = JAVA_NULL;
+ if (classMap == JAVA_NULL) {
+ classMap = XMLVMUtil_NEW_HashMap();
+ }
+ java_lang_Class* clazz = XMLVMUtil_HashMap_get(classMap, n1);
+ if (clazz != JAVA_NULL) {
+ return clazz;
+ }
+ int i = 0;
+ __TIB_DEFINITION_TEMPLATE* tib;
+ for (i = 0; i < __xmlvm_num_tib; i++) {
+ tib = __xmlvm_tib_list[i];
+ if (xmlvm_java_string_cmp(n1, tib->className)) {
+ XMLVM_REFLECTION_USED(tib->className)
+ break;
+ }
+ }
+ if (i == __xmlvm_num_tib) {
+ // Class not found
+ XMLVM_THROW(java_lang_ClassNotFoundException)
+ }
+ if (!tib->classInitialized) {
+ Func_V initFunc = tib->classInitializer;
+ initFunc();
+ //TODO: static initializers should only be run if n2==true
+ //but can't skip initFunf here, since that initializes the core data structues
+ }
+ clazz = tib->clazz;
+ XMLVMUtil_HashMap_put(classMap, n1, clazz);
+ return clazz;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getClasses__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getClasses__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_Class_verify__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_verify__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getAnnotation___java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getAnnotation___java_lang_Class]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getAnnotations__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getAnnotations__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getComponentType__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getComponentType__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ if ((tib->flags & XMLVM_TYPE_ARRAY) == 0) {
+ // This is not an array
+ return JAVA_NULL;
+ }
+ return tib->baseType;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getConstructors__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getConstructors__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getDeclaredAnnotations__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getDeclaredAnnotations__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getDeclaredClasses__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getDeclaredClasses__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getDeclaredConstructors__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getDeclaredConstructors__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ int numConstructors = tib->numDeclaredConstructors;
+ Func_OOO dispatcher = tib->constructorDispatcherFunc;
+ if (!__TIB_java_lang_reflect_Constructor.classInitialized) __INIT_java_lang_reflect_Constructor();
+ org_xmlvm_runtime_XMLVMArray* constructors = XMLVMArray_createSingleDimension(__CLASS_java_lang_reflect_Constructor, numConstructors);
+ JAVA_ARRAY_OBJECT* constructorArray = (JAVA_ARRAY_OBJECT*) constructors->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ JAVA_INT slot = 0;
+ for (slot = 0; slot < numConstructors; slot++) {
+ java_lang_reflect_Constructor* constructor = __NEW_java_lang_reflect_Constructor();
+ XMLVM_CONSTRUCTOR_REFLECTION_DATA* currentConstructor = (tib->declaredConstructors) + slot;
+ int numParameters = currentConstructor->numParameterTypes;
+ org_xmlvm_runtime_XMLVMArray* parameters = XMLVMArray_createSingleDimension(__CLASS_java_lang_Class, numParameters);
+ JAVA_ARRAY_OBJECT* parameterArray = (JAVA_ARRAY_OBJECT*) parameters->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ int j = 0;
+ JAVA_OBJECT** paramTypes = currentConstructor->parameterTypes;
+ for (j = 0; j < numParameters; j++) {
+ parameterArray[j] = *(paramTypes[j]);
+ }
+ JAVA_OBJECT* checkedExceptions = JAVA_NULL;
+ int numCheckedExceptions = 0;
+ int modifiers = 0;
+ java_lang_String* signature = xmlvm_create_java_string(currentConstructor->signature);
+ JAVA_OBJECT annotations = JAVA_NULL;
+ JAVA_OBJECT parameterAnnotations = JAVA_NULL;
+ java_lang_reflect_Constructor___INIT____java_lang_Class_java_lang_Class_1ARRAY_java_lang_Class_1ARRAY_int_java_lang_Object_int_java_lang_String_byte_1ARRAY_byte_1ARRAY(constructor, tib->clazz, parameters, checkedExceptions, modifiers, dispatcher, slot, signature, annotations, parameterAnnotations);
+ constructorArray[slot] = constructor;
+ }
+ return constructors;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getDeclaredField___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getDeclaredField___java_lang_String]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ int numFields = tib->numDeclaredFields;
+ if (!__TIB_java_lang_reflect_Field.classInitialized) __INIT_java_lang_reflect_Field();
+ int i = 0;
+ for (i = 0; i < numFields; i++) {
+ XMLVM_FIELD_REFLECTION_DATA* currentField = (tib->declaredFields) + i;
+ java_lang_String* name = xmlvm_create_java_string(currentField->name);
+ if(java_lang_Object_equals___java_lang_Object(name, n1))
+ {
+ java_lang_reflect_Field* field = __NEW_java_lang_reflect_Field();
+ java_lang_Class* declaringClass = tib->clazz;
+ java_lang_Class* type = *(currentField->type);
+ JAVA_INT modifiers = currentField->modifiers;
+ JAVA_INT offset = currentField->offset;
+ JAVA_OBJECT* address = currentField->address;
+ java_lang_String* signature = xmlvm_create_java_string(currentField->signature);
+ org_xmlvm_runtime_XMLVMArray* annotations = currentField->annotations;
+ java_lang_reflect_Field___INIT____java_lang_Class_java_lang_String_java_lang_Class_int_int_java_lang_Object_java_lang_String_byte_1ARRAY(field, declaringClass, name, type, modifiers, offset, address, signature, annotations);
+
+ return field;
+ }
+ }
+
+ XMLVM_THROW(java_lang_NoSuchFieldException)
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getDeclaredFields__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getDeclaredFields__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ int numFields = tib->numDeclaredFields;
+ if (!__TIB_java_lang_reflect_Field.classInitialized) __INIT_java_lang_reflect_Field();
+ org_xmlvm_runtime_XMLVMArray* fields = XMLVMArray_createSingleDimension(__CLASS_java_lang_reflect_Field, numFields);
+ JAVA_ARRAY_OBJECT* fieldsArray = (JAVA_ARRAY_OBJECT*) fields->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ int i = 0;
+ for (i = 0; i < numFields; i++) {
+ java_lang_reflect_Field* field = __NEW_java_lang_reflect_Field();
+ XMLVM_FIELD_REFLECTION_DATA* currentField = (tib->declaredFields) + i;
+ java_lang_Class* declaringClass = tib->clazz;
+ java_lang_String* name = xmlvm_create_java_string(currentField->name);
+ java_lang_Class* type = *(currentField->type);
+ JAVA_INT modifiers = currentField->modifiers;
+ JAVA_INT offset = currentField->offset;
+ JAVA_OBJECT* address = currentField->address;
+ java_lang_String* signature = xmlvm_create_java_string(currentField->signature);
+ org_xmlvm_runtime_XMLVMArray* annotations = currentField->annotations;
+ java_lang_reflect_Field___INIT____java_lang_Class_java_lang_String_java_lang_Class_int_int_java_lang_Object_java_lang_String_byte_1ARRAY(field, declaringClass, name, type, modifiers, offset, address, signature, annotations);
+ fieldsArray[i] = field;
+ }
+ return fields;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getDeclaredMethods__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getDeclaredMethods__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ int numMethods = tib->numDeclaredMethods;
+ Func_OOOO dispatcher = tib->methodDispatcherFunc;
+ if (!__TIB_java_lang_reflect_Method.classInitialized) __INIT_java_lang_reflect_Method();
+ org_xmlvm_runtime_XMLVMArray* methods = XMLVMArray_createSingleDimension(__CLASS_java_lang_reflect_Method, numMethods);
+ JAVA_ARRAY_OBJECT* methodArray = (JAVA_ARRAY_OBJECT*) methods->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ JAVA_INT slot = 0;
+ for (slot = 0; slot < numMethods; slot++) {
+ java_lang_reflect_Method* method = __NEW_java_lang_reflect_Method();
+ XMLVM_METHOD_REFLECTION_DATA* currentMethod = (tib->declaredMethods) + slot;
+ int numParameters = currentMethod->numParameterTypes;
+ org_xmlvm_runtime_XMLVMArray* parameters = XMLVMArray_createSingleDimension(__CLASS_java_lang_Class, numParameters);
+ JAVA_ARRAY_OBJECT* parameterArray = (JAVA_ARRAY_OBJECT*) parameters->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ int j = 0;
+ JAVA_OBJECT** paramTypes = currentMethod->parameterTypes;
+ for (j = 0; j < numParameters; j++) {
+ parameterArray[j] = *(paramTypes[j]);
+ }
+ java_lang_String* name = xmlvm_create_java_string(currentMethod->name);
+ JAVA_OBJECT* checkedExceptions = JAVA_NULL;
+ int numCheckedExceptions = 0;
+ int modifiers = 0;
+ java_lang_String* signature = xmlvm_create_java_string(currentMethod->signature);
+ JAVA_OBJECT annotations = JAVA_NULL;
+ JAVA_OBJECT parameterAnnotations = JAVA_NULL;
+ java_lang_reflect_Method___INIT____java_lang_String_java_lang_Class_java_lang_Class_1ARRAY_java_lang_Class_1ARRAY_int_java_lang_Object_int_java_lang_String_byte_1ARRAY_byte_1ARRAY(method, name, tib->clazz, parameters, checkedExceptions, modifiers, dispatcher, slot, signature, annotations, parameterAnnotations);
+ methodArray[slot] = method;
+ }
+ return methods;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getEnclosingClass__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getEnclosingClass__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_java_lang_Object* tib = (__TIB_DEFINITION_java_lang_Object*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ if(!tib->enclosingClassName)
+ return JAVA_NULL;
+ else
+ return java_lang_Class_forName___java_lang_String(xmlvm_create_java_string(tib->enclosingClassName));
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getEnclosingConstructor__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getEnclosingConstructor__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getEnclosingMethod__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getEnclosingMethod__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_java_lang_Class* tib = (__TIB_DEFINITION_java_lang_Class*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ java_lang_Class* enclosingClass=java_lang_Class_getEnclosingClass__(me);
+
+ if(enclosingClass!=JAVA_NULL)
+ {
+ if(tib->enclosingMethodName!=JAVA_NULL)
+ {
+ org_xmlvm_runtime_XMLVMArray* methods=java_lang_Class_getDeclaredMethods__(enclosingClass);
+ JAVA_ARRAY_OBJECT* methodArray = (JAVA_ARRAY_OBJECT*) methods->fields.org_xmlvm_runtime_XMLVMArray.array_;
+
+ for (int i=0;i<methods->fields.org_xmlvm_runtime_XMLVMArray.length_;i++)
+ {
+ java_lang_reflect_Method* method=methodArray[i];
+
+ java_lang_String* methodName=java_lang_reflect_Method_getName__(method);
+
+ //this is just a quick hack, we need to check for parameters etc...
+ if(strstr(tib->enclosingMethodName, xmlvm_java_string_to_const_char(methodName)))
+ {
+ return method;
+ }
+ }
+ }
+ }
+ return JAVA_NULL;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getEnumConstants__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getEnumConstants__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getField___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getField___java_lang_String]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getFields__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getFields__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getInterfaces__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getInterfaces__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT java_lang_Class_getModifiers__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getModifiers__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getName__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getName__]
+ //TODO not quite correct
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ return xmlvm_create_java_string(tib->className);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getSimpleName__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getSimpleName__]
+ //TODO not quite correct
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ return xmlvm_create_java_string(tib->className);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getProtectionDomain__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getProtectionDomain__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getPDImpl__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getPDImpl__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getSigners__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getSigners__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getSuperclass__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getSuperclass__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ __TIB_DEFINITION_TEMPLATE* baseTIP = tib->extends;
+ if (baseTIP == JAVA_NULL) {
+ return JAVA_NULL;
+ }
+ return baseTIP->clazz;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_isAnnotation__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_isAnnotation__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_isAnnotationPresent___java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_isAnnotationPresent___java_lang_Class]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_isAnonymousClass__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_isAnonymousClass__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ //TODO correct check for anonymous
+ return 0;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_isArray__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_isArray__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ return (tib->flags & XMLVM_TYPE_ARRAY) != 0;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_isAssignableFrom___java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_isAssignableFrom___java_lang_Class]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ java_lang_Class* that = (java_lang_Class*) n1;
+
+ // check parameters
+ if (!that)
+ {
+ XMLVM_THROW_WITH_CSTRING(java_lang_NullPointerException, "fromClazz argument");
+ }
+
+ // if primitive class
+ if (java_lang_Class_isPrimitive__(thiz))
+ return thiz==that;
+
+ // if non primitive
+ java_lang_Class* compareTo=thiz;
+ while(compareTo!=JAVA_NULL)
+ {
+ if (compareTo==that)
+ return 1;
+ compareTo = java_lang_Class_getSuperclass__(compareTo);
+ }
+ return 0;
+
+
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_isEnum__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_isEnum__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ return (tib->flags & XMLVM_TYPE_ENUM) != 0;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_isInstance___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_isInstance___java_lang_Object]
+ return XMLVM_ISA(n1, me);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_isInterface__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_isInterface__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ return (tib->flags & XMLVM_TYPE_INTERFACE) != 0;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_isLocalClass__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_isLocalClass__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ //TODO correct check for local
+ return 0;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_isMemberClass__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_isMemberClass__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_isPrimitive__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_isPrimitive__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ return (tib->flags & XMLVM_TYPE_PRIMITIVE) != 0;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_isSynthetic__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_isSynthetic__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_newInstance__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_newInstance__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ Func_O func = tib->newInstanceFunc;
+ return (*func)();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getPackageString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getPackageString__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ return tib->packageName?xmlvm_create_java_string(tib->packageName):JAVA_NULL;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Class_desiredAssertionStatus__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_desiredAssertionStatus__]
+ return 0;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_asSubclass___java_lang_Class(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_asSubclass___java_lang_Class]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Class_getSignatureAttribute__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Class_getSignatureAttribute__]
+ java_lang_Class* thiz = (java_lang_Class*) me;
+ __TIB_DEFINITION_TEMPLATE* tib = (__TIB_DEFINITION_TEMPLATE*) thiz->fields.java_lang_Class.tib_;
+ XMLVM_REFLECTION_USED(tib->className)
+ return tib->signature?xmlvm_create_java_string(tib->signature):JAVA_NULL;
+ //XMLVM_END_NATIVE
+}
+
+
+void xmlvm_init_native_java_lang_Class()
+{
+ //XMLVM_BEGIN_NATIVE_IMPLEMENTATION_INIT
+ //XMLVM_END_NATIVE_IMPLEMENTATION_INIT
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getClasses__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getClasses__] =
+ (VTABLE_PTR) java_lang_Class_getClasses__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_verify__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_verify__] =
+ (VTABLE_PTR) java_lang_Class_verify__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getAnnotation___java_lang_Class
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getAnnotation___java_lang_Class] =
+ (VTABLE_PTR) java_lang_Class_getAnnotation___java_lang_Class;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getAnnotations__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getAnnotations__] =
+ (VTABLE_PTR) java_lang_Class_getAnnotations__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getComponentType__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getComponentType__] =
+ (VTABLE_PTR) java_lang_Class_getComponentType__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getConstructors__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getConstructors__] =
+ (VTABLE_PTR) java_lang_Class_getConstructors__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredAnnotations__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredAnnotations__] =
+ (VTABLE_PTR) java_lang_Class_getDeclaredAnnotations__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredClasses__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredClasses__] =
+ (VTABLE_PTR) java_lang_Class_getDeclaredClasses__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredConstructors__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredConstructors__] =
+ (VTABLE_PTR) java_lang_Class_getDeclaredConstructors__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredField___java_lang_String
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredField___java_lang_String] =
+ (VTABLE_PTR) java_lang_Class_getDeclaredField___java_lang_String;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredFields__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredFields__] =
+ (VTABLE_PTR) java_lang_Class_getDeclaredFields__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredMethods__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getDeclaredMethods__] =
+ (VTABLE_PTR) java_lang_Class_getDeclaredMethods__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getEnclosingClass__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getEnclosingClass__] =
+ (VTABLE_PTR) java_lang_Class_getEnclosingClass__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getEnclosingConstructor__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getEnclosingConstructor__] =
+ (VTABLE_PTR) java_lang_Class_getEnclosingConstructor__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getEnclosingMethod__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getEnclosingMethod__] =
+ (VTABLE_PTR) java_lang_Class_getEnclosingMethod__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getEnumConstants__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getEnumConstants__] =
+ (VTABLE_PTR) java_lang_Class_getEnumConstants__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getField___java_lang_String
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getField___java_lang_String] =
+ (VTABLE_PTR) java_lang_Class_getField___java_lang_String;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getFields__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getFields__] =
+ (VTABLE_PTR) java_lang_Class_getFields__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getInterfaces__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getInterfaces__] =
+ (VTABLE_PTR) java_lang_Class_getInterfaces__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getModifiers__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getModifiers__] =
+ (VTABLE_PTR) java_lang_Class_getModifiers__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getName__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getName__] =
+ (VTABLE_PTR) java_lang_Class_getName__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getSimpleName__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getSimpleName__] =
+ (VTABLE_PTR) java_lang_Class_getSimpleName__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getProtectionDomain__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getProtectionDomain__] =
+ (VTABLE_PTR) java_lang_Class_getProtectionDomain__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getPDImpl__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getPDImpl__] =
+ (VTABLE_PTR) java_lang_Class_getPDImpl__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getSigners__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getSigners__] =
+ (VTABLE_PTR) java_lang_Class_getSigners__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getSuperclass__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_getSuperclass__] =
+ (VTABLE_PTR) java_lang_Class_getSuperclass__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_isAnnotation__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_isAnnotation__] =
+ (VTABLE_PTR) java_lang_Class_isAnnotation__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_isAnnotationPresent___java_lang_Class
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_isAnnotationPresent___java_lang_Class] =
+ (VTABLE_PTR) java_lang_Class_isAnnotationPresent___java_lang_Class;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_isAnonymousClass__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_isAnonymousClass__] =
+ (VTABLE_PTR) java_lang_Class_isAnonymousClass__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_isArray__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_isArray__] =
+ (VTABLE_PTR) java_lang_Class_isArray__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_isAssignableFrom___java_lang_Class
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_isAssignableFrom___java_lang_Class] =
+ (VTABLE_PTR) java_lang_Class_isAssignableFrom___java_lang_Class;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_isEnum__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_isEnum__] =
+ (VTABLE_PTR) java_lang_Class_isEnum__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_isInstance___java_lang_Object
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_isInstance___java_lang_Object] =
+ (VTABLE_PTR) java_lang_Class_isInstance___java_lang_Object;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_isInterface__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_isInterface__] =
+ (VTABLE_PTR) java_lang_Class_isInterface__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_isLocalClass__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_isLocalClass__] =
+ (VTABLE_PTR) java_lang_Class_isLocalClass__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_isMemberClass__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_isMemberClass__] =
+ (VTABLE_PTR) java_lang_Class_isMemberClass__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_isPrimitive__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_isPrimitive__] =
+ (VTABLE_PTR) java_lang_Class_isPrimitive__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_isSynthetic__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_isSynthetic__] =
+ (VTABLE_PTR) java_lang_Class_isSynthetic__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_newInstance__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_newInstance__] =
+ (VTABLE_PTR) java_lang_Class_newInstance__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_desiredAssertionStatus__
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_desiredAssertionStatus__] =
+ (VTABLE_PTR) java_lang_Class_desiredAssertionStatus__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_asSubclass___java_lang_Class
+ __TIB_java_lang_Class.vtable[XMLVM_VTABLE_IDX_java_lang_Class_asSubclass___java_lang_Class] =
+ (VTABLE_PTR) java_lang_Class_asSubclass___java_lang_Class;
+#endif
+}
diff --git a/tests/nbody-java/native_java_lang_Double.c b/tests/nbody-java/native_java_lang_Double.c
new file mode 100644
index 00000000..e94abc4e
--- /dev/null
+++ b/tests/nbody-java/native_java_lang_Double.c
@@ -0,0 +1,47 @@
+
+#include "xmlvm.h"
+#include "java_lang_Double.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+JAVA_LONG java_lang_Double_doubleToLongBits___double(JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Double_doubleToLongBits___double]
+ union {
+ JAVA_DOUBLE d;
+ JAVA_LONG l;
+ } u;
+
+ u.d = n1;
+ return u.l;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG java_lang_Double_doubleToRawLongBits___double(JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Double_doubleToRawLongBits___double]
+ union {
+ JAVA_DOUBLE d;
+ JAVA_LONG l;
+ } u;
+
+ u.d = n1;
+ return u.l;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_Double_longBitsToDouble___long(JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Double_longBitsToDouble___long]
+ union {
+ JAVA_DOUBLE d;
+ JAVA_LONG l;
+ } u;
+
+ u.l = n1;
+ return u.d;
+ //XMLVM_END_NATIVE
+}
+
diff --git a/tests/nbody-java/native_java_lang_Float.c b/tests/nbody-java/native_java_lang_Float.c
new file mode 100644
index 00000000..09c2d68e
--- /dev/null
+++ b/tests/nbody-java/native_java_lang_Float.c
@@ -0,0 +1,52 @@
+
+#include "xmlvm.h"
+#include "java_lang_Float.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+#include <math.h>
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+JAVA_INT java_lang_Float_floatToIntBits___float(JAVA_FLOAT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Float_floatToIntBits___float]
+ union {
+ JAVA_FLOAT f;
+ JAVA_INT i;
+ } u;
+
+ if (isnan(n1)) {
+ return 0x7fc00000;
+ } else {
+ u.f = n1;
+ return u.i;
+ }
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT java_lang_Float_floatToRawIntBits___float(JAVA_FLOAT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Float_floatToRawIntBits___float]
+ union {
+ JAVA_FLOAT f;
+ JAVA_INT i;
+ } u;
+
+ u.f = n1;
+ return u.i;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_FLOAT java_lang_Float_intBitsToFloat___int(JAVA_INT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Float_intBitsToFloat___int]
+ union {
+ JAVA_FLOAT f;
+ JAVA_INT i;
+ } u;
+
+ u.i = n1;
+ return u.f;
+ //XMLVM_END_NATIVE
+}
+
diff --git a/tests/nbody-java/native_java_lang_Math.c b/tests/nbody-java/native_java_lang_Math.c
new file mode 100644
index 00000000..4163f187
--- /dev/null
+++ b/tests/nbody-java/native_java_lang_Math.c
@@ -0,0 +1,186 @@
+
+#include "xmlvm.h"
+#include "java_lang_Math.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+
+#include <math.h>
+
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+JAVA_DOUBLE java_lang_Math_acos___double(JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_acos___double]
+ return acos(n1);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_Math_asin___double(JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_asin___double]
+ return asin(n1);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_Math_atan___double(JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_atan___double]
+ return atan(n1);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_Math_atan2___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_atan2___double_double]
+ return atan2(n1, n1);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_Math_cbrt___double(JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_cbrt___double]
+ return cbrt(n1);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_Math_ceil___double(JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_ceil___double]
+ return ceil(n1);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_Math_cos___double(JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_cos___double]
+ return cos(n1);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_Math_cosh___double(JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_cosh___double]
+ return cosh(n1);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_Math_exp___double(JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_exp___double]
+ return exp(n1);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_Math_expm1___double(JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_expm1___double]
+ return expm1(n1);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_Math_floor___double(JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_floor___double]
+ return floor(n1);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_Math_hypot___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_hypot___double_double]
+ return hypot(n1, n2);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_Math_IEEEremainder___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_IEEEremainder___double_double]
+ return remainder(n1, n2);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_Math_log___double(JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_log___double]
+ return log(n1);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_Math_log10___double(JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_log10___double]
+ return log10(n1);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_Math_log1p___double(JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_log1p___double]
+ return log1p(n1);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_Math_pow___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_pow___double_double]
+ return pow(n1, n2);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_Math_rint___double(JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_rint___double]
+ return rint(n1);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_Math_sin___double(JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_sin___double]
+ return sin(n1);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_Math_sinh___double(JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_sinh___double]
+ return sinh(n1);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_Math_sqrt___double(JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_sqrt___double]
+ return sqrt(n1);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_Math_tan___double(JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_tan___double]
+ return tan(n1);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_Math_tanh___double(JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_tanh___double]
+ return tanh(n1);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_Math_nextafter___double_double(JAVA_DOUBLE n1, JAVA_DOUBLE n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_nextafter___double_double]
+ return nextafter(n1, n2);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_FLOAT java_lang_Math_nextafterf___float_float(JAVA_FLOAT n1, JAVA_FLOAT n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Math_nextafterf___float_float]
+ return nextafterf(n1, n2);
+ //XMLVM_END_NATIVE
+}
+
diff --git a/tests/nbody-java/native_java_lang_Object.c b/tests/nbody-java/native_java_lang_Object.c
new file mode 100644
index 00000000..55f4c0c6
--- /dev/null
+++ b/tests/nbody-java/native_java_lang_Object.c
@@ -0,0 +1,96 @@
+
+#include "xmlvm.h"
+#include "java_lang_Object.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+void java_lang_Object_initNativeLayer__()
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Object_initNativeLayer__]
+ // Nothing to be done
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Object_clone__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Object_clone__]
+ //TODO check for ImplementsClonable interface
+ java_lang_Object* thiz = me;
+ int sizeInstance = thiz->tib->sizeInstance;
+ if (sizeInstance == -1) {
+ XMLVM_INTERNAL_ERROR();
+ }
+ JAVA_OBJECT clone = XMLVM_MALLOC(sizeInstance);
+ XMLVM_MEMCPY(clone, me, sizeInstance);
+ return clone;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Object_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Object_equals___java_lang_Object]
+ return me == n1;
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_Object_finalize_java_lang_Object__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Object_finalize_java_lang_Object__]
+ // do nothing
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Object_getClass__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Object_getClass__]
+ java_lang_Object* o = (java_lang_Object*) me;
+ return o->tib->clazz;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT java_lang_Object_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Object_hashCode__]
+ return (JAVA_INT) me;
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_Object_wait___long_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Object_wait___long_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+
+void xmlvm_init_native_java_lang_Object()
+{
+ //XMLVM_BEGIN_NATIVE_IMPLEMENTATION_INIT
+ //XMLVM_END_NATIVE_IMPLEMENTATION_INIT
+#ifdef XMLVM_VTABLE_IDX_java_lang_Object_clone__
+ __TIB_java_lang_Object.vtable[XMLVM_VTABLE_IDX_java_lang_Object_clone__] =
+ (VTABLE_PTR) java_lang_Object_clone__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Object_equals___java_lang_Object
+ __TIB_java_lang_Object.vtable[XMLVM_VTABLE_IDX_java_lang_Object_equals___java_lang_Object] =
+ (VTABLE_PTR) java_lang_Object_equals___java_lang_Object;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Object_finalize_java_lang_Object__
+ __TIB_java_lang_Object.vtable[XMLVM_VTABLE_IDX_java_lang_Object_finalize_java_lang_Object__] =
+ (VTABLE_PTR) java_lang_Object_finalize_java_lang_Object__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Object_getClass__
+ __TIB_java_lang_Object.vtable[XMLVM_VTABLE_IDX_java_lang_Object_getClass__] =
+ (VTABLE_PTR) java_lang_Object_getClass__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Object_hashCode__
+ __TIB_java_lang_Object.vtable[XMLVM_VTABLE_IDX_java_lang_Object_hashCode__] =
+ (VTABLE_PTR) java_lang_Object_hashCode__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Object_wait___long_int
+ __TIB_java_lang_Object.vtable[XMLVM_VTABLE_IDX_java_lang_Object_wait___long_int] =
+ (VTABLE_PTR) java_lang_Object_wait___long_int;
+#endif
+}
diff --git a/tests/nbody-java/native_java_lang_Runtime.c b/tests/nbody-java/native_java_lang_Runtime.c
new file mode 100644
index 00000000..86b4d98a
--- /dev/null
+++ b/tests/nbody-java/native_java_lang_Runtime.c
@@ -0,0 +1,57 @@
+
+#include "xmlvm.h"
+#include "java_lang_Runtime.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+JAVA_LONG java_lang_Runtime_freeMemory__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Runtime_freeMemory__]
+#ifndef XMLVM_NO_GC
+ return GC_get_free_bytes();
+#else
+ return 0L;
+#endif
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_Runtime_gc__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Runtime_gc__]
+#ifndef XMLVM_NO_GC
+ GC_gcollect();
+#endif
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG java_lang_Runtime_totalMemory__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Runtime_totalMemory__]
+#ifndef XMLVM_NO_GC
+ return GC_get_heap_size();
+#else
+ return 0L;
+#endif
+ //XMLVM_END_NATIVE
+}
+
+
+void xmlvm_init_native_java_lang_Runtime()
+{
+ //XMLVM_BEGIN_NATIVE_IMPLEMENTATION_INIT
+ //XMLVM_END_NATIVE_IMPLEMENTATION_INIT
+#ifdef XMLVM_VTABLE_IDX_java_lang_Runtime_freeMemory__
+ __TIB_java_lang_Runtime.vtable[XMLVM_VTABLE_IDX_java_lang_Runtime_freeMemory__] =
+ (VTABLE_PTR) java_lang_Runtime_freeMemory__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Runtime_gc__
+ __TIB_java_lang_Runtime.vtable[XMLVM_VTABLE_IDX_java_lang_Runtime_gc__] =
+ (VTABLE_PTR) java_lang_Runtime_gc__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Runtime_totalMemory__
+ __TIB_java_lang_Runtime.vtable[XMLVM_VTABLE_IDX_java_lang_Runtime_totalMemory__] =
+ (VTABLE_PTR) java_lang_Runtime_totalMemory__;
+#endif
+}
diff --git a/tests/nbody-java/native_java_lang_String.c b/tests/nbody-java/native_java_lang_String.c
new file mode 100644
index 00000000..5ccf21df
--- /dev/null
+++ b/tests/nbody-java/native_java_lang_String.c
@@ -0,0 +1,45 @@
+
+#include "xmlvm.h"
+#include "java_lang_String.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+#include <wctype.h>
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+JAVA_INT java_lang_String_toLowerCaseImpl___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_String_toLowerCaseImpl___int]
+#ifdef EMSCRIPTEN
+ return tolower(n1);
+#else
+ return towlower(n1);
+#endif
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT java_lang_String_toUpperCaseImpl___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_String_toUpperCaseImpl___int]
+#ifdef EMSCRIPTEN
+ return toupper(n1);
+#else
+ return towupper(n1);
+#endif
+ //XMLVM_END_NATIVE
+}
+
+
+void xmlvm_init_native_java_lang_String()
+{
+ //XMLVM_BEGIN_NATIVE_IMPLEMENTATION_INIT
+ //XMLVM_END_NATIVE_IMPLEMENTATION_INIT
+#ifdef XMLVM_VTABLE_IDX_java_lang_String_toLowerCaseImpl___int
+ __TIB_java_lang_String.vtable[XMLVM_VTABLE_IDX_java_lang_String_toLowerCaseImpl___int] =
+ (VTABLE_PTR) java_lang_String_toLowerCaseImpl___int;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_String_toUpperCaseImpl___int
+ __TIB_java_lang_String.vtable[XMLVM_VTABLE_IDX_java_lang_String_toUpperCaseImpl___int] =
+ (VTABLE_PTR) java_lang_String_toUpperCaseImpl___int;
+#endif
+}
diff --git a/tests/nbody-java/native_java_lang_System.c b/tests/nbody-java/native_java_lang_System.c
new file mode 100644
index 00000000..861781ca
--- /dev/null
+++ b/tests/nbody-java/native_java_lang_System.c
@@ -0,0 +1,116 @@
+
+#include "xmlvm.h"
+#include "java_lang_System.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+#include <locale.h>
+#include <sys/time.h>
+#include "java_lang_String.h"
+
+//From HARMONY/classlib/modules/luni/src/main/native/luni/shared/luniglob.c
+#define CHARSETBUFF 64
+
+//From HARMONY/classlib/modules/luni/src/main/native/luni/unix/helpers.c
+void getOSCharset(char *locale, const size_t size) {
+ char * codec = NULL;
+ size_t cur = 0;
+ short flag = 0;
+ setlocale(LC_CTYPE, "");
+ codec = setlocale(LC_CTYPE, NULL);
+ // get codeset from language[_territory][.codeset][@modifier]
+ while (*codec) {
+ if (!flag) {
+ if (*codec != '.') {
+ codec++;
+ continue;
+ } else {
+ flag = 1;
+ codec++;
+ }
+ } else {
+ if (*codec == '@') {
+ break;
+ } else {
+ locale[cur++] = (*codec);
+ codec++;
+ if (cur >= size) {
+ // Not enough size
+ cur = 0;
+ break;
+ }
+ }
+ }
+ }
+ locale[cur] = '\0';
+ if (!strlen(locale)) {
+ strcpy(locale, "8859_1");
+ }
+ return;
+}
+
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+void java_lang_System_initNativeLayer__()
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_System_initNativeLayer__]
+ // Nothing to be done
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG java_lang_System_currentTimeMillis__()
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_System_currentTimeMillis__]
+ struct timeval now;
+ gettimeofday(&now, NULL);
+
+ JAVA_LONG msec = ((JAVA_LONG) now.tv_sec) * 1000;
+ msec += now.tv_usec / 1000;
+
+ return msec;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG java_lang_System_nanoTime__()
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_System_nanoTime__]
+ //TODO implement
+ return java_lang_System_nanoTime__() * 1000000L;
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_System_nativeExit___int(JAVA_INT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_System_nativeExit___int]
+ exit(n1);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_System_getPropertyList__()
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_System_getPropertyList__]
+ return XMLVMArray_createSingleDimension(__CLASS_java_lang_String, 0);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_System_getEncoding___int(JAVA_INT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_System_getEncoding___int]
+ //Get charset from the OS
+#ifdef EMSCRIPTEN
+ return xmlvm_create_java_string("UTF-8");
+#else
+ char charset[CHARSETBUFF];
+ getOSCharset(charset, CHARSETBUFF);
+ return xmlvm_create_java_string(charset);
+#endif
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT java_lang_System_identityHashCode___java_lang_Object(JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_System_identityHashCode___java_lang_Object]
+ return (JAVA_INT) n1;
+ //XMLVM_END_NATIVE
+}
+
diff --git a/tests/nbody-java/native_java_lang_Thread.c b/tests/nbody-java/native_java_lang_Thread.c
new file mode 100644
index 00000000..c2631b1c
--- /dev/null
+++ b/tests/nbody-java/native_java_lang_Thread.c
@@ -0,0 +1,310 @@
+
+#include "xmlvm.h"
+#include "java_lang_Thread.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+#include <pthread.h>
+#ifdef __OBJC__
+#import <Foundation/NSAutoreleasePool.h>
+#endif
+
+
+void threadRunner(JAVA_OBJECT me)
+{
+ java_lang_Thread* thiz = me;
+ XMLVM_JMP_BUF xmlvm_exception_env;
+ JAVA_LONG nativeThreadId = (JAVA_LONG) pthread_self();
+
+#ifdef __OBJC__
+ NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
+#endif
+#ifdef XMLVM_ENABLE_STACK_TRACES
+ createStackForNewThread(nativeThreadId);
+#endif
+
+ if (XMLVM_SETJMP(xmlvm_exception_env)) {
+ // Technically, XMLVM_UNWIND_EXCEPTION() should be called, but
+ // exceptions will not be used anymore and XMLVM_ENTER_METHOD() wasn't
+ // called (excessive), so a compilation error would occur
+
+ xmlvm_unhandled_exception();
+ } else {
+ thiz->fields.java_lang_Thread.xmlvmExceptionEnv_ = &xmlvm_exception_env;
+ java_lang_Thread_run0___long(thiz, nativeThreadId);
+ }
+
+#ifdef XMLVM_ENABLE_STACK_TRACES
+ destroyStackForExitingThread(nativeThreadId);
+#endif
+#ifdef __OBJC__
+ [pool release];
+#endif
+}
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+void java_lang_Thread_initMainThread__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_initMainThread__]
+ ((java_lang_Thread*)me)->fields.java_lang_Thread.xmlvmExceptionEnv_ = xmlvm_exception_env_main_thread;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT java_lang_Thread_activeCount__()
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_activeCount__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_Thread_checkAccess__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_checkAccess__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT java_lang_Thread_countStackFrames__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_countStackFrames__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG java_lang_Thread_getCurrentThreadNativeId__()
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_getCurrentThreadNativeId__]
+ JAVA_LONG nativeThreadId = (JAVA_LONG)pthread_self();
+ return nativeThreadId;
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_Thread_destroy__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_destroy__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_Thread_dumpStack__()
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_dumpStack__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT java_lang_Thread_enumerate___java_lang_Thread_1ARRAY(JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_enumerate___java_lang_Thread_1ARRAY]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Thread_getAllStackTraces__()
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_getAllStackTraces__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Thread_getContextClassLoader__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_getContextClassLoader__]
+ XMLVMElem _r0;
+ _r0.o = __NEW_org_xmlvm_runtime_XMLVMClassLoader();
+ org_xmlvm_runtime_XMLVMClassLoader___INIT___(_r0.o);
+ return _r0.o;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Thread_getDefaultUncaughtExceptionHandler__()
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_getDefaultUncaughtExceptionHandler__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Thread_getStackTrace__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_getStackTrace__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Thread_getUncaughtExceptionHandler__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_getUncaughtExceptionHandler__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_Thread_join___long_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_join___long_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_Thread_resume__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_resume__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Thread_stackTracesEnabled__()
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_stackTracesEnabled__]
+#ifdef XMLVM_ENABLE_STACK_TRACES
+ return 1;
+#else
+ return 0;
+#endif
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_Thread_setContextClassLoader___java_lang_ClassLoader(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_setContextClassLoader___java_lang_ClassLoader]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_Thread_setDefaultUncaughtExceptionHandler___java_lang_Thread_UncaughtExceptionHandler(JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_setDefaultUncaughtExceptionHandler___java_lang_Thread_UncaughtExceptionHandler]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_Thread_setPriority___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_setPriority___int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_Thread_setUncaughtExceptionHandler___java_lang_Thread_UncaughtExceptionHandler(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_setUncaughtExceptionHandler___java_lang_Thread_UncaughtExceptionHandler]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_Thread_start0__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_start0__]
+ pthread_t pt;
+ pthread_attr_t attr;
+ pthread_attr_init(&attr);
+ pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
+ int rc = pthread_create(&pt, &attr, threadRunner, (void *)me);
+ if (rc != 0) {
+ printf("ERROR creating thread. Return code: %i", rc);
+ exit(-1);
+ }
+ pthread_attr_destroy(&attr);
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_Thread_stop__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_stop__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_Thread_stop___java_lang_Throwable(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_stop___java_lang_Throwable]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_Thread_suspend__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_suspend__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_Thread_yield__()
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_yield__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_Thread_holdsLock___java_lang_Object(JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Thread_holdsLock___java_lang_Object]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+
+void xmlvm_init_native_java_lang_Thread()
+{
+ //XMLVM_BEGIN_NATIVE_IMPLEMENTATION_INIT
+ //XMLVM_END_NATIVE_IMPLEMENTATION_INIT
+#ifdef XMLVM_VTABLE_IDX_java_lang_Thread_checkAccess__
+ __TIB_java_lang_Thread.vtable[XMLVM_VTABLE_IDX_java_lang_Thread_checkAccess__] =
+ (VTABLE_PTR) java_lang_Thread_checkAccess__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Thread_countStackFrames__
+ __TIB_java_lang_Thread.vtable[XMLVM_VTABLE_IDX_java_lang_Thread_countStackFrames__] =
+ (VTABLE_PTR) java_lang_Thread_countStackFrames__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Thread_destroy__
+ __TIB_java_lang_Thread.vtable[XMLVM_VTABLE_IDX_java_lang_Thread_destroy__] =
+ (VTABLE_PTR) java_lang_Thread_destroy__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Thread_getContextClassLoader__
+ __TIB_java_lang_Thread.vtable[XMLVM_VTABLE_IDX_java_lang_Thread_getContextClassLoader__] =
+ (VTABLE_PTR) java_lang_Thread_getContextClassLoader__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Thread_getStackTrace__
+ __TIB_java_lang_Thread.vtable[XMLVM_VTABLE_IDX_java_lang_Thread_getStackTrace__] =
+ (VTABLE_PTR) java_lang_Thread_getStackTrace__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Thread_getUncaughtExceptionHandler__
+ __TIB_java_lang_Thread.vtable[XMLVM_VTABLE_IDX_java_lang_Thread_getUncaughtExceptionHandler__] =
+ (VTABLE_PTR) java_lang_Thread_getUncaughtExceptionHandler__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Thread_join___long_int
+ __TIB_java_lang_Thread.vtable[XMLVM_VTABLE_IDX_java_lang_Thread_join___long_int] =
+ (VTABLE_PTR) java_lang_Thread_join___long_int;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Thread_resume__
+ __TIB_java_lang_Thread.vtable[XMLVM_VTABLE_IDX_java_lang_Thread_resume__] =
+ (VTABLE_PTR) java_lang_Thread_resume__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Thread_setContextClassLoader___java_lang_ClassLoader
+ __TIB_java_lang_Thread.vtable[XMLVM_VTABLE_IDX_java_lang_Thread_setContextClassLoader___java_lang_ClassLoader] =
+ (VTABLE_PTR) java_lang_Thread_setContextClassLoader___java_lang_ClassLoader;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Thread_setPriority___int
+ __TIB_java_lang_Thread.vtable[XMLVM_VTABLE_IDX_java_lang_Thread_setPriority___int] =
+ (VTABLE_PTR) java_lang_Thread_setPriority___int;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Thread_setUncaughtExceptionHandler___java_lang_Thread_UncaughtExceptionHandler
+ __TIB_java_lang_Thread.vtable[XMLVM_VTABLE_IDX_java_lang_Thread_setUncaughtExceptionHandler___java_lang_Thread_UncaughtExceptionHandler] =
+ (VTABLE_PTR) java_lang_Thread_setUncaughtExceptionHandler___java_lang_Thread_UncaughtExceptionHandler;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Thread_start0__
+ __TIB_java_lang_Thread.vtable[XMLVM_VTABLE_IDX_java_lang_Thread_start0__] =
+ (VTABLE_PTR) java_lang_Thread_start0__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Thread_stop__
+ __TIB_java_lang_Thread.vtable[XMLVM_VTABLE_IDX_java_lang_Thread_stop__] =
+ (VTABLE_PTR) java_lang_Thread_stop__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Thread_stop___java_lang_Throwable
+ __TIB_java_lang_Thread.vtable[XMLVM_VTABLE_IDX_java_lang_Thread_stop___java_lang_Throwable] =
+ (VTABLE_PTR) java_lang_Thread_stop___java_lang_Throwable;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_Thread_suspend__
+ __TIB_java_lang_Thread.vtable[XMLVM_VTABLE_IDX_java_lang_Thread_suspend__] =
+ (VTABLE_PTR) java_lang_Thread_suspend__;
+#endif
+}
diff --git a/tests/nbody-java/native_java_lang_Throwable.c b/tests/nbody-java/native_java_lang_Throwable.c
new file mode 100644
index 00000000..5204e0a0
--- /dev/null
+++ b/tests/nbody-java/native_java_lang_Throwable.c
@@ -0,0 +1,82 @@
+
+#include "xmlvm.h"
+#include "java_lang_Throwable.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+
+#ifdef XMLVM_ENABLE_STACK_TRACES
+
+#include "java_lang_StackTraceElement.h"
+
+java_lang_StackTraceElement* createStackTraceElement(XMLVM_STACK_TRACE_ELEMENT* elem)
+{
+ java_lang_StackTraceElement* ste = (java_lang_StackTraceElement*)__NEW_java_lang_StackTraceElement();
+ java_lang_StackTraceElement___INIT____java_lang_String_java_lang_String_java_lang_String_int(ste,
+ xmlvm_create_java_string(elem->className),
+ xmlvm_create_java_string(elem->methodName),
+ xmlvm_create_java_string(elem->fileName),
+ elem->lineNumber);
+ return ste;
+}
+#endif
+
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+JAVA_OBJECT java_lang_Throwable_fillInStackTrace__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Throwable_fillInStackTrace__]
+#ifdef XMLVM_ENABLE_STACK_TRACES
+
+ XMLVM_STACK_TRACE_CURRENT* threadStack = getCurrentStackTrace();
+ int size = threadStack->stackSize;
+
+ if (!__TIB_java_lang_StackTraceElement.classInitialized) __INIT_java_lang_StackTraceElement();
+ JAVA_OBJECT array = XMLVMArray_createSingleDimension(__CLASS_java_lang_StackTraceElement, size);
+
+ // Put the currentLocation at the beginning of the array
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) array)->fields.org_xmlvm_runtime_XMLVMArray.array_))[0] = createStackTraceElement(threadStack->topOfStack->currentLocation);
+
+ XMLVM_STACK_TRACE_LINK* curLink = threadStack->topOfStack;
+ for (int index = 1; index < size; index++) {
+ java_lang_StackTraceElement* ste = createStackTraceElement(curLink->element);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) array)->fields.org_xmlvm_runtime_XMLVMArray.array_))[index] = ste;
+ curLink = curLink->nextLink;
+ }
+
+ ((java_lang_Throwable*) me)->fields.java_lang_Throwable.stackTrace_ = array;
+
+ return me;
+#else
+ return JAVA_NULL;
+#endif
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_Throwable_getStackTraceImpl__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_Throwable_getStackTraceImpl__]
+#ifdef XMLVM_ENABLE_STACK_TRACES
+
+ return ((java_lang_Throwable*) me)->fields.java_lang_Throwable.stackTrace_;
+
+#else
+
+// TODO throw RuntimeException with the following message instead of printf
+ printf("Stack traces are not enabled natively! To enable stack traces, define XMLVM_ENABLE_STACK_TRACES. Keep in mind this will decrease performance!\n");
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+
+#endif
+ //XMLVM_END_NATIVE
+}
+
+
+void xmlvm_init_native_java_lang_Throwable()
+{
+ //XMLVM_BEGIN_NATIVE_IMPLEMENTATION_INIT
+ //XMLVM_END_NATIVE_IMPLEMENTATION_INIT
+#ifdef XMLVM_VTABLE_IDX_java_lang_Throwable_fillInStackTrace__
+ __TIB_java_lang_Throwable.vtable[XMLVM_VTABLE_IDX_java_lang_Throwable_fillInStackTrace__] =
+ (VTABLE_PTR) java_lang_Throwable_fillInStackTrace__;
+#endif
+}
diff --git a/tests/nbody-java/native_java_lang_reflect_AccessibleObject.c b/tests/nbody-java/native_java_lang_reflect_AccessibleObject.c
new file mode 100644
index 00000000..7093b4bf
--- /dev/null
+++ b/tests/nbody-java/native_java_lang_reflect_AccessibleObject.c
@@ -0,0 +1,83 @@
+
+#include "xmlvm.h"
+#include "java_lang_reflect_AccessibleObject.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+void java_lang_reflect_AccessibleObject_initializeClass___java_lang_Class(JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_AccessibleObject_initializeClass___java_lang_Class]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_AccessibleObject_getStackClass___int(JAVA_INT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_AccessibleObject_getStackClass___int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_AccessibleObject_getParameterTypesImpl__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_AccessibleObject_getParameterTypesImpl__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT java_lang_reflect_AccessibleObject_getModifiers__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_AccessibleObject_getModifiers__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_AccessibleObject_getExceptionTypesImpl__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_AccessibleObject_getExceptionTypesImpl__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_AccessibleObject_getSignature__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_AccessibleObject_getSignature__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_reflect_AccessibleObject_checkAccessibility___java_lang_Class_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_AccessibleObject_checkAccessibility___java_lang_Class_java_lang_Object]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+
+void xmlvm_init_native_java_lang_reflect_AccessibleObject()
+{
+ //XMLVM_BEGIN_NATIVE_IMPLEMENTATION_INIT
+ //XMLVM_END_NATIVE_IMPLEMENTATION_INIT
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_AccessibleObject_getParameterTypesImpl__
+ __TIB_java_lang_reflect_AccessibleObject.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_AccessibleObject_getParameterTypesImpl__] =
+ (VTABLE_PTR) java_lang_reflect_AccessibleObject_getParameterTypesImpl__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_AccessibleObject_getModifiers__
+ __TIB_java_lang_reflect_AccessibleObject.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_AccessibleObject_getModifiers__] =
+ (VTABLE_PTR) java_lang_reflect_AccessibleObject_getModifiers__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_AccessibleObject_getExceptionTypesImpl__
+ __TIB_java_lang_reflect_AccessibleObject.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_AccessibleObject_getExceptionTypesImpl__] =
+ (VTABLE_PTR) java_lang_reflect_AccessibleObject_getExceptionTypesImpl__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_AccessibleObject_getSignature__
+ __TIB_java_lang_reflect_AccessibleObject.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_AccessibleObject_getSignature__] =
+ (VTABLE_PTR) java_lang_reflect_AccessibleObject_getSignature__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_AccessibleObject_checkAccessibility___java_lang_Class_java_lang_Object
+ __TIB_java_lang_reflect_AccessibleObject.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_AccessibleObject_checkAccessibility___java_lang_Class_java_lang_Object] =
+ (VTABLE_PTR) java_lang_reflect_AccessibleObject_checkAccessibility___java_lang_Class_java_lang_Object;
+#endif
+}
diff --git a/tests/nbody-java/native_java_lang_reflect_Array.c b/tests/nbody-java/native_java_lang_reflect_Array.c
new file mode 100644
index 00000000..cfd13f8e
--- /dev/null
+++ b/tests/nbody-java/native_java_lang_reflect_Array.c
@@ -0,0 +1,196 @@
+
+#include "xmlvm.h"
+#include "java_lang_reflect_Array.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+
+#include "java_lang_Class.h"
+
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+JAVA_OBJECT java_lang_reflect_Array_multiNewArrayImpl___java_lang_Class_int_int_1ARRAY(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Array_multiNewArrayImpl___java_lang_Class_int_int_1ARRAY]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Array_newArrayImpl___java_lang_Class_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Array_newArrayImpl___java_lang_Class_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Array_get___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Array_get___java_lang_Object_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_reflect_Array_getBoolean___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Array_getBoolean___java_lang_Object_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BYTE java_lang_reflect_Array_getByte___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Array_getByte___java_lang_Object_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_CHAR java_lang_reflect_Array_getChar___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Array_getChar___java_lang_Object_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_reflect_Array_getDouble___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Array_getDouble___java_lang_Object_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_FLOAT java_lang_reflect_Array_getFloat___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Array_getFloat___java_lang_Object_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT java_lang_reflect_Array_getInt___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Array_getInt___java_lang_Object_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT java_lang_reflect_Array_getLength___java_lang_Object(JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Array_getLength___java_lang_Object]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG java_lang_reflect_Array_getLong___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Array_getLong___java_lang_Object_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_SHORT java_lang_reflect_Array_getShort___java_lang_Object_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Array_getShort___java_lang_Object_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Array_newInstance___java_lang_Class_int_1ARRAY(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Array_newInstance___java_lang_Class_int_1ARRAY]
+ return XMLVMArray_createMultiDimensions(n1, n2);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Array_newInstance___java_lang_Class_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Array_newInstance___java_lang_Class_int]
+ return XMLVMArray_createSingleDimension(n1, n2);
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_reflect_Array_set___java_lang_Object_int_java_lang_Object(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Array_set___java_lang_Object_int_java_lang_Object]
+ org_xmlvm_runtime_XMLVMArray* array = n1;
+ JAVA_INT index = n2;
+ JAVA_OBJECT obj = n3;
+
+ JAVA_OBJECT arrayType = array->fields.org_xmlvm_runtime_XMLVMArray.type_;
+ if (arrayType == __CLASS_boolean_1ARRAY) {
+ XMLVM_INTERNAL_ERROR();
+ } else if (arrayType == __CLASS_byte_1ARRAY) {
+ XMLVM_INTERNAL_ERROR();
+ } else if (arrayType == __CLASS_char_1ARRAY) {
+ XMLVM_INTERNAL_ERROR();
+ } else if (arrayType == __CLASS_short_1ARRAY) {
+ XMLVM_INTERNAL_ERROR();
+ } else if (arrayType == __CLASS_int_1ARRAY) {
+ XMLVM_INTERNAL_ERROR();
+ } else if (arrayType == __CLASS_float_1ARRAY) {
+ XMLVM_INTERNAL_ERROR();
+ } else if (arrayType == __CLASS_long_1ARRAY) {
+ XMLVM_INTERNAL_ERROR();
+ } else if (arrayType == __CLASS_double_1ARRAY) {
+ XMLVM_INTERNAL_ERROR();
+ } else {
+ JAVA_ARRAY_OBJECT* data = (JAVA_ARRAY_OBJECT*) array->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ data[index] = obj;
+ }
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_reflect_Array_setBoolean___java_lang_Object_int_boolean(JAVA_OBJECT n1, JAVA_INT n2, JAVA_BOOLEAN n3)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Array_setBoolean___java_lang_Object_int_boolean]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_reflect_Array_setByte___java_lang_Object_int_byte(JAVA_OBJECT n1, JAVA_INT n2, JAVA_BYTE n3)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Array_setByte___java_lang_Object_int_byte]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_reflect_Array_setChar___java_lang_Object_int_char(JAVA_OBJECT n1, JAVA_INT n2, JAVA_CHAR n3)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Array_setChar___java_lang_Object_int_char]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_reflect_Array_setDouble___java_lang_Object_int_double(JAVA_OBJECT n1, JAVA_INT n2, JAVA_DOUBLE n3)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Array_setDouble___java_lang_Object_int_double]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_reflect_Array_setFloat___java_lang_Object_int_float(JAVA_OBJECT n1, JAVA_INT n2, JAVA_FLOAT n3)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Array_setFloat___java_lang_Object_int_float]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_reflect_Array_setInt___java_lang_Object_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Array_setInt___java_lang_Object_int_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_reflect_Array_setLong___java_lang_Object_int_long(JAVA_OBJECT n1, JAVA_INT n2, JAVA_LONG n3)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Array_setLong___java_lang_Object_int_long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_reflect_Array_setShort___java_lang_Object_int_short(JAVA_OBJECT n1, JAVA_INT n2, JAVA_SHORT n3)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Array_setShort___java_lang_Object_int_short]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
diff --git a/tests/nbody-java/native_java_lang_reflect_Constructor.c b/tests/nbody-java/native_java_lang_reflect_Constructor.c
new file mode 100644
index 00000000..81c029c2
--- /dev/null
+++ b/tests/nbody-java/native_java_lang_reflect_Constructor.c
@@ -0,0 +1,193 @@
+
+#include "xmlvm.h"
+#include "java_lang_reflect_Constructor.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+JAVA_OBJECT java_lang_reflect_Constructor_getTypeParameters__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Constructor_getTypeParameters__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Constructor_toGenericString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Constructor_toGenericString__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Constructor_getGenericParameterTypes__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Constructor_getGenericParameterTypes__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Constructor_getGenericExceptionTypes__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Constructor_getGenericExceptionTypes__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Constructor_getParameterAnnotations__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Constructor_getParameterAnnotations__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_reflect_Constructor_isVarArgs__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Constructor_isVarArgs__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_reflect_Constructor_isSynthetic__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Constructor_isSynthetic__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_reflect_Constructor_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Constructor_equals___java_lang_Object]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Constructor_getDeclaringClass__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Constructor_getDeclaringClass__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Constructor_getExceptionTypes__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Constructor_getExceptionTypes__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT java_lang_reflect_Constructor_getModifiers__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Constructor_getModifiers__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Constructor_getName__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Constructor_getName__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Constructor_getParameterTypes__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Constructor_getParameterTypes__]
+ java_lang_reflect_Constructor* thiz = (java_lang_reflect_Constructor*) me;
+ return thiz->fields.java_lang_reflect_Constructor.parameterTypes_;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT java_lang_reflect_Constructor_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Constructor_hashCode__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Constructor_newInstance___java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Constructor_newInstance___java_lang_Object_1ARRAY]
+ java_lang_reflect_Constructor* thiz = (java_lang_reflect_Constructor*) me;
+ Func_OOO dispatcher = (Func_OOO) thiz->fields.java_lang_reflect_Constructor.address_;
+ return (*dispatcher)(me, n1);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Constructor_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Constructor_toString__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+
+void xmlvm_init_native_java_lang_reflect_Constructor()
+{
+ //XMLVM_BEGIN_NATIVE_IMPLEMENTATION_INIT
+ //XMLVM_END_NATIVE_IMPLEMENTATION_INIT
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_getTypeParameters__
+ __TIB_java_lang_reflect_Constructor.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_getTypeParameters__] =
+ (VTABLE_PTR) java_lang_reflect_Constructor_getTypeParameters__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_toGenericString__
+ __TIB_java_lang_reflect_Constructor.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_toGenericString__] =
+ (VTABLE_PTR) java_lang_reflect_Constructor_toGenericString__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_getGenericParameterTypes__
+ __TIB_java_lang_reflect_Constructor.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_getGenericParameterTypes__] =
+ (VTABLE_PTR) java_lang_reflect_Constructor_getGenericParameterTypes__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_getGenericExceptionTypes__
+ __TIB_java_lang_reflect_Constructor.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_getGenericExceptionTypes__] =
+ (VTABLE_PTR) java_lang_reflect_Constructor_getGenericExceptionTypes__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_getParameterAnnotations__
+ __TIB_java_lang_reflect_Constructor.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_getParameterAnnotations__] =
+ (VTABLE_PTR) java_lang_reflect_Constructor_getParameterAnnotations__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_isVarArgs__
+ __TIB_java_lang_reflect_Constructor.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_isVarArgs__] =
+ (VTABLE_PTR) java_lang_reflect_Constructor_isVarArgs__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_isSynthetic__
+ __TIB_java_lang_reflect_Constructor.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_isSynthetic__] =
+ (VTABLE_PTR) java_lang_reflect_Constructor_isSynthetic__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_equals___java_lang_Object
+ __TIB_java_lang_reflect_Constructor.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_equals___java_lang_Object] =
+ (VTABLE_PTR) java_lang_reflect_Constructor_equals___java_lang_Object;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_getDeclaringClass__
+ __TIB_java_lang_reflect_Constructor.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_getDeclaringClass__] =
+ (VTABLE_PTR) java_lang_reflect_Constructor_getDeclaringClass__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_getExceptionTypes__
+ __TIB_java_lang_reflect_Constructor.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_getExceptionTypes__] =
+ (VTABLE_PTR) java_lang_reflect_Constructor_getExceptionTypes__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_getModifiers__
+ __TIB_java_lang_reflect_Constructor.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_getModifiers__] =
+ (VTABLE_PTR) java_lang_reflect_Constructor_getModifiers__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_getName__
+ __TIB_java_lang_reflect_Constructor.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_getName__] =
+ (VTABLE_PTR) java_lang_reflect_Constructor_getName__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_getParameterTypes__
+ __TIB_java_lang_reflect_Constructor.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_getParameterTypes__] =
+ (VTABLE_PTR) java_lang_reflect_Constructor_getParameterTypes__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_hashCode__
+ __TIB_java_lang_reflect_Constructor.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_hashCode__] =
+ (VTABLE_PTR) java_lang_reflect_Constructor_hashCode__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_newInstance___java_lang_Object_1ARRAY
+ __TIB_java_lang_reflect_Constructor.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_newInstance___java_lang_Object_1ARRAY] =
+ (VTABLE_PTR) java_lang_reflect_Constructor_newInstance___java_lang_Object_1ARRAY;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_toString__
+ __TIB_java_lang_reflect_Constructor.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Constructor_toString__] =
+ (VTABLE_PTR) java_lang_reflect_Constructor_toString__;
+#endif
+}
diff --git a/tests/nbody-java/native_java_lang_reflect_Field.c b/tests/nbody-java/native_java_lang_reflect_Field.c
new file mode 100644
index 00000000..90d7d822
--- /dev/null
+++ b/tests/nbody-java/native_java_lang_reflect_Field.c
@@ -0,0 +1,405 @@
+
+#include "xmlvm.h"
+#include "java_lang_reflect_Field.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+#include "java_lang_Boolean.h"
+#include "java_lang_Byte.h"
+#include "java_lang_Character.h"
+#include "java_lang_Short.h"
+#include "java_lang_Integer.h"
+#include "java_lang_Long.h"
+#include "java_lang_Double.h"
+#include "java_lang_Float.h"
+
+#define VALUE_PTR(THIZ, OBJECT)\
+(thiz->fields.java_lang_reflect_Field.modifiers_ & java_lang_reflect_Modifier_STATIC)?\
+(char*) THIZ->fields.java_lang_reflect_Field.address_:\
+((char*) OBJECT) + THIZ->fields.java_lang_reflect_Field.offset_
+
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+JAVA_OBJECT java_lang_reflect_Field_getSignature__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_getSignature__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_reflect_Field_isSynthetic__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_isSynthetic__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Field_toGenericString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_toGenericString__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_reflect_Field_isEnumConstant__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_isEnumConstant__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Field_getGenericType__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_getGenericType__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_reflect_Field_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_equals___java_lang_Object]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Field_get___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_get___java_lang_Object]
+ java_lang_reflect_Field* thiz = (java_lang_reflect_Field*) me;
+ JAVA_OBJECT type = thiz->fields.java_lang_reflect_Field.type_;
+ char* valuePtr;
+ if (thiz->fields.java_lang_reflect_Field.modifiers_ & java_lang_reflect_Modifier_STATIC) {
+ valuePtr = (char*) thiz->fields.java_lang_reflect_Field.address_;
+ } else {
+ valuePtr = ((char*) n1) + thiz->fields.java_lang_reflect_Field.offset_;
+ }
+ JAVA_OBJECT obj;
+ if (type == __CLASS_boolean) {
+ JAVA_BOOLEAN value = *((JAVA_BOOLEAN*) valuePtr);
+ obj = __NEW_java_lang_Boolean();
+ java_lang_Boolean___INIT____boolean(obj, value);
+ } else if (type == __CLASS_byte) {
+ JAVA_BYTE value = *((JAVA_BYTE*) valuePtr);
+ obj = __NEW_java_lang_Byte();
+ java_lang_Byte___INIT____byte(obj, value);
+ } else if (type == __CLASS_char) {
+ JAVA_CHAR value = *((JAVA_CHAR*) valuePtr);
+ obj = __NEW_java_lang_Character();
+ java_lang_Character___INIT____char(obj, value);
+ } else if (type == __CLASS_short) {
+ JAVA_SHORT value = *((JAVA_SHORT*) valuePtr);
+ obj = __NEW_java_lang_Short();
+ java_lang_Short___INIT____short(obj, value);
+ } else if (type == __CLASS_int) {
+ JAVA_INT value = *((JAVA_INT*) valuePtr);
+ obj = __NEW_java_lang_Integer();
+ java_lang_Integer___INIT____int(obj, value);
+ } else if (type == __CLASS_long) {
+ JAVA_LONG value = *((JAVA_LONG*) valuePtr);
+ obj = __NEW_java_lang_Long();
+ java_lang_Long___INIT____long(obj, value);
+ } else if (type == __CLASS_float) {
+ JAVA_FLOAT value = *((JAVA_FLOAT*) valuePtr);
+ obj = __NEW_java_lang_Float();
+ java_lang_Float___INIT____float(obj, value);
+ } else if (type == __CLASS_double) {
+ JAVA_DOUBLE value = *((JAVA_DOUBLE*) valuePtr);
+ obj = __NEW_java_lang_Double();
+ java_lang_Double___INIT____double(obj, value);
+ } else {
+ // Has to be object type if it is not a primitive type
+ obj = *((JAVA_OBJECT*) valuePtr);
+ }
+ return obj;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_reflect_Field_getBoolean___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_getBoolean___java_lang_Object]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BYTE java_lang_reflect_Field_getByte___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_getByte___java_lang_Object]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_CHAR java_lang_reflect_Field_getChar___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_getChar___java_lang_Object]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Field_getDeclaringClass__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_getDeclaringClass__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE java_lang_reflect_Field_getDouble___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_getDouble___java_lang_Object]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_FLOAT java_lang_reflect_Field_getFloat___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_getFloat___java_lang_Object]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT java_lang_reflect_Field_getInt___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_getInt___java_lang_Object]
+ java_lang_reflect_Field* thiz = (java_lang_reflect_Field*) me;
+ JAVA_OBJECT type = thiz->fields.java_lang_reflect_Field.type_;
+ char* valuePtr=VALUE_PTR(thiz, n1);
+ if (type == __CLASS_int) {
+ JAVA_INT value = *((JAVA_INT*) valuePtr);
+ return value;
+ }
+ XMLVM_ERROR("bad type", __FILE__, __FUNCTION__, __LINE__);
+ return 0;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG java_lang_reflect_Field_getLong___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_getLong___java_lang_Object]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Field_getName__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_getName__]
+ java_lang_reflect_Field* thiz = (java_lang_reflect_Field*) me;
+ return thiz->fields.java_lang_reflect_Field.name_;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_SHORT java_lang_reflect_Field_getShort___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_getShort___java_lang_Object]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Field_getType__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_getType__]
+ java_lang_reflect_Field* thiz = (java_lang_reflect_Field*) me;
+ return thiz->fields.java_lang_reflect_Field.type_;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT java_lang_reflect_Field_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_hashCode__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_reflect_Field_set___java_lang_Object_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_set___java_lang_Object_java_lang_Object]
+ java_lang_reflect_Field* thiz = (java_lang_reflect_Field*) me;
+ JAVA_OBJECT type = thiz->fields.java_lang_reflect_Field.type_;
+ char* valuePtr=VALUE_PTR(thiz, n2);
+ memcpy(valuePtr, &n1, 4);
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_reflect_Field_setBoolean___java_lang_Object_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_setBoolean___java_lang_Object_boolean]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_reflect_Field_setByte___java_lang_Object_byte(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BYTE n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_setByte___java_lang_Object_byte]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_reflect_Field_setChar___java_lang_Object_char(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_CHAR n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_setChar___java_lang_Object_char]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_reflect_Field_setDouble___java_lang_Object_double(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_DOUBLE n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_setDouble___java_lang_Object_double]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_reflect_Field_setFloat___java_lang_Object_float(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_FLOAT n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_setFloat___java_lang_Object_float]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_reflect_Field_setInt___java_lang_Object_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_setInt___java_lang_Object_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_reflect_Field_setLong___java_lang_Object_long(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_LONG n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_setLong___java_lang_Object_long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void java_lang_reflect_Field_setShort___java_lang_Object_short(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_SHORT n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_setShort___java_lang_Object_short]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Field_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Field_toString__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+
+void xmlvm_init_native_java_lang_reflect_Field()
+{
+ //XMLVM_BEGIN_NATIVE_IMPLEMENTATION_INIT
+ //XMLVM_END_NATIVE_IMPLEMENTATION_INIT
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_getSignature__
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_getSignature__] =
+ (VTABLE_PTR) java_lang_reflect_Field_getSignature__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_isSynthetic__
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_isSynthetic__] =
+ (VTABLE_PTR) java_lang_reflect_Field_isSynthetic__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_toGenericString__
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_toGenericString__] =
+ (VTABLE_PTR) java_lang_reflect_Field_toGenericString__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_isEnumConstant__
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_isEnumConstant__] =
+ (VTABLE_PTR) java_lang_reflect_Field_isEnumConstant__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_getGenericType__
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_getGenericType__] =
+ (VTABLE_PTR) java_lang_reflect_Field_getGenericType__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_equals___java_lang_Object
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_equals___java_lang_Object] =
+ (VTABLE_PTR) java_lang_reflect_Field_equals___java_lang_Object;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_get___java_lang_Object
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_get___java_lang_Object] =
+ (VTABLE_PTR) java_lang_reflect_Field_get___java_lang_Object;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_getBoolean___java_lang_Object
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_getBoolean___java_lang_Object] =
+ (VTABLE_PTR) java_lang_reflect_Field_getBoolean___java_lang_Object;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_getByte___java_lang_Object
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_getByte___java_lang_Object] =
+ (VTABLE_PTR) java_lang_reflect_Field_getByte___java_lang_Object;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_getChar___java_lang_Object
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_getChar___java_lang_Object] =
+ (VTABLE_PTR) java_lang_reflect_Field_getChar___java_lang_Object;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_getDeclaringClass__
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_getDeclaringClass__] =
+ (VTABLE_PTR) java_lang_reflect_Field_getDeclaringClass__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_getDouble___java_lang_Object
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_getDouble___java_lang_Object] =
+ (VTABLE_PTR) java_lang_reflect_Field_getDouble___java_lang_Object;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_getFloat___java_lang_Object
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_getFloat___java_lang_Object] =
+ (VTABLE_PTR) java_lang_reflect_Field_getFloat___java_lang_Object;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_getInt___java_lang_Object
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_getInt___java_lang_Object] =
+ (VTABLE_PTR) java_lang_reflect_Field_getInt___java_lang_Object;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_getLong___java_lang_Object
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_getLong___java_lang_Object] =
+ (VTABLE_PTR) java_lang_reflect_Field_getLong___java_lang_Object;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_getName__
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_getName__] =
+ (VTABLE_PTR) java_lang_reflect_Field_getName__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_getShort___java_lang_Object
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_getShort___java_lang_Object] =
+ (VTABLE_PTR) java_lang_reflect_Field_getShort___java_lang_Object;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_getType__
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_getType__] =
+ (VTABLE_PTR) java_lang_reflect_Field_getType__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_hashCode__
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_hashCode__] =
+ (VTABLE_PTR) java_lang_reflect_Field_hashCode__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_set___java_lang_Object_java_lang_Object
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_set___java_lang_Object_java_lang_Object] =
+ (VTABLE_PTR) java_lang_reflect_Field_set___java_lang_Object_java_lang_Object;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_setBoolean___java_lang_Object_boolean
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_setBoolean___java_lang_Object_boolean] =
+ (VTABLE_PTR) java_lang_reflect_Field_setBoolean___java_lang_Object_boolean;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_setByte___java_lang_Object_byte
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_setByte___java_lang_Object_byte] =
+ (VTABLE_PTR) java_lang_reflect_Field_setByte___java_lang_Object_byte;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_setChar___java_lang_Object_char
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_setChar___java_lang_Object_char] =
+ (VTABLE_PTR) java_lang_reflect_Field_setChar___java_lang_Object_char;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_setDouble___java_lang_Object_double
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_setDouble___java_lang_Object_double] =
+ (VTABLE_PTR) java_lang_reflect_Field_setDouble___java_lang_Object_double;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_setFloat___java_lang_Object_float
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_setFloat___java_lang_Object_float] =
+ (VTABLE_PTR) java_lang_reflect_Field_setFloat___java_lang_Object_float;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_setInt___java_lang_Object_int
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_setInt___java_lang_Object_int] =
+ (VTABLE_PTR) java_lang_reflect_Field_setInt___java_lang_Object_int;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_setLong___java_lang_Object_long
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_setLong___java_lang_Object_long] =
+ (VTABLE_PTR) java_lang_reflect_Field_setLong___java_lang_Object_long;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_setShort___java_lang_Object_short
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_setShort___java_lang_Object_short] =
+ (VTABLE_PTR) java_lang_reflect_Field_setShort___java_lang_Object_short;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Field_toString__
+ __TIB_java_lang_reflect_Field.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Field_toString__] =
+ (VTABLE_PTR) java_lang_reflect_Field_toString__;
+#endif
+}
diff --git a/tests/nbody-java/native_java_lang_reflect_Method.c b/tests/nbody-java/native_java_lang_reflect_Method.c
new file mode 100644
index 00000000..2d7efa99
--- /dev/null
+++ b/tests/nbody-java/native_java_lang_reflect_Method.c
@@ -0,0 +1,207 @@
+
+#include "xmlvm.h"
+#include "java_lang_reflect_Method.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+#include "java_lang_Class.h"
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+JAVA_OBJECT java_lang_reflect_Method_getTypeParameters__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Method_getTypeParameters__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Method_toGenericString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Method_toGenericString__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Method_getGenericParameterTypes__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Method_getGenericParameterTypes__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Method_getGenericExceptionTypes__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Method_getGenericExceptionTypes__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Method_getGenericReturnType__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Method_getGenericReturnType__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Method_getParameterAnnotations__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Method_getParameterAnnotations__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_reflect_Method_isVarArgs__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Method_isVarArgs__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_reflect_Method_isBridge__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Method_isBridge__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_reflect_Method_isSynthetic__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Method_isSynthetic__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Method_getDefaultValue__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Method_getDefaultValue__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN java_lang_reflect_Method_equals___java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Method_equals___java_lang_Object]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Method_getDeclaringClass__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Method_getDeclaringClass__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Method_getExceptionTypes__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Method_getExceptionTypes__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Method_getName__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Method_getName__]
+ java_lang_reflect_Method* thiz = me;
+ return thiz->fields.java_lang_reflect_Method.name_;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT java_lang_reflect_Method_hashCode__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Method_hashCode__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Method_invoke___java_lang_Object_java_lang_Object_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Method_invoke___java_lang_Object_java_lang_Object_1ARRAY]
+ java_lang_reflect_Method* thiz = me;
+ java_lang_Class* declaringClass = thiz->fields.java_lang_reflect_Method.clazz_;
+ __TIB_DEFINITION_TEMPLATE* tib = declaringClass->fields.java_lang_Class.tib_;
+ Func_OOOO dispatcher = tib->methodDispatcherFunc;
+ return dispatcher(me, n1, n2);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_lang_reflect_Method_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[java_lang_reflect_Method_toString__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+
+void xmlvm_init_native_java_lang_reflect_Method()
+{
+ //XMLVM_BEGIN_NATIVE_IMPLEMENTATION_INIT
+ //XMLVM_END_NATIVE_IMPLEMENTATION_INIT
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Method_getTypeParameters__
+ __TIB_java_lang_reflect_Method.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Method_getTypeParameters__] =
+ (VTABLE_PTR) java_lang_reflect_Method_getTypeParameters__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Method_toGenericString__
+ __TIB_java_lang_reflect_Method.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Method_toGenericString__] =
+ (VTABLE_PTR) java_lang_reflect_Method_toGenericString__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Method_getGenericParameterTypes__
+ __TIB_java_lang_reflect_Method.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Method_getGenericParameterTypes__] =
+ (VTABLE_PTR) java_lang_reflect_Method_getGenericParameterTypes__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Method_getGenericExceptionTypes__
+ __TIB_java_lang_reflect_Method.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Method_getGenericExceptionTypes__] =
+ (VTABLE_PTR) java_lang_reflect_Method_getGenericExceptionTypes__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Method_getGenericReturnType__
+ __TIB_java_lang_reflect_Method.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Method_getGenericReturnType__] =
+ (VTABLE_PTR) java_lang_reflect_Method_getGenericReturnType__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Method_getParameterAnnotations__
+ __TIB_java_lang_reflect_Method.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Method_getParameterAnnotations__] =
+ (VTABLE_PTR) java_lang_reflect_Method_getParameterAnnotations__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Method_isVarArgs__
+ __TIB_java_lang_reflect_Method.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Method_isVarArgs__] =
+ (VTABLE_PTR) java_lang_reflect_Method_isVarArgs__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Method_isBridge__
+ __TIB_java_lang_reflect_Method.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Method_isBridge__] =
+ (VTABLE_PTR) java_lang_reflect_Method_isBridge__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Method_isSynthetic__
+ __TIB_java_lang_reflect_Method.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Method_isSynthetic__] =
+ (VTABLE_PTR) java_lang_reflect_Method_isSynthetic__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Method_getDefaultValue__
+ __TIB_java_lang_reflect_Method.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Method_getDefaultValue__] =
+ (VTABLE_PTR) java_lang_reflect_Method_getDefaultValue__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Method_equals___java_lang_Object
+ __TIB_java_lang_reflect_Method.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Method_equals___java_lang_Object] =
+ (VTABLE_PTR) java_lang_reflect_Method_equals___java_lang_Object;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Method_getDeclaringClass__
+ __TIB_java_lang_reflect_Method.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Method_getDeclaringClass__] =
+ (VTABLE_PTR) java_lang_reflect_Method_getDeclaringClass__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Method_getExceptionTypes__
+ __TIB_java_lang_reflect_Method.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Method_getExceptionTypes__] =
+ (VTABLE_PTR) java_lang_reflect_Method_getExceptionTypes__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Method_getName__
+ __TIB_java_lang_reflect_Method.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Method_getName__] =
+ (VTABLE_PTR) java_lang_reflect_Method_getName__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Method_hashCode__
+ __TIB_java_lang_reflect_Method.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Method_hashCode__] =
+ (VTABLE_PTR) java_lang_reflect_Method_hashCode__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Method_invoke___java_lang_Object_java_lang_Object_1ARRAY
+ __TIB_java_lang_reflect_Method.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Method_invoke___java_lang_Object_java_lang_Object_1ARRAY] =
+ (VTABLE_PTR) java_lang_reflect_Method_invoke___java_lang_Object_java_lang_Object_1ARRAY;
+#endif
+#ifdef XMLVM_VTABLE_IDX_java_lang_reflect_Method_toString__
+ __TIB_java_lang_reflect_Method.vtable[XMLVM_VTABLE_IDX_java_lang_reflect_Method_toString__] =
+ (VTABLE_PTR) java_lang_reflect_Method_toString__;
+#endif
+}
diff --git a/tests/nbody-java/native_java_net_InetAddress.c b/tests/nbody-java/native_java_net_InetAddress.c
new file mode 100644
index 00000000..beac4439
--- /dev/null
+++ b/tests/nbody-java/native_java_net_InetAddress.c
@@ -0,0 +1,92 @@
+
+#include "xmlvm.h"
+#include "java_net_InetAddress.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+#include "xmlvm-util.h"
+#include "xmlvm-sock.h"
+#include "java_net_UnknownHostException.h"
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+void java_net_InetAddress_oneTimeInitialization___boolean(JAVA_BOOLEAN n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_net_InetAddress_oneTimeInitialization___boolean]
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_net_InetAddress_getAliasesByNameImpl___java_lang_String(JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_net_InetAddress_getAliasesByNameImpl___java_lang_String]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_net_InetAddress_getHostByAddrImpl___byte_1ARRAY(JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_net_InetAddress_getHostByAddrImpl___byte_1ARRAY]
+ org_xmlvm_runtime_XMLVMArray* addr = n1;
+ I_32 result = 0;
+ hysockaddr_struct in_addr;
+ U_32 length;
+ char hostName[OSNIMAXHOST];
+ JAVA_ARRAY_BYTE ipaddr[HYSOCK_INADDR6_LEN];
+ int address_family = HYADDR_FAMILY_AFINET4;
+ length = addr->fields.org_xmlvm_runtime_XMLVMArray.length_;
+
+ /* If it's a valid length for an IP address then do the work */
+ if (length == HYSOCK_INADDR6_LEN || length == HYSOCK_INADDR_LEN)
+ {
+
+ if (length == HYSOCK_INADDR6_LEN)
+ {
+ address_family = HYADDR_FAMILY_AFINET6;
+ }
+
+ JAVA_ARRAY_BYTE* addrData = (JAVA_ARRAY_BYTE*) addr->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ XMLVM_MEMCPY(ipaddr, addrData, length);
+ hysock_sockaddr_init6 (&in_addr, (U_8 *) ipaddr, length,
+ (I_16) address_family, 0, 0, 0, NULL);
+ result =
+ hysock_getnameinfo (&in_addr, sizeof (in_addr.addr), hostName,
+ OSNIMAXHOST, 0);
+ if (0 == result)
+ {
+ return newJavaNetInetAddressGenericBS (ipaddr, length, hostName, 0);
+ }
+ }
+
+ XMLVM_THROW_WITH_CSTRING(java_net_UnknownHostException, netLookupErrorString(result))
+
+ return JAVA_NULL;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT java_net_InetAddress_inetAddrImpl___java_lang_String(JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_net_InetAddress_inetAddrImpl___java_lang_String]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_net_InetAddress_inetNtoaImpl___int(JAVA_INT n1)
+{
+ //XMLVM_BEGIN_NATIVE[java_net_InetAddress_inetNtoaImpl___int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_net_InetAddress_getHostByNameImpl___java_lang_String_boolean(JAVA_OBJECT n1, JAVA_BOOLEAN n2)
+{
+ //XMLVM_BEGIN_NATIVE[java_net_InetAddress_getHostByNameImpl___java_lang_String_boolean]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT java_net_InetAddress_getHostNameImpl__()
+{
+ //XMLVM_BEGIN_NATIVE[java_net_InetAddress_getHostNameImpl__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
diff --git a/tests/nbody-java/native_java_util_Locale.c b/tests/nbody-java/native_java_util_Locale.c
new file mode 100644
index 00000000..c9ed1416
--- /dev/null
+++ b/tests/nbody-java/native_java_util_Locale.c
@@ -0,0 +1,36 @@
+
+#include "xmlvm.h"
+#include "java_util_Locale.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+#ifdef __OBJC__
+#import <Foundation/NSUserDefaults.h>
+#endif
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+void java_util_Locale_initNativeLayer__()
+{
+ //XMLVM_BEGIN_NATIVE[java_util_Locale_initNativeLayer__]
+#ifdef __OBJC__
+ NSUserDefaults* defs = [NSUserDefaults standardUserDefaults];
+ NSArray* languages = [defs objectForKey:@"AppleLanguages"];
+ NSString* language_ = [languages objectAtIndex:0];
+ JAVA_OBJECT language = fromNSString(language_);
+ JAVA_OBJECT country = xmlvm_create_java_string("US");
+ JAVA_OBJECT variant = xmlvm_create_java_string("");
+ JAVA_OBJECT defaultLocale = __NEW_java_util_Locale();
+ java_util_Locale___INIT____java_lang_String_java_lang_String_java_lang_String(defaultLocale, language, country, variant);
+ java_util_Locale_setDefault___java_util_Locale(defaultLocale);
+#else
+ //TODO we need a Posix implementation, this is just a dummy implementation
+ JAVA_OBJECT language = xmlvm_create_java_string("en");
+ JAVA_OBJECT country = xmlvm_create_java_string("US");
+ JAVA_OBJECT variant = xmlvm_create_java_string("");
+ JAVA_OBJECT defaultLocale = __NEW_java_util_Locale();
+ java_util_Locale___INIT____java_lang_String_java_lang_String_java_lang_String(defaultLocale, language, country, variant);
+ java_util_Locale_setDefault___java_util_Locale(defaultLocale);
+#endif
+ //XMLVM_END_NATIVE
+}
+
diff --git a/tests/nbody-java/native_org_apache_harmony_luni_platform_OSFileSystem.c b/tests/nbody-java/native_org_apache_harmony_luni_platform_OSFileSystem.c
new file mode 100644
index 00000000..649da08e
--- /dev/null
+++ b/tests/nbody-java/native_org_apache_harmony_luni_platform_OSFileSystem.c
@@ -0,0 +1,272 @@
+
+#include "xmlvm.h"
+#include "org_apache_harmony_luni_platform_OSFileSystem.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+
+#include <unistd.h>
+
+#include "xmlvm-util.h"
+#include "xmlvm-hy.h"
+#include "hycomp.h"
+#include "xmlvm-file.h"
+#include "xmlvm-sock.h"
+
+#include "java_io_IOException.h"
+
+
+
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+void org_apache_harmony_luni_platform_OSFileSystem_oneTimeInitializationImpl__()
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSFileSystem_oneTimeInitializationImpl__]
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSFileSystem_lockImpl___long_long_long_int_boolean(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_LONG n3, JAVA_INT n4, JAVA_BOOLEAN n5)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSFileSystem_lockImpl___long_long_long_int_boolean]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSFileSystem_getAllocGranularity__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSFileSystem_getAllocGranularity__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSFileSystem_unlockImpl___long_long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_LONG n3)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSFileSystem_unlockImpl___long_long_long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSFileSystem_fflushImpl___long_boolean(JAVA_OBJECT me, JAVA_LONG n1, JAVA_BOOLEAN n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSFileSystem_fflushImpl___long_boolean]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_seekImpl___long_long_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSFileSystem_seekImpl___long_long_int]
+ I_32 hywhence = 0; /* The HY PPL equivalent of our whence arg.*/
+ JAVA_LONG* fd = n1;
+ JAVA_LONG offset = n2;
+ JAVA_INT whence = n3;
+
+ /* Convert whence argument */
+ switch (whence)
+ {
+ case org_apache_harmony_luni_platform_IFileSystem_SEEK_SET:
+ hywhence = HySeekSet;
+ break;
+ case org_apache_harmony_luni_platform_IFileSystem_SEEK_CUR:
+ hywhence = HySeekCur;
+ break;
+ case org_apache_harmony_luni_platform_IFileSystem_SEEK_END:
+ hywhence = HySeekEnd;
+ break;
+ default:
+ return -1;
+ }
+
+ return (JAVA_LONG) hyfile_seek (fd, (I_64) offset, hywhence);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_readDirectImpl___long_long_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_INT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSFileSystem_readDirectImpl___long_long_int_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_writeDirectImpl___long_long_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_INT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSFileSystem_writeDirectImpl___long_long_int_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_readImpl___long_byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSFileSystem_readImpl___long_byte_1ARRAY_int_int]
+ JAVA_LONG fd = n1;
+ org_xmlvm_runtime_XMLVMArray* byteArray = n2;
+ JAVA_INT offset = n3;
+ JAVA_INT nbytes = n4;
+
+ JAVA_ARRAY_BYTE *bytes = byteArray->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ JAVA_LONG result;
+
+ result = (JAVA_LONG) hyfile_read ((IDATA) fd, (void*) (bytes + offset), (IDATA) nbytes);
+ if(result == -1 && hyerror_last_error_number() == HYPORT_ERROR_FILE_LOCKED){
+ XMLVM_THROW_WITH_CSTRING(java_io_IOException, netLookupErrorString(HYPORT_ERROR_FILE_LOCKED))
+ }
+
+ return result;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_writeImpl___long_byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSFileSystem_writeImpl___long_byte_1ARRAY_int_int]
+ JAVA_LONG fd = n1;
+ org_xmlvm_runtime_XMLVMArray* byteArray = n2;
+ JAVA_INT offset = n3;
+ JAVA_INT nbytes = n4;
+
+ JAVA_ARRAY_BYTE* bytes = byteArray->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ JAVA_LONG result;
+
+ result = (JAVA_LONG) hyfile_write ((IDATA) fd, (void *) (bytes + offset), (IDATA) nbytes);
+ if(result == -1 && hyerror_last_error_number() == HYPORT_ERROR_FILE_LOCKED){
+ XMLVM_THROW_WITH_CSTRING(java_io_IOException, netLookupErrorString(HYPORT_ERROR_FILE_LOCKED))
+ }
+
+ return result;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_readvImpl___long_long_1ARRAY_int_1ARRAY_int_1ARRAY_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_OBJECT n4, JAVA_INT n5)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSFileSystem_readvImpl___long_long_1ARRAY_int_1ARRAY_int_1ARRAY_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_writev___long_java_lang_Object_1ARRAY_int_1ARRAY_int_1ARRAY_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_OBJECT n4, JAVA_INT n5)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSFileSystem_writev___long_java_lang_Object_1ARRAY_int_1ARRAY_int_1ARRAY_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSFileSystem_closeImpl___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSFileSystem_closeImpl___long]
+ JAVA_LONG fd = n1;
+ return (JAVA_INT) hyfile_close ((IDATA) fd);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSFileSystem_truncateImpl___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSFileSystem_truncateImpl___long_long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_openImpl___byte_1ARRAY_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSFileSystem_openImpl___byte_1ARRAY_int]
+ org_xmlvm_runtime_XMLVMArray* path = n1;
+ JAVA_INT jflags = n2;
+
+ I_32 flags = 0;
+ I_32 mode = 0;
+ IDATA portFD;
+ jsize length;
+ char pathCopy[HyMaxPath];
+
+ switch(jflags){
+ case org_apache_harmony_luni_platform_IFileSystem_O_RDONLY:
+ flags = HyOpenRead;
+ mode = 0;
+ break;
+ case org_apache_harmony_luni_platform_IFileSystem_O_WRONLY:
+ flags = HyOpenCreate | HyOpenWrite | HyOpenTruncate;
+ mode = 0666;
+ break;
+ case org_apache_harmony_luni_platform_IFileSystem_O_RDWR:
+ flags = HyOpenRead | HyOpenWrite | HyOpenCreate;
+ mode = 0666;
+ break;
+ case org_apache_harmony_luni_platform_IFileSystem_O_APPEND:
+ flags = HyOpenWrite | HyOpenCreate | HyOpenAppend;
+ mode = 0666;
+ break;
+ case org_apache_harmony_luni_platform_IFileSystem_O_RDWRSYNC:
+ flags = HyOpenRead | HyOpenWrite | HyOpenCreate | HyOpenSync;
+ mode = 0666;
+ break;
+ }
+
+ length = XMLVMArray_count(path);
+ length = length < HyMaxPath - 1 ? length : HyMaxPath - 1;
+ XMLVM_MEMCPY(pathCopy, path->fields.org_xmlvm_runtime_XMLVMArray.array_, length);
+ pathCopy[length] = '\0';
+ ioh_convertToPlatform (pathCopy);
+
+ portFD = hyfile_open (pathCopy, flags, mode);
+ return (JAVA_LONG) portFD;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_transferImpl___long_java_io_FileDescriptor_long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_LONG n3, JAVA_LONG n4)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSFileSystem_transferImpl___long_java_io_FileDescriptor_long_long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_ttyAvailableImpl__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSFileSystem_ttyAvailableImpl__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_availableImpl___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSFileSystem_availableImpl___long]
+ JAVA_OBJECT thiz = me;
+ JAVA_LONG fd = n1;
+
+ JAVA_LONG currentPosition =
+ org_apache_harmony_luni_platform_OSFileSystem_seekImpl___long_long_int(thiz, fd, 0, org_apache_harmony_luni_platform_IFileSystem_SEEK_CUR);
+
+ JAVA_LONG endPosition =
+ org_apache_harmony_luni_platform_OSFileSystem_seekImpl___long_long_int(thiz, fd, 0, org_apache_harmony_luni_platform_IFileSystem_SEEK_END);
+
+ org_apache_harmony_luni_platform_OSFileSystem_seekImpl___long_long_int(thiz, fd, currentPosition, org_apache_harmony_luni_platform_IFileSystem_SEEK_SET);
+
+ return (JAVA_LONG) (endPosition - currentPosition);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_sizeImpl___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSFileSystem_sizeImpl___long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_ttyReadImpl___byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSFileSystem_ttyReadImpl___byte_1ARRAY_int_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+
+void xmlvm_init_native_org_apache_harmony_luni_platform_OSFileSystem()
+{
+ //XMLVM_BEGIN_NATIVE_IMPLEMENTATION_INIT
+ //XMLVM_END_NATIVE_IMPLEMENTATION_INIT
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSFileSystem_getAllocGranularity__
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSFileSystem_getAllocGranularity__] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSFileSystem_getAllocGranularity__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSFileSystem_writev___long_java_lang_Object_1ARRAY_int_1ARRAY_int_1ARRAY_int
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSFileSystem_writev___long_java_lang_Object_1ARRAY_int_1ARRAY_int_1ARRAY_int] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSFileSystem_writev___long_java_lang_Object_1ARRAY_int_1ARRAY_int_1ARRAY_int;
+#endif
+}
diff --git a/tests/nbody-java/native_org_apache_harmony_luni_platform_OSMemory.c b/tests/nbody-java/native_org_apache_harmony_luni_platform_OSMemory.c
new file mode 100644
index 00000000..e5e898ac
--- /dev/null
+++ b/tests/nbody-java/native_org_apache_harmony_luni_platform_OSMemory.c
@@ -0,0 +1,288 @@
+
+#include "xmlvm.h"
+#include "org_apache_harmony_luni_platform_OSMemory.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+JAVA_BOOLEAN org_apache_harmony_luni_platform_OSMemory_isLittleEndianImpl__()
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_isLittleEndianImpl__]
+ struct {
+ int x;
+ char c[sizeof(int)];
+ } u;
+ u.x = 1;
+ return u.c[0] != 0;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSMemory_getPointerSizeImpl__()
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_getPointerSizeImpl__]
+ return sizeof(JAVA_OBJECT);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG org_apache_harmony_luni_platform_OSMemory_malloc___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_malloc___long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSMemory_free___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_free___long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSMemory_memset___long_byte_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_BYTE n2, JAVA_LONG n3)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_memset___long_byte_long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSMemory_memmove___long_long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_LONG n3)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_memmove___long_long_long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSMemory_getByteArray___long_byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_getByteArray___long_byte_1ARRAY_int_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSMemory_setByteArray___long_byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_setByteArray___long_byte_1ARRAY_int_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BYTE org_apache_harmony_luni_platform_OSMemory_getByte___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_getByte___long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSMemory_setByte___long_byte(JAVA_OBJECT me, JAVA_LONG n1, JAVA_BYTE n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_setByte___long_byte]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_SHORT org_apache_harmony_luni_platform_OSMemory_getShort___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_getShort___long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSMemory_setShort___long_short(JAVA_OBJECT me, JAVA_LONG n1, JAVA_SHORT n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_setShort___long_short]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSMemory_getInt___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_getInt___long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSMemory_setInt___long_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_setInt___long_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG org_apache_harmony_luni_platform_OSMemory_getLong___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_getLong___long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSMemory_setLong___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_setLong___long_long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_FLOAT org_apache_harmony_luni_platform_OSMemory_getFloat___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_getFloat___long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSMemory_setFloat___long_float(JAVA_OBJECT me, JAVA_LONG n1, JAVA_FLOAT n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_setFloat___long_float]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_DOUBLE org_apache_harmony_luni_platform_OSMemory_getDouble___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_getDouble___long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSMemory_setDouble___long_double(JAVA_OBJECT me, JAVA_LONG n1, JAVA_DOUBLE n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_setDouble___long_double]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG org_apache_harmony_luni_platform_OSMemory_getAddress___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_getAddress___long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSMemory_setAddress___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_setAddress___long_long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG org_apache_harmony_luni_platform_OSMemory_mmapImpl___long_long_long_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_LONG n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_mmapImpl___long_long_long_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSMemory_unmapImpl___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_unmapImpl___long_long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSMemory_loadImpl___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_loadImpl___long_long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN org_apache_harmony_luni_platform_OSMemory_isLoadedImpl___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_isLoadedImpl___long_long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSMemory_flushImpl___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSMemory_flushImpl___long_long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+
+void xmlvm_init_native_org_apache_harmony_luni_platform_OSMemory()
+{
+ //XMLVM_BEGIN_NATIVE_IMPLEMENTATION_INIT
+ //XMLVM_END_NATIVE_IMPLEMENTATION_INIT
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_malloc___long
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_malloc___long] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSMemory_malloc___long;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_free___long
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_free___long] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSMemory_free___long;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_memset___long_byte_long
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_memset___long_byte_long] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSMemory_memset___long_byte_long;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_memmove___long_long_long
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_memmove___long_long_long] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSMemory_memmove___long_long_long;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getByteArray___long_byte_1ARRAY_int_int
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getByteArray___long_byte_1ARRAY_int_int] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSMemory_getByteArray___long_byte_1ARRAY_int_int;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setByteArray___long_byte_1ARRAY_int_int
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setByteArray___long_byte_1ARRAY_int_int] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSMemory_setByteArray___long_byte_1ARRAY_int_int;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getByte___long
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getByte___long] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSMemory_getByte___long;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setByte___long_byte
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setByte___long_byte] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSMemory_setByte___long_byte;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getShort___long
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getShort___long] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSMemory_getShort___long;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setShort___long_short
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setShort___long_short] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSMemory_setShort___long_short;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getInt___long
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getInt___long] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSMemory_getInt___long;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setInt___long_int
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setInt___long_int] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSMemory_setInt___long_int;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getLong___long
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getLong___long] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSMemory_getLong___long;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setLong___long_long
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setLong___long_long] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSMemory_setLong___long_long;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getFloat___long
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getFloat___long] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSMemory_getFloat___long;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setFloat___long_float
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setFloat___long_float] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSMemory_setFloat___long_float;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getDouble___long
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getDouble___long] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSMemory_getDouble___long;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setDouble___long_double
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setDouble___long_double] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSMemory_setDouble___long_double;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getAddress___long
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getAddress___long] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSMemory_getAddress___long;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setAddress___long_long
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setAddress___long_long] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSMemory_setAddress___long_long;
+#endif
+}
diff --git a/tests/nbody-java/native_org_apache_harmony_luni_platform_OSNetworkSystem.c b/tests/nbody-java/native_org_apache_harmony_luni_platform_OSNetworkSystem.c
new file mode 100644
index 00000000..81b8b13a
--- /dev/null
+++ b/tests/nbody-java/native_org_apache_harmony_luni_platform_OSNetworkSystem.c
@@ -0,0 +1,1040 @@
+
+#include "xmlvm.h"
+#include "org_apache_harmony_luni_platform_OSNetworkSystem.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+
+#include <fcntl.h>
+//#include <errno.h>
+//#include <sys/types.h>
+//#include <sys/socket.h>
+#include <sys/ioctl.h>
+#include "poll.h"
+#include "java_io_FileDescriptor.h"
+#include "java_net_SocketException.h"
+#include "java_net_BindException.h"
+#include "java_net_ConnectException.h"
+#include "java_lang_Thread.h"
+#include "xmlvm-sock.h"
+#include "java_io_InterruptedIOException.h"
+
+
+void createSocket (JAVA_OBJECT thisObjFD, int sockType, BOOLEAN preferIPv4Stack)
+{
+ I_32 result;
+ hysocket_t sockdesc;
+ int family = HYADDR_FAMILY_AFINET4;
+ int supportsIPv6 = 0; //HARMONY_CACHE_GET (env, harmony_supports_ipv6);
+
+ if (supportsIPv6 && !(preferIPv4Stack))
+ {
+ /* We are creating a server socket on the any address */
+ family = HYADDR_FAMILY_UNSPEC;
+ }
+
+ result = hysock_socket (&sockdesc, family, sockType, HYSOCK_DEFPROTOCOL);
+ if (0 != result)
+ {
+ /* ok now if we tried to create an IPv6 socket and it failed it could be that the
+ platform does not have IPv6 enabled. In this case we should revert back to
+ creating an IPv4 socket */
+ if (HYADDR_FAMILY_UNSPEC == family)
+ {
+ /* now try to create an IPv4 socket */
+ family = HYADDR_FAMILY_AFINET4;
+ result = hysock_socket (&sockdesc, family, sockType, HYSOCK_DEFPROTOCOL);
+ }
+
+ if (0 != result)
+ {
+ throwJavaNetSocketException (result);
+ }
+ }
+
+ if (0 == result)
+ {
+ setJavaIoFileDescriptorContents (thisObjFD, sockdesc);
+ }
+}
+
+
+int selectRead(hysocket_t hysocketP, I_32 uSecTime, BOOLEAN accept)
+{
+ I_32 result = 0;
+ I_32 timeout;
+ struct pollfd my_pollfd;
+
+ timeout = uSecTime >= 0 ? TO_MILLIS(0, uSecTime) : -1;
+ my_pollfd.fd = hysocketP->sock;
+ my_pollfd.events = POLLIN | POLLPRI;
+ my_pollfd.revents = 0;
+ do {
+ result = poll (&my_pollfd, 1, timeout);
+ } while (result == -1 && errno == EINTR);
+
+ if (result == 0)
+ return HYPORT_ERROR_SOCKET_TIMEOUT;
+
+ if (result == -1)
+ return HYPORT_ERROR_SOCKET_OPFAILED;
+
+ return result;
+}
+
+
+
+UDATA hytime_msec_clock ()
+{
+ struct timeval tp;
+
+ gettimeofday (&tp, NULL);
+ return (tp.tv_sec * 1000) + (tp.tv_usec / 1000);
+}
+
+
+int pollSelectRead (JAVA_OBJECT fileDescriptor, JAVA_INT timeout, BOOLEAN poll)
+{
+
+ I_32 result;
+ hysocket_t hysocketP;
+
+ //PORT_ACCESS_FROM_ENV (env);
+
+ if (!poll) {
+ UDATA finishTime;
+
+ /*
+ * A zero timeout means wait forever. If not polling, return success
+ * and call receive() or accept() to block.
+ */
+
+ if (!timeout) {
+ return 0;
+ }
+
+ finishTime = hytime_msec_clock() + (UDATA) timeout;
+
+ SELECT_NOPOLL:
+
+ hysocketP = getJavaIoFileDescriptorContentsAsAPointer (fileDescriptor);
+
+ if (!hysock_socketIsValid (hysocketP)) {
+ throwJavaNetSocketException (HYPORT_ERROR_SOCKET_BADSOCKET);
+ return - 1;
+ }
+
+ result = hysock_select_read (hysocketP, timeout / 1000,
+ (timeout % 1000) * 1000, FALSE);
+
+ /*
+ * if we time out, then throw the InterruptedIO exception
+ * which gets converted by a caller into the appropriate thing
+ *
+ * if we are interrupted, recalculate our timeout and if we
+ * have time left or 0, try again. If no time lest, throw InterruptedIO
+ * Exception
+ *
+ * If some other error, just throw exceptionand bail
+ */
+ if (HYPORT_ERROR_SOCKET_TIMEOUT == result) {
+ XMLVM_THROW_WITH_CSTRING(java_io_InterruptedIOException, netLookupErrorString(result))
+ }
+ else if (HYPORT_ERROR_SOCKET_INTERRUPTED == result) {
+
+ timeout = finishTime - hytime_msec_clock();
+
+ if (timeout < 0) {
+ XMLVM_THROW_WITH_CSTRING(java_io_InterruptedIOException, netLookupErrorString(result))
+ }
+ else {
+ goto SELECT_NOPOLL;
+ }
+ }
+ else if (0 > result) {
+ XMLVM_THROW_WITH_CSTRING(java_net_SocketException, netLookupErrorString(result))
+ }
+ }
+ else /* we are polling */
+ {
+ I_32 pollTimeoutUSec = 100000, pollMsec = 100;
+ UDATA finishTime = 0;
+ IDATA timeLeft = timeout;
+ BOOLEAN hasTimeout = timeout > 0;
+
+ if (hasTimeout) {
+ finishTime = hytime_msec_clock () + (UDATA) timeout;
+ }
+
+ select:
+
+ /*
+ * Fetch the handle every time in case the socket is closed.
+ */
+
+ hysocketP =
+ getJavaIoFileDescriptorContentsAsAPointer (fileDescriptor);
+
+ if (!hysock_socketIsValid (hysocketP))
+ {
+ XMLVM_THROW_WITH_CSTRING(java_net_SocketException, netLookupErrorString(HYPORT_ERROR_SOCKET_INTERRUPTED))
+ return - 1;
+ }
+
+ if (hasTimeout)
+ {
+ if (timeLeft - 10 < pollMsec) {
+ pollTimeoutUSec = timeLeft <= 0 ? 0 : (timeLeft * 1000);
+ }
+
+ result = hysock_select_read (hysocketP, 0, pollTimeoutUSec, FALSE);
+
+ /*
+ * because we are polling at a time smaller than timeout (presumably)
+ * lets treat an interrupt and timeout the same - go see if we're done
+ * timewise, and then just try again if not
+ */
+ if (HYPORT_ERROR_SOCKET_TIMEOUT == result ||
+ HYPORT_ERROR_SOCKET_INTERRUPTED == result)
+ {
+ timeLeft = finishTime - hytime_msec_clock ();
+
+ if (timeLeft <= 0) {
+ XMLVM_THROW_WITH_CSTRING(java_io_InterruptedIOException, netLookupErrorString(result))
+ }
+ else
+ {
+ goto select;
+ }
+ }
+ else if (0 > result) {
+ XMLVM_THROW_WITH_CSTRING(java_net_SocketException, netLookupErrorString(result))
+ }
+ }
+ else /* polling with no timeout (why would you do this?)*/
+ {
+ result = hysock_select_read (hysocketP, 0, pollTimeoutUSec, FALSE);
+
+ /*
+ * if interrupted (or a timeout) just retry
+ */
+ if (HYPORT_ERROR_SOCKET_TIMEOUT == result ||
+ HYPORT_ERROR_SOCKET_INTERRUPTED == result)
+ {
+ goto select;
+ }
+ else if (0 > result) {
+ XMLVM_THROW_WITH_CSTRING(java_net_SocketException, netLookupErrorString(result))
+ }
+ }
+ }
+
+ return result;
+}
+
+
+void updateSocket(hysockaddr_t sockaddrP, hysocket_t socketNew, JAVA_OBJECT socketImpl, JAVA_OBJECT fileDescriptorSocketImpl)
+{
+ //PORT_ACCESS_FROM_ENV(env);
+ U_8 nipAddress[HYSOCK_INADDR6_LEN];
+ U_32 length;
+ JAVA_OBJECT anInetAddress;
+ U_16 nPort;
+ U_32 scope_id = 0;
+
+ //hysock_sockaddr_address6(sockaddrP, nipAddress, &length, &scope_id);
+ //nPort = hysock_sockaddr_port(sockaddrP);
+ //anInetAddress = newJavaNetInetAddressGenericB((jbyte *) nipAddress, length, scope_id);
+
+ setJavaIoFileDescriptorContents(fileDescriptorSocketImpl, socketNew);
+ //setSocketImplAddress(env, socketImpl, anInetAddress);
+ //setSocketImplPort(env, socketImpl, hysock_ntohs(nPort));
+}
+
+
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_accept___java_io_FileDescriptor_java_net_SocketImpl_java_io_FileDescriptor_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_accept___java_io_FileDescriptor_java_net_SocketImpl_java_io_FileDescriptor_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_acceptStreamSocket___java_io_FileDescriptor_java_net_SocketImpl_java_io_FileDescriptor_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_acceptStreamSocket___java_io_FileDescriptor_java_net_SocketImpl_java_io_FileDescriptor_int]
+ java_io_FileDescriptor* fdServer = n1;
+ JAVA_OBJECT socketImpl = n2;
+ JAVA_OBJECT fdSocketImpl = n3;
+ JAVA_INT timeout = n4;
+
+ //PORT_ACCESS_FROM_ENV(env);
+ I_32 result;
+ hysocket_t socketS, socketNew;
+ hysockaddr_struct sockaddrP;
+ JAVA_ARRAY_BYTE nlocalAddrBytes[HYSOCK_INADDR6_LEN];
+
+select_accept:
+ result = pollSelectRead(fdServer, timeout, TRUE);
+ if (0 > result) {
+ return;
+ }
+
+ socketS = getJavaIoFileDescriptorContentsAsAPointer(fdServer);
+ if (!hysock_socketIsValid(socketS)) {
+ XMLVM_THROW_WITH_CSTRING(java_net_SocketException, netLookupErrorString(HYPORT_ERROR_SOCKET_BADSOCKET))
+ return;
+ }
+
+ hysock_sockaddr_init6(&sockaddrP, (U_8 *) nlocalAddrBytes,
+ HYSOCK_INADDR_LEN, HYADDR_FAMILY_AFINET4, 0, 0, 0,
+ socketS);
+
+ result = hysock_accept(socketS, &sockaddrP, &socketNew);
+ if (0 != result) {
+ // repeat accept if the server was reset
+ if (errno == ECONNABORTED) {
+ goto select_accept;
+ } else {
+ XMLVM_THROW_WITH_CSTRING(java_net_SocketException, netLookupErrorString(result))
+ return;
+ }
+ }
+
+ updateSocket(&sockaddrP, socketNew, socketImpl, fdSocketImpl);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_availableStream___java_io_FileDescriptor(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_availableStream___java_io_FileDescriptor]
+ java_io_FileDescriptor* fileDescriptor = (java_io_FileDescriptor*) n1;
+
+ hysocket_t hysocketP;
+ U_32 nbytes = 0;
+ I_32 result;
+
+ hysocketP = getJavaIoFileDescriptorContentsAsAPointer(fileDescriptor);
+ if (!hysock_socketIsValid(hysocketP)) {
+ XMLVM_THROW_WITH_CSTRING(java_net_SocketException, netLookupErrorString(HYPORT_ERROR_SOCKET_BADSOCKET))
+ return (JAVA_INT) 0;
+ }
+
+ result = ioctl(hysocketP->sock, FIONREAD, &nbytes);
+ if (result != 0) {
+ XMLVM_THROW_WITH_CSTRING(java_net_SocketException, netLookupErrorString(result));
+ return (JAVA_INT) 0;
+ }
+
+ return (JAVA_INT) nbytes;
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_bind___java_io_FileDescriptor_java_net_InetAddress_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_bind___java_io_FileDescriptor_java_net_InetAddress_int]
+ JAVA_ARRAY_BYTE nlocalAddrBytes[HYSOCK_INADDR6_LEN];
+ int length;
+ U_16 nPort;
+ I_32 result;
+ hysocket_t socketP;
+ hysockaddr_struct sockaddrP;
+ U_32 scope_id = 0;
+ java_io_FileDescriptor* fileDescriptor = (java_io_FileDescriptor*) n1;
+ java_net_InetAddress* inetAddress = n2;
+ JAVA_INT localPort = n3;
+
+ socketP = getJavaIoFileDescriptorContentsAsAPointer(fileDescriptor);
+ if (!hysock_socketIsValid(socketP)) {
+ XMLVM_THROW_WITH_CSTRING(java_net_SocketException, netLookupErrorString(HYPORT_ERROR_SOCKET_BADSOCKET))
+ return;
+ } else {
+ netGetJavaNetInetAddressValue(inetAddress, (U_8*) nlocalAddrBytes, (U_32*) &length);
+
+ nPort = hysock_htons((U_16) localPort);
+ if (length == HYSOCK_INADDR6_LEN) {
+ netGetJavaNetInetAddressScopeId(inetAddress, &scope_id);
+ hysock_sockaddr_init6(&sockaddrP, (U_8 *) nlocalAddrBytes, length,
+ HYADDR_FAMILY_AFINET6, nPort, 0, scope_id,
+ socketP);
+ } else {
+ hysock_sockaddr_init6(&sockaddrP, (U_8 *) nlocalAddrBytes, length,
+ HYADDR_FAMILY_AFINET4, nPort, 0, scope_id,
+ socketP);
+ }
+ result = hysock_bind(socketP, &sockaddrP);
+ if (0 != result) {
+ XMLVM_THROW_WITH_CSTRING(java_net_BindException, netLookupErrorString(result))
+ return;
+ }
+ }
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_connect___java_io_FileDescriptor_int_java_net_InetAddress_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_connect___java_io_FileDescriptor_int_java_net_InetAddress_int]
+ U_8 nAddrBytes[HYSOCK_INADDR6_LEN];
+ U_32 length = 0;
+ U_16 nPort;
+ I_32 result;
+ hysocket_t socketP;
+ hysockaddr_struct sockaddrP;
+ U_32 scope_id = 0;
+
+ java_io_FileDescriptor* fd = n1;
+ JAVA_INT trafficClass = n2;
+ java_net_InetAddress* inetAddress = n3;
+ JAVA_INT remotePort = n4;
+
+ socketP = getJavaIoFileDescriptorContentsAsAPointer(fd);
+ if (!hysock_socketIsValid(socketP)) {
+ XMLVM_THROW_WITH_CSTRING(java_net_SocketException, netLookupErrorString(HYPORT_ERROR_SOCKET_BADSOCKET))
+ return -1;
+ }
+
+ netGetJavaNetInetAddressValue(inetAddress, nAddrBytes, &length);
+ nPort = hysock_htons((U_16) remotePort);
+
+ if (length == HYSOCK_INADDR_LEN) {
+ // IPv4
+ hysock_sockaddr_init6(&sockaddrP, nAddrBytes, length,
+ HYADDR_FAMILY_AFINET4, nPort, 0, 0, socketP);
+ } else {
+ // IPv6
+ netGetJavaNetInetAddressScopeId(inetAddress, &scope_id);
+ hysock_sockaddr_init6(&sockaddrP, nAddrBytes, length,
+ HYADDR_FAMILY_AFINET6, nPort,
+ (trafficClass & 0xFF) << 20, scope_id, socketP);
+ }
+
+ result = hysock_connect(socketP, &sockaddrP);
+ if (0 != result) {
+ XMLVM_THROW_WITH_CSTRING(java_net_ConnectException, netLookupErrorString(result))
+ return result;
+ }
+
+ return result;
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_connectDatagram___java_io_FileDescriptor_int_int_java_net_InetAddress(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3, JAVA_OBJECT n4)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_connectDatagram___java_io_FileDescriptor_int_int_java_net_InetAddress]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_connectStreamWithTimeoutSocket___java_io_FileDescriptor_int_int_int_java_net_InetAddress(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3, JAVA_INT n4, JAVA_OBJECT n5)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_connectStreamWithTimeoutSocket___java_io_FileDescriptor_int_int_int_java_net_InetAddress]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_connectWithTimeout___java_io_FileDescriptor_int_int_java_net_InetAddress_int_int_java_lang_Long(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3, JAVA_OBJECT n4, JAVA_INT n5, JAVA_INT n6, JAVA_OBJECT n7)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_connectWithTimeout___java_io_FileDescriptor_int_int_java_net_InetAddress_int_int_java_lang_Long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_createDatagramSocket___java_io_FileDescriptor_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_createDatagramSocket___java_io_FileDescriptor_boolean]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_createServerStreamSocket___java_io_FileDescriptor_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_createServerStreamSocket___java_io_FileDescriptor_boolean]
+ hysocket_t socketP;
+ BOOLEAN value = TRUE;
+
+ createSocket(n1, HYSOCK_STREAM, n2);
+
+ /* Also sets HY_SO_REUSEADDR = TRUE on Linux only */
+ socketP = (hysocket_t) getJavaIoFileDescriptorContentsAsAPointer(n1);
+ hysock_setopt_bool (socketP, HY_SOL_SOCKET, HY_SO_REUSEADDR, &value);
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_createStreamSocket___java_io_FileDescriptor_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_createStreamSocket___java_io_FileDescriptor_boolean]
+ createSocket(n1, HYSOCK_STREAM, n2);
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_disconnectDatagram___java_io_FileDescriptor(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_disconnectDatagram___java_io_FileDescriptor]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT org_apache_harmony_luni_platform_OSNetworkSystem_getHostByAddr___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_getHostByAddr___byte_1ARRAY]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT org_apache_harmony_luni_platform_OSNetworkSystem_getHostByName___java_lang_String_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_getHostByName___java_lang_String_boolean]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_getSocketFlags__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_getSocketFlags__]
+ return 0;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT org_apache_harmony_luni_platform_OSNetworkSystem_getSocketLocalAddress___java_io_FileDescriptor_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_getSocketLocalAddress___java_io_FileDescriptor_boolean]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_getSocketLocalPort___java_io_FileDescriptor_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_getSocketLocalPort___java_io_FileDescriptor_boolean]
+ I_32 result;
+ hysockaddr_struct sockaddrP;
+ U_16 nPort, hPort;
+ java_io_FileDescriptor* fileDescriptor = n1;
+ JAVA_BOOLEAN preferIPv6Addresses = n2;
+
+ result = netGetSockAddr(fileDescriptor, &sockaddrP, preferIPv6Addresses);
+ if (0 != result) {
+ /* The java spec does not indicate any exceptions on this call */
+ return (JAVA_INT) 0;
+ }
+
+ nPort = hysock_sockaddr_port(&sockaddrP);
+ hPort = hysock_ntohs(nPort);
+ return (JAVA_INT) hPort;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT org_apache_harmony_luni_platform_OSNetworkSystem_getSocketOption___java_io_FileDescriptor_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_getSocketOption___java_io_FileDescriptor_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT org_apache_harmony_luni_platform_OSNetworkSystem_inheritedChannel__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_inheritedChannel__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_isReachableByICMPImpl___java_net_InetAddress_java_net_InetAddress_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_isReachableByICMPImpl___java_net_InetAddress_java_net_InetAddress_int_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_listenStreamSocket___java_io_FileDescriptor_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_listenStreamSocket___java_io_FileDescriptor_int]
+ java_io_FileDescriptor* fd = n1;
+ JAVA_INT backlog = n2;
+
+ hysocket_t socketP;
+ I_32 result;
+
+ socketP = getJavaIoFileDescriptorContentsAsAPointer(fd);
+
+ if (!hysock_socketIsValid(socketP)) {
+ XMLVM_THROW_WITH_CSTRING(java_net_SocketException, netLookupErrorString(HYPORT_ERROR_SOCKET_BADSOCKET))
+ return;
+ }
+
+ result = hysock_listen(socketP, (I_32) backlog);
+ if (result < 0) {
+ XMLVM_THROW_WITH_CSTRING(java_net_SocketException, netLookupErrorString(result))
+ return;
+ }
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_oneTimeInitializationImpl___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_oneTimeInitializationImpl___boolean]
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_peekDatagram___java_io_FileDescriptor_java_net_InetAddress_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_peekDatagram___java_io_FileDescriptor_java_net_InetAddress_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_read___java_io_FileDescriptor_byte_1ARRAY_int_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4, JAVA_INT n5)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_read___java_io_FileDescriptor_byte_1ARRAY_int_int_int]
+ JAVA_ARRAY_BYTE* message;
+ JAVA_INT result;
+
+ java_io_FileDescriptor* fd = n1;
+ org_xmlvm_runtime_XMLVMArray* data = n2;
+ JAVA_INT offset = n3;
+ JAVA_INT count = n4;
+ JAVA_INT timeout = n5;
+
+ /* Get a pointer to the start of the bytearray */
+ message = data->fields.org_xmlvm_runtime_XMLVMArray.array_;
+
+ /* Read directly into the byte array */
+ result =
+ org_apache_harmony_luni_platform_OSNetworkSystem_readDirect___java_io_FileDescriptor_long_int_int
+ (me, fd, (JAVA_LONG) (message + offset), count, timeout);
+
+ return result;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_readDirect___java_io_FileDescriptor_long_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_LONG n2, JAVA_INT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_readDirect___java_io_FileDescriptor_long_int_int]
+ java_io_FileDescriptor* fd = n1;
+ JAVA_LONG address = n2;
+ JAVA_INT count = n3;
+ JAVA_INT timeout = n4;
+
+ hysocket_t hysocketP;
+ U_8 *message = (U_8 *) address;
+ I_32 result, localCount;
+
+ hysocketP = getJavaIoFileDescriptorContentsAsAPointer(fd);
+ if (!hysock_socketIsValid(hysocketP)) {
+ XMLVM_THROW_WITH_CSTRING(java_net_SocketException, netLookupErrorString(HYPORT_ERROR_SOCKET_BADSOCKET))
+ return (JAVA_INT) 0;
+ }
+
+ /* A non-zero timeout will first check, and potentially wait, to see if any
+ * bytes are available
+ */
+ if (timeout != 0) {
+ result = selectRead(hysocketP, timeout * 1000, FALSE);
+ if (0 > result) {
+ if (result == HYPORT_ERROR_SOCKET_TIMEOUT) {
+ return (JAVA_INT) 0; // return zero bytes to indicate timeout
+ }
+
+ XMLVM_THROW_WITH_CSTRING(java_net_SocketException, netLookupErrorString(result))
+ return (JAVA_INT) 0; // Unused, exception takes precedence
+ }
+ }
+
+ /* Limit size of read to 64k bytes */
+ localCount = (count < 65536) ? count : 65536;
+ result = hysock_read(hysocketP, message, localCount, HYSOCK_NOFLAGS);
+ if (0 > result) {
+ if (HYPORT_ERROR_SOCKET_WOULDBLOCK == result) {
+ /* We were asked to read on a nonblocking socket and there is no data available */
+ return (JAVA_INT) 0;
+ }
+
+ XMLVM_THROW_WITH_CSTRING(java_net_SocketException, netLookupErrorString(result))
+ return (JAVA_INT) 0;
+ }
+
+ /* If no bytes are read, return -1 to signal 'endOfFile' to the Java input stream */
+ return (0 == result) ? (JAVA_INT) -1 : (JAVA_INT) result;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_receiveDatagram___java_io_FileDescriptor_java_net_DatagramPacket_byte_1ARRAY_int_int_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5, JAVA_INT n6, JAVA_BOOLEAN n7)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_receiveDatagram___java_io_FileDescriptor_java_net_DatagramPacket_byte_1ARRAY_int_int_int_boolean]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_receiveDatagramDirect___java_io_FileDescriptor_java_net_DatagramPacket_long_int_int_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_LONG n3, JAVA_INT n4, JAVA_INT n5, JAVA_INT n6, JAVA_BOOLEAN n7)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_receiveDatagramDirect___java_io_FileDescriptor_java_net_DatagramPacket_long_int_int_int_boolean]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_receiveStream___java_io_FileDescriptor_byte_1ARRAY_int_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4, JAVA_INT n5)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_receiveStream___java_io_FileDescriptor_byte_1ARRAY_int_int_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_recvConnectedDatagram___java_io_FileDescriptor_java_net_DatagramPacket_byte_1ARRAY_int_int_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5, JAVA_INT n6, JAVA_BOOLEAN n7)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_recvConnectedDatagram___java_io_FileDescriptor_java_net_DatagramPacket_byte_1ARRAY_int_int_int_boolean]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_recvConnectedDatagramDirect___java_io_FileDescriptor_java_net_DatagramPacket_long_int_int_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_LONG n3, JAVA_INT n4, JAVA_INT n5, JAVA_INT n6, JAVA_BOOLEAN n7)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_recvConnectedDatagramDirect___java_io_FileDescriptor_java_net_DatagramPacket_long_int_int_int_boolean]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_selectImpl___java_io_FileDescriptor_1ARRAY_java_io_FileDescriptor_1ARRAY_int_int_int_1ARRAY_long(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4, JAVA_OBJECT n5, JAVA_LONG n6)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_selectImpl___java_io_FileDescriptor_1ARRAY_java_io_FileDescriptor_1ARRAY_int_int_int_1ARRAY_long]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_sendConnectedDatagram___java_io_FileDescriptor_byte_1ARRAY_int_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4, JAVA_BOOLEAN n5)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_sendConnectedDatagram___java_io_FileDescriptor_byte_1ARRAY_int_int_boolean]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_sendConnectedDatagramDirect___java_io_FileDescriptor_long_int_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_LONG n2, JAVA_INT n3, JAVA_INT n4, JAVA_BOOLEAN n5)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_sendConnectedDatagramDirect___java_io_FileDescriptor_long_int_int_boolean]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_sendDatagram___java_io_FileDescriptor_byte_1ARRAY_int_int_int_boolean_int_java_net_InetAddress(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4, JAVA_INT n5, JAVA_BOOLEAN n6, JAVA_INT n7, JAVA_OBJECT n8)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_sendDatagram___java_io_FileDescriptor_byte_1ARRAY_int_int_int_boolean_int_java_net_InetAddress]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_sendDatagram2___java_io_FileDescriptor_byte_1ARRAY_int_int_int_java_net_InetAddress(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4, JAVA_INT n5, JAVA_OBJECT n6)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_sendDatagram2___java_io_FileDescriptor_byte_1ARRAY_int_int_int_java_net_InetAddress]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_sendDatagramDirect___java_io_FileDescriptor_long_int_int_int_boolean_int_java_net_InetAddress(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_LONG n2, JAVA_INT n3, JAVA_INT n4, JAVA_INT n5, JAVA_BOOLEAN n6, JAVA_INT n7, JAVA_OBJECT n8)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_sendDatagramDirect___java_io_FileDescriptor_long_int_int_int_boolean_int_java_net_InetAddress]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_sendUrgentData___java_io_FileDescriptor_byte(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BYTE n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_sendUrgentData___java_io_FileDescriptor_byte]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_setInetAddress___java_net_InetAddress_byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_setInetAddress___java_net_InetAddress_byte_1ARRAY]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_setNonBlocking___java_io_FileDescriptor_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_setNonBlocking___java_io_FileDescriptor_boolean]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_setSocketOption___java_io_FileDescriptor_int_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_setSocketOption___java_io_FileDescriptor_int_java_lang_Object]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_shutdownInput___java_io_FileDescriptor(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_shutdownInput___java_io_FileDescriptor]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_shutdownOutput___java_io_FileDescriptor(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_shutdownOutput___java_io_FileDescriptor]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_socketClose___java_io_FileDescriptor(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_socketClose___java_io_FileDescriptor]
+ hysocket_t socketP;
+ I_32 result = 0;
+
+ java_io_FileDescriptor* fileDescriptor = n1;
+
+ socketP = getJavaIoFileDescriptorContentsAsAPointer(fileDescriptor);
+ if (hysock_socketIsValid(socketP)) {
+ /* Set the file descriptor before closing so the select polling loop will terminate. */
+ /* Some platforms wait in the socket close. */
+ fileDescriptor->fields.java_io_FileDescriptor.descriptor_ = -1;
+ result = hysock_close(&socketP);
+ }
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN org_apache_harmony_luni_platform_OSNetworkSystem_supportsUrgentData___java_io_FileDescriptor(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_supportsUrgentData___java_io_FileDescriptor]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_write___java_io_FileDescriptor_byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_write___java_io_FileDescriptor_byte_1ARRAY_int_int]
+ JAVA_ARRAY_BYTE *message;
+ JAVA_INT result;
+
+ java_io_FileDescriptor* fd = n1;
+ org_xmlvm_runtime_XMLVMArray* data = n2;
+ JAVA_INT offset = n3;
+ JAVA_INT count = n4;
+
+ /* Get a pointer to the start of the bytearray */
+ message = data->fields.org_xmlvm_runtime_XMLVMArray.array_;
+
+ /* Write directly from the byte array */
+ result = org_apache_harmony_luni_platform_OSNetworkSystem_writeDirect___java_io_FileDescriptor_long_int
+ (me, fd, (JAVA_LONG) (message + offset), count);
+
+ return result;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_writeDirect___java_io_FileDescriptor_long_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_LONG n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_writeDirect___java_io_FileDescriptor_long_int]
+ java_io_FileDescriptor* fd = n1;
+ JAVA_LONG address = n2;
+ JAVA_INT count = n3;
+
+ JAVA_ARRAY_BYTE *message = (JAVA_ARRAY_BYTE*) address;
+ I_32 result;
+
+ hysocket_t socketP = getJavaIoFileDescriptorContentsAsAPointer(fd);
+ if (!hysock_socketIsValid(socketP)) {
+ XMLVM_THROW_WITH_CSTRING(java_net_SocketException, netLookupErrorString(HYPORT_ERROR_SOCKET_BADSOCKET))
+ return (JAVA_INT) 0;
+ }
+
+ result = hysock_write(socketP, (U_8 *) message, (I_32) count, HYSOCK_NOFLAGS);
+ if (0 > result) {
+ XMLVM_THROW_WITH_CSTRING(java_net_SocketException, netLookupErrorString(result))
+ return (JAVA_INT) 0;
+ }
+
+ return (JAVA_INT) result;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_LONG org_apache_harmony_luni_platform_OSNetworkSystem_writev___java_io_FileDescriptor_java_lang_Object_1ARRAY_int_1ARRAY_int_1ARRAY_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_OBJECT n4, JAVA_INT n5)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_platform_OSNetworkSystem_writev___java_io_FileDescriptor_java_lang_Object_1ARRAY_int_1ARRAY_int_1ARRAY_int]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+
+void xmlvm_init_native_org_apache_harmony_luni_platform_OSNetworkSystem()
+{
+ //XMLVM_BEGIN_NATIVE_IMPLEMENTATION_INIT
+ //XMLVM_END_NATIVE_IMPLEMENTATION_INIT
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_accept___java_io_FileDescriptor_java_net_SocketImpl_java_io_FileDescriptor_int
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_accept___java_io_FileDescriptor_java_net_SocketImpl_java_io_FileDescriptor_int] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_accept___java_io_FileDescriptor_java_net_SocketImpl_java_io_FileDescriptor_int;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_acceptStreamSocket___java_io_FileDescriptor_java_net_SocketImpl_java_io_FileDescriptor_int
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_acceptStreamSocket___java_io_FileDescriptor_java_net_SocketImpl_java_io_FileDescriptor_int] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_acceptStreamSocket___java_io_FileDescriptor_java_net_SocketImpl_java_io_FileDescriptor_int;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_availableStream___java_io_FileDescriptor
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_availableStream___java_io_FileDescriptor] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_availableStream___java_io_FileDescriptor;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_bind___java_io_FileDescriptor_java_net_InetAddress_int
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_bind___java_io_FileDescriptor_java_net_InetAddress_int] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_bind___java_io_FileDescriptor_java_net_InetAddress_int;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_connect___java_io_FileDescriptor_int_java_net_InetAddress_int
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_connect___java_io_FileDescriptor_int_java_net_InetAddress_int] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_connect___java_io_FileDescriptor_int_java_net_InetAddress_int;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_connectDatagram___java_io_FileDescriptor_int_int_java_net_InetAddress
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_connectDatagram___java_io_FileDescriptor_int_int_java_net_InetAddress] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_connectDatagram___java_io_FileDescriptor_int_int_java_net_InetAddress;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_connectStreamWithTimeoutSocket___java_io_FileDescriptor_int_int_int_java_net_InetAddress
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_connectStreamWithTimeoutSocket___java_io_FileDescriptor_int_int_int_java_net_InetAddress] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_connectStreamWithTimeoutSocket___java_io_FileDescriptor_int_int_int_java_net_InetAddress;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_connectWithTimeout___java_io_FileDescriptor_int_int_java_net_InetAddress_int_int_java_lang_Long
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_connectWithTimeout___java_io_FileDescriptor_int_int_java_net_InetAddress_int_int_java_lang_Long] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_connectWithTimeout___java_io_FileDescriptor_int_int_java_net_InetAddress_int_int_java_lang_Long;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_createDatagramSocket___java_io_FileDescriptor_boolean
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_createDatagramSocket___java_io_FileDescriptor_boolean] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_createDatagramSocket___java_io_FileDescriptor_boolean;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_createServerStreamSocket___java_io_FileDescriptor_boolean
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_createServerStreamSocket___java_io_FileDescriptor_boolean] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_createServerStreamSocket___java_io_FileDescriptor_boolean;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_createStreamSocket___java_io_FileDescriptor_boolean
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_createStreamSocket___java_io_FileDescriptor_boolean] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_createStreamSocket___java_io_FileDescriptor_boolean;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_disconnectDatagram___java_io_FileDescriptor
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_disconnectDatagram___java_io_FileDescriptor] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_disconnectDatagram___java_io_FileDescriptor;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_getHostByAddr___byte_1ARRAY
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_getHostByAddr___byte_1ARRAY] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_getHostByAddr___byte_1ARRAY;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_getHostByName___java_lang_String_boolean
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_getHostByName___java_lang_String_boolean] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_getHostByName___java_lang_String_boolean;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_getSocketFlags__
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_getSocketFlags__] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_getSocketFlags__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_getSocketLocalAddress___java_io_FileDescriptor_boolean
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_getSocketLocalAddress___java_io_FileDescriptor_boolean] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_getSocketLocalAddress___java_io_FileDescriptor_boolean;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_getSocketLocalPort___java_io_FileDescriptor_boolean
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_getSocketLocalPort___java_io_FileDescriptor_boolean] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_getSocketLocalPort___java_io_FileDescriptor_boolean;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_getSocketOption___java_io_FileDescriptor_int
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_getSocketOption___java_io_FileDescriptor_int] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_getSocketOption___java_io_FileDescriptor_int;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_inheritedChannel__
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_inheritedChannel__] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_inheritedChannel__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_listenStreamSocket___java_io_FileDescriptor_int
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_listenStreamSocket___java_io_FileDescriptor_int] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_listenStreamSocket___java_io_FileDescriptor_int;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_peekDatagram___java_io_FileDescriptor_java_net_InetAddress_int
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_peekDatagram___java_io_FileDescriptor_java_net_InetAddress_int] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_peekDatagram___java_io_FileDescriptor_java_net_InetAddress_int;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_read___java_io_FileDescriptor_byte_1ARRAY_int_int_int
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_read___java_io_FileDescriptor_byte_1ARRAY_int_int_int] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_read___java_io_FileDescriptor_byte_1ARRAY_int_int_int;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_readDirect___java_io_FileDescriptor_long_int_int
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_readDirect___java_io_FileDescriptor_long_int_int] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_readDirect___java_io_FileDescriptor_long_int_int;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_receiveDatagram___java_io_FileDescriptor_java_net_DatagramPacket_byte_1ARRAY_int_int_int_boolean
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_receiveDatagram___java_io_FileDescriptor_java_net_DatagramPacket_byte_1ARRAY_int_int_int_boolean] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_receiveDatagram___java_io_FileDescriptor_java_net_DatagramPacket_byte_1ARRAY_int_int_int_boolean;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_receiveDatagramDirect___java_io_FileDescriptor_java_net_DatagramPacket_long_int_int_int_boolean
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_receiveDatagramDirect___java_io_FileDescriptor_java_net_DatagramPacket_long_int_int_int_boolean] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_receiveDatagramDirect___java_io_FileDescriptor_java_net_DatagramPacket_long_int_int_int_boolean;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_receiveStream___java_io_FileDescriptor_byte_1ARRAY_int_int_int
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_receiveStream___java_io_FileDescriptor_byte_1ARRAY_int_int_int] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_receiveStream___java_io_FileDescriptor_byte_1ARRAY_int_int_int;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_recvConnectedDatagram___java_io_FileDescriptor_java_net_DatagramPacket_byte_1ARRAY_int_int_int_boolean
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_recvConnectedDatagram___java_io_FileDescriptor_java_net_DatagramPacket_byte_1ARRAY_int_int_int_boolean] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_recvConnectedDatagram___java_io_FileDescriptor_java_net_DatagramPacket_byte_1ARRAY_int_int_int_boolean;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_recvConnectedDatagramDirect___java_io_FileDescriptor_java_net_DatagramPacket_long_int_int_int_boolean
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_recvConnectedDatagramDirect___java_io_FileDescriptor_java_net_DatagramPacket_long_int_int_int_boolean] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_recvConnectedDatagramDirect___java_io_FileDescriptor_java_net_DatagramPacket_long_int_int_int_boolean;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_sendConnectedDatagram___java_io_FileDescriptor_byte_1ARRAY_int_int_boolean
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_sendConnectedDatagram___java_io_FileDescriptor_byte_1ARRAY_int_int_boolean] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_sendConnectedDatagram___java_io_FileDescriptor_byte_1ARRAY_int_int_boolean;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_sendConnectedDatagramDirect___java_io_FileDescriptor_long_int_int_boolean
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_sendConnectedDatagramDirect___java_io_FileDescriptor_long_int_int_boolean] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_sendConnectedDatagramDirect___java_io_FileDescriptor_long_int_int_boolean;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_sendDatagram___java_io_FileDescriptor_byte_1ARRAY_int_int_int_boolean_int_java_net_InetAddress
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_sendDatagram___java_io_FileDescriptor_byte_1ARRAY_int_int_int_boolean_int_java_net_InetAddress] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_sendDatagram___java_io_FileDescriptor_byte_1ARRAY_int_int_int_boolean_int_java_net_InetAddress;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_sendDatagram2___java_io_FileDescriptor_byte_1ARRAY_int_int_int_java_net_InetAddress
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_sendDatagram2___java_io_FileDescriptor_byte_1ARRAY_int_int_int_java_net_InetAddress] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_sendDatagram2___java_io_FileDescriptor_byte_1ARRAY_int_int_int_java_net_InetAddress;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_sendDatagramDirect___java_io_FileDescriptor_long_int_int_int_boolean_int_java_net_InetAddress
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_sendDatagramDirect___java_io_FileDescriptor_long_int_int_int_boolean_int_java_net_InetAddress] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_sendDatagramDirect___java_io_FileDescriptor_long_int_int_int_boolean_int_java_net_InetAddress;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_sendUrgentData___java_io_FileDescriptor_byte
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_sendUrgentData___java_io_FileDescriptor_byte] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_sendUrgentData___java_io_FileDescriptor_byte;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_setInetAddress___java_net_InetAddress_byte_1ARRAY
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_setInetAddress___java_net_InetAddress_byte_1ARRAY] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_setInetAddress___java_net_InetAddress_byte_1ARRAY;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_setNonBlocking___java_io_FileDescriptor_boolean
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_setNonBlocking___java_io_FileDescriptor_boolean] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_setNonBlocking___java_io_FileDescriptor_boolean;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_setSocketOption___java_io_FileDescriptor_int_java_lang_Object
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_setSocketOption___java_io_FileDescriptor_int_java_lang_Object] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_setSocketOption___java_io_FileDescriptor_int_java_lang_Object;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_shutdownInput___java_io_FileDescriptor
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_shutdownInput___java_io_FileDescriptor] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_shutdownInput___java_io_FileDescriptor;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_shutdownOutput___java_io_FileDescriptor
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_shutdownOutput___java_io_FileDescriptor] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_shutdownOutput___java_io_FileDescriptor;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_socketClose___java_io_FileDescriptor
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_socketClose___java_io_FileDescriptor] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_socketClose___java_io_FileDescriptor;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_supportsUrgentData___java_io_FileDescriptor
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_supportsUrgentData___java_io_FileDescriptor] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_supportsUrgentData___java_io_FileDescriptor;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_write___java_io_FileDescriptor_byte_1ARRAY_int_int
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_write___java_io_FileDescriptor_byte_1ARRAY_int_int] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_write___java_io_FileDescriptor_byte_1ARRAY_int_int;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_writeDirect___java_io_FileDescriptor_long_int
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_writeDirect___java_io_FileDescriptor_long_int] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_writeDirect___java_io_FileDescriptor_long_int;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_writev___java_io_FileDescriptor_java_lang_Object_1ARRAY_int_1ARRAY_int_1ARRAY_int
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_writev___java_io_FileDescriptor_java_lang_Object_1ARRAY_int_1ARRAY_int_1ARRAY_int] =
+ (VTABLE_PTR) org_apache_harmony_luni_platform_OSNetworkSystem_writev___java_io_FileDescriptor_java_lang_Object_1ARRAY_int_1ARRAY_int_1ARRAY_int;
+#endif
+}
diff --git a/tests/nbody-java/native_org_apache_harmony_luni_util_FloatingPointParser.c b/tests/nbody-java/native_org_apache_harmony_luni_util_FloatingPointParser.c
new file mode 100644
index 00000000..081c6180
--- /dev/null
+++ b/tests/nbody-java/native_org_apache_harmony_luni_util_FloatingPointParser.c
@@ -0,0 +1,33 @@
+
+#include "xmlvm.h"
+#include "org_apache_harmony_luni_util_FloatingPointParser.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+#include <math.h>
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+JAVA_DOUBLE org_apache_harmony_luni_util_FloatingPointParser_parseDblImpl___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_util_FloatingPointParser_parseDblImpl___java_lang_String_int]
+ const char* doubleNumStr = xmlvm_java_string_to_const_char(n1);
+ JAVA_DOUBLE doubleNum = atof(doubleNumStr);
+ if (n2 == 0) {
+ return doubleNum;
+ }
+ return doubleNum * pow(10, n2);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_FLOAT org_apache_harmony_luni_util_FloatingPointParser_parseFltImpl___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_util_FloatingPointParser_parseFltImpl___java_lang_String_int]
+ const char* floatNumStr = xmlvm_java_string_to_const_char(n1);
+ JAVA_FLOAT floatNum = atof(floatNumStr);
+ if (n2 == 0) {
+ return floatNum;
+ }
+ return floatNum * pow(10, n2);
+ //XMLVM_END_NATIVE
+}
+
diff --git a/tests/nbody-java/native_org_apache_harmony_luni_util_NumberConverter.c b/tests/nbody-java/native_org_apache_harmony_luni_util_NumberConverter.c
new file mode 100644
index 00000000..fa92d18f
--- /dev/null
+++ b/tests/nbody-java/native_org_apache_harmony_luni_util_NumberConverter.c
@@ -0,0 +1,186 @@
+
+#include "xmlvm.h"
+#include "org_apache_harmony_luni_util_NumberConverter.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+#include "xmlvm-hy.h"
+#include "hycomp.h"
+
+#define RM_SIZE 21
+#define STemp_SIZE 22
+#define INV_LOG_OF_TEN_BASE_2 (0.30102999566398114)
+
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+void org_apache_harmony_luni_util_NumberConverter_bigIntDigitGeneratorInstImpl___long_int_boolean_boolean_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_INT n2, JAVA_BOOLEAN n3, JAVA_BOOLEAN n4, JAVA_INT n5)
+{
+ //XMLVM_BEGIN_NATIVE[org_apache_harmony_luni_util_NumberConverter_bigIntDigitGeneratorInstImpl___long_int_boolean_boolean_int]
+ JAVA_LONG f = n1;
+ JAVA_INT e = n2;
+ JAVA_BOOLEAN isDenormalized = n3;
+ JAVA_BOOLEAN mantissaIsZero = n4;
+ JAVA_INT p = n5;
+
+ JAVA_INT RLength, SLength, TempLength, mplus_Length, mminus_Length;
+ JAVA_INT high, low, i;
+ JAVA_LONG k, firstK, U;
+ JAVA_LONG getCount, setCount;
+ JAVA_ARRAY_INT* uArray;
+
+ U_64 R[RM_SIZE], S[STemp_SIZE], mplus[RM_SIZE], mminus[RM_SIZE],Temp[STemp_SIZE];
+
+ memset (R, 0, RM_SIZE * sizeof (U_64));
+ memset (S, 0, STemp_SIZE * sizeof (U_64));
+ memset (mplus, 0, RM_SIZE * sizeof (U_64));
+ memset (mminus, 0, RM_SIZE * sizeof (U_64));
+ memset (Temp, 0, STemp_SIZE * sizeof (U_64));
+
+ if (e >= 0)
+ {
+ *R = f;
+ *mplus = *mminus = 1;
+ simpleShiftLeftHighPrecision (mminus, RM_SIZE, e);
+ if (f != (2 << (p - 1)))
+ {
+ simpleShiftLeftHighPrecision (R, RM_SIZE, e + 1);
+ *S = 2;
+ simpleShiftLeftHighPrecision (mplus, RM_SIZE, e);
+ }
+ else {
+ simpleShiftLeftHighPrecision (R, RM_SIZE, e+2);
+ *S = 4;
+ simpleShiftLeftHighPrecision (mplus, RM_SIZE, e + 1);
+
+ }
+ }
+ else {
+ if (isDenormalized || (f != (2 << (p - 1))))
+ {
+ *R = f << 1;
+ *S = 1;
+ simpleShiftLeftHighPrecision (S, STemp_SIZE, 1 - e);
+ *mplus = *mminus = 1;
+ }
+ else
+ {
+ *R = f << 2;
+ *S = 1;
+ simpleShiftLeftHighPrecision (S, STemp_SIZE, 2 - e);
+ *mplus = 2;
+ *mminus = 1;
+ }
+ }
+ k = (int) ceil ((e + p - 1) * INV_LOG_OF_TEN_BASE_2 - 1e-10);
+
+ if (k > 0)
+ {
+ timesTenToTheEHighPrecision (S, STemp_SIZE, k);
+ }
+ else
+ {
+ timesTenToTheEHighPrecision (R, RM_SIZE, -k);
+ timesTenToTheEHighPrecision (mplus, RM_SIZE, -k);
+ timesTenToTheEHighPrecision (mminus, RM_SIZE, -k);
+ }
+
+ RLength = mplus_Length = mminus_Length = RM_SIZE;
+ SLength = TempLength = STemp_SIZE;
+
+ memset (Temp + RM_SIZE, 0, (STemp_SIZE - RM_SIZE) * sizeof (U_64));
+ memcpy (Temp, R, RM_SIZE * sizeof (U_64));
+
+ while (RLength > 1 && R[RLength - 1] == 0)
+ --RLength;
+ while (mplus_Length > 1 && mplus[mplus_Length - 1] == 0)
+ --mplus_Length;
+ while (mminus_Length > 1 && mminus[mminus_Length - 1] == 0)
+ --mminus_Length;
+ while (SLength > 1 && S[SLength - 1] == 0)
+ --SLength;
+ TempLength = (RLength > mplus_Length ? RLength : mplus_Length) + 1;
+ addHighPrecision (Temp, TempLength, mplus, mplus_Length);
+
+ if (compareHighPrecision (Temp, TempLength, S, SLength) >= 0)
+ {
+ firstK = k;
+ }
+ else
+ {
+ firstK = k - 1;
+ simpleAppendDecimalDigitHighPrecision (R, ++RLength, 0);
+ simpleAppendDecimalDigitHighPrecision (mplus, ++mplus_Length, 0);
+ simpleAppendDecimalDigitHighPrecision (mminus, ++mminus_Length, 0);
+ while (RLength > 1 && R[RLength - 1] == 0)
+ --RLength;
+ while (mplus_Length > 1 && mplus[mplus_Length - 1] == 0)
+ --mplus_Length;
+ while (mminus_Length > 1 && mminus[mminus_Length - 1] == 0)
+ --mminus_Length;
+ }
+
+ org_apache_harmony_luni_util_NumberConverter* inst = (org_apache_harmony_luni_util_NumberConverter*)me;
+ org_xmlvm_runtime_XMLVMArray* uArrayObject = inst->fields.org_apache_harmony_luni_util_NumberConverter.uArray_;
+ uArray = uArrayObject->fields.org_xmlvm_runtime_XMLVMArray.array_;
+
+ getCount = setCount = 0;
+ do
+ {
+ U = 0;
+ for (i = 3; i >= 0; --i)
+ {
+ TempLength = SLength + 1;
+ Temp[SLength] = 0;
+ memcpy (Temp, S, SLength * sizeof (U_64));
+ simpleShiftLeftHighPrecision (Temp, TempLength, i);
+ if (compareHighPrecision (R, RLength, Temp, TempLength) >= 0)
+ {
+ subtractHighPrecision (R, RLength, Temp, TempLength);
+ U += 1 << i;
+ }
+ }
+
+ low = compareHighPrecision (R, RLength, mminus, mminus_Length) <= 0;
+
+ memset (Temp + RLength, 0, (STemp_SIZE - RLength) * sizeof (U_64));
+ memcpy (Temp, R, RLength * sizeof (U_64));
+ TempLength = (RLength > mplus_Length ? RLength : mplus_Length) + 1;
+ addHighPrecision (Temp, TempLength, mplus, mplus_Length);
+
+ high = compareHighPrecision (Temp, TempLength, S, SLength) >= 0;
+
+ if (low || high)
+ break;
+
+ simpleAppendDecimalDigitHighPrecision (R, ++RLength, 0);
+ simpleAppendDecimalDigitHighPrecision (mplus, ++mplus_Length, 0);
+ simpleAppendDecimalDigitHighPrecision (mminus, ++mminus_Length, 0);
+ while (RLength > 1 && R[RLength - 1] == 0)
+ --RLength;
+ while (mplus_Length > 1 && mplus[mplus_Length - 1] == 0)
+ --mplus_Length;
+ while (mminus_Length > 1 && mminus[mminus_Length - 1] == 0)
+ --mminus_Length;
+ uArray[setCount++] = U;
+
+ }
+ while (1);
+
+ simpleShiftLeftHighPrecision (R, ++RLength, 1);
+ if (low && !high)
+ uArray[setCount++] = U;
+ else if (high && !low)
+ uArray[setCount++] = U + 1;
+ else if (compareHighPrecision (R, RLength, S, SLength) < 0)
+ uArray[setCount++] = U;
+ else
+ uArray[setCount++] = U + 1;
+
+ inst->fields.org_apache_harmony_luni_util_NumberConverter.setCount_ = setCount;
+ inst->fields.org_apache_harmony_luni_util_NumberConverter.getCount_ = getCount;
+ inst->fields.org_apache_harmony_luni_util_NumberConverter.firstK_ = firstK;
+
+
+ //XMLVM_END_NATIVE
+}
+
diff --git a/tests/nbody-java/native_org_xmlvm_runtime_Condition.c b/tests/nbody-java/native_org_xmlvm_runtime_Condition.c
new file mode 100644
index 00000000..9d5daa0d
--- /dev/null
+++ b/tests/nbody-java/native_org_xmlvm_runtime_Condition.c
@@ -0,0 +1,116 @@
+
+#include "xmlvm.h"
+#include "org_xmlvm_runtime_Condition.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+
+#include "java_lang_Object_AddedMembers.h"
+#include "org_xmlvm_runtime_Mutex.h"
+#include <errno.h>
+#include <sys/time.h>
+
+pthread_cond_t* getConditionPtr(org_xmlvm_runtime_Condition* me)
+{
+ return (pthread_cond_t*)(me->fields.org_xmlvm_runtime_Condition.pthreadCondT_);
+}
+
+void nativeConditionCleanup(void* me, void* client_data)
+{
+ pthread_cond_t* condPtr = getConditionPtr((org_xmlvm_runtime_Condition*)me);
+ pthread_cond_destroy(condPtr);
+ free(condPtr);
+}
+
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+void org_xmlvm_runtime_Condition_initNativeConditionInstance__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[org_xmlvm_runtime_Condition_initNativeConditionInstance__]
+ ((org_xmlvm_runtime_Condition*)me)->fields.org_xmlvm_runtime_Condition.pthreadCondT_ = malloc(sizeof(pthread_cond_t));
+ pthread_cond_init(getConditionPtr(me), NULL);
+
+ // Register a finalizer for native cleanup
+ XMLVM_FINALIZE(me, nativeConditionCleanup);
+ //XMLVM_END_NATIVE
+}
+
+void org_xmlvm_runtime_Condition_wait___org_xmlvm_runtime_Mutex(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_xmlvm_runtime_Condition_wait___org_xmlvm_runtime_Mutex]
+ pthread_cond_t* condPtr = getConditionPtr(me);
+ JAVA_OBJECT mutex = ((org_xmlvm_runtime_Mutex*)n1)->fields.org_xmlvm_runtime_Mutex.nativeMutex_;
+ int result = pthread_cond_wait(condPtr, mutex);
+ if (result != 0) {
+ printf("ERROR: pthread_cond_wait response was %i\n", result);
+ }
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN org_xmlvm_runtime_Condition_waitOrTimeout___org_xmlvm_runtime_Mutex_long(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_LONG n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_xmlvm_runtime_Condition_waitOrTimeout___org_xmlvm_runtime_Mutex_long]
+ pthread_cond_t* condPtr = getConditionPtr(me);
+ JAVA_OBJECT mutex = ((org_xmlvm_runtime_Mutex*)n1)->fields.org_xmlvm_runtime_Mutex.nativeMutex_;
+
+ struct timeval now;
+ gettimeofday(&now, NULL);
+
+ struct timespec to;
+ // To avoid an overflow error, we drop precision on microseconds (usec) in favor of milliseconds.
+ // The loss of precision at the microsecond level is not of concern.
+ JAVA_LONG msec = (now.tv_usec / 1000) + n2;
+ to.tv_sec = now.tv_sec + (msec / 1000);
+ to.tv_nsec = (msec % 1000) * 1000000;
+
+ int result = pthread_cond_timedwait(condPtr, mutex, &to);
+ int timedOut = 0;
+ if (result == ETIMEDOUT) {
+ timedOut = 1;
+ } else if (result != 0) {
+ printf("ERROR: pthread_cond_timedwait response was %i\n", result);
+ }
+ return timedOut;
+ //XMLVM_END_NATIVE
+}
+
+void org_xmlvm_runtime_Condition_signal__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[org_xmlvm_runtime_Condition_signal__]
+ XMLVM_UNIMPLEMENTED_NATIVE_METHOD();
+ //XMLVM_END_NATIVE
+}
+
+void org_xmlvm_runtime_Condition_broadcast__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[org_xmlvm_runtime_Condition_broadcast__]
+ pthread_cond_t* condPtr = getConditionPtr(me);
+ int result = pthread_cond_broadcast(condPtr);
+ if (result != 0) {
+ printf("ERROR: pthread_cond_broadcast response was %i\n", result);
+ }
+ //XMLVM_END_NATIVE
+}
+
+
+void xmlvm_init_native_org_xmlvm_runtime_Condition()
+{
+ //XMLVM_BEGIN_NATIVE_IMPLEMENTATION_INIT
+ //XMLVM_END_NATIVE_IMPLEMENTATION_INIT
+#ifdef XMLVM_VTABLE_IDX_org_xmlvm_runtime_Condition_wait___org_xmlvm_runtime_Mutex
+ __TIB_org_xmlvm_runtime_Condition.vtable[XMLVM_VTABLE_IDX_org_xmlvm_runtime_Condition_wait___org_xmlvm_runtime_Mutex] =
+ (VTABLE_PTR) org_xmlvm_runtime_Condition_wait___org_xmlvm_runtime_Mutex;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_xmlvm_runtime_Condition_waitOrTimeout___org_xmlvm_runtime_Mutex_long
+ __TIB_org_xmlvm_runtime_Condition.vtable[XMLVM_VTABLE_IDX_org_xmlvm_runtime_Condition_waitOrTimeout___org_xmlvm_runtime_Mutex_long] =
+ (VTABLE_PTR) org_xmlvm_runtime_Condition_waitOrTimeout___org_xmlvm_runtime_Mutex_long;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_xmlvm_runtime_Condition_signal__
+ __TIB_org_xmlvm_runtime_Condition.vtable[XMLVM_VTABLE_IDX_org_xmlvm_runtime_Condition_signal__] =
+ (VTABLE_PTR) org_xmlvm_runtime_Condition_signal__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_xmlvm_runtime_Condition_broadcast__
+ __TIB_org_xmlvm_runtime_Condition.vtable[XMLVM_VTABLE_IDX_org_xmlvm_runtime_Condition_broadcast__] =
+ (VTABLE_PTR) org_xmlvm_runtime_Condition_broadcast__;
+#endif
+}
diff --git a/tests/nbody-java/native_org_xmlvm_runtime_FinalizerNotifier.c b/tests/nbody-java/native_org_xmlvm_runtime_FinalizerNotifier.c
new file mode 100644
index 00000000..a855416b
--- /dev/null
+++ b/tests/nbody-java/native_org_xmlvm_runtime_FinalizerNotifier.c
@@ -0,0 +1,63 @@
+
+#include "xmlvm.h"
+#include "org_xmlvm_runtime_FinalizerNotifier.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+void org_xmlvm_runtime_FinalizerNotifier_preventGarbageCollection___boolean(JAVA_BOOLEAN n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_xmlvm_runtime_FinalizerNotifier_preventGarbageCollection___boolean]
+#ifndef XMLVM_NO_GC
+ if (n1) {
+ // Disable garbage collection. Even GC_gcollect calls will be ineffective.
+ GC_disable();
+ } else {
+ // Reenable garbage collection. GC_disable() and GC_enable() calls
+ // nest. Garbage collection is enabled if the number of calls to both
+ // functions is equal.
+ GC_enable();
+ }
+#endif
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN org_xmlvm_runtime_FinalizerNotifier_currentThreadIsFinalizerThread___java_lang_Thread(JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_xmlvm_runtime_FinalizerNotifier_currentThreadIsFinalizerThread___java_lang_Thread]
+
+ // Determine if the current thread is the finalizer thread (the 1st
+ // parameter).
+
+ // This method is native since any methods added to proxy classes are not
+ // visible to this class, such as Thread.getCurrentThreadNativeId().
+
+ // return Thread.getCurrentThreadNativeId() == finalizerThread.getNativeThreadId();
+ return java_lang_Thread_getCurrentThreadNativeId__() == java_lang_Thread_getNativeThreadId__(n1);
+
+ //XMLVM_END_NATIVE
+}
+
+JAVA_BOOLEAN org_xmlvm_runtime_FinalizerNotifier_shouldInvokeFinalizers__()
+{
+ //XMLVM_BEGIN_NATIVE[org_xmlvm_runtime_FinalizerNotifier_shouldInvokeFinalizers__]
+#ifndef XMLVM_NO_GC
+ return GC_should_invoke_finalizers();
+#else
+ return 0;
+#endif
+ //XMLVM_END_NATIVE
+}
+
+JAVA_INT org_xmlvm_runtime_FinalizerNotifier_invokeFinalizers__()
+{
+ //XMLVM_BEGIN_NATIVE[org_xmlvm_runtime_FinalizerNotifier_invokeFinalizers__]
+#ifndef XMLVM_NO_GC
+ return GC_invoke_finalizers();
+#else
+ return 0;
+#endif
+ //XMLVM_END_NATIVE
+}
+
diff --git a/tests/nbody-java/native_org_xmlvm_runtime_Mutex.c b/tests/nbody-java/native_org_xmlvm_runtime_Mutex.c
new file mode 100644
index 00000000..0466ba0a
--- /dev/null
+++ b/tests/nbody-java/native_org_xmlvm_runtime_Mutex.c
@@ -0,0 +1,70 @@
+
+#include "xmlvm.h"
+#include "org_xmlvm_runtime_Mutex.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+#include <pthread.h>
+
+void nativeCleanup(void* me, void* client_data)
+{
+ JAVA_OBJECT m = ((org_xmlvm_runtime_Mutex*) me)->fields.org_xmlvm_runtime_Mutex.nativeMutex_;
+ org_xmlvm_runtime_Mutex_addNativeMutexToFinalizerQueue___java_lang_Object(m);
+}
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+void org_xmlvm_runtime_Mutex_destroyNativeMutex___java_lang_Object(JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_xmlvm_runtime_Mutex_destroyNativeMutex___java_lang_Object]
+ pthread_mutex_destroy(n1);
+ free(n1);
+ //XMLVM_END_NATIVE
+}
+
+void org_xmlvm_runtime_Mutex_initNativeInstance__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[org_xmlvm_runtime_Mutex_initNativeInstance__]
+ pthread_mutex_t* m = malloc(sizeof(pthread_mutex_t));
+ pthread_mutex_init(m, NULL);
+ ((org_xmlvm_runtime_Mutex*) me)->fields.org_xmlvm_runtime_Mutex.nativeMutex_ = m;
+ // Register a finalizer for native cleanup
+ XMLVM_FINALIZE(me, nativeCleanup);
+ //XMLVM_END_NATIVE
+}
+
+void org_xmlvm_runtime_Mutex_lock__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[org_xmlvm_runtime_Mutex_lock__]
+ JAVA_OBJECT m = ((org_xmlvm_runtime_Mutex*) me)->fields.org_xmlvm_runtime_Mutex.nativeMutex_;
+ int result = pthread_mutex_lock(m);
+ if (result != 0) {
+ printf("Error locking mutex! %i\n", result);
+ }
+ //XMLVM_END_NATIVE
+}
+
+void org_xmlvm_runtime_Mutex_unlock__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[org_xmlvm_runtime_Mutex_unlock__]
+ JAVA_OBJECT m = ((org_xmlvm_runtime_Mutex*) me)->fields.org_xmlvm_runtime_Mutex.nativeMutex_;
+ int result = pthread_mutex_unlock(m);
+ if (result != 0) {
+ printf("Error unlocking mutex! %i\n", result);
+ }
+ //XMLVM_END_NATIVE
+}
+
+
+void xmlvm_init_native_org_xmlvm_runtime_Mutex()
+{
+ //XMLVM_BEGIN_NATIVE_IMPLEMENTATION_INIT
+ //XMLVM_END_NATIVE_IMPLEMENTATION_INIT
+#ifdef XMLVM_VTABLE_IDX_org_xmlvm_runtime_Mutex_lock__
+ __TIB_org_xmlvm_runtime_Mutex.vtable[XMLVM_VTABLE_IDX_org_xmlvm_runtime_Mutex_lock__] =
+ (VTABLE_PTR) org_xmlvm_runtime_Mutex_lock__;
+#endif
+#ifdef XMLVM_VTABLE_IDX_org_xmlvm_runtime_Mutex_unlock__
+ __TIB_org_xmlvm_runtime_Mutex.vtable[XMLVM_VTABLE_IDX_org_xmlvm_runtime_Mutex_unlock__] =
+ (VTABLE_PTR) org_xmlvm_runtime_Mutex_unlock__;
+#endif
+}
diff --git a/tests/nbody-java/native_org_xmlvm_runtime_XMLVMArray.c b/tests/nbody-java/native_org_xmlvm_runtime_XMLVMArray.c
new file mode 100644
index 00000000..3e6934b0
--- /dev/null
+++ b/tests/nbody-java/native_org_xmlvm_runtime_XMLVMArray.c
@@ -0,0 +1,181 @@
+
+#include "xmlvm.h"
+#include "org_xmlvm_runtime_XMLVMArray.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+
+#include "java_lang_Class.h"
+
+typedef struct {
+ short sizeOfBaseType;
+ short useAtomicMalloc;
+} TYPE_INFO;
+
+
+org_xmlvm_runtime_XMLVMArray* __NEW_XMLVMArray(JAVA_OBJECT type, JAVA_INT length, JAVA_OBJECT data)
+{
+ org_xmlvm_runtime_XMLVMArray* array = __NEW_org_xmlvm_runtime_XMLVMArray();
+ org_xmlvm_runtime_XMLVMArray___INIT____java_lang_Class_int_java_lang_Object(array, type, length, data);
+ return array;
+}
+
+/**
+ * This function determines two pieces of information of a type: the size of the type in byte
+ * and whether or not an atomic malloc() should be used. For arrays of primitive type it is possible
+ * to use an atomic malloc() offered by the GC. In this case the GC knows that the memory region cannot
+ * contain any pointers and can therefore skip scanning the memory region.
+ */
+TYPE_INFO XMLVMArray_getTypeInfo(JAVA_OBJECT type)
+{
+ TYPE_INFO info;
+ info.useAtomicMalloc = 1;
+
+ if (type == __CLASS_byte || type == __CLASS_boolean) {
+ info.sizeOfBaseType = sizeof(JAVA_ARRAY_BYTE);
+ } else if (type == __CLASS_char || type == __CLASS_short) {
+ info.sizeOfBaseType = sizeof(JAVA_ARRAY_SHORT);
+ } else if (type == __CLASS_int) {
+ info.sizeOfBaseType = sizeof(JAVA_ARRAY_INT);
+ } else if (type == __CLASS_float) {
+ info.sizeOfBaseType = sizeof(JAVA_ARRAY_FLOAT);
+ } else if (type == __CLASS_double) {
+ info.sizeOfBaseType = sizeof(JAVA_ARRAY_DOUBLE);
+ } else if (type == __CLASS_long) {
+ info.sizeOfBaseType = sizeof(JAVA_ARRAY_LONG);
+ } else {
+ info.sizeOfBaseType = sizeof(void*);
+ // For arrays of object references we need to use the regular malloc() as the
+ // GC needs to scan this memory region.
+ info.useAtomicMalloc = 0;
+ }
+
+ return info;
+}
+
+static org_xmlvm_runtime_XMLVMArray* XMLVMArray_createMultiDimensionsWithCount(JAVA_OBJECT type, JAVA_ARRAY_INT* dim, int count)
+{
+ JAVA_ARRAY_INT dimensions = *dim;
+ org_xmlvm_runtime_XMLVMArray* slice;
+ int i;
+ dim++;
+ count--;
+ if (count == 0) {
+ return XMLVMArray_createSingleDimension(type, dimensions);
+ }
+ slice = XMLVMArray_createSingleDimension(type, dimensions);
+ JAVA_ARRAY_OBJECT* sliceData = (JAVA_ARRAY_OBJECT*) slice->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ // Get base type
+ java_lang_Class* typeClass = (java_lang_Class*) type;
+ __TIB_DEFINITION_TEMPLATE* typeTIB = (__TIB_DEFINITION_TEMPLATE*) typeClass->fields.java_lang_Class.tib_;
+ JAVA_OBJECT baseType = typeTIB->baseType;
+ for (i = 0; i < dimensions; i++) {
+ //TODO should 'type' be baseType of this type?
+ sliceData[i] = XMLVMArray_createMultiDimensionsWithCount(baseType, dim, count);
+ }
+ return slice;
+}
+
+JAVA_OBJECT org_xmlvm_runtime_XMLVMArray_getClass__(JAVA_OBJECT me)
+{
+ org_xmlvm_runtime_XMLVMArray* thiz = me;
+ return thiz->fields.org_xmlvm_runtime_XMLVMArray.type_;
+}
+
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+void org_xmlvm_runtime_XMLVMArray_initNativeLayer__()
+{
+ //XMLVM_BEGIN_NATIVE[org_xmlvm_runtime_XMLVMArray_initNativeLayer__]
+ __TIB_org_xmlvm_runtime_XMLVMArray.vtable[XMLVM_VTABLE_IDX_java_lang_Object_getClass__] =
+ (VTABLE_PTR) org_xmlvm_runtime_XMLVMArray_getClass__;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT org_xmlvm_runtime_XMLVMArray_createSingleDimension___java_lang_Class_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_xmlvm_runtime_XMLVMArray_createSingleDimension___java_lang_Class_int]
+ JAVA_OBJECT type = n1;
+ JAVA_INT size = n2;
+ TYPE_INFO info = XMLVMArray_getTypeInfo(type);
+ int mem_size = info.sizeOfBaseType * size;
+ JAVA_OBJECT data = info.useAtomicMalloc ? XMLVM_ATOMIC_MALLOC(mem_size) : XMLVM_MALLOC(mem_size);
+ XMLVM_BZERO(data, mem_size);
+ return org_xmlvm_runtime_XMLVMArray_createSingleDimensionWithData___java_lang_Class_int_java_lang_Object(type, size, data);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT org_xmlvm_runtime_XMLVMArray_createSingleDimensionWithData___java_lang_Class_int_java_lang_Object(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_NATIVE[org_xmlvm_runtime_XMLVMArray_createSingleDimensionWithData___java_lang_Class_int_java_lang_Object]
+ org_xmlvm_runtime_XMLVMArray* array = __NEW_org_xmlvm_runtime_XMLVMArray();
+ java_lang_Class* baseType = n1;
+ __TIB_DEFINITION_TEMPLATE* baseTIB = baseType->fields.java_lang_Class.tib_;
+ JAVA_OBJECT arrayType = baseTIB->arrayType;
+ if (arrayType == JAVA_NULL) {
+ XMLVM_INTERNAL_ERROR();
+ }
+ org_xmlvm_runtime_XMLVMArray___INIT____java_lang_Class_int_java_lang_Object(array, arrayType, n2, n3);
+ return array;
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT org_xmlvm_runtime_XMLVMArray_createMultiDimensions___java_lang_Class_org_xmlvm_runtime_XMLVMArray(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_xmlvm_runtime_XMLVMArray_createMultiDimensions___java_lang_Class_org_xmlvm_runtime_XMLVMArray]
+ org_xmlvm_runtime_XMLVMArray* dimArray = (org_xmlvm_runtime_XMLVMArray*) n2;
+ if (dimArray->fields.org_xmlvm_runtime_XMLVMArray.type_ != __CLASS_int_1ARRAY) {
+ XMLVM_INTERNAL_ERROR();
+ }
+ int count = dimArray->fields.org_xmlvm_runtime_XMLVMArray.length_;
+ JAVA_ARRAY_INT* data = (JAVA_ARRAY_INT*) dimArray->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ int i;
+ java_lang_Class* arrayType = n1;
+ for (i = 0; i < count - 1; i++) {
+ __TIB_DEFINITION_TEMPLATE* arrayTIB = arrayType->fields.java_lang_Class.tib_;
+ arrayType = arrayTIB->arrayType;
+ if (arrayType == JAVA_NULL) {
+ XMLVM_INTERNAL_ERROR();
+ }
+ }
+ return XMLVMArray_createMultiDimensionsWithCount(arrayType, data, count);
+ //XMLVM_END_NATIVE
+}
+
+void org_xmlvm_runtime_XMLVMArray_fillArray___org_xmlvm_runtime_XMLVMArray_java_lang_Object(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_NATIVE[org_xmlvm_runtime_XMLVMArray_fillArray___org_xmlvm_runtime_XMLVMArray_java_lang_Object]
+ org_xmlvm_runtime_XMLVMArray* array = (org_xmlvm_runtime_XMLVMArray*) n1;
+ java_lang_Class* arrayType = array->fields.org_xmlvm_runtime_XMLVMArray.type_;
+ __TIB_DEFINITION_TEMPLATE* arrayTIB = arrayType->fields.java_lang_Class.tib_;
+ TYPE_INFO info = XMLVMArray_getTypeInfo(arrayTIB->baseType);
+ int n = info.sizeOfBaseType * array->fields.org_xmlvm_runtime_XMLVMArray.length_;
+ XMLVM_MEMCPY(array->fields.org_xmlvm_runtime_XMLVMArray.array_, n2, n);
+ //XMLVM_END_NATIVE
+}
+
+JAVA_OBJECT org_xmlvm_runtime_XMLVMArray_clone__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_NATIVE[org_xmlvm_runtime_XMLVMArray_clone__]
+ org_xmlvm_runtime_XMLVMArray* thiz = (org_xmlvm_runtime_XMLVMArray*) me;
+ JAVA_OBJECT type = thiz->fields.org_xmlvm_runtime_XMLVMArray.type_;
+ JAVA_INT length = thiz->fields.org_xmlvm_runtime_XMLVMArray.length_;
+ JAVA_OBJECT data = thiz->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ TYPE_INFO info = XMLVMArray_getTypeInfo(type);
+ int sizeOfArrayInBytes = info.sizeOfBaseType * length;
+ JAVA_OBJECT copyData = info.useAtomicMalloc ? XMLVM_ATOMIC_MALLOC(sizeOfArrayInBytes) : XMLVM_MALLOC(sizeOfArrayInBytes);
+ XMLVM_MEMCPY(copyData, data, sizeOfArrayInBytes);
+ return XMLVMArray_createSingleDimensionWithData(type, length, copyData);
+ //XMLVM_END_NATIVE
+}
+
+
+void xmlvm_init_native_org_xmlvm_runtime_XMLVMArray()
+{
+ //XMLVM_BEGIN_NATIVE_IMPLEMENTATION_INIT
+ //XMLVM_END_NATIVE_IMPLEMENTATION_INIT
+#ifdef XMLVM_VTABLE_IDX_org_xmlvm_runtime_XMLVMArray_clone__
+ __TIB_org_xmlvm_runtime_XMLVMArray.vtable[XMLVM_VTABLE_IDX_org_xmlvm_runtime_XMLVMArray_clone__] =
+ (VTABLE_PTR) org_xmlvm_runtime_XMLVMArray_clone__;
+#endif
+}
diff --git a/tests/nbody-java/native_org_xmlvm_runtime_XMLVMOutputStream.c b/tests/nbody-java/native_org_xmlvm_runtime_XMLVMOutputStream.c
new file mode 100644
index 00000000..113b36da
--- /dev/null
+++ b/tests/nbody-java/native_org_xmlvm_runtime_XMLVMOutputStream.c
@@ -0,0 +1,15 @@
+
+#include "xmlvm.h"
+#include "org_xmlvm_runtime_XMLVMOutputStream.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+void org_xmlvm_runtime_XMLVMOutputStream_nativeWrite___int(JAVA_INT n1)
+{
+ //XMLVM_BEGIN_NATIVE[org_xmlvm_runtime_XMLVMOutputStream_nativeWrite___int]
+ printf("%c", (char) n1);
+ //XMLVM_END_NATIVE
+}
+
diff --git a/tests/nbody-java/native_org_xmlvm_runtime_XMLVMUtil.c b/tests/nbody-java/native_org_xmlvm_runtime_XMLVMUtil.c
new file mode 100644
index 00000000..46932210
--- /dev/null
+++ b/tests/nbody-java/native_org_xmlvm_runtime_XMLVMUtil.c
@@ -0,0 +1,37 @@
+
+#include "xmlvm.h"
+#include "org_xmlvm_runtime_XMLVMUtil.h"
+
+
+//XMLVM_BEGIN_NATIVE_IMPLEMENTATION
+#include <unistd.h>
+#ifdef __OBJC__
+#ifndef XMLVM_NEW_IOS_API
+#include "org_xmlvm_iphone_NSString.h"
+#else
+#include "org_xmlvm_ios_NSString.h"
+#endif
+#endif
+//XMLVM_END_NATIVE_IMPLEMENTATION
+
+JAVA_OBJECT org_xmlvm_runtime_XMLVMUtil_getCurrentWorkingDirectory__()
+{
+ //XMLVM_BEGIN_NATIVE[org_xmlvm_runtime_XMLVMUtil_getCurrentWorkingDirectory__]
+#ifdef __OBJC__
+ // Base directory is <App>/Documents/
+ // http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/FilesandNetworking/FilesandNetworking.html
+ NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
+ NSString* path = [paths objectAtIndex:0];
+ JAVA_OBJECT jpath = fromNSString(path);
+ return jpath;
+#else
+ char buf[1024];
+ char* err = getcwd(buf, sizeof(buf));
+ if (err == NULL) {
+ XMLVM_INTERNAL_ERROR();
+ }
+ return xmlvm_create_java_string(buf);
+#endif
+ //XMLVM_END_NATIVE
+}
+
diff --git a/tests/nbody-java/nbody_Body.c b/tests/nbody-java/nbody_Body.c
new file mode 100644
index 00000000..ca172c06
--- /dev/null
+++ b/tests/nbody-java/nbody_Body.c
@@ -0,0 +1,453 @@
+#include "xmlvm.h"
+
+#include "nbody_Body.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Body
+#define XMLVM_CURRENT_PKG_CLASS_NAME nbody_Body
+
+__TIB_DEFINITION_nbody_Body __TIB_nbody_Body = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_nbody_Body, // classInitializer
+ "nbody.Body", // className
+ "nbody", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(nbody_Body), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_nbody_Body;
+JAVA_OBJECT __CLASS_nbody_Body_1ARRAY;
+JAVA_OBJECT __CLASS_nbody_Body_2ARRAY;
+JAVA_OBJECT __CLASS_nbody_Body_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_DOUBLE _STATIC_nbody_Body_PI;
+static JAVA_DOUBLE _STATIC_nbody_Body_SOLAR_MASS;
+static JAVA_DOUBLE _STATIC_nbody_Body_DAYS_PER_YEAR;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_nbody_Body()
+{
+ staticInitializerLock(&__TIB_nbody_Body);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_nbody_Body.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_nbody_Body.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_nbody_Body);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_nbody_Body.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_nbody_Body.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_nbody_Body.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("nbody.Body")
+ __INIT_IMPL_nbody_Body();
+ }
+}
+
+void __INIT_IMPL_nbody_Body()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_nbody_Body.newInstanceFunc = __NEW_INSTANCE_nbody_Body;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_nbody_Body.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_nbody_Body.numImplementedInterfaces = 0;
+ __TIB_nbody_Body.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_nbody_Body_PI = 3.141592653589793;
+ _STATIC_nbody_Body_SOLAR_MASS = 39.47841760435743;
+ _STATIC_nbody_Body_DAYS_PER_YEAR = 365.24;
+
+ __TIB_nbody_Body.declaredFields = &__field_reflection_data[0];
+ __TIB_nbody_Body.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_nbody_Body.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_nbody_Body.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_nbody_Body.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_nbody_Body.methodDispatcherFunc = method_dispatcher;
+ __TIB_nbody_Body.declaredMethods = &__method_reflection_data[0];
+ __TIB_nbody_Body.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_nbody_Body = XMLVM_CREATE_CLASS_OBJECT(&__TIB_nbody_Body);
+ __TIB_nbody_Body.clazz = __CLASS_nbody_Body;
+ __TIB_nbody_Body.baseType = JAVA_NULL;
+ __CLASS_nbody_Body_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_nbody_Body);
+ __CLASS_nbody_Body_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_nbody_Body_1ARRAY);
+ __CLASS_nbody_Body_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_nbody_Body_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_nbody_Body]
+ //XMLVM_END_WRAPPER
+
+ __TIB_nbody_Body.classInitialized = 1;
+}
+
+void __DELETE_nbody_Body(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_nbody_Body]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_nbody_Body(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((nbody_Body*) me)->fields.nbody_Body.x_ = 0;
+ ((nbody_Body*) me)->fields.nbody_Body.y_ = 0;
+ ((nbody_Body*) me)->fields.nbody_Body.z_ = 0;
+ ((nbody_Body*) me)->fields.nbody_Body.vx_ = 0;
+ ((nbody_Body*) me)->fields.nbody_Body.vy_ = 0;
+ ((nbody_Body*) me)->fields.nbody_Body.vz_ = 0;
+ ((nbody_Body*) me)->fields.nbody_Body.mass_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_nbody_Body]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_nbody_Body()
+{ XMLVM_CLASS_INIT(nbody_Body)
+nbody_Body* me = (nbody_Body*) XMLVM_MALLOC(sizeof(nbody_Body));
+ me->tib = &__TIB_nbody_Body;
+ __INIT_INSTANCE_MEMBERS_nbody_Body(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_nbody_Body]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_nbody_Body()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_nbody_Body();
+ nbody_Body___INIT___(me);
+ return me;
+}
+
+JAVA_DOUBLE nbody_Body_GET_PI()
+{
+ XMLVM_CLASS_INIT(nbody_Body)
+ return _STATIC_nbody_Body_PI;
+}
+
+void nbody_Body_PUT_PI(JAVA_DOUBLE v)
+{
+ XMLVM_CLASS_INIT(nbody_Body)
+_STATIC_nbody_Body_PI = v;
+}
+
+JAVA_DOUBLE nbody_Body_GET_SOLAR_MASS()
+{
+ XMLVM_CLASS_INIT(nbody_Body)
+ return _STATIC_nbody_Body_SOLAR_MASS;
+}
+
+void nbody_Body_PUT_SOLAR_MASS(JAVA_DOUBLE v)
+{
+ XMLVM_CLASS_INIT(nbody_Body)
+_STATIC_nbody_Body_SOLAR_MASS = v;
+}
+
+JAVA_DOUBLE nbody_Body_GET_DAYS_PER_YEAR()
+{
+ XMLVM_CLASS_INIT(nbody_Body)
+ return _STATIC_nbody_Body_DAYS_PER_YEAR;
+}
+
+void nbody_Body_PUT_DAYS_PER_YEAR(JAVA_DOUBLE v)
+{
+ XMLVM_CLASS_INIT(nbody_Body)
+_STATIC_nbody_Body_DAYS_PER_YEAR = v;
+}
+
+void nbody_Body___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[nbody_Body___INIT___]
+ XMLVM_ENTER_METHOD("nbody.Body", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("nbody.java", 122)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT nbody_Body_jupiter__()
+{
+ XMLVM_CLASS_INIT(nbody_Body)
+ //XMLVM_BEGIN_WRAPPER[nbody_Body_jupiter__]
+ XMLVM_ENTER_METHOD("nbody.Body", "jupiter", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVM_SOURCE_POSITION("nbody.java", 125)
+ _r0.o = __NEW_nbody_Body();
+ XMLVM_CHECK_NPE(0)
+ nbody_Body___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("nbody.java", 126)
+ _r1.d = 4.841431442464721;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.x_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 127)
+ _r1.d = -1.1603200440274284;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.y_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 128)
+ _r1.d = -0.10362204447112311;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.z_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 129)
+ _r1.d = 0.606326392995832;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.vx_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 130)
+ _r1.d = 2.81198684491626;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.vy_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 131)
+ _r1.d = -0.02521836165988763;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.vz_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 132)
+ _r1.d = 0.03769367487038949;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.mass_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 133)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT nbody_Body_saturn__()
+{
+ XMLVM_CLASS_INIT(nbody_Body)
+ //XMLVM_BEGIN_WRAPPER[nbody_Body_saturn__]
+ XMLVM_ENTER_METHOD("nbody.Body", "saturn", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVM_SOURCE_POSITION("nbody.java", 137)
+ _r0.o = __NEW_nbody_Body();
+ XMLVM_CHECK_NPE(0)
+ nbody_Body___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("nbody.java", 138)
+ _r1.d = 8.34336671824458;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.x_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 139)
+ _r1.d = 4.124798564124305;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.y_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 140)
+ _r1.d = -0.4035234171143214;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.z_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 141)
+ _r1.d = -1.0107743461787924;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.vx_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 142)
+ _r1.d = 1.8256623712304119;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.vy_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 143)
+ _r1.d = 0.008415761376584154;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.vz_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 144)
+ _r1.d = 0.011286326131968767;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.mass_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 145)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT nbody_Body_uranus__()
+{
+ XMLVM_CLASS_INIT(nbody_Body)
+ //XMLVM_BEGIN_WRAPPER[nbody_Body_uranus__]
+ XMLVM_ENTER_METHOD("nbody.Body", "uranus", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVM_SOURCE_POSITION("nbody.java", 149)
+ _r0.o = __NEW_nbody_Body();
+ XMLVM_CHECK_NPE(0)
+ nbody_Body___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("nbody.java", 150)
+ _r1.d = 12.894369562139131;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.x_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 151)
+ _r1.d = -15.111151401698631;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.y_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 152)
+ _r1.d = -0.22330757889265573;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.z_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 153)
+ _r1.d = 1.0827910064415354;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.vx_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 154)
+ _r1.d = 0.8687130181696082;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.vy_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 155)
+ _r1.d = -0.010832637401363636;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.vz_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 156)
+ _r1.d = 0.0017237240570597112;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.mass_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 157)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT nbody_Body_neptune__()
+{
+ XMLVM_CLASS_INIT(nbody_Body)
+ //XMLVM_BEGIN_WRAPPER[nbody_Body_neptune__]
+ XMLVM_ENTER_METHOD("nbody.Body", "neptune", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVM_SOURCE_POSITION("nbody.java", 161)
+ _r0.o = __NEW_nbody_Body();
+ XMLVM_CHECK_NPE(0)
+ nbody_Body___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("nbody.java", 162)
+ _r1.d = 15.379697114850917;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.x_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 163)
+ _r1.d = -25.919314609987964;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.y_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 164)
+ _r1.d = 0.17925877295037118;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.z_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 165)
+ _r1.d = 0.979090732243898;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.vx_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 166)
+ _r1.d = 0.5946989986476762;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.vy_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 167)
+ _r1.d = -0.034755955504078104;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.vz_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 168)
+ _r1.d = 0.0020336868699246304;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.mass_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 169)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT nbody_Body_sun__()
+{
+ XMLVM_CLASS_INIT(nbody_Body)
+ //XMLVM_BEGIN_WRAPPER[nbody_Body_sun__]
+ XMLVM_ENTER_METHOD("nbody.Body", "sun", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVM_SOURCE_POSITION("nbody.java", 173)
+ _r0.o = __NEW_nbody_Body();
+ XMLVM_CHECK_NPE(0)
+ nbody_Body___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("nbody.java", 174)
+ _r1.d = 39.47841760435743;
+ XMLVM_CHECK_NPE(0)
+ ((nbody_Body*) _r0.o)->fields.nbody_Body.mass_ = _r1.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 175)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT nbody_Body_offsetMomentum___double_double_double(JAVA_OBJECT me, JAVA_DOUBLE n1, JAVA_DOUBLE n2, JAVA_DOUBLE n3)
+{
+ //XMLVM_BEGIN_WRAPPER[nbody_Body_offsetMomentum___double_double_double]
+ XMLVM_ENTER_METHOD("nbody.Body", "offsetMomentum", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ _r4.o = me;
+ _r5.d = n1;
+ _r7.d = n2;
+ _r9.d = n3;
+ _r2.d = 39.47841760435743;
+ XMLVM_SOURCE_POSITION("nbody.java", 179)
+ _r0.d = -_r5.d;
+ _r0.d = _r0.d / _r2.d;
+ XMLVM_CHECK_NPE(4)
+ ((nbody_Body*) _r4.o)->fields.nbody_Body.vx_ = _r0.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 180)
+ _r0.d = -_r7.d;
+ _r0.d = _r0.d / _r2.d;
+ XMLVM_CHECK_NPE(4)
+ ((nbody_Body*) _r4.o)->fields.nbody_Body.vy_ = _r0.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 181)
+ _r0.d = -_r9.d;
+ _r0.d = _r0.d / _r2.d;
+ XMLVM_CHECK_NPE(4)
+ ((nbody_Body*) _r4.o)->fields.nbody_Body.vz_ = _r0.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 182)
+ XMLVM_EXIT_METHOD()
+ return _r4.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/nbody_Body.h b/tests/nbody-java/nbody_Body.h
new file mode 100644
index 00000000..1a8f0ab1
--- /dev/null
+++ b/tests/nbody-java/nbody_Body.h
@@ -0,0 +1,70 @@
+#ifndef __NBODY_BODY__
+#define __NBODY_BODY__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_nbody_Body 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+// Class declarations for nbody.Body
+XMLVM_DEFINE_CLASS(nbody_Body, 6, XMLVM_ITABLE_SIZE_nbody_Body)
+
+extern JAVA_OBJECT __CLASS_nbody_Body;
+extern JAVA_OBJECT __CLASS_nbody_Body_1ARRAY;
+extern JAVA_OBJECT __CLASS_nbody_Body_2ARRAY;
+extern JAVA_OBJECT __CLASS_nbody_Body_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_nbody_Body
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_nbody_Body \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_DOUBLE x_; \
+ JAVA_DOUBLE y_; \
+ JAVA_DOUBLE z_; \
+ JAVA_DOUBLE vx_; \
+ JAVA_DOUBLE vy_; \
+ JAVA_DOUBLE vz_; \
+ JAVA_DOUBLE mass_; \
+ __ADDITIONAL_INSTANCE_FIELDS_nbody_Body \
+ } nbody_Body
+
+struct nbody_Body {
+ __TIB_DEFINITION_nbody_Body* tib;
+ struct {
+ __INSTANCE_FIELDS_nbody_Body;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_nbody_Body
+#define XMLVM_FORWARD_DECL_nbody_Body
+typedef struct nbody_Body nbody_Body;
+#endif
+
+#define XMLVM_VTABLE_SIZE_nbody_Body 6
+
+void __INIT_nbody_Body();
+void __INIT_IMPL_nbody_Body();
+void __DELETE_nbody_Body(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_nbody_Body(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_nbody_Body();
+JAVA_OBJECT __NEW_INSTANCE_nbody_Body();
+JAVA_DOUBLE nbody_Body_GET_PI();
+void nbody_Body_PUT_PI(JAVA_DOUBLE v);
+JAVA_DOUBLE nbody_Body_GET_SOLAR_MASS();
+void nbody_Body_PUT_SOLAR_MASS(JAVA_DOUBLE v);
+JAVA_DOUBLE nbody_Body_GET_DAYS_PER_YEAR();
+void nbody_Body_PUT_DAYS_PER_YEAR(JAVA_DOUBLE v);
+void nbody_Body___INIT___(JAVA_OBJECT me);
+JAVA_OBJECT nbody_Body_jupiter__();
+JAVA_OBJECT nbody_Body_saturn__();
+JAVA_OBJECT nbody_Body_uranus__();
+JAVA_OBJECT nbody_Body_neptune__();
+JAVA_OBJECT nbody_Body_sun__();
+JAVA_OBJECT nbody_Body_offsetMomentum___double_double_double(JAVA_OBJECT me, JAVA_DOUBLE n1, JAVA_DOUBLE n2, JAVA_DOUBLE n3);
+
+#endif
diff --git a/tests/nbody-java/nbody_NBodySystem.c b/tests/nbody-java/nbody_NBodySystem.c
new file mode 100644
index 00000000..b43c61e0
--- /dev/null
+++ b/tests/nbody-java/nbody_NBodySystem.c
@@ -0,0 +1,670 @@
+#include "xmlvm.h"
+#include "java_lang_Math.h"
+#include "nbody_Body.h"
+
+#include "nbody_NBodySystem.h"
+
+#define XMLVM_CURRENT_CLASS_NAME NBodySystem
+#define XMLVM_CURRENT_PKG_CLASS_NAME nbody_NBodySystem
+
+__TIB_DEFINITION_nbody_NBodySystem __TIB_nbody_NBodySystem = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_nbody_NBodySystem, // classInitializer
+ "nbody.NBodySystem", // className
+ "nbody", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(nbody_NBodySystem), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_nbody_NBodySystem;
+JAVA_OBJECT __CLASS_nbody_NBodySystem_1ARRAY;
+JAVA_OBJECT __CLASS_nbody_NBodySystem_2ARRAY;
+JAVA_OBJECT __CLASS_nbody_NBodySystem_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_nbody_NBodySystem()
+{
+ staticInitializerLock(&__TIB_nbody_NBodySystem);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_nbody_NBodySystem.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_nbody_NBodySystem.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_nbody_NBodySystem);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_nbody_NBodySystem.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_nbody_NBodySystem.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_nbody_NBodySystem.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("nbody.NBodySystem")
+ __INIT_IMPL_nbody_NBodySystem();
+ }
+}
+
+void __INIT_IMPL_nbody_NBodySystem()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_nbody_NBodySystem.newInstanceFunc = __NEW_INSTANCE_nbody_NBodySystem;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_nbody_NBodySystem.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_nbody_NBodySystem.numImplementedInterfaces = 0;
+ __TIB_nbody_NBodySystem.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ __TIB_nbody_NBodySystem.declaredFields = &__field_reflection_data[0];
+ __TIB_nbody_NBodySystem.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_nbody_NBodySystem.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_nbody_NBodySystem.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_nbody_NBodySystem.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_nbody_NBodySystem.methodDispatcherFunc = method_dispatcher;
+ __TIB_nbody_NBodySystem.declaredMethods = &__method_reflection_data[0];
+ __TIB_nbody_NBodySystem.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_nbody_NBodySystem = XMLVM_CREATE_CLASS_OBJECT(&__TIB_nbody_NBodySystem);
+ __TIB_nbody_NBodySystem.clazz = __CLASS_nbody_NBodySystem;
+ __TIB_nbody_NBodySystem.baseType = JAVA_NULL;
+ __CLASS_nbody_NBodySystem_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_nbody_NBodySystem);
+ __CLASS_nbody_NBodySystem_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_nbody_NBodySystem_1ARRAY);
+ __CLASS_nbody_NBodySystem_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_nbody_NBodySystem_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_nbody_NBodySystem]
+ //XMLVM_END_WRAPPER
+
+ __TIB_nbody_NBodySystem.classInitialized = 1;
+}
+
+void __DELETE_nbody_NBodySystem(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_nbody_NBodySystem]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_nbody_NBodySystem(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((nbody_NBodySystem*) me)->fields.nbody_NBodySystem.bodies_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_nbody_NBodySystem]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_nbody_NBodySystem()
+{ XMLVM_CLASS_INIT(nbody_NBodySystem)
+nbody_NBodySystem* me = (nbody_NBodySystem*) XMLVM_MALLOC(sizeof(nbody_NBodySystem));
+ me->tib = &__TIB_nbody_NBodySystem;
+ __INIT_INSTANCE_MEMBERS_nbody_NBodySystem(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_nbody_NBodySystem]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_nbody_NBodySystem()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_nbody_NBodySystem();
+ nbody_NBodySystem___INIT___(me);
+ return me;
+}
+
+void nbody_NBodySystem___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[nbody_NBodySystem___INIT___]
+ XMLVM_ENTER_METHOD("nbody.NBodySystem", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ _r12.o = me;
+ _r11.i = 0;
+ _r3.d = 0.0;
+ XMLVM_SOURCE_POSITION("nbody.java", 39)
+ XMLVM_CHECK_NPE(12)
+ java_lang_Object___INIT___(_r12.o);
+ XMLVM_SOURCE_POSITION("nbody.java", 40)
+ _r0.i = 5;
+ XMLVM_CLASS_INIT(nbody_Body)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_nbody_Body, _r0.i);
+ _r1.o = nbody_Body_sun__();
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r11.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r11.i] = _r1.o;
+ _r1.i = 1;
+ _r2.o = nbody_Body_jupiter__();
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 2;
+ _r2.o = nbody_Body_saturn__();
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 3;
+ _r2.o = nbody_Body_uranus__();
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 4;
+ _r2.o = nbody_Body_neptune__();
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ XMLVM_CHECK_NPE(12)
+ ((nbody_NBodySystem*) _r12.o)->fields.nbody_NBodySystem.bodies_ = _r0.o;
+ _r0 = _r11;
+ _r5 = _r3;
+ _r1 = _r3;
+ label48:;
+ XMLVM_SOURCE_POSITION("nbody.java", 51)
+ XMLVM_CHECK_NPE(12)
+ _r7.o = ((nbody_NBodySystem*) _r12.o)->fields.nbody_NBodySystem.bodies_;
+ _r7.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r7.o));
+ if (_r0.i >= _r7.i) goto label98;
+ XMLVM_SOURCE_POSITION("nbody.java", 52)
+ XMLVM_CHECK_NPE(12)
+ _r7.o = ((nbody_NBodySystem*) _r12.o)->fields.nbody_NBodySystem.bodies_;
+ XMLVM_CHECK_NPE(7)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r0.i);
+ _r7.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_CHECK_NPE(7)
+ _r7.d = ((nbody_Body*) _r7.o)->fields.nbody_Body.vx_;
+ XMLVM_CHECK_NPE(12)
+ _r9.o = ((nbody_NBodySystem*) _r12.o)->fields.nbody_NBodySystem.bodies_;
+ XMLVM_CHECK_NPE(9)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r9.o, _r0.i);
+ _r9.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r9.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_CHECK_NPE(9)
+ _r9.d = ((nbody_Body*) _r9.o)->fields.nbody_Body.mass_;
+ _r7.d = _r7.d * _r9.d;
+ _r1.d = _r1.d + _r7.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 53)
+ XMLVM_CHECK_NPE(12)
+ _r7.o = ((nbody_NBodySystem*) _r12.o)->fields.nbody_NBodySystem.bodies_;
+ XMLVM_CHECK_NPE(7)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r0.i);
+ _r7.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_CHECK_NPE(7)
+ _r7.d = ((nbody_Body*) _r7.o)->fields.nbody_Body.vy_;
+ XMLVM_CHECK_NPE(12)
+ _r9.o = ((nbody_NBodySystem*) _r12.o)->fields.nbody_NBodySystem.bodies_;
+ XMLVM_CHECK_NPE(9)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r9.o, _r0.i);
+ _r9.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r9.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_CHECK_NPE(9)
+ _r9.d = ((nbody_Body*) _r9.o)->fields.nbody_Body.mass_;
+ _r7.d = _r7.d * _r9.d;
+ _r3.d = _r3.d + _r7.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 54)
+ XMLVM_CHECK_NPE(12)
+ _r7.o = ((nbody_NBodySystem*) _r12.o)->fields.nbody_NBodySystem.bodies_;
+ XMLVM_CHECK_NPE(7)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r0.i);
+ _r7.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_CHECK_NPE(7)
+ _r7.d = ((nbody_Body*) _r7.o)->fields.nbody_Body.vz_;
+ XMLVM_CHECK_NPE(12)
+ _r9.o = ((nbody_NBodySystem*) _r12.o)->fields.nbody_NBodySystem.bodies_;
+ XMLVM_CHECK_NPE(9)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r9.o, _r0.i);
+ _r9.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r9.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_CHECK_NPE(9)
+ _r9.d = ((nbody_Body*) _r9.o)->fields.nbody_Body.mass_;
+ _r7.d = _r7.d * _r9.d;
+ _r5.d = _r5.d + _r7.d;
+ _r0.i = _r0.i + 1;
+ goto label48;
+ label98:;
+ XMLVM_SOURCE_POSITION("nbody.java", 56)
+ XMLVM_CHECK_NPE(12)
+ _r0.o = ((nbody_NBodySystem*) _r12.o)->fields.nbody_NBodySystem.bodies_;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r11.i);
+ _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r11.i];
+ XMLVM_CHECK_NPE(0)
+ nbody_Body_offsetMomentum___double_double_double(_r0.o, _r1.d, _r3.d, _r5.d);
+ XMLVM_SOURCE_POSITION("nbody.java", 57)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void nbody_NBodySystem_advance___double(JAVA_OBJECT me, JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_WRAPPER[nbody_NBodySystem_advance___double]
+ XMLVM_ENTER_METHOD("nbody.NBodySystem", "advance", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ XMLVMElem _r14;
+ XMLVMElem _r15;
+ XMLVMElem _r16;
+ XMLVMElem _r17;
+ XMLVMElem _r18;
+ XMLVMElem _r19;
+ _r17.o = me;
+ _r18.d = n1;
+ XMLVM_SOURCE_POSITION("nbody.java", 61)
+ _r1.i = 0;
+ label1:;
+ _r0 = _r17;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((nbody_NBodySystem*) _r0.o)->fields.nbody_NBodySystem.bodies_;
+ _r2 = _r0;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ if (_r1.i >= _r2.i) goto label183;
+ XMLVM_SOURCE_POSITION("nbody.java", 62)
+ _r0 = _r17;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((nbody_NBodySystem*) _r0.o)->fields.nbody_NBodySystem.bodies_;
+ _r2 = _r0;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_SOURCE_POSITION("nbody.java", 63)
+ _r3.i = _r1.i + 1;
+ label18:;
+ _r0 = _r17;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((nbody_NBodySystem*) _r0.o)->fields.nbody_NBodySystem.bodies_;
+ _r4 = _r0;
+ _r4.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
+ if (_r3.i >= _r4.i) goto label179;
+ XMLVM_SOURCE_POSITION("nbody.java", 64)
+ XMLVM_CHECK_NPE(2)
+ _r4.d = ((nbody_Body*) _r2.o)->fields.nbody_Body.x_;
+ _r0 = _r17;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((nbody_NBodySystem*) _r0.o)->fields.nbody_NBodySystem.bodies_;
+ _r6 = _r0;
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r3.i);
+ _r6.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ XMLVM_CHECK_NPE(6)
+ _r6.d = ((nbody_Body*) _r6.o)->fields.nbody_Body.x_;
+ _r4.d = _r4.d - _r6.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 65)
+ XMLVM_CHECK_NPE(2)
+ _r6.d = ((nbody_Body*) _r2.o)->fields.nbody_Body.y_;
+ _r0 = _r17;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((nbody_NBodySystem*) _r0.o)->fields.nbody_NBodySystem.bodies_;
+ _r8 = _r0;
+ XMLVM_CHECK_NPE(8)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r8.o, _r3.i);
+ _r8.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r8.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ XMLVM_CHECK_NPE(8)
+ _r8.d = ((nbody_Body*) _r8.o)->fields.nbody_Body.y_;
+ _r6.d = _r6.d - _r8.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 66)
+ XMLVM_CHECK_NPE(2)
+ _r8.d = ((nbody_Body*) _r2.o)->fields.nbody_Body.z_;
+ _r0 = _r17;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((nbody_NBodySystem*) _r0.o)->fields.nbody_NBodySystem.bodies_;
+ _r10 = _r0;
+ XMLVM_CHECK_NPE(10)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r10.o, _r3.i);
+ _r10.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r10.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ XMLVM_CHECK_NPE(10)
+ _r10.d = ((nbody_Body*) _r10.o)->fields.nbody_Body.z_;
+ _r8.d = _r8.d - _r10.d;
+ _r10.d = _r4.d * _r4.d;
+ _r12.d = _r6.d * _r6.d;
+ _r10.d = _r10.d + _r12.d;
+ _r12.d = _r8.d * _r8.d;
+ _r10.d = _r10.d + _r12.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 69)
+ _r12.d = java_lang_Math_sqrt___double(_r10.d);
+ XMLVM_SOURCE_POSITION("nbody.java", 70)
+ _r10.d = _r10.d * _r12.d;
+ _r10.d = _r18.d / _r10.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 72)
+ XMLVM_CHECK_NPE(2)
+ _r12.d = ((nbody_Body*) _r2.o)->fields.nbody_Body.vx_;
+ _r0 = _r17;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((nbody_NBodySystem*) _r0.o)->fields.nbody_NBodySystem.bodies_;
+ _r14 = _r0;
+ XMLVM_CHECK_NPE(14)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r14.o, _r3.i);
+ _r14.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r14.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ XMLVM_CHECK_NPE(14)
+ _r14.d = ((nbody_Body*) _r14.o)->fields.nbody_Body.mass_;
+ _r14.d = _r14.d * _r4.d;
+ _r14.d = _r14.d * _r10.d;
+ _r12.d = _r12.d - _r14.d;
+ XMLVM_CHECK_NPE(2)
+ ((nbody_Body*) _r2.o)->fields.nbody_Body.vx_ = _r12.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 73)
+ XMLVM_CHECK_NPE(2)
+ _r12.d = ((nbody_Body*) _r2.o)->fields.nbody_Body.vy_;
+ _r0 = _r17;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((nbody_NBodySystem*) _r0.o)->fields.nbody_NBodySystem.bodies_;
+ _r14 = _r0;
+ XMLVM_CHECK_NPE(14)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r14.o, _r3.i);
+ _r14.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r14.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ XMLVM_CHECK_NPE(14)
+ _r14.d = ((nbody_Body*) _r14.o)->fields.nbody_Body.mass_;
+ _r14.d = _r14.d * _r6.d;
+ _r14.d = _r14.d * _r10.d;
+ _r12.d = _r12.d - _r14.d;
+ XMLVM_CHECK_NPE(2)
+ ((nbody_Body*) _r2.o)->fields.nbody_Body.vy_ = _r12.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 74)
+ XMLVM_CHECK_NPE(2)
+ _r12.d = ((nbody_Body*) _r2.o)->fields.nbody_Body.vz_;
+ _r0 = _r17;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((nbody_NBodySystem*) _r0.o)->fields.nbody_NBodySystem.bodies_;
+ _r14 = _r0;
+ XMLVM_CHECK_NPE(14)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r14.o, _r3.i);
+ _r14.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r14.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ XMLVM_CHECK_NPE(14)
+ _r14.d = ((nbody_Body*) _r14.o)->fields.nbody_Body.mass_;
+ _r14.d = _r14.d * _r8.d;
+ _r14.d = _r14.d * _r10.d;
+ _r12.d = _r12.d - _r14.d;
+ XMLVM_CHECK_NPE(2)
+ ((nbody_Body*) _r2.o)->fields.nbody_Body.vz_ = _r12.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 76)
+ _r0 = _r17;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((nbody_NBodySystem*) _r0.o)->fields.nbody_NBodySystem.bodies_;
+ _r12 = _r0;
+ XMLVM_CHECK_NPE(12)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r12.o, _r3.i);
+ _r12.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r12.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ XMLVM_CHECK_NPE(12)
+ _r13.d = ((nbody_Body*) _r12.o)->fields.nbody_Body.vx_;
+ XMLVM_CHECK_NPE(2)
+ _r15.d = ((nbody_Body*) _r2.o)->fields.nbody_Body.mass_;
+ _r4.d = _r4.d * _r15.d;
+ _r4.d = _r4.d * _r10.d;
+ _r4.d = _r4.d + _r13.d;
+ XMLVM_CHECK_NPE(12)
+ ((nbody_Body*) _r12.o)->fields.nbody_Body.vx_ = _r4.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 77)
+ _r0 = _r17;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((nbody_NBodySystem*) _r0.o)->fields.nbody_NBodySystem.bodies_;
+ _r4 = _r0;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r3.i);
+ _r4.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ XMLVM_CHECK_NPE(4)
+ _r12.d = ((nbody_Body*) _r4.o)->fields.nbody_Body.vy_;
+ XMLVM_CHECK_NPE(2)
+ _r14.d = ((nbody_Body*) _r2.o)->fields.nbody_Body.mass_;
+ _r5.d = _r6.d * _r14.d;
+ _r5.d = _r5.d * _r10.d;
+ _r5.d = _r5.d + _r12.d;
+ XMLVM_CHECK_NPE(4)
+ ((nbody_Body*) _r4.o)->fields.nbody_Body.vy_ = _r5.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 78)
+ _r0 = _r17;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((nbody_NBodySystem*) _r0.o)->fields.nbody_NBodySystem.bodies_;
+ _r4 = _r0;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r3.i);
+ _r4.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ XMLVM_CHECK_NPE(4)
+ _r5.d = ((nbody_Body*) _r4.o)->fields.nbody_Body.vz_;
+ XMLVM_CHECK_NPE(2)
+ _r12.d = ((nbody_Body*) _r2.o)->fields.nbody_Body.mass_;
+ _r7.d = _r8.d * _r12.d;
+ _r7.d = _r7.d * _r10.d;
+ _r5.d = _r5.d + _r7.d;
+ XMLVM_CHECK_NPE(4)
+ ((nbody_Body*) _r4.o)->fields.nbody_Body.vz_ = _r5.d;
+ _r3.i = _r3.i + 1;
+ goto label18;
+ label179:;
+ _r1.i = _r1.i + 1;
+ goto label1;
+ label183:;
+ XMLVM_SOURCE_POSITION("nbody.java", 82)
+ _r0 = _r17;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((nbody_NBodySystem*) _r0.o)->fields.nbody_NBodySystem.bodies_;
+ _r1 = _r0;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ _r3.i = 0;
+ label190:;
+ if (_r3.i >= _r2.i) goto label224;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r3.i);
+ _r4.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ XMLVM_SOURCE_POSITION("nbody.java", 83)
+ XMLVM_CHECK_NPE(4)
+ _r5.d = ((nbody_Body*) _r4.o)->fields.nbody_Body.x_;
+ XMLVM_CHECK_NPE(4)
+ _r7.d = ((nbody_Body*) _r4.o)->fields.nbody_Body.vx_;
+ _r7.d = _r7.d * _r18.d;
+ _r5.d = _r5.d + _r7.d;
+ XMLVM_CHECK_NPE(4)
+ ((nbody_Body*) _r4.o)->fields.nbody_Body.x_ = _r5.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 84)
+ XMLVM_CHECK_NPE(4)
+ _r5.d = ((nbody_Body*) _r4.o)->fields.nbody_Body.y_;
+ XMLVM_CHECK_NPE(4)
+ _r7.d = ((nbody_Body*) _r4.o)->fields.nbody_Body.vy_;
+ _r7.d = _r7.d * _r18.d;
+ _r5.d = _r5.d + _r7.d;
+ XMLVM_CHECK_NPE(4)
+ ((nbody_Body*) _r4.o)->fields.nbody_Body.y_ = _r5.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 85)
+ XMLVM_CHECK_NPE(4)
+ _r5.d = ((nbody_Body*) _r4.o)->fields.nbody_Body.z_;
+ XMLVM_CHECK_NPE(4)
+ _r7.d = ((nbody_Body*) _r4.o)->fields.nbody_Body.vz_;
+ _r7.d = _r7.d * _r18.d;
+ _r5.d = _r5.d + _r7.d;
+ XMLVM_CHECK_NPE(4)
+ ((nbody_Body*) _r4.o)->fields.nbody_Body.z_ = _r5.d;
+ _r3.i = _r3.i + 1;
+ goto label190;
+ label224:;
+ XMLVM_SOURCE_POSITION("nbody.java", 87)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_DOUBLE nbody_NBodySystem_energy__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[nbody_NBodySystem_energy__]
+ XMLVM_ENTER_METHOD("nbody.NBodySystem", "energy", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ XMLVMElem _r14;
+ XMLVMElem _r15;
+ XMLVMElem _r16;
+ XMLVMElem _r17;
+ XMLVMElem _r18;
+ _r18.o = me;
+ XMLVM_SOURCE_POSITION("nbody.java", 91)
+ _r1.d = 0.0;
+ _r3.i = 0;
+ _r15 = _r3;
+ _r16 = _r1;
+ _r2 = _r16;
+ _r1 = _r15;
+ label9:;
+ XMLVM_SOURCE_POSITION("nbody.java", 93)
+ _r0 = _r18;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((nbody_NBodySystem*) _r0.o)->fields.nbody_NBodySystem.bodies_;
+ _r4 = _r0;
+ _r4.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
+ if (_r1.i >= _r4.i) goto label108;
+ XMLVM_SOURCE_POSITION("nbody.java", 94)
+ _r0 = _r18;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((nbody_NBodySystem*) _r0.o)->fields.nbody_NBodySystem.bodies_;
+ _r4 = _r0;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r1.i);
+ _r4.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_SOURCE_POSITION("nbody.java", 95)
+ _r5.d = 0.5;
+ XMLVM_CHECK_NPE(4)
+ _r7.d = ((nbody_Body*) _r4.o)->fields.nbody_Body.mass_;
+ _r5.d = _r5.d * _r7.d;
+ XMLVM_CHECK_NPE(4)
+ _r7.d = ((nbody_Body*) _r4.o)->fields.nbody_Body.vx_;
+ XMLVM_CHECK_NPE(4)
+ _r9.d = ((nbody_Body*) _r4.o)->fields.nbody_Body.vx_;
+ _r7.d = _r7.d * _r9.d;
+ XMLVM_CHECK_NPE(4)
+ _r9.d = ((nbody_Body*) _r4.o)->fields.nbody_Body.vy_;
+ XMLVM_CHECK_NPE(4)
+ _r11.d = ((nbody_Body*) _r4.o)->fields.nbody_Body.vy_;
+ _r9.d = _r9.d * _r11.d;
+ _r7.d = _r7.d + _r9.d;
+ XMLVM_CHECK_NPE(4)
+ _r9.d = ((nbody_Body*) _r4.o)->fields.nbody_Body.vz_;
+ XMLVM_CHECK_NPE(4)
+ _r11.d = ((nbody_Body*) _r4.o)->fields.nbody_Body.vz_;
+ _r9.d = _r9.d * _r11.d;
+ _r7.d = _r7.d + _r9.d;
+ _r5.d = _r5.d * _r7.d;
+ _r2.d = _r2.d + _r5.d;
+ _r5.i = _r1.i + 1;
+ _r15 = _r5;
+ _r5 = _r2;
+ _r2 = _r15;
+ label53:;
+ XMLVM_SOURCE_POSITION("nbody.java", 100)
+ _r0 = _r18;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((nbody_NBodySystem*) _r0.o)->fields.nbody_NBodySystem.bodies_;
+ _r3 = _r0;
+ _r3.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r3.o));
+ if (_r2.i >= _r3.i) goto label104;
+ XMLVM_SOURCE_POSITION("nbody.java", 101)
+ _r0 = _r18;
+ XMLVM_CHECK_NPE(0)
+ _r0.o = ((nbody_NBodySystem*) _r0.o)->fields.nbody_NBodySystem.bodies_;
+ _r3 = _r0;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r2.i);
+ _r3.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_SOURCE_POSITION("nbody.java", 102)
+ XMLVM_CHECK_NPE(4)
+ _r7.d = ((nbody_Body*) _r4.o)->fields.nbody_Body.x_;
+ XMLVM_CHECK_NPE(3)
+ _r9.d = ((nbody_Body*) _r3.o)->fields.nbody_Body.x_;
+ _r7.d = _r7.d - _r9.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 103)
+ XMLVM_CHECK_NPE(4)
+ _r9.d = ((nbody_Body*) _r4.o)->fields.nbody_Body.y_;
+ XMLVM_CHECK_NPE(3)
+ _r11.d = ((nbody_Body*) _r3.o)->fields.nbody_Body.y_;
+ _r9.d = _r9.d - _r11.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 104)
+ XMLVM_CHECK_NPE(4)
+ _r11.d = ((nbody_Body*) _r4.o)->fields.nbody_Body.z_;
+ XMLVM_CHECK_NPE(3)
+ _r13.d = ((nbody_Body*) _r3.o)->fields.nbody_Body.z_;
+ _r11.d = _r11.d - _r13.d;
+ _r7.d = _r7.d * _r7.d;
+ _r9.d = _r9.d * _r9.d;
+ _r7.d = _r7.d + _r9.d;
+ _r9.d = _r11.d * _r11.d;
+ _r7.d = _r7.d + _r9.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 106)
+ _r7.d = java_lang_Math_sqrt___double(_r7.d);
+ XMLVM_SOURCE_POSITION("nbody.java", 107)
+ XMLVM_CHECK_NPE(4)
+ _r9.d = ((nbody_Body*) _r4.o)->fields.nbody_Body.mass_;
+ XMLVM_CHECK_NPE(3)
+ _r11.d = ((nbody_Body*) _r3.o)->fields.nbody_Body.mass_;
+ _r9.d = _r9.d * _r11.d;
+ _r7.d = _r9.d / _r7.d;
+ _r5.d = _r5.d - _r7.d;
+ _r2.i = _r2.i + 1;
+ goto label53;
+ label104:;
+ _r1.i = _r1.i + 1;
+ _r2 = _r5;
+ goto label9;
+ label108:;
+ XMLVM_SOURCE_POSITION("nbody.java", 110)
+ XMLVM_EXIT_METHOD()
+ return _r2.d;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/nbody_NBodySystem.h b/tests/nbody-java/nbody_NBodySystem.h
new file mode 100644
index 00000000..5eea9f2f
--- /dev/null
+++ b/tests/nbody-java/nbody_NBodySystem.h
@@ -0,0 +1,62 @@
+#ifndef __NBODY_NBODYSYSTEM__
+#define __NBODY_NBODYSYSTEM__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_nbody_NBodySystem 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Math
+#define XMLVM_FORWARD_DECL_java_lang_Math
+XMLVM_FORWARD_DECL(java_lang_Math)
+#endif
+#ifndef XMLVM_FORWARD_DECL_nbody_Body
+#define XMLVM_FORWARD_DECL_nbody_Body
+XMLVM_FORWARD_DECL(nbody_Body)
+#endif
+// Class declarations for nbody.NBodySystem
+XMLVM_DEFINE_CLASS(nbody_NBodySystem, 6, XMLVM_ITABLE_SIZE_nbody_NBodySystem)
+
+extern JAVA_OBJECT __CLASS_nbody_NBodySystem;
+extern JAVA_OBJECT __CLASS_nbody_NBodySystem_1ARRAY;
+extern JAVA_OBJECT __CLASS_nbody_NBodySystem_2ARRAY;
+extern JAVA_OBJECT __CLASS_nbody_NBodySystem_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_nbody_NBodySystem
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_nbody_NBodySystem \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT bodies_; \
+ __ADDITIONAL_INSTANCE_FIELDS_nbody_NBodySystem \
+ } nbody_NBodySystem
+
+struct nbody_NBodySystem {
+ __TIB_DEFINITION_nbody_NBodySystem* tib;
+ struct {
+ __INSTANCE_FIELDS_nbody_NBodySystem;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_nbody_NBodySystem
+#define XMLVM_FORWARD_DECL_nbody_NBodySystem
+typedef struct nbody_NBodySystem nbody_NBodySystem;
+#endif
+
+#define XMLVM_VTABLE_SIZE_nbody_NBodySystem 6
+
+void __INIT_nbody_NBodySystem();
+void __INIT_IMPL_nbody_NBodySystem();
+void __DELETE_nbody_NBodySystem(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_nbody_NBodySystem(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_nbody_NBodySystem();
+JAVA_OBJECT __NEW_INSTANCE_nbody_NBodySystem();
+void nbody_NBodySystem___INIT___(JAVA_OBJECT me);
+void nbody_NBodySystem_advance___double(JAVA_OBJECT me, JAVA_DOUBLE n1);
+JAVA_DOUBLE nbody_NBodySystem_energy__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/nbody_nbody.c b/tests/nbody-java/nbody_nbody.c
new file mode 100644
index 00000000..4d77bb32
--- /dev/null
+++ b/tests/nbody-java/nbody_nbody.c
@@ -0,0 +1,286 @@
+#include "xmlvm.h"
+#include "java_io_PrintStream.h"
+#include "java_lang_Integer.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_lang_System.h"
+#include "nbody_NBodySystem.h"
+
+#include "nbody_nbody.h"
+
+#define XMLVM_CURRENT_CLASS_NAME nbody
+#define XMLVM_CURRENT_PKG_CLASS_NAME nbody_nbody
+
+__TIB_DEFINITION_nbody_nbody __TIB_nbody_nbody = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_nbody_nbody, // classInitializer
+ "nbody.nbody", // className
+ "nbody", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(nbody_nbody), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_nbody_nbody;
+JAVA_OBJECT __CLASS_nbody_nbody_1ARRAY;
+JAVA_OBJECT __CLASS_nbody_nbody_2ARRAY;
+JAVA_OBJECT __CLASS_nbody_nbody_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_nbody_nbody()
+{
+ staticInitializerLock(&__TIB_nbody_nbody);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_nbody_nbody.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_nbody_nbody.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_nbody_nbody);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_nbody_nbody.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_nbody_nbody.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_nbody_nbody.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("nbody.nbody")
+ __INIT_IMPL_nbody_nbody();
+ }
+}
+
+void __INIT_IMPL_nbody_nbody()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_nbody_nbody.newInstanceFunc = __NEW_INSTANCE_nbody_nbody;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_nbody_nbody.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_nbody_nbody.numImplementedInterfaces = 0;
+ __TIB_nbody_nbody.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ __TIB_nbody_nbody.declaredFields = &__field_reflection_data[0];
+ __TIB_nbody_nbody.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_nbody_nbody.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_nbody_nbody.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_nbody_nbody.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_nbody_nbody.methodDispatcherFunc = method_dispatcher;
+ __TIB_nbody_nbody.declaredMethods = &__method_reflection_data[0];
+ __TIB_nbody_nbody.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_nbody_nbody = XMLVM_CREATE_CLASS_OBJECT(&__TIB_nbody_nbody);
+ __TIB_nbody_nbody.clazz = __CLASS_nbody_nbody;
+ __TIB_nbody_nbody.baseType = JAVA_NULL;
+ __CLASS_nbody_nbody_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_nbody_nbody);
+ __CLASS_nbody_nbody_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_nbody_nbody_1ARRAY);
+ __CLASS_nbody_nbody_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_nbody_nbody_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_nbody_nbody]
+ //XMLVM_END_WRAPPER
+
+ __TIB_nbody_nbody.classInitialized = 1;
+}
+
+void __DELETE_nbody_nbody(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_nbody_nbody]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_nbody_nbody(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_nbody_nbody]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_nbody_nbody()
+{ XMLVM_CLASS_INIT(nbody_nbody)
+nbody_nbody* me = (nbody_nbody*) XMLVM_MALLOC(sizeof(nbody_nbody));
+ me->tib = &__TIB_nbody_nbody;
+ __INIT_INSTANCE_MEMBERS_nbody_nbody(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_nbody_nbody]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_nbody_nbody()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_nbody_nbody();
+ nbody_nbody___INIT___(me);
+ return me;
+}
+
+void nbody_nbody___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[nbody_nbody___INIT___]
+ XMLVM_ENTER_METHOD("nbody.nbody", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("nbody.java", 15)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void nbody_nbody_main___java_lang_String_1ARRAY(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(nbody_nbody)
+ //XMLVM_BEGIN_WRAPPER[nbody_nbody_main___java_lang_String_1ARRAY]
+ XMLVM_ENTER_METHOD("nbody.nbody", "main", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r7.o = n1;
+ _r4.i = 0;
+ XMLVM_SOURCE_POSITION("nbody.java", 17)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r7.o));
+ if (_r0.i <= 0) goto label32;
+ XMLVM_CHECK_NPE(7)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r4.i);
+ _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ _r0.i = java_lang_Integer_parseInt___java_lang_String(_r0.o);
+ label10:;
+ XMLVM_SOURCE_POSITION("nbody.java", 19)
+ _r1.l = java_lang_System_currentTimeMillis__();
+ XMLVM_SOURCE_POSITION("nbody.java", 21)
+ _r3.o = __NEW_nbody_NBodySystem();
+ XMLVM_CHECK_NPE(3)
+ nbody_NBodySystem___INIT___(_r3.o);
+ label19:;
+ XMLVM_SOURCE_POSITION("nbody.java", 23)
+ if (_r4.i >= _r0.i) goto label36;
+ XMLVM_SOURCE_POSITION("nbody.java", 24)
+ _r5.d = 0.01;
+ XMLVM_CHECK_NPE(3)
+ nbody_NBodySystem_advance___double(_r3.o, _r5.d);
+ _r4.i = _r4.i + 1;
+ goto label19;
+ label32:;
+ _r0.i = 5000000;
+ goto label10;
+ label36:;
+ XMLVM_SOURCE_POSITION("nbody.java", 27)
+ _r4.l = java_lang_System_currentTimeMillis__();
+ XMLVM_SOURCE_POSITION("nbody.java", 29)
+ _r0.l = _r4.l - _r1.l;
+ _r0.d = (JAVA_DOUBLE) _r0.l;
+ _r4.d = 0.001;
+ _r0.d = _r0.d * _r4.d;
+ XMLVM_SOURCE_POSITION("nbody.java", 31)
+ _r2.o = java_lang_System_GET_out();
+ XMLVM_CHECK_NPE(3)
+ _r3.d = nbody_NBodySystem_energy__(_r3.o);
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_println___double(_r2.o, _r3.d);
+ XMLVM_SOURCE_POSITION("nbody.java", 32)
+ _r2.o = java_lang_System_GET_out();
+ _r3.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(3)
+ java_lang_StringBuilder___INIT___(_r3.o);
+ // "Time(s): "
+ _r4.o = xmlvm_create_java_string_from_pool(813);
+ XMLVM_CHECK_NPE(3)
+ _r3.o = java_lang_StringBuilder_append___java_lang_String(_r3.o, _r4.o);
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_lang_StringBuilder_append___double(_r3.o, _r0.d);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_CHECK_NPE(2)
+ java_io_PrintStream_println___java_lang_String(_r2.o, _r0.o);
+ XMLVM_SOURCE_POSITION("nbody.java", 33)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+
+
+//#if 0
+
+#include <pthread.h> // for pthread_exit so the main thread doesn't terminate early
+
+int main(int argc, char* argv[])
+{
+ // translate our normalized argument (0-0, 1-0.1secs, 2-0.5secs, 3-1sec, 4-5secs, 5-10secs) to nbody
+ int arg = argc > 1 ? argv[1][0] - '0' : 3;
+ char buffer[100];
+ argv[1] = buffer;
+ int n;
+ switch(arg) {
+ case 0: return 0; break;
+ case 1: n = 600000; break;
+ case 2: n = 3600000; break;
+ case 3: n = 6550000; break;
+ case 4: n = 30000000; break;
+ case 5: n = 60000000; break;
+ default: printf("error: %d\\n", arg); return -1;
+ }
+ snprintf(buffer, 50, "%d", n);
+
+ xmlvm_init();
+
+ // Initialize the main thread before entering XMLVM_SETJMP
+ java_lang_Thread* mainThread = java_lang_Thread_currentThread__();
+ if (XMLVM_SETJMP(xmlvm_exception_env_main_thread)) {
+ // Technically, XMLVM_UNWIND_EXCEPTION() should be called, but
+ // exceptions will not be used anymore and XMLVM_ENTER_METHOD() wasn't
+ // called (excessive), so a compilation error would occur
+
+ xmlvm_unhandled_exception();
+ } else {
+ // Convert command-line args to String[]. First C-arg is omitted.
+ JAVA_OBJECT args = xmlvm_create_java_string_array(argc-1, argv+1);
+ nbody_nbody_main___java_lang_String_1ARRAY(args);
+ }
+
+ xmlvm_destroy(mainThread);
+
+ return 0;
+}
+//#endif
+
diff --git a/tests/nbody-java/nbody_nbody.h b/tests/nbody-java/nbody_nbody.h
new file mode 100644
index 00000000..f3a9a277
--- /dev/null
+++ b/tests/nbody-java/nbody_nbody.h
@@ -0,0 +1,76 @@
+#ifndef __NBODY_NBODY__
+#define __NBODY_NBODY__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_nbody_nbody 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_io_PrintStream
+#define XMLVM_FORWARD_DECL_java_io_PrintStream
+XMLVM_FORWARD_DECL(java_io_PrintStream)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Integer
+#define XMLVM_FORWARD_DECL_java_lang_Integer
+XMLVM_FORWARD_DECL(java_lang_Integer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+#ifndef XMLVM_FORWARD_DECL_nbody_NBodySystem
+#define XMLVM_FORWARD_DECL_nbody_NBodySystem
+XMLVM_FORWARD_DECL(nbody_NBodySystem)
+#endif
+// Class declarations for nbody.nbody
+XMLVM_DEFINE_CLASS(nbody_nbody, 6, XMLVM_ITABLE_SIZE_nbody_nbody)
+
+extern JAVA_OBJECT __CLASS_nbody_nbody;
+extern JAVA_OBJECT __CLASS_nbody_nbody_1ARRAY;
+extern JAVA_OBJECT __CLASS_nbody_nbody_2ARRAY;
+extern JAVA_OBJECT __CLASS_nbody_nbody_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_nbody_nbody
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_nbody_nbody \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_nbody_nbody \
+ } nbody_nbody
+
+struct nbody_nbody {
+ __TIB_DEFINITION_nbody_nbody* tib;
+ struct {
+ __INSTANCE_FIELDS_nbody_nbody;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_nbody_nbody
+#define XMLVM_FORWARD_DECL_nbody_nbody
+typedef struct nbody_nbody nbody_nbody;
+#endif
+
+#define XMLVM_VTABLE_SIZE_nbody_nbody 6
+
+void __INIT_nbody_nbody();
+void __INIT_IMPL_nbody_nbody();
+void __DELETE_nbody_nbody(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_nbody_nbody(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_nbody_nbody();
+JAVA_OBJECT __NEW_INSTANCE_nbody_nbody();
+void nbody_nbody___INIT___(JAVA_OBJECT me);
+void nbody_nbody_main___java_lang_String_1ARRAY(JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/org_apache_harmony_luni_internal_nls_Messages.c b/tests/nbody-java/org_apache_harmony_luni_internal_nls_Messages.c
new file mode 100644
index 00000000..c351de77
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_luni_internal_nls_Messages.c
@@ -0,0 +1,565 @@
+#include "xmlvm.h"
+#include "java_lang_Character.h"
+#include "java_lang_Integer.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+
+#include "org_apache_harmony_luni_internal_nls_Messages.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Messages
+#define XMLVM_CURRENT_PKG_CLASS_NAME org_apache_harmony_luni_internal_nls_Messages
+
+__TIB_DEFINITION_org_apache_harmony_luni_internal_nls_Messages __TIB_org_apache_harmony_luni_internal_nls_Messages = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_apache_harmony_luni_internal_nls_Messages, // classInitializer
+ "org.apache.harmony.luni.internal.nls.Messages", // className
+ "org.apache.harmony.luni.internal.nls", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(org_apache_harmony_luni_internal_nls_Messages), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_internal_nls_Messages;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_internal_nls_Messages_1ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_internal_nls_Messages_2ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_internal_nls_Messages_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_org_apache_harmony_luni_internal_nls_Messages()
+{
+ staticInitializerLock(&__TIB_org_apache_harmony_luni_internal_nls_Messages);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_apache_harmony_luni_internal_nls_Messages.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_apache_harmony_luni_internal_nls_Messages.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_apache_harmony_luni_internal_nls_Messages);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_apache_harmony_luni_internal_nls_Messages.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_apache_harmony_luni_internal_nls_Messages.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_apache_harmony_luni_internal_nls_Messages.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.apache.harmony.luni.internal.nls.Messages")
+ __INIT_IMPL_org_apache_harmony_luni_internal_nls_Messages();
+ }
+}
+
+void __INIT_IMPL_org_apache_harmony_luni_internal_nls_Messages()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_org_apache_harmony_luni_internal_nls_Messages.newInstanceFunc = __NEW_INSTANCE_org_apache_harmony_luni_internal_nls_Messages;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_org_apache_harmony_luni_internal_nls_Messages.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_org_apache_harmony_luni_internal_nls_Messages.numImplementedInterfaces = 0;
+ __TIB_org_apache_harmony_luni_internal_nls_Messages.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ __TIB_org_apache_harmony_luni_internal_nls_Messages.declaredFields = &__field_reflection_data[0];
+ __TIB_org_apache_harmony_luni_internal_nls_Messages.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_org_apache_harmony_luni_internal_nls_Messages.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_org_apache_harmony_luni_internal_nls_Messages.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_org_apache_harmony_luni_internal_nls_Messages.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_org_apache_harmony_luni_internal_nls_Messages.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_apache_harmony_luni_internal_nls_Messages.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_apache_harmony_luni_internal_nls_Messages.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_org_apache_harmony_luni_internal_nls_Messages = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_apache_harmony_luni_internal_nls_Messages);
+ __TIB_org_apache_harmony_luni_internal_nls_Messages.clazz = __CLASS_org_apache_harmony_luni_internal_nls_Messages;
+ __TIB_org_apache_harmony_luni_internal_nls_Messages.baseType = JAVA_NULL;
+ __CLASS_org_apache_harmony_luni_internal_nls_Messages_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_internal_nls_Messages);
+ __CLASS_org_apache_harmony_luni_internal_nls_Messages_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_internal_nls_Messages_1ARRAY);
+ __CLASS_org_apache_harmony_luni_internal_nls_Messages_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_internal_nls_Messages_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_org_apache_harmony_luni_internal_nls_Messages]
+ //XMLVM_END_WRAPPER
+
+ __TIB_org_apache_harmony_luni_internal_nls_Messages.classInitialized = 1;
+}
+
+void __DELETE_org_apache_harmony_luni_internal_nls_Messages(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_org_apache_harmony_luni_internal_nls_Messages]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_internal_nls_Messages(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_internal_nls_Messages]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_org_apache_harmony_luni_internal_nls_Messages()
+{ XMLVM_CLASS_INIT(org_apache_harmony_luni_internal_nls_Messages)
+org_apache_harmony_luni_internal_nls_Messages* me = (org_apache_harmony_luni_internal_nls_Messages*) XMLVM_MALLOC(sizeof(org_apache_harmony_luni_internal_nls_Messages));
+ me->tib = &__TIB_org_apache_harmony_luni_internal_nls_Messages;
+ __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_internal_nls_Messages(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_org_apache_harmony_luni_internal_nls_Messages]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_luni_internal_nls_Messages()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_org_apache_harmony_luni_internal_nls_Messages();
+ org_apache_harmony_luni_internal_nls_Messages___INIT___(me);
+ return me;
+}
+
+void org_apache_harmony_luni_internal_nls_Messages___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_internal_nls_Messages___INIT___]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.internal.nls.Messages", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Messages.java", 49)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_internal_nls_Messages)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.internal.nls.Messages", "getString", "?")
+ XMLVMElem _r0;
+ _r0.o = n1;
+ XMLVM_SOURCE_POSITION("Messages.java", 62)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_internal_nls_Messages)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.internal.nls.Messages", "getString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("Messages.java", 82)
+ _r0.i = 1;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r0.i);
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.o;
+ _r0.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_1ARRAY(_r2.o, _r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_internal_nls_Messages)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_int]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.internal.nls.Messages", "getString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = n1;
+ _r4.i = n2;
+ XMLVM_SOURCE_POSITION("Messages.java", 95)
+ _r0.i = 1;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r0.i);
+ _r1.i = 0;
+ _r2.o = java_lang_Integer_toString___int(_r4.i);
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r0.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_1ARRAY(_r3.o, _r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_char(JAVA_OBJECT n1, JAVA_CHAR n2)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_internal_nls_Messages)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_char]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.internal.nls.Messages", "getString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = n1;
+ _r4.i = n2;
+ XMLVM_SOURCE_POSITION("Messages.java", 108)
+ _r0.i = 1;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r0.i);
+ _r1.i = 0;
+ _r2.o = java_lang_String_valueOf___char(_r4.i);
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r0.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_1ARRAY(_r3.o, _r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_java_lang_Object(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_internal_nls_Messages)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_java_lang_Object]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.internal.nls.Messages", "getString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = n1;
+ _r3.o = n2;
+ _r4.o = n3;
+ XMLVM_SOURCE_POSITION("Messages.java", 123)
+ _r0.i = 2;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r0.i);
+ _r1.i = 0;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r3.o;
+ _r1.i = 1;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.o;
+ _r0.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_1ARRAY(_r2.o, _r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_1ARRAY(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_internal_nls_Messages)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_1ARRAY]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.internal.nls.Messages", "getString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r4.o = n1;
+ _r5.o = n2;
+ XMLVM_SOURCE_POSITION("Messages.java", 136)
+ _r0 = _r4;
+ if (_r5.o == JAVA_NULL) goto label79;
+ XMLVM_SOURCE_POSITION("Messages.java", 137)
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ if (_r2.i <= 0) goto label79;
+ XMLVM_SOURCE_POSITION("Messages.java", 138)
+ _r2.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(2)
+ java_lang_StringBuilder___INIT___(_r2.o);
+ XMLVM_CHECK_NPE(2)
+ _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r0.o);
+ // ": "
+ _r3.o = xmlvm_create_java_string_from_pool(49);
+ XMLVM_CHECK_NPE(2)
+ _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r3.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r2.o)->tib->vtable[5])(_r2.o);
+ _r1.i = 0;
+ label26:;
+ XMLVM_SOURCE_POSITION("Messages.java", 140)
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ if (_r1.i >= _r2.i) goto label79;
+ XMLVM_SOURCE_POSITION("Messages.java", 141)
+ _r2.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(2)
+ java_lang_StringBuilder___INIT___(_r2.o);
+ XMLVM_CHECK_NPE(2)
+ _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r0.o);
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r1.i);
+ _r3.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ //java_lang_Object_toString__[5]
+ XMLVM_CHECK_NPE(3)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r3.o)->tib->vtable[5])(_r3.o);
+ XMLVM_CHECK_NPE(2)
+ _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r3.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r2.o)->tib->vtable[5])(_r2.o);
+ XMLVM_SOURCE_POSITION("Messages.java", 142)
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ _r3.i = 1;
+ _r2.i = _r2.i - _r3.i;
+ if (_r1.i >= _r2.i) goto label76;
+ XMLVM_SOURCE_POSITION("Messages.java", 143)
+ _r2.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(2)
+ java_lang_StringBuilder___INIT___(_r2.o);
+ XMLVM_CHECK_NPE(2)
+ _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r0.o);
+ // ", "
+ _r3.o = xmlvm_create_java_string_from_pool(7);
+ XMLVM_CHECK_NPE(2)
+ _r2.o = java_lang_StringBuilder_append___java_lang_String(_r2.o, _r3.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(2)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r2.o)->tib->vtable[5])(_r2.o);
+ label76:;
+ _r1.i = _r1.i + 1;
+ goto label26;
+ label79:;
+ XMLVM_SOURCE_POSITION("Messages.java", 148)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_internal_nls_Messages_format___java_lang_String_java_lang_Object_1ARRAY(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_internal_nls_Messages)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_internal_nls_Messages_format___java_lang_String_java_lang_Object_1ARRAY]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.internal.nls.Messages", "format", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ _r9.o = n1;
+ _r10.o = n2;
+ _r8.i = 123;
+ _r7.i = 1;
+ XMLVM_SOURCE_POSITION("Messages.java", 181)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(9)
+ _r5.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r9.o)->tib->vtable[8])(_r9.o);
+ _r6.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r10.o));
+ _r6.i = _r6.i * 20;
+ _r5.i = _r5.i + _r6.i;
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____int(_r0.o, _r5.i);
+ XMLVM_SOURCE_POSITION("Messages.java", 183)
+ _r5.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r10.o));
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r5.i);
+ _r3.i = 0;
+ label20:;
+ XMLVM_SOURCE_POSITION("Messages.java", 184)
+ _r5.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r10.o));
+ if (_r3.i >= _r5.i) goto label43;
+ XMLVM_SOURCE_POSITION("Messages.java", 185)
+ XMLVM_CHECK_NPE(10)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r10.o, _r3.i);
+ _r5.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r10.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ if (_r5.o != JAVA_NULL) goto label34;
+ XMLVM_SOURCE_POSITION("Messages.java", 186)
+ // "<null>"
+ _r5.o = xmlvm_create_java_string_from_pool(143);
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r5.o;
+ label31:;
+ _r3.i = _r3.i + 1;
+ goto label20;
+ label34:;
+ XMLVM_SOURCE_POSITION("Messages.java", 188)
+ XMLVM_CHECK_NPE(10)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r10.o, _r3.i);
+ _r5.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r10.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ //java_lang_Object_toString__[5]
+ XMLVM_CHECK_NPE(5)
+ _r5.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r5.o)->tib->vtable[5])(_r5.o);
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r5.o;
+ goto label31;
+ label43:;
+ XMLVM_SOURCE_POSITION("Messages.java", 190)
+ _r4.i = 0;
+ _r5.i = 0;
+ XMLVM_SOURCE_POSITION("Messages.java", 191)
+ XMLVM_CHECK_NPE(9)
+ _r3.i = java_lang_String_indexOf___int_int(_r9.o, _r8.i, _r5.i);
+ label49:;
+ if (_r3.i < 0) goto label169;
+ XMLVM_SOURCE_POSITION("Messages.java", 193)
+ if (_r3.i == 0) goto label84;
+ _r5.i = _r3.i - _r7.i;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(9)
+ _r5.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r9.o)->tib->vtable[6])(_r9.o, _r5.i);
+ _r6.i = 92;
+ if (_r5.i != _r6.i) goto label84;
+ XMLVM_SOURCE_POSITION("Messages.java", 195)
+ if (_r3.i == _r7.i) goto label74;
+ XMLVM_SOURCE_POSITION("Messages.java", 196)
+ _r5.i = _r3.i - _r7.i;
+ XMLVM_CHECK_NPE(9)
+ _r5.o = java_lang_String_substring___int_int(_r9.o, _r4.i, _r5.i);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r5.o);
+ label74:;
+ XMLVM_SOURCE_POSITION("Messages.java", 197)
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r8.i);
+ XMLVM_SOURCE_POSITION("Messages.java", 198)
+ _r4.i = _r3.i + 1;
+ label79:;
+ XMLVM_CHECK_NPE(9)
+ _r3.i = java_lang_String_indexOf___int_int(_r9.o, _r8.i, _r4.i);
+ goto label49;
+ label84:;
+ XMLVM_SOURCE_POSITION("Messages.java", 201)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(9)
+ _r5.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r9.o)->tib->vtable[8])(_r9.o);
+ _r6.i = 3;
+ _r5.i = _r5.i - _r6.i;
+ if (_r3.i <= _r5.i) goto label108;
+ XMLVM_SOURCE_POSITION("Messages.java", 203)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(9)
+ _r5.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r9.o)->tib->vtable[8])(_r9.o);
+ XMLVM_CHECK_NPE(9)
+ _r5.o = java_lang_String_substring___int_int(_r9.o, _r4.i, _r5.i);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r5.o);
+ XMLVM_SOURCE_POSITION("Messages.java", 204)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(9)
+ _r4.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r9.o)->tib->vtable[8])(_r9.o);
+ goto label79;
+ label108:;
+ XMLVM_SOURCE_POSITION("Messages.java", 206)
+ _r5.i = _r3.i + 1;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(9)
+ _r5.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r9.o)->tib->vtable[6])(_r9.o, _r5.i);
+ _r6.i = 10;
+ _r5.i = java_lang_Character_digit___char_int(_r5.i, _r6.i);
+ _r2.i = (_r5.i << 24) >> 24;
+ if (_r2.i < 0) goto label133;
+ XMLVM_SOURCE_POSITION("Messages.java", 208)
+ _r5.i = _r3.i + 2;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(9)
+ _r5.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r9.o)->tib->vtable[6])(_r9.o, _r5.i);
+ _r6.i = 125;
+ if (_r5.i == _r6.i) goto label145;
+ label133:;
+ XMLVM_SOURCE_POSITION("Messages.java", 210)
+ _r5.i = _r3.i + 1;
+ XMLVM_CHECK_NPE(9)
+ _r5.o = java_lang_String_substring___int_int(_r9.o, _r4.i, _r5.i);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r5.o);
+ XMLVM_SOURCE_POSITION("Messages.java", 211)
+ _r4.i = _r3.i + 1;
+ goto label79;
+ label145:;
+ XMLVM_SOURCE_POSITION("Messages.java", 214)
+ XMLVM_CHECK_NPE(9)
+ _r5.o = java_lang_String_substring___int_int(_r9.o, _r4.i, _r3.i);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r5.o);
+ XMLVM_SOURCE_POSITION("Messages.java", 215)
+ _r5.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ if (_r2.i < _r5.i) goto label163;
+ XMLVM_SOURCE_POSITION("Messages.java", 216)
+ // "<missing argument>"
+ _r5.o = xmlvm_create_java_string_from_pool(144);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r5.o);
+ label160:;
+ XMLVM_SOURCE_POSITION("Messages.java", 219)
+ _r4.i = _r3.i + 3;
+ goto label79;
+ label163:;
+ XMLVM_SOURCE_POSITION("Messages.java", 218)
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r2.i);
+ _r5.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r5.o);
+ goto label160;
+ label169:;
+ XMLVM_SOURCE_POSITION("Messages.java", 224)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(9)
+ _r5.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r9.o)->tib->vtable[8])(_r9.o);
+ if (_r4.i >= _r5.i) goto label186;
+ XMLVM_SOURCE_POSITION("Messages.java", 225)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(9)
+ _r5.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r9.o)->tib->vtable[8])(_r9.o);
+ XMLVM_CHECK_NPE(9)
+ _r5.o = java_lang_String_substring___int_int(_r9.o, _r4.i, _r5.i);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r5.o);
+ label186:;
+ XMLVM_SOURCE_POSITION("Messages.java", 226)
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r5.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r5.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/org_apache_harmony_luni_internal_nls_Messages.h b/tests/nbody-java/org_apache_harmony_luni_internal_nls_Messages.h
new file mode 100644
index 00000000..089b46f5
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_luni_internal_nls_Messages.h
@@ -0,0 +1,74 @@
+#ifndef __ORG_APACHE_HARMONY_LUNI_INTERNAL_NLS_MESSAGES__
+#define __ORG_APACHE_HARMONY_LUNI_INTERNAL_NLS_MESSAGES__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_org_apache_harmony_luni_internal_nls_Messages 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Character
+#define XMLVM_FORWARD_DECL_java_lang_Character
+XMLVM_FORWARD_DECL(java_lang_Character)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Integer
+#define XMLVM_FORWARD_DECL_java_lang_Integer
+XMLVM_FORWARD_DECL(java_lang_Integer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+// Class declarations for org.apache.harmony.luni.internal.nls.Messages
+XMLVM_DEFINE_CLASS(org_apache_harmony_luni_internal_nls_Messages, 6, XMLVM_ITABLE_SIZE_org_apache_harmony_luni_internal_nls_Messages)
+
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_internal_nls_Messages;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_internal_nls_Messages_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_internal_nls_Messages_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_internal_nls_Messages_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_luni_internal_nls_Messages
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_org_apache_harmony_luni_internal_nls_Messages \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_luni_internal_nls_Messages \
+ } org_apache_harmony_luni_internal_nls_Messages
+
+struct org_apache_harmony_luni_internal_nls_Messages {
+ __TIB_DEFINITION_org_apache_harmony_luni_internal_nls_Messages* tib;
+ struct {
+ __INSTANCE_FIELDS_org_apache_harmony_luni_internal_nls_Messages;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+typedef struct org_apache_harmony_luni_internal_nls_Messages org_apache_harmony_luni_internal_nls_Messages;
+#endif
+
+#define XMLVM_VTABLE_SIZE_org_apache_harmony_luni_internal_nls_Messages 6
+
+void __INIT_org_apache_harmony_luni_internal_nls_Messages();
+void __INIT_IMPL_org_apache_harmony_luni_internal_nls_Messages();
+void __DELETE_org_apache_harmony_luni_internal_nls_Messages(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_internal_nls_Messages(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_org_apache_harmony_luni_internal_nls_Messages();
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_luni_internal_nls_Messages();
+void org_apache_harmony_luni_internal_nls_Messages___INIT___(JAVA_OBJECT me);
+JAVA_OBJECT org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String(JAVA_OBJECT n1);
+JAVA_OBJECT org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_OBJECT org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_char(JAVA_OBJECT n1, JAVA_CHAR n2);
+JAVA_OBJECT org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_java_lang_Object(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3);
+JAVA_OBJECT org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_1ARRAY(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT org_apache_harmony_luni_internal_nls_Messages_format___java_lang_String_java_lang_Object_1ARRAY(JAVA_OBJECT n1, JAVA_OBJECT n2);
+
+#endif
diff --git a/tests/nbody-java/org_apache_harmony_luni_platform_Endianness.c b/tests/nbody-java/org_apache_harmony_luni_platform_Endianness.c
new file mode 100644
index 00000000..65f57c15
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_luni_platform_Endianness.c
@@ -0,0 +1,235 @@
+#include "xmlvm.h"
+#include "java_lang_String.h"
+
+#include "org_apache_harmony_luni_platform_Endianness.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Endianness
+#define XMLVM_CURRENT_PKG_CLASS_NAME org_apache_harmony_luni_platform_Endianness
+
+__TIB_DEFINITION_org_apache_harmony_luni_platform_Endianness __TIB_org_apache_harmony_luni_platform_Endianness = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_apache_harmony_luni_platform_Endianness, // classInitializer
+ "org.apache.harmony.luni.platform.Endianness", // className
+ "org.apache.harmony.luni.platform", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(org_apache_harmony_luni_platform_Endianness), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_Endianness;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_Endianness_1ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_Endianness_2ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_Endianness_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_OBJECT _STATIC_org_apache_harmony_luni_platform_Endianness_BIG_ENDIAN;
+static JAVA_OBJECT _STATIC_org_apache_harmony_luni_platform_Endianness_LITTLE_ENDIAN;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_org_apache_harmony_luni_platform_Endianness()
+{
+ staticInitializerLock(&__TIB_org_apache_harmony_luni_platform_Endianness);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_apache_harmony_luni_platform_Endianness.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_apache_harmony_luni_platform_Endianness.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_apache_harmony_luni_platform_Endianness);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_apache_harmony_luni_platform_Endianness.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_apache_harmony_luni_platform_Endianness.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_apache_harmony_luni_platform_Endianness.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.apache.harmony.luni.platform.Endianness")
+ __INIT_IMPL_org_apache_harmony_luni_platform_Endianness();
+ }
+}
+
+void __INIT_IMPL_org_apache_harmony_luni_platform_Endianness()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_org_apache_harmony_luni_platform_Endianness.newInstanceFunc = __NEW_INSTANCE_org_apache_harmony_luni_platform_Endianness;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_org_apache_harmony_luni_platform_Endianness.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_org_apache_harmony_luni_platform_Endianness.vtable[5] = (VTABLE_PTR) &org_apache_harmony_luni_platform_Endianness_toString__;
+ // Initialize interface information
+ __TIB_org_apache_harmony_luni_platform_Endianness.numImplementedInterfaces = 0;
+ __TIB_org_apache_harmony_luni_platform_Endianness.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_org_apache_harmony_luni_platform_Endianness_BIG_ENDIAN = (org_apache_harmony_luni_platform_Endianness*) JAVA_NULL;
+ _STATIC_org_apache_harmony_luni_platform_Endianness_LITTLE_ENDIAN = (org_apache_harmony_luni_platform_Endianness*) JAVA_NULL;
+
+ __TIB_org_apache_harmony_luni_platform_Endianness.declaredFields = &__field_reflection_data[0];
+ __TIB_org_apache_harmony_luni_platform_Endianness.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_org_apache_harmony_luni_platform_Endianness.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_org_apache_harmony_luni_platform_Endianness.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_org_apache_harmony_luni_platform_Endianness.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_org_apache_harmony_luni_platform_Endianness.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_apache_harmony_luni_platform_Endianness.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_apache_harmony_luni_platform_Endianness.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_org_apache_harmony_luni_platform_Endianness = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_apache_harmony_luni_platform_Endianness);
+ __TIB_org_apache_harmony_luni_platform_Endianness.clazz = __CLASS_org_apache_harmony_luni_platform_Endianness;
+ __TIB_org_apache_harmony_luni_platform_Endianness.baseType = JAVA_NULL;
+ __CLASS_org_apache_harmony_luni_platform_Endianness_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_platform_Endianness);
+ __CLASS_org_apache_harmony_luni_platform_Endianness_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_platform_Endianness_1ARRAY);
+ __CLASS_org_apache_harmony_luni_platform_Endianness_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_platform_Endianness_2ARRAY);
+ org_apache_harmony_luni_platform_Endianness___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_org_apache_harmony_luni_platform_Endianness]
+ //XMLVM_END_WRAPPER
+
+ __TIB_org_apache_harmony_luni_platform_Endianness.classInitialized = 1;
+}
+
+void __DELETE_org_apache_harmony_luni_platform_Endianness(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_org_apache_harmony_luni_platform_Endianness]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_platform_Endianness(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((org_apache_harmony_luni_platform_Endianness*) me)->fields.org_apache_harmony_luni_platform_Endianness.displayName_ = (java_lang_String*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_platform_Endianness]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_org_apache_harmony_luni_platform_Endianness()
+{ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_Endianness)
+org_apache_harmony_luni_platform_Endianness* me = (org_apache_harmony_luni_platform_Endianness*) XMLVM_MALLOC(sizeof(org_apache_harmony_luni_platform_Endianness));
+ me->tib = &__TIB_org_apache_harmony_luni_platform_Endianness;
+ __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_platform_Endianness(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_org_apache_harmony_luni_platform_Endianness]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_luni_platform_Endianness()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_OBJECT org_apache_harmony_luni_platform_Endianness_GET_BIG_ENDIAN()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_Endianness)
+ return _STATIC_org_apache_harmony_luni_platform_Endianness_BIG_ENDIAN;
+}
+
+void org_apache_harmony_luni_platform_Endianness_PUT_BIG_ENDIAN(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_Endianness)
+_STATIC_org_apache_harmony_luni_platform_Endianness_BIG_ENDIAN = v;
+}
+
+JAVA_OBJECT org_apache_harmony_luni_platform_Endianness_GET_LITTLE_ENDIAN()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_Endianness)
+ return _STATIC_org_apache_harmony_luni_platform_Endianness_LITTLE_ENDIAN;
+}
+
+void org_apache_harmony_luni_platform_Endianness_PUT_LITTLE_ENDIAN(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_Endianness)
+_STATIC_org_apache_harmony_luni_platform_Endianness_LITTLE_ENDIAN = v;
+}
+
+void org_apache_harmony_luni_platform_Endianness___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_Endianness___CLINIT___]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.Endianness", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVM_SOURCE_POSITION("Endianness.java", 28)
+ _r0.o = __NEW_org_apache_harmony_luni_platform_Endianness();
+ // "BIG_ENDIAN"
+ _r1.o = xmlvm_create_java_string_from_pool(727);
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_luni_platform_Endianness___INIT____java_lang_String(_r0.o, _r1.o);
+ org_apache_harmony_luni_platform_Endianness_PUT_BIG_ENDIAN( _r0.o);
+ XMLVM_SOURCE_POSITION("Endianness.java", 33)
+ _r0.o = __NEW_org_apache_harmony_luni_platform_Endianness();
+ XMLVM_SOURCE_POSITION("Endianness.java", 34)
+ // "LITTLE_ENDIAN"
+ _r1.o = xmlvm_create_java_string_from_pool(728);
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_luni_platform_Endianness___INIT____java_lang_String(_r0.o, _r1.o);
+ org_apache_harmony_luni_platform_Endianness_PUT_LITTLE_ENDIAN( _r0.o);
+ XMLVM_SOURCE_POSITION("Endianness.java", 24)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void org_apache_harmony_luni_platform_Endianness___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_Endianness___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.Endianness", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Endianness.java", 43)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Endianness.java", 44)
+ XMLVM_CHECK_NPE(0)
+ ((org_apache_harmony_luni_platform_Endianness*) _r0.o)->fields.org_apache_harmony_luni_platform_Endianness.displayName_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Endianness.java", 45)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_platform_Endianness_toString__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_Endianness_toString__]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.Endianness", "toString", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Endianness.java", 53)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((org_apache_harmony_luni_platform_Endianness*) _r1.o)->fields.org_apache_harmony_luni_platform_Endianness.displayName_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/org_apache_harmony_luni_platform_Endianness.h b/tests/nbody-java/org_apache_harmony_luni_platform_Endianness.h
new file mode 100644
index 00000000..be1433e3
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_luni_platform_Endianness.h
@@ -0,0 +1,64 @@
+#ifndef __ORG_APACHE_HARMONY_LUNI_PLATFORM_ENDIANNESS__
+#define __ORG_APACHE_HARMONY_LUNI_PLATFORM_ENDIANNESS__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_org_apache_harmony_luni_platform_Endianness 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+// Class declarations for org.apache.harmony.luni.platform.Endianness
+XMLVM_DEFINE_CLASS(org_apache_harmony_luni_platform_Endianness, 6, XMLVM_ITABLE_SIZE_org_apache_harmony_luni_platform_Endianness)
+
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_Endianness;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_Endianness_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_Endianness_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_Endianness_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_luni_platform_Endianness
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_org_apache_harmony_luni_platform_Endianness \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT displayName_; \
+ __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_luni_platform_Endianness \
+ } org_apache_harmony_luni_platform_Endianness
+
+struct org_apache_harmony_luni_platform_Endianness {
+ __TIB_DEFINITION_org_apache_harmony_luni_platform_Endianness* tib;
+ struct {
+ __INSTANCE_FIELDS_org_apache_harmony_luni_platform_Endianness;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_Endianness
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_Endianness
+typedef struct org_apache_harmony_luni_platform_Endianness org_apache_harmony_luni_platform_Endianness;
+#endif
+
+#define XMLVM_VTABLE_SIZE_org_apache_harmony_luni_platform_Endianness 6
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_Endianness_toString__ 5
+
+void __INIT_org_apache_harmony_luni_platform_Endianness();
+void __INIT_IMPL_org_apache_harmony_luni_platform_Endianness();
+void __DELETE_org_apache_harmony_luni_platform_Endianness(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_platform_Endianness(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_org_apache_harmony_luni_platform_Endianness();
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_luni_platform_Endianness();
+JAVA_OBJECT org_apache_harmony_luni_platform_Endianness_GET_BIG_ENDIAN();
+void org_apache_harmony_luni_platform_Endianness_PUT_BIG_ENDIAN(JAVA_OBJECT v);
+JAVA_OBJECT org_apache_harmony_luni_platform_Endianness_GET_LITTLE_ENDIAN();
+void org_apache_harmony_luni_platform_Endianness_PUT_LITTLE_ENDIAN(JAVA_OBJECT v);
+void org_apache_harmony_luni_platform_Endianness___CLINIT_();
+void org_apache_harmony_luni_platform_Endianness___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 5
+JAVA_OBJECT org_apache_harmony_luni_platform_Endianness_toString__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/org_apache_harmony_luni_platform_IFileSystem.c b/tests/nbody-java/org_apache_harmony_luni_platform_IFileSystem.c
new file mode 100644
index 00000000..9ff33bbf
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_luni_platform_IFileSystem.c
@@ -0,0 +1,272 @@
+#include "xmlvm.h"
+#include "java_io_FileDescriptor.h"
+
+#include "org_apache_harmony_luni_platform_IFileSystem.h"
+
+__TIB_DEFINITION_org_apache_harmony_luni_platform_IFileSystem __TIB_org_apache_harmony_luni_platform_IFileSystem = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_apache_harmony_luni_platform_IFileSystem, // classInitializer
+ "org.apache.harmony.luni.platform.IFileSystem", // className
+ "org.apache.harmony.luni.platform", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_IFileSystem;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_IFileSystem_1ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_IFileSystem_2ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_IFileSystem_3ARRAY;
+static JAVA_INT _STATIC_org_apache_harmony_luni_platform_IFileSystem_SHARED_LOCK_TYPE;
+static JAVA_INT _STATIC_org_apache_harmony_luni_platform_IFileSystem_EXCLUSIVE_LOCK_TYPE;
+static JAVA_INT _STATIC_org_apache_harmony_luni_platform_IFileSystem_SEEK_SET;
+static JAVA_INT _STATIC_org_apache_harmony_luni_platform_IFileSystem_SEEK_CUR;
+static JAVA_INT _STATIC_org_apache_harmony_luni_platform_IFileSystem_SEEK_END;
+static JAVA_INT _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_RDONLY;
+static JAVA_INT _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_WRONLY;
+static JAVA_INT _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_RDWR;
+static JAVA_INT _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_RDWRSYNC;
+static JAVA_INT _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_APPEND;
+static JAVA_INT _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_CREAT;
+static JAVA_INT _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_EXCL;
+static JAVA_INT _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_NOCTTY;
+static JAVA_INT _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_NONBLOCK;
+static JAVA_INT _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_TRUNC;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_org_apache_harmony_luni_platform_IFileSystem()
+{
+ staticInitializerLock(&__TIB_org_apache_harmony_luni_platform_IFileSystem);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_apache_harmony_luni_platform_IFileSystem.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_apache_harmony_luni_platform_IFileSystem.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_apache_harmony_luni_platform_IFileSystem);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_apache_harmony_luni_platform_IFileSystem.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_apache_harmony_luni_platform_IFileSystem.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_apache_harmony_luni_platform_IFileSystem.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.apache.harmony.luni.platform.IFileSystem")
+ __INIT_IMPL_org_apache_harmony_luni_platform_IFileSystem();
+ }
+}
+
+void __INIT_IMPL_org_apache_harmony_luni_platform_IFileSystem()
+{
+ __TIB_org_apache_harmony_luni_platform_IFileSystem.numInterfaces = 0;
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_SHARED_LOCK_TYPE = 1;
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_EXCLUSIVE_LOCK_TYPE = 2;
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_SEEK_SET = 1;
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_SEEK_CUR = 2;
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_SEEK_END = 4;
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_RDONLY = 0;
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_WRONLY = 1;
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_RDWR = 16;
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_RDWRSYNC = 32;
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_APPEND = 256;
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_CREAT = 4096;
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_EXCL = 65536;
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_NOCTTY = 1048576;
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_NONBLOCK = 16777216;
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_TRUNC = 268435456;
+ __TIB_org_apache_harmony_luni_platform_IFileSystem.declaredFields = &__field_reflection_data[0];
+ __TIB_org_apache_harmony_luni_platform_IFileSystem.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_org_apache_harmony_luni_platform_IFileSystem.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_apache_harmony_luni_platform_IFileSystem.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_apache_harmony_luni_platform_IFileSystem.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_org_apache_harmony_luni_platform_IFileSystem = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_apache_harmony_luni_platform_IFileSystem);
+ __TIB_org_apache_harmony_luni_platform_IFileSystem.clazz = __CLASS_org_apache_harmony_luni_platform_IFileSystem;
+ __TIB_org_apache_harmony_luni_platform_IFileSystem.baseType = JAVA_NULL;
+ __CLASS_org_apache_harmony_luni_platform_IFileSystem_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_platform_IFileSystem);
+ __CLASS_org_apache_harmony_luni_platform_IFileSystem_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_platform_IFileSystem_1ARRAY);
+ __CLASS_org_apache_harmony_luni_platform_IFileSystem_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_platform_IFileSystem_2ARRAY);
+
+ __TIB_org_apache_harmony_luni_platform_IFileSystem.classInitialized = 1;
+}
+
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_SHARED_LOCK_TYPE()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_IFileSystem)
+ return _STATIC_org_apache_harmony_luni_platform_IFileSystem_SHARED_LOCK_TYPE;
+}
+
+void org_apache_harmony_luni_platform_IFileSystem_PUT_SHARED_LOCK_TYPE(JAVA_INT v)
+{
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_SHARED_LOCK_TYPE = v;
+}
+
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_EXCLUSIVE_LOCK_TYPE()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_IFileSystem)
+ return _STATIC_org_apache_harmony_luni_platform_IFileSystem_EXCLUSIVE_LOCK_TYPE;
+}
+
+void org_apache_harmony_luni_platform_IFileSystem_PUT_EXCLUSIVE_LOCK_TYPE(JAVA_INT v)
+{
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_EXCLUSIVE_LOCK_TYPE = v;
+}
+
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_SEEK_SET()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_IFileSystem)
+ return _STATIC_org_apache_harmony_luni_platform_IFileSystem_SEEK_SET;
+}
+
+void org_apache_harmony_luni_platform_IFileSystem_PUT_SEEK_SET(JAVA_INT v)
+{
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_SEEK_SET = v;
+}
+
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_SEEK_CUR()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_IFileSystem)
+ return _STATIC_org_apache_harmony_luni_platform_IFileSystem_SEEK_CUR;
+}
+
+void org_apache_harmony_luni_platform_IFileSystem_PUT_SEEK_CUR(JAVA_INT v)
+{
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_SEEK_CUR = v;
+}
+
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_SEEK_END()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_IFileSystem)
+ return _STATIC_org_apache_harmony_luni_platform_IFileSystem_SEEK_END;
+}
+
+void org_apache_harmony_luni_platform_IFileSystem_PUT_SEEK_END(JAVA_INT v)
+{
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_SEEK_END = v;
+}
+
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_O_RDONLY()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_IFileSystem)
+ return _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_RDONLY;
+}
+
+void org_apache_harmony_luni_platform_IFileSystem_PUT_O_RDONLY(JAVA_INT v)
+{
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_RDONLY = v;
+}
+
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_O_WRONLY()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_IFileSystem)
+ return _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_WRONLY;
+}
+
+void org_apache_harmony_luni_platform_IFileSystem_PUT_O_WRONLY(JAVA_INT v)
+{
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_WRONLY = v;
+}
+
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_O_RDWR()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_IFileSystem)
+ return _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_RDWR;
+}
+
+void org_apache_harmony_luni_platform_IFileSystem_PUT_O_RDWR(JAVA_INT v)
+{
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_RDWR = v;
+}
+
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_O_RDWRSYNC()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_IFileSystem)
+ return _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_RDWRSYNC;
+}
+
+void org_apache_harmony_luni_platform_IFileSystem_PUT_O_RDWRSYNC(JAVA_INT v)
+{
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_RDWRSYNC = v;
+}
+
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_O_APPEND()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_IFileSystem)
+ return _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_APPEND;
+}
+
+void org_apache_harmony_luni_platform_IFileSystem_PUT_O_APPEND(JAVA_INT v)
+{
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_APPEND = v;
+}
+
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_O_CREAT()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_IFileSystem)
+ return _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_CREAT;
+}
+
+void org_apache_harmony_luni_platform_IFileSystem_PUT_O_CREAT(JAVA_INT v)
+{
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_CREAT = v;
+}
+
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_O_EXCL()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_IFileSystem)
+ return _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_EXCL;
+}
+
+void org_apache_harmony_luni_platform_IFileSystem_PUT_O_EXCL(JAVA_INT v)
+{
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_EXCL = v;
+}
+
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_O_NOCTTY()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_IFileSystem)
+ return _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_NOCTTY;
+}
+
+void org_apache_harmony_luni_platform_IFileSystem_PUT_O_NOCTTY(JAVA_INT v)
+{
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_NOCTTY = v;
+}
+
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_O_NONBLOCK()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_IFileSystem)
+ return _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_NONBLOCK;
+}
+
+void org_apache_harmony_luni_platform_IFileSystem_PUT_O_NONBLOCK(JAVA_INT v)
+{
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_NONBLOCK = v;
+}
+
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_O_TRUNC()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_IFileSystem)
+ return _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_TRUNC;
+}
+
+void org_apache_harmony_luni_platform_IFileSystem_PUT_O_TRUNC(JAVA_INT v)
+{
+ _STATIC_org_apache_harmony_luni_platform_IFileSystem_O_TRUNC = v;
+}
+
diff --git a/tests/nbody-java/org_apache_harmony_luni_platform_IFileSystem.h b/tests/nbody-java/org_apache_harmony_luni_platform_IFileSystem.h
new file mode 100644
index 00000000..b2debb17
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_luni_platform_IFileSystem.h
@@ -0,0 +1,80 @@
+#ifndef __ORG_APACHE_HARMONY_LUNI_PLATFORM_IFILESYSTEM__
+#define __ORG_APACHE_HARMONY_LUNI_PLATFORM_IFILESYSTEM__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_read___long_byte_1ARRAY_int_int 7
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_write___long_byte_1ARRAY_int_int 17
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_readv___long_long_1ARRAY_int_1ARRAY_int_1ARRAY_int 8
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_writev___long_java_lang_Object_1ARRAY_int_1ARRAY_int_1ARRAY_int 18
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_readDirect___long_long_int_int 6
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_writeDirect___long_long_int_int 16
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_lock___long_long_long_int_boolean 4
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_unlock___long_long_long 15
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_seek___long_long_int 9
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_fflush___long_boolean 2
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_close___long 1
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_truncate___long_long 12
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_getAllocGranularity__ 3
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_open___byte_1ARRAY_int 5
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_transfer___long_java_io_FileDescriptor_long_long 11
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_ttyAvailable__ 13
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_available___long 0
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_size___long 10
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_ttyRead___byte_1ARRAY_int_int 14
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_io_FileDescriptor
+#define XMLVM_FORWARD_DECL_java_io_FileDescriptor
+XMLVM_FORWARD_DECL(java_io_FileDescriptor)
+#endif
+
+XMLVM_DEFINE_CLASS(org_apache_harmony_luni_platform_IFileSystem, 0, 0)
+
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_IFileSystem;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_IFileSystem_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_IFileSystem_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_IFileSystem_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_IFileSystem
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_IFileSystem
+typedef struct org_apache_harmony_luni_platform_IFileSystem org_apache_harmony_luni_platform_IFileSystem;
+#endif
+
+void __INIT_org_apache_harmony_luni_platform_IFileSystem();
+void __INIT_IMPL_org_apache_harmony_luni_platform_IFileSystem();
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_SHARED_LOCK_TYPE();
+void org_apache_harmony_luni_platform_IFileSystem_PUT_SHARED_LOCK_TYPE(JAVA_INT v);
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_EXCLUSIVE_LOCK_TYPE();
+void org_apache_harmony_luni_platform_IFileSystem_PUT_EXCLUSIVE_LOCK_TYPE(JAVA_INT v);
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_SEEK_SET();
+void org_apache_harmony_luni_platform_IFileSystem_PUT_SEEK_SET(JAVA_INT v);
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_SEEK_CUR();
+void org_apache_harmony_luni_platform_IFileSystem_PUT_SEEK_CUR(JAVA_INT v);
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_SEEK_END();
+void org_apache_harmony_luni_platform_IFileSystem_PUT_SEEK_END(JAVA_INT v);
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_O_RDONLY();
+void org_apache_harmony_luni_platform_IFileSystem_PUT_O_RDONLY(JAVA_INT v);
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_O_WRONLY();
+void org_apache_harmony_luni_platform_IFileSystem_PUT_O_WRONLY(JAVA_INT v);
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_O_RDWR();
+void org_apache_harmony_luni_platform_IFileSystem_PUT_O_RDWR(JAVA_INT v);
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_O_RDWRSYNC();
+void org_apache_harmony_luni_platform_IFileSystem_PUT_O_RDWRSYNC(JAVA_INT v);
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_O_APPEND();
+void org_apache_harmony_luni_platform_IFileSystem_PUT_O_APPEND(JAVA_INT v);
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_O_CREAT();
+void org_apache_harmony_luni_platform_IFileSystem_PUT_O_CREAT(JAVA_INT v);
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_O_EXCL();
+void org_apache_harmony_luni_platform_IFileSystem_PUT_O_EXCL(JAVA_INT v);
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_O_NOCTTY();
+void org_apache_harmony_luni_platform_IFileSystem_PUT_O_NOCTTY(JAVA_INT v);
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_O_NONBLOCK();
+void org_apache_harmony_luni_platform_IFileSystem_PUT_O_NONBLOCK(JAVA_INT v);
+JAVA_INT org_apache_harmony_luni_platform_IFileSystem_GET_O_TRUNC();
+void org_apache_harmony_luni_platform_IFileSystem_PUT_O_TRUNC(JAVA_INT v);
+
+#endif
diff --git a/tests/nbody-java/org_apache_harmony_luni_platform_IMemorySystem.c b/tests/nbody-java/org_apache_harmony_luni_platform_IMemorySystem.c
new file mode 100644
index 00000000..f08832ef
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_luni_platform_IMemorySystem.c
@@ -0,0 +1,116 @@
+#include "xmlvm.h"
+#include "org_apache_harmony_luni_platform_Endianness.h"
+
+#include "org_apache_harmony_luni_platform_IMemorySystem.h"
+
+__TIB_DEFINITION_org_apache_harmony_luni_platform_IMemorySystem __TIB_org_apache_harmony_luni_platform_IMemorySystem = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_apache_harmony_luni_platform_IMemorySystem, // classInitializer
+ "org.apache.harmony.luni.platform.IMemorySystem", // className
+ "org.apache.harmony.luni.platform", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_IMemorySystem;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_IMemorySystem_1ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_IMemorySystem_2ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_IMemorySystem_3ARRAY;
+static JAVA_INT _STATIC_org_apache_harmony_luni_platform_IMemorySystem_MMAP_READ_ONLY;
+static JAVA_INT _STATIC_org_apache_harmony_luni_platform_IMemorySystem_MMAP_READ_WRITE;
+static JAVA_INT _STATIC_org_apache_harmony_luni_platform_IMemorySystem_MMAP_WRITE_COPY;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_org_apache_harmony_luni_platform_IMemorySystem()
+{
+ staticInitializerLock(&__TIB_org_apache_harmony_luni_platform_IMemorySystem);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_apache_harmony_luni_platform_IMemorySystem.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_apache_harmony_luni_platform_IMemorySystem.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_apache_harmony_luni_platform_IMemorySystem);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_apache_harmony_luni_platform_IMemorySystem.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_apache_harmony_luni_platform_IMemorySystem.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_apache_harmony_luni_platform_IMemorySystem.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.apache.harmony.luni.platform.IMemorySystem")
+ __INIT_IMPL_org_apache_harmony_luni_platform_IMemorySystem();
+ }
+}
+
+void __INIT_IMPL_org_apache_harmony_luni_platform_IMemorySystem()
+{
+ __TIB_org_apache_harmony_luni_platform_IMemorySystem.numInterfaces = 0;
+ _STATIC_org_apache_harmony_luni_platform_IMemorySystem_MMAP_READ_ONLY = 1;
+ _STATIC_org_apache_harmony_luni_platform_IMemorySystem_MMAP_READ_WRITE = 2;
+ _STATIC_org_apache_harmony_luni_platform_IMemorySystem_MMAP_WRITE_COPY = 4;
+ __TIB_org_apache_harmony_luni_platform_IMemorySystem.declaredFields = &__field_reflection_data[0];
+ __TIB_org_apache_harmony_luni_platform_IMemorySystem.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_org_apache_harmony_luni_platform_IMemorySystem.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_apache_harmony_luni_platform_IMemorySystem.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_apache_harmony_luni_platform_IMemorySystem.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_org_apache_harmony_luni_platform_IMemorySystem = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_apache_harmony_luni_platform_IMemorySystem);
+ __TIB_org_apache_harmony_luni_platform_IMemorySystem.clazz = __CLASS_org_apache_harmony_luni_platform_IMemorySystem;
+ __TIB_org_apache_harmony_luni_platform_IMemorySystem.baseType = JAVA_NULL;
+ __CLASS_org_apache_harmony_luni_platform_IMemorySystem_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_platform_IMemorySystem);
+ __CLASS_org_apache_harmony_luni_platform_IMemorySystem_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_platform_IMemorySystem_1ARRAY);
+ __CLASS_org_apache_harmony_luni_platform_IMemorySystem_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_platform_IMemorySystem_2ARRAY);
+
+ __TIB_org_apache_harmony_luni_platform_IMemorySystem.classInitialized = 1;
+}
+
+JAVA_INT org_apache_harmony_luni_platform_IMemorySystem_GET_MMAP_READ_ONLY()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_IMemorySystem)
+ return _STATIC_org_apache_harmony_luni_platform_IMemorySystem_MMAP_READ_ONLY;
+}
+
+void org_apache_harmony_luni_platform_IMemorySystem_PUT_MMAP_READ_ONLY(JAVA_INT v)
+{
+ _STATIC_org_apache_harmony_luni_platform_IMemorySystem_MMAP_READ_ONLY = v;
+}
+
+JAVA_INT org_apache_harmony_luni_platform_IMemorySystem_GET_MMAP_READ_WRITE()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_IMemorySystem)
+ return _STATIC_org_apache_harmony_luni_platform_IMemorySystem_MMAP_READ_WRITE;
+}
+
+void org_apache_harmony_luni_platform_IMemorySystem_PUT_MMAP_READ_WRITE(JAVA_INT v)
+{
+ _STATIC_org_apache_harmony_luni_platform_IMemorySystem_MMAP_READ_WRITE = v;
+}
+
+JAVA_INT org_apache_harmony_luni_platform_IMemorySystem_GET_MMAP_WRITE_COPY()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_IMemorySystem)
+ return _STATIC_org_apache_harmony_luni_platform_IMemorySystem_MMAP_WRITE_COPY;
+}
+
+void org_apache_harmony_luni_platform_IMemorySystem_PUT_MMAP_WRITE_COPY(JAVA_INT v)
+{
+ _STATIC_org_apache_harmony_luni_platform_IMemorySystem_MMAP_WRITE_COPY = v;
+}
+
diff --git a/tests/nbody-java/org_apache_harmony_luni_platform_IMemorySystem.h b/tests/nbody-java/org_apache_harmony_luni_platform_IMemorySystem.h
new file mode 100644
index 00000000..6e5aa313
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_luni_platform_IMemorySystem.h
@@ -0,0 +1,74 @@
+#ifndef __ORG_APACHE_HARMONY_LUNI_PLATFORM_IMEMORYSYSTEM__
+#define __ORG_APACHE_HARMONY_LUNI_PLATFORM_IMEMORYSYSTEM__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_isLittleEndian__ 16
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getPointerSize__ 13
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_malloc___long 19
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_free___long 1
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_memset___long_byte_long 21
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_memmove___long_long_long 20
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getByteArray___long_byte_1ARRAY_int_int 3
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setByteArray___long_byte_1ARRAY_int_int 24
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getByte___long 4
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setByte___long_byte 25
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getShort___long 14
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getShort___long_org_apache_harmony_luni_platform_Endianness 15
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setShort___long_short 34
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setShort___long_short_org_apache_harmony_luni_platform_Endianness 35
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getInt___long 9
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getInt___long_org_apache_harmony_luni_platform_Endianness 10
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setInt___long_int 30
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setInt___long_int_org_apache_harmony_luni_platform_Endianness 31
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getLong___long 11
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getLong___long_org_apache_harmony_luni_platform_Endianness 12
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setLong___long_long 32
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setLong___long_long_org_apache_harmony_luni_platform_Endianness 33
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getFloat___long 7
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getFloat___long_org_apache_harmony_luni_platform_Endianness 8
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setFloat___long_float 28
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setFloat___long_float_org_apache_harmony_luni_platform_Endianness 29
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getDouble___long 5
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getDouble___long_org_apache_harmony_luni_platform_Endianness 6
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setDouble___long_double 26
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setDouble___long_double_org_apache_harmony_luni_platform_Endianness 27
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getAddress___long 2
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setAddress___long_long 23
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_mmap___long_long_long_int 22
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_unmap___long_long 36
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_load___long_long 18
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_isLoaded___long_long 17
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_flush___long_long 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_Endianness
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_Endianness
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_platform_Endianness)
+#endif
+
+XMLVM_DEFINE_CLASS(org_apache_harmony_luni_platform_IMemorySystem, 0, 0)
+
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_IMemorySystem;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_IMemorySystem_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_IMemorySystem_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_IMemorySystem_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_IMemorySystem
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_IMemorySystem
+typedef struct org_apache_harmony_luni_platform_IMemorySystem org_apache_harmony_luni_platform_IMemorySystem;
+#endif
+
+void __INIT_org_apache_harmony_luni_platform_IMemorySystem();
+void __INIT_IMPL_org_apache_harmony_luni_platform_IMemorySystem();
+JAVA_INT org_apache_harmony_luni_platform_IMemorySystem_GET_MMAP_READ_ONLY();
+void org_apache_harmony_luni_platform_IMemorySystem_PUT_MMAP_READ_ONLY(JAVA_INT v);
+JAVA_INT org_apache_harmony_luni_platform_IMemorySystem_GET_MMAP_READ_WRITE();
+void org_apache_harmony_luni_platform_IMemorySystem_PUT_MMAP_READ_WRITE(JAVA_INT v);
+JAVA_INT org_apache_harmony_luni_platform_IMemorySystem_GET_MMAP_WRITE_COPY();
+void org_apache_harmony_luni_platform_IMemorySystem_PUT_MMAP_WRITE_COPY(JAVA_INT v);
+
+#endif
diff --git a/tests/nbody-java/org_apache_harmony_luni_platform_INetworkSystem.c b/tests/nbody-java/org_apache_harmony_luni_platform_INetworkSystem.c
new file mode 100644
index 00000000..a1d2d8fa
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_luni_platform_INetworkSystem.c
@@ -0,0 +1,106 @@
+#include "xmlvm.h"
+#include "java_io_FileDescriptor.h"
+#include "java_lang_Long.h"
+#include "java_lang_String.h"
+#include "java_net_InetAddress.h"
+
+#include "org_apache_harmony_luni_platform_INetworkSystem.h"
+
+__TIB_DEFINITION_org_apache_harmony_luni_platform_INetworkSystem __TIB_org_apache_harmony_luni_platform_INetworkSystem = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_apache_harmony_luni_platform_INetworkSystem, // classInitializer
+ "org.apache.harmony.luni.platform.INetworkSystem", // className
+ "org.apache.harmony.luni.platform", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ -1, // sizeInstance
+ XMLVM_TYPE_INTERFACE};
+
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_INetworkSystem;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_INetworkSystem_1ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_INetworkSystem_2ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_INetworkSystem_3ARRAY;
+static JAVA_INT _STATIC_org_apache_harmony_luni_platform_INetworkSystem_SOCKET_CONNECT_STEP_START;
+static JAVA_INT _STATIC_org_apache_harmony_luni_platform_INetworkSystem_SOCKET_CONNECT_STEP_CHECK;
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+void __INIT_org_apache_harmony_luni_platform_INetworkSystem()
+{
+ staticInitializerLock(&__TIB_org_apache_harmony_luni_platform_INetworkSystem);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_apache_harmony_luni_platform_INetworkSystem.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_apache_harmony_luni_platform_INetworkSystem.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_apache_harmony_luni_platform_INetworkSystem);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_apache_harmony_luni_platform_INetworkSystem.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_apache_harmony_luni_platform_INetworkSystem.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_apache_harmony_luni_platform_INetworkSystem.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.apache.harmony.luni.platform.INetworkSystem")
+ __INIT_IMPL_org_apache_harmony_luni_platform_INetworkSystem();
+ }
+}
+
+void __INIT_IMPL_org_apache_harmony_luni_platform_INetworkSystem()
+{
+ __TIB_org_apache_harmony_luni_platform_INetworkSystem.numInterfaces = 0;
+ _STATIC_org_apache_harmony_luni_platform_INetworkSystem_SOCKET_CONNECT_STEP_START = 0;
+ _STATIC_org_apache_harmony_luni_platform_INetworkSystem_SOCKET_CONNECT_STEP_CHECK = 1;
+ __TIB_org_apache_harmony_luni_platform_INetworkSystem.declaredFields = &__field_reflection_data[0];
+ __TIB_org_apache_harmony_luni_platform_INetworkSystem.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ //__TIB_org_apache_harmony_luni_platform_INetworkSystem.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_apache_harmony_luni_platform_INetworkSystem.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_apache_harmony_luni_platform_INetworkSystem.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+
+ __CLASS_org_apache_harmony_luni_platform_INetworkSystem = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_apache_harmony_luni_platform_INetworkSystem);
+ __TIB_org_apache_harmony_luni_platform_INetworkSystem.clazz = __CLASS_org_apache_harmony_luni_platform_INetworkSystem;
+ __TIB_org_apache_harmony_luni_platform_INetworkSystem.baseType = JAVA_NULL;
+ __CLASS_org_apache_harmony_luni_platform_INetworkSystem_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_platform_INetworkSystem);
+ __CLASS_org_apache_harmony_luni_platform_INetworkSystem_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_platform_INetworkSystem_1ARRAY);
+ __CLASS_org_apache_harmony_luni_platform_INetworkSystem_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_platform_INetworkSystem_2ARRAY);
+
+ __TIB_org_apache_harmony_luni_platform_INetworkSystem.classInitialized = 1;
+}
+
+JAVA_INT org_apache_harmony_luni_platform_INetworkSystem_GET_SOCKET_CONNECT_STEP_START()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_INetworkSystem)
+ return _STATIC_org_apache_harmony_luni_platform_INetworkSystem_SOCKET_CONNECT_STEP_START;
+}
+
+void org_apache_harmony_luni_platform_INetworkSystem_PUT_SOCKET_CONNECT_STEP_START(JAVA_INT v)
+{
+ _STATIC_org_apache_harmony_luni_platform_INetworkSystem_SOCKET_CONNECT_STEP_START = v;
+}
+
+JAVA_INT org_apache_harmony_luni_platform_INetworkSystem_GET_SOCKET_CONNECT_STEP_CHECK()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_INetworkSystem)
+ return _STATIC_org_apache_harmony_luni_platform_INetworkSystem_SOCKET_CONNECT_STEP_CHECK;
+}
+
+void org_apache_harmony_luni_platform_INetworkSystem_PUT_SOCKET_CONNECT_STEP_CHECK(JAVA_INT v)
+{
+ _STATIC_org_apache_harmony_luni_platform_INetworkSystem_SOCKET_CONNECT_STEP_CHECK = v;
+}
+
diff --git a/tests/nbody-java/org_apache_harmony_luni_platform_INetworkSystem.h b/tests/nbody-java/org_apache_harmony_luni_platform_INetworkSystem.h
new file mode 100644
index 00000000..e8189335
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_luni_platform_INetworkSystem.h
@@ -0,0 +1,94 @@
+#ifndef __ORG_APACHE_HARMONY_LUNI_PLATFORM_INETWORKSYSTEM__
+#define __ORG_APACHE_HARMONY_LUNI_PLATFORM_INETWORKSYSTEM__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_accept___java_io_FileDescriptor_java_net_SocketImpl_java_io_FileDescriptor_int 1
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_bind___java_io_FileDescriptor_java_net_InetAddress_int 3
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_read___java_io_FileDescriptor_byte_1ARRAY_int_int_int 24
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_readDirect___java_io_FileDescriptor_long_int_int 23
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_write___java_io_FileDescriptor_byte_1ARRAY_int_int 45
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_writeDirect___java_io_FileDescriptor_long_int 44
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_writev___java_io_FileDescriptor_java_lang_Object_1ARRAY_int_1ARRAY_int_1ARRAY_int 46
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_setNonBlocking___java_io_FileDescriptor_boolean 38
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_connect___java_io_FileDescriptor_int_java_net_InetAddress_int 7
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_connectWithTimeout___java_io_FileDescriptor_int_int_java_net_InetAddress_int_int_java_lang_Long 6
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_sendDatagram___java_io_FileDescriptor_byte_1ARRAY_int_int_int_boolean_int_java_net_InetAddress 35
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_sendDatagramDirect___java_io_FileDescriptor_long_int_int_int_boolean_int_java_net_InetAddress 34
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_receiveDatagram___java_io_FileDescriptor_java_net_DatagramPacket_byte_1ARRAY_int_int_int_boolean 26
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_receiveDatagramDirect___java_io_FileDescriptor_java_net_DatagramPacket_long_int_int_int_boolean 25
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_recvConnectedDatagram___java_io_FileDescriptor_java_net_DatagramPacket_byte_1ARRAY_int_int_int_boolean 29
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_recvConnectedDatagramDirect___java_io_FileDescriptor_java_net_DatagramPacket_long_int_int_int_boolean 28
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_peekDatagram___java_io_FileDescriptor_java_net_InetAddress_int 22
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_sendConnectedDatagram___java_io_FileDescriptor_byte_1ARRAY_int_int_boolean 32
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_sendConnectedDatagramDirect___java_io_FileDescriptor_long_int_int_boolean 31
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_disconnectDatagram___java_io_FileDescriptor 11
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_createDatagramSocket___java_io_FileDescriptor_boolean 8
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_connectDatagram___java_io_FileDescriptor_int_int_java_net_InetAddress 4
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_receiveStream___java_io_FileDescriptor_byte_1ARRAY_int_int_int 27
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_shutdownInput___java_io_FileDescriptor 40
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_shutdownOutput___java_io_FileDescriptor 41
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_supportsUrgentData___java_io_FileDescriptor 43
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_sendUrgentData___java_io_FileDescriptor_byte 36
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_availableStream___java_io_FileDescriptor 2
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_acceptStreamSocket___java_io_FileDescriptor_java_net_SocketImpl_java_io_FileDescriptor_int 0
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_createServerStreamSocket___java_io_FileDescriptor_boolean 9
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_createStreamSocket___java_io_FileDescriptor_boolean 10
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_listenStreamSocket___java_io_FileDescriptor_int 20
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_connectStreamWithTimeoutSocket___java_io_FileDescriptor_int_int_int_java_net_InetAddress 5
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_sendDatagram2___java_io_FileDescriptor_byte_1ARRAY_int_int_int_java_net_InetAddress 33
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_getSocketLocalAddress___java_io_FileDescriptor_boolean 15
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_select___java_io_FileDescriptor_1ARRAY_java_io_FileDescriptor_1ARRAY_int_int_long_int_1ARRAY 30
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_getSocketLocalPort___java_io_FileDescriptor_boolean 16
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_getSocketOption___java_io_FileDescriptor_int 17
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_setSocketOption___java_io_FileDescriptor_int_java_lang_Object 39
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_getSocketFlags__ 14
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_socketClose___java_io_FileDescriptor 42
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_getHostByAddr___byte_1ARRAY 12
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_getHostByName___java_lang_String_boolean 13
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_setInetAddress___java_net_InetAddress_byte_1ARRAY 37
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_isReachableByICMP___java_net_InetAddress_java_net_InetAddress_int_int 19
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_inheritedChannel__ 18
+#define XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_oneTimeInitialization___boolean 21
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_io_FileDescriptor
+#define XMLVM_FORWARD_DECL_java_io_FileDescriptor
+XMLVM_FORWARD_DECL(java_io_FileDescriptor)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Long
+#define XMLVM_FORWARD_DECL_java_lang_Long
+XMLVM_FORWARD_DECL(java_lang_Long)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_net_InetAddress
+#define XMLVM_FORWARD_DECL_java_net_InetAddress
+XMLVM_FORWARD_DECL(java_net_InetAddress)
+#endif
+
+XMLVM_DEFINE_CLASS(org_apache_harmony_luni_platform_INetworkSystem, 0, 0)
+
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_INetworkSystem;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_INetworkSystem_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_INetworkSystem_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_INetworkSystem_3ARRAY;
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_INetworkSystem
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_INetworkSystem
+typedef struct org_apache_harmony_luni_platform_INetworkSystem org_apache_harmony_luni_platform_INetworkSystem;
+#endif
+
+void __INIT_org_apache_harmony_luni_platform_INetworkSystem();
+void __INIT_IMPL_org_apache_harmony_luni_platform_INetworkSystem();
+JAVA_INT org_apache_harmony_luni_platform_INetworkSystem_GET_SOCKET_CONNECT_STEP_START();
+void org_apache_harmony_luni_platform_INetworkSystem_PUT_SOCKET_CONNECT_STEP_START(JAVA_INT v);
+JAVA_INT org_apache_harmony_luni_platform_INetworkSystem_GET_SOCKET_CONNECT_STEP_CHECK();
+void org_apache_harmony_luni_platform_INetworkSystem_PUT_SOCKET_CONNECT_STEP_CHECK(JAVA_INT v);
+
+#endif
diff --git a/tests/nbody-java/org_apache_harmony_luni_platform_OSFileSystem.c b/tests/nbody-java/org_apache_harmony_luni_platform_OSFileSystem.c
new file mode 100644
index 00000000..97f406a2
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_luni_platform_OSFileSystem.c
@@ -0,0 +1,1050 @@
+#include "xmlvm.h"
+#include "java_io_FileDescriptor.h"
+#include "java_io_IOException.h"
+#include "java_lang_Class.h"
+#include "java_lang_NullPointerException.h"
+#include "java_lang_String.h"
+
+#include "org_apache_harmony_luni_platform_OSFileSystem.h"
+
+#define XMLVM_CURRENT_CLASS_NAME OSFileSystem
+#define XMLVM_CURRENT_PKG_CLASS_NAME org_apache_harmony_luni_platform_OSFileSystem
+
+__TIB_DEFINITION_org_apache_harmony_luni_platform_OSFileSystem __TIB_org_apache_harmony_luni_platform_OSFileSystem = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_apache_harmony_luni_platform_OSFileSystem, // classInitializer
+ "org.apache.harmony.luni.platform.OSFileSystem", // className
+ "org.apache.harmony.luni.platform", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(org_apache_harmony_luni_platform_OSFileSystem), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_OSFileSystem;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_OSFileSystem_1ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_OSFileSystem_2ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_OSFileSystem_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_OBJECT _STATIC_org_apache_harmony_luni_platform_OSFileSystem_singleton;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_org_apache_harmony_luni_platform_OSFileSystem()
+{
+ staticInitializerLock(&__TIB_org_apache_harmony_luni_platform_OSFileSystem);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_apache_harmony_luni_platform_OSFileSystem.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_apache_harmony_luni_platform_OSFileSystem);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_apache_harmony_luni_platform_OSFileSystem.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_apache_harmony_luni_platform_OSFileSystem.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.apache.harmony.luni.platform.OSFileSystem")
+ __INIT_IMPL_org_apache_harmony_luni_platform_OSFileSystem();
+ }
+}
+
+void __INIT_IMPL_org_apache_harmony_luni_platform_OSFileSystem()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.newInstanceFunc = __NEW_INSTANCE_org_apache_harmony_luni_platform_OSFileSystem;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[9] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[10] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSFileSystem_lock___long_long_long_int_boolean;
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[21] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSFileSystem_unlock___long_long_long;
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[8] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSFileSystem_fflush___long_boolean;
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[15] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSFileSystem_seek___long_long_int;
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[12] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSFileSystem_readDirect___long_long_int_int;
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[22] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSFileSystem_writeDirect___long_long_int_int;
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[13] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSFileSystem_read___long_byte_1ARRAY_int_int;
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[23] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSFileSystem_write___long_byte_1ARRAY_int_int;
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[14] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSFileSystem_readv___long_long_1ARRAY_int_1ARRAY_int_1ARRAY_int;
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[24] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[7] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSFileSystem_close___long;
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[18] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSFileSystem_truncate___long_long;
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[11] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSFileSystem_open___byte_1ARRAY_int;
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[17] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSFileSystem_transfer___long_java_io_FileDescriptor_long_long;
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[19] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSFileSystem_ttyAvailable__;
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[6] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSFileSystem_available___long;
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[16] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSFileSystem_size___long;
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[20] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSFileSystem_ttyRead___byte_1ARRAY_int_int;
+ xmlvm_init_native_org_apache_harmony_luni_platform_OSFileSystem();
+ // Initialize interface information
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.numImplementedInterfaces = 1;
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_IFileSystem)
+
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.implementedInterfaces[0][0] = &__TIB_org_apache_harmony_luni_platform_IFileSystem;
+ // Initialize itable for this class
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.itableBegin = &__TIB_org_apache_harmony_luni_platform_OSFileSystem.itable[0];
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_available___long] = __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[6];
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_close___long] = __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[7];
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_fflush___long_boolean] = __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[8];
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_getAllocGranularity__] = __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[9];
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_lock___long_long_long_int_boolean] = __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[10];
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_open___byte_1ARRAY_int] = __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[11];
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_readDirect___long_long_int_int] = __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[12];
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_read___long_byte_1ARRAY_int_int] = __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[13];
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_readv___long_long_1ARRAY_int_1ARRAY_int_1ARRAY_int] = __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[14];
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_seek___long_long_int] = __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[15];
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_size___long] = __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[16];
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_transfer___long_java_io_FileDescriptor_long_long] = __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[17];
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_truncate___long_long] = __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[18];
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_ttyAvailable__] = __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[19];
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_ttyRead___byte_1ARRAY_int_int] = __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[20];
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_unlock___long_long_long] = __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[21];
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_writeDirect___long_long_int_int] = __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[22];
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_write___long_byte_1ARRAY_int_int] = __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[23];
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IFileSystem_writev___long_java_lang_Object_1ARRAY_int_1ARRAY_int_1ARRAY_int] = __TIB_org_apache_harmony_luni_platform_OSFileSystem.vtable[24];
+
+ _STATIC_org_apache_harmony_luni_platform_OSFileSystem_singleton = (org_apache_harmony_luni_platform_OSFileSystem*) JAVA_NULL;
+
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.declaredFields = &__field_reflection_data[0];
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_org_apache_harmony_luni_platform_OSFileSystem = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_apache_harmony_luni_platform_OSFileSystem);
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.clazz = __CLASS_org_apache_harmony_luni_platform_OSFileSystem;
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.baseType = JAVA_NULL;
+ __CLASS_org_apache_harmony_luni_platform_OSFileSystem_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_platform_OSFileSystem);
+ __CLASS_org_apache_harmony_luni_platform_OSFileSystem_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_platform_OSFileSystem_1ARRAY);
+ __CLASS_org_apache_harmony_luni_platform_OSFileSystem_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_platform_OSFileSystem_2ARRAY);
+ org_apache_harmony_luni_platform_OSFileSystem___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_org_apache_harmony_luni_platform_OSFileSystem]
+ //XMLVM_END_WRAPPER
+
+ __TIB_org_apache_harmony_luni_platform_OSFileSystem.classInitialized = 1;
+}
+
+void __DELETE_org_apache_harmony_luni_platform_OSFileSystem(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_org_apache_harmony_luni_platform_OSFileSystem]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_platform_OSFileSystem(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_platform_OSFileSystem]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_org_apache_harmony_luni_platform_OSFileSystem()
+{ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSFileSystem)
+org_apache_harmony_luni_platform_OSFileSystem* me = (org_apache_harmony_luni_platform_OSFileSystem*) XMLVM_MALLOC(sizeof(org_apache_harmony_luni_platform_OSFileSystem));
+ me->tib = &__TIB_org_apache_harmony_luni_platform_OSFileSystem;
+ __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_platform_OSFileSystem(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_org_apache_harmony_luni_platform_OSFileSystem]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_luni_platform_OSFileSystem()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_OBJECT org_apache_harmony_luni_platform_OSFileSystem_GET_singleton()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSFileSystem)
+ return _STATIC_org_apache_harmony_luni_platform_OSFileSystem_singleton;
+}
+
+void org_apache_harmony_luni_platform_OSFileSystem_PUT_singleton(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSFileSystem)
+_STATIC_org_apache_harmony_luni_platform_OSFileSystem_singleton = v;
+}
+
+void org_apache_harmony_luni_platform_OSFileSystem___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSFileSystem___CLINIT___]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSFileSystem", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 32)
+ org_apache_harmony_luni_platform_OSFileSystem_oneTimeInitializationImpl__();
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 35)
+ _r0.o = __NEW_org_apache_harmony_luni_platform_OSFileSystem();
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_luni_platform_OSFileSystem___INIT___(_r0.o);
+ org_apache_harmony_luni_platform_OSFileSystem_PUT_singleton( _r0.o);
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 29)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_platform_OSFileSystem_getOSFileSystem__()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSFileSystem)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSFileSystem_getOSFileSystem__]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSFileSystem", "getOSFileSystem", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 38)
+ _r0.o = org_apache_harmony_luni_platform_OSFileSystem_GET_singleton();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void org_apache_harmony_luni_platform_OSFileSystem___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSFileSystem___INIT___]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSFileSystem", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 42)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 43)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSFileSystem_oneTimeInitializationImpl__()]
+
+void org_apache_harmony_luni_platform_OSFileSystem_validateLockArgs___int_long_long(JAVA_OBJECT me, JAVA_INT n1, JAVA_LONG n2, JAVA_LONG n3)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSFileSystem_validateLockArgs___int_long_long]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSFileSystem", "validateLockArgs", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r3.o = me;
+ _r4.i = n1;
+ _r5.l = n2;
+ _r7.l = n3;
+ _r1.l = 0;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 48)
+ _r0.i = 1;
+ if (_r4.i == _r0.i) goto label16;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 49)
+ _r0.i = 2;
+ if (_r4.i == _r0.i) goto label16;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 50)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "Illegal lock type requested."
+ _r1.o = xmlvm_create_java_string_from_pool(97);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label16:;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 54)
+ _r0.i = _r5.l > _r1.l ? 1 : (_r5.l == _r1.l ? 0 : -1);
+ if (_r0.i >= 0) goto label28;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 55)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 56)
+ // "Lock start position must be non-negative"
+ _r1.o = xmlvm_create_java_string_from_pool(98);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label28:;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 60)
+ _r0.i = _r7.l > _r1.l ? 1 : (_r7.l == _r1.l ? 0 : -1);
+ if (_r0.i >= 0) goto label40;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 61)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 62)
+ // "Lock length must be non-negative"
+ _r1.o = xmlvm_create_java_string_from_pool(99);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label40:;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 64)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSFileSystem_lockImpl___long_long_long_int_boolean(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_LONG n3, JAVA_INT n4, JAVA_BOOLEAN n5)]
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSFileSystem_getAllocGranularity__(JAVA_OBJECT me)]
+
+JAVA_BOOLEAN org_apache_harmony_luni_platform_OSFileSystem_lock___long_long_long_int_boolean(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_LONG n3, JAVA_INT n4, JAVA_BOOLEAN n5)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSFileSystem_lock___long_long_long_int_boolean]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSFileSystem", "lock", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ XMLVMElem _r14;
+ _r6.o = me;
+ _r7.l = n1;
+ _r9.l = n2;
+ _r11.l = n3;
+ _r13.i = n4;
+ _r14.i = n5;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 79)
+ _r0 = _r6;
+ _r1 = _r13;
+ _r2 = _r9;
+ _r4 = _r11;
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_luni_platform_OSFileSystem_validateLockArgs___int_long_long(_r0.o, _r1.i, _r2.l, _r4.l);
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 80)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = org_apache_harmony_luni_platform_OSFileSystem_lockImpl___long_long_long_int_boolean(_r6.o, _r7.l, _r9.l, _r11.l, _r13.i, _r14.i);
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 81)
+ _r1.i = -1;
+ if (_r0.i == _r1.i) goto label16;
+ _r0.i = 1;
+ label15:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label16:;
+ _r0.i = 0;
+ goto label15;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSFileSystem_unlockImpl___long_long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_LONG n3)]
+
+void org_apache_harmony_luni_platform_OSFileSystem_unlock___long_long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_LONG n3)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSFileSystem_unlock___long_long_long]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSFileSystem", "unlock", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ _r6.o = me;
+ _r7.l = n1;
+ _r9.l = n2;
+ _r11.l = n3;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 89)
+ _r1.i = 1;
+ _r0 = _r6;
+ _r2 = _r9;
+ _r4 = _r11;
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_luni_platform_OSFileSystem_validateLockArgs___int_long_long(_r0.o, _r1.i, _r2.l, _r4.l);
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 90)
+ XMLVM_CHECK_NPE(6)
+ _r0.i = org_apache_harmony_luni_platform_OSFileSystem_unlockImpl___long_long_long(_r6.o, _r7.l, _r9.l, _r11.l);
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 91)
+ _r1.i = -1;
+ if (_r0.i != _r1.i) goto label20;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 92)
+ _r0.o = __NEW_java_io_IOException();
+ XMLVM_CHECK_NPE(0)
+ java_io_IOException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label20:;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 94)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSFileSystem_fflushImpl___long_boolean(JAVA_OBJECT me, JAVA_LONG n1, JAVA_BOOLEAN n2)]
+
+void org_apache_harmony_luni_platform_OSFileSystem_fflush___long_boolean(JAVA_OBJECT me, JAVA_LONG n1, JAVA_BOOLEAN n2)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSFileSystem_fflush___long_boolean]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSFileSystem", "fflush", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r2.o = me;
+ _r3.l = n1;
+ _r5.i = n2;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 100)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = org_apache_harmony_luni_platform_OSFileSystem_fflushImpl___long_boolean(_r2.o, _r3.l, _r5.i);
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 101)
+ _r1.i = -1;
+ if (_r0.i != _r1.i) goto label13;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 102)
+ _r0.o = __NEW_java_io_IOException();
+ XMLVM_CHECK_NPE(0)
+ java_io_IOException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label13:;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 104)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_seekImpl___long_long_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_INT n3)]
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_seek___long_long_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSFileSystem_seek___long_long_int]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSFileSystem", "seek", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r4.o = me;
+ _r5.l = n1;
+ _r7.l = n2;
+ _r9.i = n3;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 114)
+ XMLVM_CHECK_NPE(4)
+ _r0.l = org_apache_harmony_luni_platform_OSFileSystem_seekImpl___long_long_int(_r4.o, _r5.l, _r7.l, _r9.i);
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 115)
+ _r2.l = -1;
+ _r2.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r2.i != 0) goto label16;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 116)
+ _r0.o = __NEW_java_io_IOException();
+ XMLVM_CHECK_NPE(0)
+ java_io_IOException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label16:;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 118)
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_readDirectImpl___long_long_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_INT n3, JAVA_INT n4)]
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_readDirect___long_long_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_INT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSFileSystem_readDirect___long_long_int_int]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSFileSystem", "readDirect", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ _r4.o = me;
+ _r5.l = n1;
+ _r7.l = n2;
+ _r9.i = n3;
+ _r10.i = n4;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 129)
+ XMLVM_CHECK_NPE(4)
+ _r0.l = org_apache_harmony_luni_platform_OSFileSystem_readDirectImpl___long_long_int_int(_r4.o, _r5.l, _r7.l, _r9.i, _r10.i);
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 130)
+ _r2.l = -1;
+ _r2.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r2.i >= 0) goto label16;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 131)
+ _r0.o = __NEW_java_io_IOException();
+ XMLVM_CHECK_NPE(0)
+ java_io_IOException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label16:;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 133)
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_writeDirectImpl___long_long_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_INT n3, JAVA_INT n4)]
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_writeDirect___long_long_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_INT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSFileSystem_writeDirect___long_long_int_int]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSFileSystem", "writeDirect", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ _r4.o = me;
+ _r5.l = n1;
+ _r7.l = n2;
+ _r9.i = n3;
+ _r10.i = n4;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 141)
+ XMLVM_CHECK_NPE(4)
+ _r0.l = org_apache_harmony_luni_platform_OSFileSystem_writeDirectImpl___long_long_int_int(_r4.o, _r5.l, _r7.l, _r9.i, _r10.i);
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 143)
+ _r2.l = 0;
+ _r2.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r2.i >= 0) goto label16;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 144)
+ _r0.o = __NEW_java_io_IOException();
+ XMLVM_CHECK_NPE(0)
+ java_io_IOException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label16:;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 146)
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_readImpl___long_byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4)]
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_read___long_byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSFileSystem_read___long_byte_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSFileSystem", "read", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r4.o = me;
+ _r5.l = n1;
+ _r7.o = n2;
+ _r8.i = n3;
+ _r9.i = n4;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 157)
+ if (_r7.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 158)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 160)
+ XMLVM_CHECK_NPE(4)
+ _r0.l = org_apache_harmony_luni_platform_OSFileSystem_readImpl___long_byte_1ARRAY_int_int(_r4.o, _r5.l, _r7.o, _r8.i, _r9.i);
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 161)
+ _r2.l = -1;
+ _r2.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r2.i >= 0) goto label24;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 170)
+ _r0.o = __NEW_java_io_IOException();
+ XMLVM_CHECK_NPE(0)
+ java_io_IOException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label24:;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 172)
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_writeImpl___long_byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4)]
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_write___long_byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSFileSystem_write___long_byte_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSFileSystem", "write", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r4.o = me;
+ _r5.l = n1;
+ _r7.o = n2;
+ _r8.i = n3;
+ _r9.i = n4;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 180)
+ XMLVM_CHECK_NPE(4)
+ _r0.l = org_apache_harmony_luni_platform_OSFileSystem_writeImpl___long_byte_1ARRAY_int_int(_r4.o, _r5.l, _r7.o, _r8.i, _r9.i);
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 181)
+ _r2.l = 0;
+ _r2.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r2.i >= 0) goto label16;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 182)
+ _r0.o = __NEW_java_io_IOException();
+ XMLVM_CHECK_NPE(0)
+ java_io_IOException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label16:;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 184)
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_readv___long_long_1ARRAY_int_1ARRAY_int_1ARRAY_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_OBJECT n4, JAVA_INT n5)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSFileSystem_readv___long_long_1ARRAY_int_1ARRAY_int_1ARRAY_int]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSFileSystem", "readv", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ _r4.o = me;
+ _r5.l = n1;
+ _r7.o = n2;
+ _r8.o = n3;
+ _r9.o = n4;
+ _r10.i = n5;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 192)
+ XMLVM_CHECK_NPE(4)
+ _r0.l = org_apache_harmony_luni_platform_OSFileSystem_readvImpl___long_long_1ARRAY_int_1ARRAY_int_1ARRAY_int(_r4.o, _r5.l, _r7.o, _r8.o, _r9.o, _r10.i);
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 194)
+ _r2.l = -1;
+ _r2.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r2.i >= 0) goto label16;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 195)
+ _r0.o = __NEW_java_io_IOException();
+ XMLVM_CHECK_NPE(0)
+ java_io_IOException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label16:;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 197)
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_readvImpl___long_long_1ARRAY_int_1ARRAY_int_1ARRAY_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_OBJECT n4, JAVA_INT n5)]
+
+//XMLVM_NATIVE[JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_writev___long_java_lang_Object_1ARRAY_int_1ARRAY_int_1ARRAY_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_OBJECT n4, JAVA_INT n5)]
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSFileSystem_closeImpl___long(JAVA_OBJECT me, JAVA_LONG n1)]
+
+void org_apache_harmony_luni_platform_OSFileSystem_close___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSFileSystem_close___long]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSFileSystem", "close", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.l = n1;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 214)
+ XMLVM_CHECK_NPE(2)
+ _r0.i = org_apache_harmony_luni_platform_OSFileSystem_closeImpl___long(_r2.o, _r3.l);
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 215)
+ _r1.i = -1;
+ if (_r0.i != _r1.i) goto label13;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 216)
+ _r0.o = __NEW_java_io_IOException();
+ XMLVM_CHECK_NPE(0)
+ java_io_IOException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label13:;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 218)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void org_apache_harmony_luni_platform_OSFileSystem_truncate___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSFileSystem_truncate___long_long]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSFileSystem", "truncate", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r1.o = me;
+ _r2.l = n1;
+ _r4.l = n2;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 221)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = org_apache_harmony_luni_platform_OSFileSystem_truncateImpl___long_long(_r1.o, _r2.l, _r4.l);
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 222)
+ if (_r0.i >= 0) goto label12;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 223)
+ _r0.o = __NEW_java_io_IOException();
+ XMLVM_CHECK_NPE(0)
+ java_io_IOException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label12:;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 225)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSFileSystem_truncateImpl___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2)]
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_open___byte_1ARRAY_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSFileSystem_open___byte_1ARRAY_int]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSFileSystem", "open", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ _r4.o = me;
+ _r5.o = n1;
+ _r6.i = n2;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 230)
+ if (_r5.o != JAVA_NULL) goto label8;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 231)
+ _r0.o = __NEW_java_lang_NullPointerException();
+ XMLVM_CHECK_NPE(0)
+ java_lang_NullPointerException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label8:;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 233)
+ XMLVM_CHECK_NPE(4)
+ _r0.l = org_apache_harmony_luni_platform_OSFileSystem_openImpl___byte_1ARRAY_int(_r4.o, _r5.o, _r6.i);
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 234)
+ _r2.l = 0;
+ _r2.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r2.i >= 0) goto label51;
+ XMLVM_TRY_BEGIN(w1838aaac30b1c17)
+ // Begin try
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 236)
+
+
+ // Red class access removed: java.io.FileNotFoundException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.o = __NEW_java_lang_String();
+ // "UTF-8"
+ _r2.o = xmlvm_create_java_string_from_pool(100);
+ XMLVM_CHECK_NPE(1)
+ java_lang_String___INIT____byte_1ARRAY_java_lang_String(_r1.o, _r5.o, _r2.o);
+
+
+ // Red class access removed: java.io.FileNotFoundException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1838aaac30b1c17)
+ XMLVM_CATCH_END(w1838aaac30b1c17)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1838aaac30b1c17)
+ label31:;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 237)
+ java_lang_Thread* curThread_w1838aaac30b1c20 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w1838aaac30b1c20->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 239)
+
+
+ // Red class access removed: java.io.FileNotFoundException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r2.o = __NEW_java_lang_String();
+ XMLVM_CHECK_NPE(2)
+ java_lang_String___INIT____byte_1ARRAY(_r2.o, _r5.o);
+
+
+ // Red class access removed: java.io.FileNotFoundException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 240)
+
+
+ // Red class access removed: java.io.UnsupportedEncodingException::initCause
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 241)
+
+
+ // Red class access removed: java.lang.AssertionError::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.AssertionError::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label51:;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 244)
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_openImpl___byte_1ARRAY_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)]
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_transfer___long_java_io_FileDescriptor_long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_LONG n3, JAVA_LONG n4)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSFileSystem_transfer___long_java_io_FileDescriptor_long_long]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSFileSystem", "transfer", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ _r4.o = me;
+ _r5.l = n1;
+ _r7.o = n2;
+ _r8.l = n3;
+ _r10.l = n4;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 251)
+ XMLVM_CHECK_NPE(4)
+ _r0.l = org_apache_harmony_luni_platform_OSFileSystem_transferImpl___long_java_io_FileDescriptor_long_long(_r4.o, _r5.l, _r7.o, _r8.l, _r10.l);
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 252)
+ _r2.l = 0;
+ _r2.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r2.i >= 0) goto label16;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 253)
+ _r0.o = __NEW_java_io_IOException();
+ XMLVM_CHECK_NPE(0)
+ java_io_IOException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label16:;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 254)
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_transferImpl___long_java_io_FileDescriptor_long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_LONG n3, JAVA_LONG n4)]
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_ttyAvailable__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSFileSystem_ttyAvailable__]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSFileSystem", "ttyAvailable", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 261)
+ XMLVM_CHECK_NPE(4)
+ _r0.l = org_apache_harmony_luni_platform_OSFileSystem_ttyAvailableImpl__(_r4.o);
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 262)
+ _r2.l = 0;
+ _r2.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r2.i >= 0) goto label16;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 263)
+ _r0.o = __NEW_java_io_IOException();
+ XMLVM_CHECK_NPE(0)
+ java_io_IOException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label16:;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 265)
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_ttyAvailableImpl__(JAVA_OBJECT me)]
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_available___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSFileSystem_available___long]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSFileSystem", "available", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r4.o = me;
+ _r5.l = n1;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 271)
+ XMLVM_CHECK_NPE(4)
+ _r0.l = org_apache_harmony_luni_platform_OSFileSystem_availableImpl___long(_r4.o, _r5.l);
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 272)
+ _r2.l = 0;
+ _r2.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r2.i >= 0) goto label16;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 273)
+ _r0.o = __NEW_java_io_IOException();
+ XMLVM_CHECK_NPE(0)
+ java_io_IOException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label16:;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 275)
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_availableImpl___long(JAVA_OBJECT me, JAVA_LONG n1)]
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_size___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSFileSystem_size___long]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSFileSystem", "size", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r4.o = me;
+ _r5.l = n1;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 281)
+ XMLVM_CHECK_NPE(4)
+ _r0.l = org_apache_harmony_luni_platform_OSFileSystem_sizeImpl___long(_r4.o, _r5.l);
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 282)
+ _r2.l = 0;
+ _r2.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r2.i >= 0) goto label16;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 283)
+ _r0.o = __NEW_java_io_IOException();
+ XMLVM_CHECK_NPE(0)
+ java_io_IOException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label16:;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 285)
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_sizeImpl___long(JAVA_OBJECT me, JAVA_LONG n1)]
+
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_ttyRead___byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSFileSystem_ttyRead___byte_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSFileSystem", "ttyRead", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r4.o = me;
+ _r5.o = n1;
+ _r6.i = n2;
+ _r7.i = n3;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 291)
+ XMLVM_CHECK_NPE(4)
+ _r0.l = org_apache_harmony_luni_platform_OSFileSystem_ttyReadImpl___byte_1ARRAY_int_int(_r4.o, _r5.o, _r6.i, _r7.i);
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 292)
+ _r2.l = 0;
+ _r2.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r2.i >= 0) goto label16;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 293)
+ _r0.o = __NEW_java_io_IOException();
+ XMLVM_CHECK_NPE(0)
+ java_io_IOException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label16:;
+ XMLVM_SOURCE_POSITION("OSFileSystem.java", 295)
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_ttyReadImpl___byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)]
+
diff --git a/tests/nbody-java/org_apache_harmony_luni_platform_OSFileSystem.h b/tests/nbody-java/org_apache_harmony_luni_platform_OSFileSystem.h
new file mode 100644
index 00000000..e8c69804
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_luni_platform_OSFileSystem.h
@@ -0,0 +1,153 @@
+#ifndef __ORG_APACHE_HARMONY_LUNI_PLATFORM_OSFILESYSTEM__
+#define __ORG_APACHE_HARMONY_LUNI_PLATFORM_OSFILESYSTEM__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_org_apache_harmony_luni_platform_OSFileSystem 19
+// Implemented interfaces:
+#include "org_apache_harmony_luni_platform_IFileSystem.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_io_FileDescriptor
+#define XMLVM_FORWARD_DECL_java_io_FileDescriptor
+XMLVM_FORWARD_DECL(java_io_FileDescriptor)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_io_IOException
+#define XMLVM_FORWARD_DECL_java_io_IOException
+XMLVM_FORWARD_DECL(java_io_IOException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_NullPointerException
+#define XMLVM_FORWARD_DECL_java_lang_NullPointerException
+XMLVM_FORWARD_DECL(java_lang_NullPointerException)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+// Class declarations for org.apache.harmony.luni.platform.OSFileSystem
+XMLVM_DEFINE_CLASS(org_apache_harmony_luni_platform_OSFileSystem, 25, XMLVM_ITABLE_SIZE_org_apache_harmony_luni_platform_OSFileSystem)
+
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_OSFileSystem;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_OSFileSystem_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_OSFileSystem_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_OSFileSystem_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_luni_platform_OSFileSystem
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_org_apache_harmony_luni_platform_OSFileSystem \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_luni_platform_OSFileSystem \
+ } org_apache_harmony_luni_platform_OSFileSystem
+
+struct org_apache_harmony_luni_platform_OSFileSystem {
+ __TIB_DEFINITION_org_apache_harmony_luni_platform_OSFileSystem* tib;
+ struct {
+ __INSTANCE_FIELDS_org_apache_harmony_luni_platform_OSFileSystem;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_OSFileSystem
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_OSFileSystem
+typedef struct org_apache_harmony_luni_platform_OSFileSystem org_apache_harmony_luni_platform_OSFileSystem;
+#endif
+
+#define XMLVM_VTABLE_SIZE_org_apache_harmony_luni_platform_OSFileSystem 25
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSFileSystem_getAllocGranularity__ 9
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSFileSystem_lock___long_long_long_int_boolean 10
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSFileSystem_unlock___long_long_long 21
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSFileSystem_fflush___long_boolean 8
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSFileSystem_seek___long_long_int 15
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSFileSystem_readDirect___long_long_int_int 12
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSFileSystem_writeDirect___long_long_int_int 22
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSFileSystem_read___long_byte_1ARRAY_int_int 13
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSFileSystem_write___long_byte_1ARRAY_int_int 23
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSFileSystem_readv___long_long_1ARRAY_int_1ARRAY_int_1ARRAY_int 14
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSFileSystem_writev___long_java_lang_Object_1ARRAY_int_1ARRAY_int_1ARRAY_int 24
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSFileSystem_close___long 7
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSFileSystem_truncate___long_long 18
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSFileSystem_open___byte_1ARRAY_int 11
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSFileSystem_transfer___long_java_io_FileDescriptor_long_long 17
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSFileSystem_ttyAvailable__ 19
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSFileSystem_available___long 6
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSFileSystem_size___long 16
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSFileSystem_ttyRead___byte_1ARRAY_int_int 20
+
+void __INIT_org_apache_harmony_luni_platform_OSFileSystem();
+void __INIT_IMPL_org_apache_harmony_luni_platform_OSFileSystem();
+void __DELETE_org_apache_harmony_luni_platform_OSFileSystem(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_platform_OSFileSystem(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_org_apache_harmony_luni_platform_OSFileSystem();
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_luni_platform_OSFileSystem();
+void xmlvm_init_native_org_apache_harmony_luni_platform_OSFileSystem();
+JAVA_OBJECT org_apache_harmony_luni_platform_OSFileSystem_GET_singleton();
+void org_apache_harmony_luni_platform_OSFileSystem_PUT_singleton(JAVA_OBJECT v);
+void org_apache_harmony_luni_platform_OSFileSystem___CLINIT_();
+JAVA_OBJECT org_apache_harmony_luni_platform_OSFileSystem_getOSFileSystem__();
+void org_apache_harmony_luni_platform_OSFileSystem___INIT___(JAVA_OBJECT me);
+void org_apache_harmony_luni_platform_OSFileSystem_oneTimeInitializationImpl__();
+void org_apache_harmony_luni_platform_OSFileSystem_validateLockArgs___int_long_long(JAVA_OBJECT me, JAVA_INT n1, JAVA_LONG n2, JAVA_LONG n3);
+JAVA_INT org_apache_harmony_luni_platform_OSFileSystem_lockImpl___long_long_long_int_boolean(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_LONG n3, JAVA_INT n4, JAVA_BOOLEAN n5);
+// Vtable index: 9
+JAVA_INT org_apache_harmony_luni_platform_OSFileSystem_getAllocGranularity__(JAVA_OBJECT me);
+// Vtable index: 10
+JAVA_BOOLEAN org_apache_harmony_luni_platform_OSFileSystem_lock___long_long_long_int_boolean(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_LONG n3, JAVA_INT n4, JAVA_BOOLEAN n5);
+JAVA_INT org_apache_harmony_luni_platform_OSFileSystem_unlockImpl___long_long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_LONG n3);
+// Vtable index: 21
+void org_apache_harmony_luni_platform_OSFileSystem_unlock___long_long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_LONG n3);
+JAVA_INT org_apache_harmony_luni_platform_OSFileSystem_fflushImpl___long_boolean(JAVA_OBJECT me, JAVA_LONG n1, JAVA_BOOLEAN n2);
+// Vtable index: 8
+void org_apache_harmony_luni_platform_OSFileSystem_fflush___long_boolean(JAVA_OBJECT me, JAVA_LONG n1, JAVA_BOOLEAN n2);
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_seekImpl___long_long_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_INT n3);
+// Vtable index: 15
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_seek___long_long_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_INT n3);
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_readDirectImpl___long_long_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_INT n3, JAVA_INT n4);
+// Vtable index: 12
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_readDirect___long_long_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_INT n3, JAVA_INT n4);
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_writeDirectImpl___long_long_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_INT n3, JAVA_INT n4);
+// Vtable index: 22
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_writeDirect___long_long_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_INT n3, JAVA_INT n4);
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_readImpl___long_byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4);
+// Vtable index: 13
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_read___long_byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4);
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_writeImpl___long_byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4);
+// Vtable index: 23
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_write___long_byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4);
+// Vtable index: 14
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_readv___long_long_1ARRAY_int_1ARRAY_int_1ARRAY_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_OBJECT n4, JAVA_INT n5);
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_readvImpl___long_long_1ARRAY_int_1ARRAY_int_1ARRAY_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_OBJECT n4, JAVA_INT n5);
+// Vtable index: 24
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_writev___long_java_lang_Object_1ARRAY_int_1ARRAY_int_1ARRAY_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_OBJECT n4, JAVA_INT n5);
+JAVA_INT org_apache_harmony_luni_platform_OSFileSystem_closeImpl___long(JAVA_OBJECT me, JAVA_LONG n1);
+// Vtable index: 7
+void org_apache_harmony_luni_platform_OSFileSystem_close___long(JAVA_OBJECT me, JAVA_LONG n1);
+// Vtable index: 18
+void org_apache_harmony_luni_platform_OSFileSystem_truncate___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2);
+JAVA_INT org_apache_harmony_luni_platform_OSFileSystem_truncateImpl___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2);
+// Vtable index: 11
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_open___byte_1ARRAY_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_openImpl___byte_1ARRAY_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2);
+// Vtable index: 17
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_transfer___long_java_io_FileDescriptor_long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_LONG n3, JAVA_LONG n4);
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_transferImpl___long_java_io_FileDescriptor_long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_LONG n3, JAVA_LONG n4);
+// Vtable index: 19
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_ttyAvailable__(JAVA_OBJECT me);
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_ttyAvailableImpl__(JAVA_OBJECT me);
+// Vtable index: 6
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_available___long(JAVA_OBJECT me, JAVA_LONG n1);
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_availableImpl___long(JAVA_OBJECT me, JAVA_LONG n1);
+// Vtable index: 16
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_size___long(JAVA_OBJECT me, JAVA_LONG n1);
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_sizeImpl___long(JAVA_OBJECT me, JAVA_LONG n1);
+// Vtable index: 20
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_ttyRead___byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+JAVA_LONG org_apache_harmony_luni_platform_OSFileSystem_ttyReadImpl___byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+
+#endif
diff --git a/tests/nbody-java/org_apache_harmony_luni_platform_OSMemory.c b/tests/nbody-java/org_apache_harmony_luni_platform_OSMemory.c
new file mode 100644
index 00000000..b96742a5
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_luni_platform_OSMemory.c
@@ -0,0 +1,1000 @@
+#include "xmlvm.h"
+#include "java_lang_Double.h"
+#include "java_lang_Float.h"
+#include "org_apache_harmony_luni_platform_Endianness.h"
+
+#include "org_apache_harmony_luni_platform_OSMemory.h"
+
+#define XMLVM_CURRENT_CLASS_NAME OSMemory
+#define XMLVM_CURRENT_PKG_CLASS_NAME org_apache_harmony_luni_platform_OSMemory
+
+__TIB_DEFINITION_org_apache_harmony_luni_platform_OSMemory __TIB_org_apache_harmony_luni_platform_OSMemory = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_apache_harmony_luni_platform_OSMemory, // classInitializer
+ "org.apache.harmony.luni.platform.OSMemory", // className
+ "org.apache.harmony.luni.platform", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(org_apache_harmony_luni_platform_OSMemory), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_OSMemory;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_OSMemory_1ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_OSMemory_2ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_OSMemory_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_INT _STATIC_org_apache_harmony_luni_platform_OSMemory_POINTER_SIZE;
+static JAVA_OBJECT _STATIC_org_apache_harmony_luni_platform_OSMemory_NATIVE_ORDER;
+static JAVA_OBJECT _STATIC_org_apache_harmony_luni_platform_OSMemory_singleton;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_org_apache_harmony_luni_platform_OSMemory()
+{
+ staticInitializerLock(&__TIB_org_apache_harmony_luni_platform_OSMemory);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_apache_harmony_luni_platform_OSMemory.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_apache_harmony_luni_platform_OSMemory.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_apache_harmony_luni_platform_OSMemory);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_apache_harmony_luni_platform_OSMemory.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_apache_harmony_luni_platform_OSMemory.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_apache_harmony_luni_platform_OSMemory.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.apache.harmony.luni.platform.OSMemory")
+ __INIT_IMPL_org_apache_harmony_luni_platform_OSMemory();
+ }
+}
+
+void __INIT_IMPL_org_apache_harmony_luni_platform_OSMemory()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_org_apache_harmony_luni_platform_OSMemory.newInstanceFunc = __NEW_INSTANCE_org_apache_harmony_luni_platform_OSMemory;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_org_apache_harmony_luni_platform_OSMemory.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[22] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSMemory_isLittleEndian__;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[19] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSMemory_getPointerSize__;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[25] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[7] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[27] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[26] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[9] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[30] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[10] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[31] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[20] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[21] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSMemory_getShort___long_org_apache_harmony_luni_platform_Endianness;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[40] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[41] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSMemory_setShort___long_short_org_apache_harmony_luni_platform_Endianness;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[15] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[16] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSMemory_getInt___long_org_apache_harmony_luni_platform_Endianness;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[36] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[37] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSMemory_setInt___long_int_org_apache_harmony_luni_platform_Endianness;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[17] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[18] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSMemory_getLong___long_org_apache_harmony_luni_platform_Endianness;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[38] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[39] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSMemory_setLong___long_long_org_apache_harmony_luni_platform_Endianness;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[13] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[14] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSMemory_getFloat___long_org_apache_harmony_luni_platform_Endianness;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[34] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[35] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSMemory_setFloat___long_float_org_apache_harmony_luni_platform_Endianness;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[11] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[12] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSMemory_getDouble___long_org_apache_harmony_luni_platform_Endianness;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[32] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[33] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSMemory_setDouble___long_double_org_apache_harmony_luni_platform_Endianness;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[8] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[29] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[28] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSMemory_mmap___long_long_long_int;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[42] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSMemory_unmap___long_long;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[24] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSMemory_load___long_long;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[23] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSMemory_isLoaded___long_long;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[6] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSMemory_flush___long_long;
+ xmlvm_init_native_org_apache_harmony_luni_platform_OSMemory();
+ // Initialize interface information
+ __TIB_org_apache_harmony_luni_platform_OSMemory.numImplementedInterfaces = 1;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_IMemorySystem)
+
+ __TIB_org_apache_harmony_luni_platform_OSMemory.implementedInterfaces[0][0] = &__TIB_org_apache_harmony_luni_platform_IMemorySystem;
+ // Initialize itable for this class
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itableBegin = &__TIB_org_apache_harmony_luni_platform_OSMemory.itable[0];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_flush___long_long] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[6];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_free___long] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[7];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getAddress___long] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[8];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getByteArray___long_byte_1ARRAY_int_int] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[9];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getByte___long] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[10];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getDouble___long] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[11];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getDouble___long_org_apache_harmony_luni_platform_Endianness] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[12];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getFloat___long] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[13];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getFloat___long_org_apache_harmony_luni_platform_Endianness] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[14];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getInt___long] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[15];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getInt___long_org_apache_harmony_luni_platform_Endianness] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[16];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getLong___long] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[17];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getLong___long_org_apache_harmony_luni_platform_Endianness] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[18];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getPointerSize__] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[19];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getShort___long] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[20];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_getShort___long_org_apache_harmony_luni_platform_Endianness] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[21];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_isLittleEndian__] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[22];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_isLoaded___long_long] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[23];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_load___long_long] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[24];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_malloc___long] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[25];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_memmove___long_long_long] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[26];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_memset___long_byte_long] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[27];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_mmap___long_long_long_int] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[28];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setAddress___long_long] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[29];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setByteArray___long_byte_1ARRAY_int_int] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[30];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setByte___long_byte] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[31];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setDouble___long_double] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[32];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setDouble___long_double_org_apache_harmony_luni_platform_Endianness] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[33];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setFloat___long_float] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[34];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setFloat___long_float_org_apache_harmony_luni_platform_Endianness] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[35];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setInt___long_int] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[36];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setInt___long_int_org_apache_harmony_luni_platform_Endianness] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[37];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setLong___long_long] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[38];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setLong___long_long_org_apache_harmony_luni_platform_Endianness] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[39];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setShort___long_short] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[40];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_setShort___long_short_org_apache_harmony_luni_platform_Endianness] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[41];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_IMemorySystem_unmap___long_long] = __TIB_org_apache_harmony_luni_platform_OSMemory.vtable[42];
+
+ _STATIC_org_apache_harmony_luni_platform_OSMemory_POINTER_SIZE = 0;
+ _STATIC_org_apache_harmony_luni_platform_OSMemory_NATIVE_ORDER = (org_apache_harmony_luni_platform_Endianness*) JAVA_NULL;
+ _STATIC_org_apache_harmony_luni_platform_OSMemory_singleton = (org_apache_harmony_luni_platform_OSMemory*) JAVA_NULL;
+
+ __TIB_org_apache_harmony_luni_platform_OSMemory.declaredFields = &__field_reflection_data[0];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_org_apache_harmony_luni_platform_OSMemory.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_org_apache_harmony_luni_platform_OSMemory.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_apache_harmony_luni_platform_OSMemory.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_org_apache_harmony_luni_platform_OSMemory = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_apache_harmony_luni_platform_OSMemory);
+ __TIB_org_apache_harmony_luni_platform_OSMemory.clazz = __CLASS_org_apache_harmony_luni_platform_OSMemory;
+ __TIB_org_apache_harmony_luni_platform_OSMemory.baseType = JAVA_NULL;
+ __CLASS_org_apache_harmony_luni_platform_OSMemory_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_platform_OSMemory);
+ __CLASS_org_apache_harmony_luni_platform_OSMemory_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_platform_OSMemory_1ARRAY);
+ __CLASS_org_apache_harmony_luni_platform_OSMemory_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_platform_OSMemory_2ARRAY);
+ org_apache_harmony_luni_platform_OSMemory___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_org_apache_harmony_luni_platform_OSMemory]
+ //XMLVM_END_WRAPPER
+
+ __TIB_org_apache_harmony_luni_platform_OSMemory.classInitialized = 1;
+}
+
+void __DELETE_org_apache_harmony_luni_platform_OSMemory(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_org_apache_harmony_luni_platform_OSMemory]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_platform_OSMemory(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_platform_OSMemory]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_org_apache_harmony_luni_platform_OSMemory()
+{ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSMemory)
+org_apache_harmony_luni_platform_OSMemory* me = (org_apache_harmony_luni_platform_OSMemory*) XMLVM_MALLOC(sizeof(org_apache_harmony_luni_platform_OSMemory));
+ me->tib = &__TIB_org_apache_harmony_luni_platform_OSMemory;
+ __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_platform_OSMemory(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_org_apache_harmony_luni_platform_OSMemory]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_luni_platform_OSMemory()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSMemory_GET_POINTER_SIZE()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSMemory)
+ return _STATIC_org_apache_harmony_luni_platform_OSMemory_POINTER_SIZE;
+}
+
+void org_apache_harmony_luni_platform_OSMemory_PUT_POINTER_SIZE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSMemory)
+_STATIC_org_apache_harmony_luni_platform_OSMemory_POINTER_SIZE = v;
+}
+
+JAVA_OBJECT org_apache_harmony_luni_platform_OSMemory_GET_NATIVE_ORDER()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSMemory)
+ return _STATIC_org_apache_harmony_luni_platform_OSMemory_NATIVE_ORDER;
+}
+
+void org_apache_harmony_luni_platform_OSMemory_PUT_NATIVE_ORDER(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSMemory)
+_STATIC_org_apache_harmony_luni_platform_OSMemory_NATIVE_ORDER = v;
+}
+
+JAVA_OBJECT org_apache_harmony_luni_platform_OSMemory_GET_singleton()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSMemory)
+ return _STATIC_org_apache_harmony_luni_platform_OSMemory_singleton;
+}
+
+void org_apache_harmony_luni_platform_OSMemory_PUT_singleton(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSMemory)
+_STATIC_org_apache_harmony_luni_platform_OSMemory_singleton = v;
+}
+
+void org_apache_harmony_luni_platform_OSMemory___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSMemory___CLINIT___]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSMemory", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 56)
+ _r0.o = __NEW_org_apache_harmony_luni_platform_OSMemory();
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_luni_platform_OSMemory___INIT___(_r0.o);
+ org_apache_harmony_luni_platform_OSMemory_PUT_singleton( _r0.o);
+ XMLVM_SOURCE_POSITION("OSMemory.java", 59)
+ _r0.i = org_apache_harmony_luni_platform_OSMemory_getPointerSizeImpl__();
+ org_apache_harmony_luni_platform_OSMemory_PUT_POINTER_SIZE( _r0.i);
+ XMLVM_SOURCE_POSITION("OSMemory.java", 61)
+ _r0.i = org_apache_harmony_luni_platform_OSMemory_isLittleEndianImpl__();
+ if (_r0.i == 0) goto label24;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 62)
+ _r0.o = org_apache_harmony_luni_platform_Endianness_GET_LITTLE_ENDIAN();
+ org_apache_harmony_luni_platform_OSMemory_PUT_NATIVE_ORDER( _r0.o);
+ label23:;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 42)
+ XMLVM_EXIT_METHOD()
+ return;
+ label24:;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 64)
+ _r0.o = org_apache_harmony_luni_platform_Endianness_GET_BIG_ENDIAN();
+ org_apache_harmony_luni_platform_OSMemory_PUT_NATIVE_ORDER( _r0.o);
+ goto label23;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_platform_OSMemory_getOSMemory__()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSMemory)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSMemory_getOSMemory__]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSMemory", "getOSMemory", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 69)
+ _r0.o = org_apache_harmony_luni_platform_OSMemory_GET_singleton();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_BOOLEAN org_apache_harmony_luni_platform_OSMemory_isLittleEndianImpl__()]
+
+void org_apache_harmony_luni_platform_OSMemory___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSMemory___INIT___]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSMemory", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 87)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("OSMemory.java", 88)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN org_apache_harmony_luni_platform_OSMemory_isLittleEndian__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSMemory_isLittleEndian__]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSMemory", "isLittleEndian", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 97)
+ _r0.o = org_apache_harmony_luni_platform_OSMemory_GET_NATIVE_ORDER();
+ _r1.o = org_apache_harmony_luni_platform_Endianness_GET_LITTLE_ENDIAN();
+ if (_r0.o != _r1.o) goto label8;
+ _r0.i = 1;
+ label7:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label8:;
+ _r0.i = 0;
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_platform_OSMemory_getNativeOrder__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSMemory_getNativeOrder__]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSMemory", "getNativeOrder", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 106)
+ _r0.o = org_apache_harmony_luni_platform_OSMemory_GET_NATIVE_ORDER();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSMemory_getPointerSizeImpl__()]
+
+JAVA_INT org_apache_harmony_luni_platform_OSMemory_getPointerSize__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSMemory_getPointerSize__]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSMemory", "getPointerSize", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 117)
+ _r0.i = org_apache_harmony_luni_platform_OSMemory_GET_POINTER_SIZE();
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG org_apache_harmony_luni_platform_OSMemory_malloc___long(JAVA_OBJECT me, JAVA_LONG n1)]
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSMemory_free___long(JAVA_OBJECT me, JAVA_LONG n1)]
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSMemory_memset___long_byte_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_BYTE n2, JAVA_LONG n3)]
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSMemory_memmove___long_long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_LONG n3)]
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSMemory_getByteArray___long_byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4)]
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSMemory_setByteArray___long_byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4)]
+
+//XMLVM_NATIVE[JAVA_BYTE org_apache_harmony_luni_platform_OSMemory_getByte___long(JAVA_OBJECT me, JAVA_LONG n1)]
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSMemory_setByte___long_byte(JAVA_OBJECT me, JAVA_LONG n1, JAVA_BYTE n2)]
+
+//XMLVM_NATIVE[JAVA_SHORT org_apache_harmony_luni_platform_OSMemory_getShort___long(JAVA_OBJECT me, JAVA_LONG n1)]
+
+JAVA_SHORT org_apache_harmony_luni_platform_OSMemory_getShort___long_org_apache_harmony_luni_platform_Endianness(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSMemory_getShort___long_org_apache_harmony_luni_platform_Endianness]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSMemory", "getShort", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r1.o = me;
+ _r2.l = n1;
+ _r4.o = n2;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 291)
+ _r0.o = org_apache_harmony_luni_platform_OSMemory_GET_NATIVE_ORDER();
+ if (_r4.o != _r0.o) goto label9;
+ //org_apache_harmony_luni_platform_OSMemory_getShort___long[20]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_SHORT (*)(JAVA_OBJECT, JAVA_LONG)) ((org_apache_harmony_luni_platform_OSMemory*) _r1.o)->tib->vtable[20])(_r1.o, _r2.l);
+ label8:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label9:;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 292)
+ //org_apache_harmony_luni_platform_OSMemory_getShort___long[20]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_SHORT (*)(JAVA_OBJECT, JAVA_LONG)) ((org_apache_harmony_luni_platform_OSMemory*) _r1.o)->tib->vtable[20])(_r1.o, _r2.l);
+ XMLVM_CHECK_NPE(1)
+ _r0.i = org_apache_harmony_luni_platform_OSMemory_swap___short(_r1.o, _r0.i);
+ goto label8;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSMemory_setShort___long_short(JAVA_OBJECT me, JAVA_LONG n1, JAVA_SHORT n2)]
+
+void org_apache_harmony_luni_platform_OSMemory_setShort___long_short_org_apache_harmony_luni_platform_Endianness(JAVA_OBJECT me, JAVA_LONG n1, JAVA_SHORT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSMemory_setShort___long_short_org_apache_harmony_luni_platform_Endianness]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSMemory", "setShort", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r1.o = me;
+ _r2.l = n1;
+ _r4.i = n2;
+ _r5.o = n3;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 312)
+ _r0.o = org_apache_harmony_luni_platform_OSMemory_GET_NATIVE_ORDER();
+ if (_r5.o != _r0.o) goto label8;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 313)
+ //org_apache_harmony_luni_platform_OSMemory_setShort___long_short[40]
+ XMLVM_CHECK_NPE(1)
+ (*(void (*)(JAVA_OBJECT, JAVA_LONG, JAVA_SHORT)) ((org_apache_harmony_luni_platform_OSMemory*) _r1.o)->tib->vtable[40])(_r1.o, _r2.l, _r4.i);
+ label7:;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 317)
+ XMLVM_EXIT_METHOD()
+ return;
+ label8:;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 315)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = org_apache_harmony_luni_platform_OSMemory_swap___short(_r1.o, _r4.i);
+ //org_apache_harmony_luni_platform_OSMemory_setShort___long_short[40]
+ XMLVM_CHECK_NPE(1)
+ (*(void (*)(JAVA_OBJECT, JAVA_LONG, JAVA_SHORT)) ((org_apache_harmony_luni_platform_OSMemory*) _r1.o)->tib->vtable[40])(_r1.o, _r2.l, _r0.i);
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSMemory_getInt___long(JAVA_OBJECT me, JAVA_LONG n1)]
+
+JAVA_INT org_apache_harmony_luni_platform_OSMemory_getInt___long_org_apache_harmony_luni_platform_Endianness(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSMemory_getInt___long_org_apache_harmony_luni_platform_Endianness]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSMemory", "getInt", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r1.o = me;
+ _r2.l = n1;
+ _r4.o = n2;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 335)
+ _r0.o = org_apache_harmony_luni_platform_OSMemory_GET_NATIVE_ORDER();
+ if (_r4.o != _r0.o) goto label9;
+ //org_apache_harmony_luni_platform_OSMemory_getInt___long[15]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT, JAVA_LONG)) ((org_apache_harmony_luni_platform_OSMemory*) _r1.o)->tib->vtable[15])(_r1.o, _r2.l);
+ label8:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label9:;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 336)
+ //org_apache_harmony_luni_platform_OSMemory_getInt___long[15]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT, JAVA_LONG)) ((org_apache_harmony_luni_platform_OSMemory*) _r1.o)->tib->vtable[15])(_r1.o, _r2.l);
+ XMLVM_CHECK_NPE(1)
+ _r0.i = org_apache_harmony_luni_platform_OSMemory_swap___int(_r1.o, _r0.i);
+ goto label8;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSMemory_setInt___long_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_INT n2)]
+
+void org_apache_harmony_luni_platform_OSMemory_setInt___long_int_org_apache_harmony_luni_platform_Endianness(JAVA_OBJECT me, JAVA_LONG n1, JAVA_INT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSMemory_setInt___long_int_org_apache_harmony_luni_platform_Endianness]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSMemory", "setInt", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r1.o = me;
+ _r2.l = n1;
+ _r4.i = n2;
+ _r5.o = n3;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 356)
+ _r0.o = org_apache_harmony_luni_platform_OSMemory_GET_NATIVE_ORDER();
+ if (_r5.o != _r0.o) goto label8;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 357)
+ //org_apache_harmony_luni_platform_OSMemory_setInt___long_int[36]
+ XMLVM_CHECK_NPE(1)
+ (*(void (*)(JAVA_OBJECT, JAVA_LONG, JAVA_INT)) ((org_apache_harmony_luni_platform_OSMemory*) _r1.o)->tib->vtable[36])(_r1.o, _r2.l, _r4.i);
+ label7:;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 361)
+ XMLVM_EXIT_METHOD()
+ return;
+ label8:;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 359)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = org_apache_harmony_luni_platform_OSMemory_swap___int(_r1.o, _r4.i);
+ //org_apache_harmony_luni_platform_OSMemory_setInt___long_int[36]
+ XMLVM_CHECK_NPE(1)
+ (*(void (*)(JAVA_OBJECT, JAVA_LONG, JAVA_INT)) ((org_apache_harmony_luni_platform_OSMemory*) _r1.o)->tib->vtable[36])(_r1.o, _r2.l, _r0.i);
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG org_apache_harmony_luni_platform_OSMemory_getLong___long(JAVA_OBJECT me, JAVA_LONG n1)]
+
+JAVA_LONG org_apache_harmony_luni_platform_OSMemory_getLong___long_org_apache_harmony_luni_platform_Endianness(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSMemory_getLong___long_org_apache_harmony_luni_platform_Endianness]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSMemory", "getLong", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r2.o = me;
+ _r3.l = n1;
+ _r5.o = n2;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 379)
+ _r0.o = org_apache_harmony_luni_platform_OSMemory_GET_NATIVE_ORDER();
+ if (_r5.o != _r0.o) goto label9;
+ //org_apache_harmony_luni_platform_OSMemory_getLong___long[17]
+ XMLVM_CHECK_NPE(2)
+ _r0.l = (*(JAVA_LONG (*)(JAVA_OBJECT, JAVA_LONG)) ((org_apache_harmony_luni_platform_OSMemory*) _r2.o)->tib->vtable[17])(_r2.o, _r3.l);
+ label8:;
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ label9:;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 380)
+ //org_apache_harmony_luni_platform_OSMemory_getLong___long[17]
+ XMLVM_CHECK_NPE(2)
+ _r0.l = (*(JAVA_LONG (*)(JAVA_OBJECT, JAVA_LONG)) ((org_apache_harmony_luni_platform_OSMemory*) _r2.o)->tib->vtable[17])(_r2.o, _r3.l);
+ XMLVM_CHECK_NPE(2)
+ _r0.l = org_apache_harmony_luni_platform_OSMemory_swap___long(_r2.o, _r0.l);
+ goto label8;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSMemory_setLong___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2)]
+
+void org_apache_harmony_luni_platform_OSMemory_setLong___long_long_org_apache_harmony_luni_platform_Endianness(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSMemory_setLong___long_long_org_apache_harmony_luni_platform_Endianness]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSMemory", "setLong", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r2.o = me;
+ _r3.l = n1;
+ _r5.l = n2;
+ _r7.o = n3;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 401)
+ _r0.o = org_apache_harmony_luni_platform_OSMemory_GET_NATIVE_ORDER();
+ if (_r7.o != _r0.o) goto label8;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 402)
+ //org_apache_harmony_luni_platform_OSMemory_setLong___long_long[38]
+ XMLVM_CHECK_NPE(2)
+ (*(void (*)(JAVA_OBJECT, JAVA_LONG, JAVA_LONG)) ((org_apache_harmony_luni_platform_OSMemory*) _r2.o)->tib->vtable[38])(_r2.o, _r3.l, _r5.l);
+ label7:;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 406)
+ XMLVM_EXIT_METHOD()
+ return;
+ label8:;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 404)
+ XMLVM_CHECK_NPE(2)
+ _r0.l = org_apache_harmony_luni_platform_OSMemory_swap___long(_r2.o, _r5.l);
+ //org_apache_harmony_luni_platform_OSMemory_setLong___long_long[38]
+ XMLVM_CHECK_NPE(2)
+ (*(void (*)(JAVA_OBJECT, JAVA_LONG, JAVA_LONG)) ((org_apache_harmony_luni_platform_OSMemory*) _r2.o)->tib->vtable[38])(_r2.o, _r3.l, _r0.l);
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_FLOAT org_apache_harmony_luni_platform_OSMemory_getFloat___long(JAVA_OBJECT me, JAVA_LONG n1)]
+
+JAVA_FLOAT org_apache_harmony_luni_platform_OSMemory_getFloat___long_org_apache_harmony_luni_platform_Endianness(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSMemory_getFloat___long_org_apache_harmony_luni_platform_Endianness]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSMemory", "getFloat", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r1.o = me;
+ _r2.l = n1;
+ _r4.o = n2;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 424)
+ _r0.o = org_apache_harmony_luni_platform_OSMemory_GET_NATIVE_ORDER();
+ if (_r4.o != _r0.o) goto label9;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 425)
+ //org_apache_harmony_luni_platform_OSMemory_getFloat___long[13]
+ XMLVM_CHECK_NPE(1)
+ _r0.f = (*(JAVA_FLOAT (*)(JAVA_OBJECT, JAVA_LONG)) ((org_apache_harmony_luni_platform_OSMemory*) _r1.o)->tib->vtable[13])(_r1.o, _r2.l);
+ label8:;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 428)
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ label9:;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 427)
+ //org_apache_harmony_luni_platform_OSMemory_getInt___long[15]
+ XMLVM_CHECK_NPE(1)
+ _r0.i = (*(JAVA_INT (*)(JAVA_OBJECT, JAVA_LONG)) ((org_apache_harmony_luni_platform_OSMemory*) _r1.o)->tib->vtable[15])(_r1.o, _r2.l);
+ XMLVM_CHECK_NPE(1)
+ _r0.i = org_apache_harmony_luni_platform_OSMemory_swap___int(_r1.o, _r0.i);
+ _r0.f = java_lang_Float_intBitsToFloat___int(_r0.i);
+ goto label8;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSMemory_setFloat___long_float(JAVA_OBJECT me, JAVA_LONG n1, JAVA_FLOAT n2)]
+
+void org_apache_harmony_luni_platform_OSMemory_setFloat___long_float_org_apache_harmony_luni_platform_Endianness(JAVA_OBJECT me, JAVA_LONG n1, JAVA_FLOAT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSMemory_setFloat___long_float_org_apache_harmony_luni_platform_Endianness]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSMemory", "setFloat", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r1.o = me;
+ _r2.l = n1;
+ _r4.f = n2;
+ _r5.o = n3;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 448)
+ _r0.o = org_apache_harmony_luni_platform_OSMemory_GET_NATIVE_ORDER();
+ if (_r5.o != _r0.o) goto label8;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 449)
+ //org_apache_harmony_luni_platform_OSMemory_setFloat___long_float[34]
+ XMLVM_CHECK_NPE(1)
+ (*(void (*)(JAVA_OBJECT, JAVA_LONG, JAVA_FLOAT)) ((org_apache_harmony_luni_platform_OSMemory*) _r1.o)->tib->vtable[34])(_r1.o, _r2.l, _r4.f);
+ label7:;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 454)
+ XMLVM_EXIT_METHOD()
+ return;
+ label8:;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 451)
+ _r0.i = java_lang_Float_floatToIntBits___float(_r4.f);
+ XMLVM_SOURCE_POSITION("OSMemory.java", 452)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = org_apache_harmony_luni_platform_OSMemory_swap___int(_r1.o, _r0.i);
+ //org_apache_harmony_luni_platform_OSMemory_setInt___long_int[36]
+ XMLVM_CHECK_NPE(1)
+ (*(void (*)(JAVA_OBJECT, JAVA_LONG, JAVA_INT)) ((org_apache_harmony_luni_platform_OSMemory*) _r1.o)->tib->vtable[36])(_r1.o, _r2.l, _r0.i);
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_DOUBLE org_apache_harmony_luni_platform_OSMemory_getDouble___long(JAVA_OBJECT me, JAVA_LONG n1)]
+
+JAVA_DOUBLE org_apache_harmony_luni_platform_OSMemory_getDouble___long_org_apache_harmony_luni_platform_Endianness(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSMemory_getDouble___long_org_apache_harmony_luni_platform_Endianness]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSMemory", "getDouble", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r2.o = me;
+ _r3.l = n1;
+ _r5.o = n2;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 472)
+ _r0.o = org_apache_harmony_luni_platform_OSMemory_GET_NATIVE_ORDER();
+ if (_r5.o != _r0.o) goto label9;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 473)
+ //org_apache_harmony_luni_platform_OSMemory_getDouble___long[11]
+ XMLVM_CHECK_NPE(2)
+ _r0.d = (*(JAVA_DOUBLE (*)(JAVA_OBJECT, JAVA_LONG)) ((org_apache_harmony_luni_platform_OSMemory*) _r2.o)->tib->vtable[11])(_r2.o, _r3.l);
+ label8:;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 476)
+ XMLVM_EXIT_METHOD()
+ return _r0.d;
+ label9:;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 475)
+ //org_apache_harmony_luni_platform_OSMemory_getLong___long[17]
+ XMLVM_CHECK_NPE(2)
+ _r0.l = (*(JAVA_LONG (*)(JAVA_OBJECT, JAVA_LONG)) ((org_apache_harmony_luni_platform_OSMemory*) _r2.o)->tib->vtable[17])(_r2.o, _r3.l);
+ XMLVM_CHECK_NPE(2)
+ _r0.l = org_apache_harmony_luni_platform_OSMemory_swap___long(_r2.o, _r0.l);
+ _r0.d = java_lang_Double_longBitsToDouble___long(_r0.l);
+ goto label8;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSMemory_setDouble___long_double(JAVA_OBJECT me, JAVA_LONG n1, JAVA_DOUBLE n2)]
+
+void org_apache_harmony_luni_platform_OSMemory_setDouble___long_double_org_apache_harmony_luni_platform_Endianness(JAVA_OBJECT me, JAVA_LONG n1, JAVA_DOUBLE n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSMemory_setDouble___long_double_org_apache_harmony_luni_platform_Endianness]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSMemory", "setDouble", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r2.o = me;
+ _r3.l = n1;
+ _r5.d = n2;
+ _r7.o = n3;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 497)
+ _r0.o = org_apache_harmony_luni_platform_OSMemory_GET_NATIVE_ORDER();
+ if (_r7.o != _r0.o) goto label8;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 498)
+ //org_apache_harmony_luni_platform_OSMemory_setDouble___long_double[32]
+ XMLVM_CHECK_NPE(2)
+ (*(void (*)(JAVA_OBJECT, JAVA_LONG, JAVA_DOUBLE)) ((org_apache_harmony_luni_platform_OSMemory*) _r2.o)->tib->vtable[32])(_r2.o, _r3.l, _r5.d);
+ label7:;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 503)
+ XMLVM_EXIT_METHOD()
+ return;
+ label8:;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 500)
+ _r0.l = java_lang_Double_doubleToLongBits___double(_r5.d);
+ XMLVM_SOURCE_POSITION("OSMemory.java", 501)
+ XMLVM_CHECK_NPE(2)
+ _r0.l = org_apache_harmony_luni_platform_OSMemory_swap___long(_r2.o, _r0.l);
+ //org_apache_harmony_luni_platform_OSMemory_setLong___long_long[38]
+ XMLVM_CHECK_NPE(2)
+ (*(void (*)(JAVA_OBJECT, JAVA_LONG, JAVA_LONG)) ((org_apache_harmony_luni_platform_OSMemory*) _r2.o)->tib->vtable[38])(_r2.o, _r3.l, _r0.l);
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_LONG org_apache_harmony_luni_platform_OSMemory_getAddress___long(JAVA_OBJECT me, JAVA_LONG n1)]
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSMemory_setAddress___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2)]
+
+//XMLVM_NATIVE[JAVA_LONG org_apache_harmony_luni_platform_OSMemory_mmapImpl___long_long_long_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_LONG n3, JAVA_INT n4)]
+
+JAVA_LONG org_apache_harmony_luni_platform_OSMemory_mmap___long_long_long_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_LONG n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSMemory_mmap___long_long_long_int]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSMemory", "mmap", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r2.o = me;
+ _r3.l = n1;
+ _r5.l = n2;
+ _r7.l = n3;
+ _r9.i = n4;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 550)
+ XMLVM_CHECK_NPE(2)
+ _r0.l = org_apache_harmony_luni_platform_OSMemory_mmapImpl___long_long_long_int(_r2.o, _r3.l, _r5.l, _r7.l, _r9.i);
+ XMLVM_SOURCE_POSITION("OSMemory.java", 551)
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSMemory_unmapImpl___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2)]
+
+void org_apache_harmony_luni_platform_OSMemory_unmap___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSMemory_unmap___long_long]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSMemory", "unmap", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r0.o = me;
+ _r1.l = n1;
+ _r3.l = n2;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 557)
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_luni_platform_OSMemory_unmapImpl___long_long(_r0.o, _r1.l, _r3.l);
+ XMLVM_SOURCE_POSITION("OSMemory.java", 558)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void org_apache_harmony_luni_platform_OSMemory_load___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSMemory_load___long_long]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSMemory", "load", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r0.o = me;
+ _r1.l = n1;
+ _r3.l = n2;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 561)
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_luni_platform_OSMemory_loadImpl___long_long(_r0.o, _r1.l, _r3.l);
+ XMLVM_SOURCE_POSITION("OSMemory.java", 562)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSMemory_loadImpl___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2)]
+
+JAVA_BOOLEAN org_apache_harmony_luni_platform_OSMemory_isLoaded___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSMemory_isLoaded___long_long]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSMemory", "isLoaded", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r2.o = me;
+ _r3.l = n1;
+ _r5.l = n2;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 567)
+ _r0.l = 0;
+ _r0.i = _r5.l > _r0.l ? 1 : (_r5.l == _r0.l ? 0 : -1);
+ if (_r0.i != 0) goto label8;
+ _r0.i = 1;
+ label7:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label8:;
+ XMLVM_CHECK_NPE(2)
+ _r0.i = org_apache_harmony_luni_platform_OSMemory_isLoadedImpl___long_long(_r2.o, _r3.l, _r5.l);
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_BOOLEAN org_apache_harmony_luni_platform_OSMemory_isLoadedImpl___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2)]
+
+void org_apache_harmony_luni_platform_OSMemory_flush___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSMemory_flush___long_long]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSMemory", "flush", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r0.o = me;
+ _r1.l = n1;
+ _r3.l = n2;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 573)
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_luni_platform_OSMemory_flushImpl___long_long(_r0.o, _r1.l, _r3.l);
+ XMLVM_SOURCE_POSITION("OSMemory.java", 574)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSMemory_flushImpl___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2)]
+
+JAVA_SHORT org_apache_harmony_luni_platform_OSMemory_swap___short(JAVA_OBJECT me, JAVA_SHORT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSMemory_swap___short]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSMemory", "swap", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.i = n1;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 582)
+ _r0.i = _r3.i << 8;
+ _r1.i = _r3.i >> 8;
+ _r1.i = _r1.i & 255;
+ _r0.i = _r0.i | _r1.i;
+ _r0.i = (_r0.i << 16) >> 16;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 584)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSMemory_swap___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSMemory_swap___int]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSMemory", "swap", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r3.o = me;
+ _r4.i = n1;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 588)
+ _r0.i = _r4.i >> 16;
+ _r0.i = (_r0.i << 16) >> 16;
+ _r1.i = (_r4.i << 16) >> 16;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 590)
+ XMLVM_CHECK_NPE(3)
+ _r1.i = org_apache_harmony_luni_platform_OSMemory_swap___short(_r3.o, _r1.i);
+ _r1.i = _r1.i << 16;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 591)
+ XMLVM_CHECK_NPE(3)
+ _r0.i = org_apache_harmony_luni_platform_OSMemory_swap___short(_r3.o, _r0.i);
+ _r2.i = 65535;
+ _r0.i = _r0.i & _r2.i;
+ _r0.i = _r0.i | _r1.i;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 592)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG org_apache_harmony_luni_platform_OSMemory_swap___long(JAVA_OBJECT me, JAVA_LONG n1)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSMemory_swap___long]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSMemory", "swap", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r7.o = me;
+ _r8.l = n1;
+ _r3.i = 32;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 596)
+ _r0.l = _r8.l >> (0x3f & _r3.l);
+ _r0.i = (JAVA_INT) _r0.l;
+ _r1.i = (JAVA_INT) _r8.l;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 598)
+ XMLVM_CHECK_NPE(7)
+ _r1.i = org_apache_harmony_luni_platform_OSMemory_swap___int(_r7.o, _r1.i);
+ _r1.l = (JAVA_LONG) _r1.i;
+ _r1.l = _r1.l << (0x3f & _r3.l);
+ XMLVM_SOURCE_POSITION("OSMemory.java", 599)
+ XMLVM_CHECK_NPE(7)
+ _r0.i = org_apache_harmony_luni_platform_OSMemory_swap___int(_r7.o, _r0.i);
+ _r3.l = (JAVA_LONG) _r0.i;
+ _r5.l = 4294967295;
+ _r3.l = _r3.l & _r5.l;
+ _r0.l = _r1.l | _r3.l;
+ XMLVM_SOURCE_POSITION("OSMemory.java", 600)
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/org_apache_harmony_luni_platform_OSMemory.h b/tests/nbody-java/org_apache_harmony_luni_platform_OSMemory.h
new file mode 100644
index 00000000..9dc56cf7
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_luni_platform_OSMemory.h
@@ -0,0 +1,195 @@
+#ifndef __ORG_APACHE_HARMONY_LUNI_PLATFORM_OSMEMORY__
+#define __ORG_APACHE_HARMONY_LUNI_PLATFORM_OSMEMORY__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_org_apache_harmony_luni_platform_OSMemory 37
+// Implemented interfaces:
+#include "org_apache_harmony_luni_platform_IMemorySystem.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Double
+#define XMLVM_FORWARD_DECL_java_lang_Double
+XMLVM_FORWARD_DECL(java_lang_Double)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Float
+#define XMLVM_FORWARD_DECL_java_lang_Float
+XMLVM_FORWARD_DECL(java_lang_Float)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_Endianness
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_Endianness
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_platform_Endianness)
+#endif
+// Class declarations for org.apache.harmony.luni.platform.OSMemory
+XMLVM_DEFINE_CLASS(org_apache_harmony_luni_platform_OSMemory, 43, XMLVM_ITABLE_SIZE_org_apache_harmony_luni_platform_OSMemory)
+
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_OSMemory;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_OSMemory_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_OSMemory_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_OSMemory_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_luni_platform_OSMemory
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_org_apache_harmony_luni_platform_OSMemory \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_luni_platform_OSMemory \
+ } org_apache_harmony_luni_platform_OSMemory
+
+struct org_apache_harmony_luni_platform_OSMemory {
+ __TIB_DEFINITION_org_apache_harmony_luni_platform_OSMemory* tib;
+ struct {
+ __INSTANCE_FIELDS_org_apache_harmony_luni_platform_OSMemory;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_OSMemory
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_OSMemory
+typedef struct org_apache_harmony_luni_platform_OSMemory org_apache_harmony_luni_platform_OSMemory;
+#endif
+
+#define XMLVM_VTABLE_SIZE_org_apache_harmony_luni_platform_OSMemory 43
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_isLittleEndian__ 22
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getPointerSize__ 19
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_malloc___long 25
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_free___long 7
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_memset___long_byte_long 27
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_memmove___long_long_long 26
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getByteArray___long_byte_1ARRAY_int_int 9
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setByteArray___long_byte_1ARRAY_int_int 30
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getByte___long 10
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setByte___long_byte 31
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getShort___long 20
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getShort___long_org_apache_harmony_luni_platform_Endianness 21
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setShort___long_short 40
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setShort___long_short_org_apache_harmony_luni_platform_Endianness 41
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getInt___long 15
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getInt___long_org_apache_harmony_luni_platform_Endianness 16
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setInt___long_int 36
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setInt___long_int_org_apache_harmony_luni_platform_Endianness 37
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getLong___long 17
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getLong___long_org_apache_harmony_luni_platform_Endianness 18
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setLong___long_long 38
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setLong___long_long_org_apache_harmony_luni_platform_Endianness 39
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getFloat___long 13
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getFloat___long_org_apache_harmony_luni_platform_Endianness 14
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setFloat___long_float 34
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setFloat___long_float_org_apache_harmony_luni_platform_Endianness 35
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getDouble___long 11
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getDouble___long_org_apache_harmony_luni_platform_Endianness 12
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setDouble___long_double 32
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setDouble___long_double_org_apache_harmony_luni_platform_Endianness 33
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_getAddress___long 8
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_setAddress___long_long 29
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_mmap___long_long_long_int 28
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_unmap___long_long 42
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_load___long_long 24
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_isLoaded___long_long 23
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSMemory_flush___long_long 6
+
+void __INIT_org_apache_harmony_luni_platform_OSMemory();
+void __INIT_IMPL_org_apache_harmony_luni_platform_OSMemory();
+void __DELETE_org_apache_harmony_luni_platform_OSMemory(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_platform_OSMemory(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_org_apache_harmony_luni_platform_OSMemory();
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_luni_platform_OSMemory();
+void xmlvm_init_native_org_apache_harmony_luni_platform_OSMemory();
+JAVA_INT org_apache_harmony_luni_platform_OSMemory_GET_POINTER_SIZE();
+void org_apache_harmony_luni_platform_OSMemory_PUT_POINTER_SIZE(JAVA_INT v);
+JAVA_OBJECT org_apache_harmony_luni_platform_OSMemory_GET_NATIVE_ORDER();
+void org_apache_harmony_luni_platform_OSMemory_PUT_NATIVE_ORDER(JAVA_OBJECT v);
+JAVA_OBJECT org_apache_harmony_luni_platform_OSMemory_GET_singleton();
+void org_apache_harmony_luni_platform_OSMemory_PUT_singleton(JAVA_OBJECT v);
+void org_apache_harmony_luni_platform_OSMemory___CLINIT_();
+JAVA_OBJECT org_apache_harmony_luni_platform_OSMemory_getOSMemory__();
+JAVA_BOOLEAN org_apache_harmony_luni_platform_OSMemory_isLittleEndianImpl__();
+void org_apache_harmony_luni_platform_OSMemory___INIT___(JAVA_OBJECT me);
+// Vtable index: 22
+JAVA_BOOLEAN org_apache_harmony_luni_platform_OSMemory_isLittleEndian__(JAVA_OBJECT me);
+JAVA_OBJECT org_apache_harmony_luni_platform_OSMemory_getNativeOrder__(JAVA_OBJECT me);
+JAVA_INT org_apache_harmony_luni_platform_OSMemory_getPointerSizeImpl__();
+// Vtable index: 19
+JAVA_INT org_apache_harmony_luni_platform_OSMemory_getPointerSize__(JAVA_OBJECT me);
+// Vtable index: 25
+JAVA_LONG org_apache_harmony_luni_platform_OSMemory_malloc___long(JAVA_OBJECT me, JAVA_LONG n1);
+// Vtable index: 7
+void org_apache_harmony_luni_platform_OSMemory_free___long(JAVA_OBJECT me, JAVA_LONG n1);
+// Vtable index: 27
+void org_apache_harmony_luni_platform_OSMemory_memset___long_byte_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_BYTE n2, JAVA_LONG n3);
+// Vtable index: 26
+void org_apache_harmony_luni_platform_OSMemory_memmove___long_long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_LONG n3);
+// Vtable index: 9
+void org_apache_harmony_luni_platform_OSMemory_getByteArray___long_byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4);
+// Vtable index: 30
+void org_apache_harmony_luni_platform_OSMemory_setByteArray___long_byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4);
+// Vtable index: 10
+JAVA_BYTE org_apache_harmony_luni_platform_OSMemory_getByte___long(JAVA_OBJECT me, JAVA_LONG n1);
+// Vtable index: 31
+void org_apache_harmony_luni_platform_OSMemory_setByte___long_byte(JAVA_OBJECT me, JAVA_LONG n1, JAVA_BYTE n2);
+// Vtable index: 20
+JAVA_SHORT org_apache_harmony_luni_platform_OSMemory_getShort___long(JAVA_OBJECT me, JAVA_LONG n1);
+// Vtable index: 21
+JAVA_SHORT org_apache_harmony_luni_platform_OSMemory_getShort___long_org_apache_harmony_luni_platform_Endianness(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2);
+// Vtable index: 40
+void org_apache_harmony_luni_platform_OSMemory_setShort___long_short(JAVA_OBJECT me, JAVA_LONG n1, JAVA_SHORT n2);
+// Vtable index: 41
+void org_apache_harmony_luni_platform_OSMemory_setShort___long_short_org_apache_harmony_luni_platform_Endianness(JAVA_OBJECT me, JAVA_LONG n1, JAVA_SHORT n2, JAVA_OBJECT n3);
+// Vtable index: 15
+JAVA_INT org_apache_harmony_luni_platform_OSMemory_getInt___long(JAVA_OBJECT me, JAVA_LONG n1);
+// Vtable index: 16
+JAVA_INT org_apache_harmony_luni_platform_OSMemory_getInt___long_org_apache_harmony_luni_platform_Endianness(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2);
+// Vtable index: 36
+void org_apache_harmony_luni_platform_OSMemory_setInt___long_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_INT n2);
+// Vtable index: 37
+void org_apache_harmony_luni_platform_OSMemory_setInt___long_int_org_apache_harmony_luni_platform_Endianness(JAVA_OBJECT me, JAVA_LONG n1, JAVA_INT n2, JAVA_OBJECT n3);
+// Vtable index: 17
+JAVA_LONG org_apache_harmony_luni_platform_OSMemory_getLong___long(JAVA_OBJECT me, JAVA_LONG n1);
+// Vtable index: 18
+JAVA_LONG org_apache_harmony_luni_platform_OSMemory_getLong___long_org_apache_harmony_luni_platform_Endianness(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2);
+// Vtable index: 38
+void org_apache_harmony_luni_platform_OSMemory_setLong___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2);
+// Vtable index: 39
+void org_apache_harmony_luni_platform_OSMemory_setLong___long_long_org_apache_harmony_luni_platform_Endianness(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_OBJECT n3);
+// Vtable index: 13
+JAVA_FLOAT org_apache_harmony_luni_platform_OSMemory_getFloat___long(JAVA_OBJECT me, JAVA_LONG n1);
+// Vtable index: 14
+JAVA_FLOAT org_apache_harmony_luni_platform_OSMemory_getFloat___long_org_apache_harmony_luni_platform_Endianness(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2);
+// Vtable index: 34
+void org_apache_harmony_luni_platform_OSMemory_setFloat___long_float(JAVA_OBJECT me, JAVA_LONG n1, JAVA_FLOAT n2);
+// Vtable index: 35
+void org_apache_harmony_luni_platform_OSMemory_setFloat___long_float_org_apache_harmony_luni_platform_Endianness(JAVA_OBJECT me, JAVA_LONG n1, JAVA_FLOAT n2, JAVA_OBJECT n3);
+// Vtable index: 11
+JAVA_DOUBLE org_apache_harmony_luni_platform_OSMemory_getDouble___long(JAVA_OBJECT me, JAVA_LONG n1);
+// Vtable index: 12
+JAVA_DOUBLE org_apache_harmony_luni_platform_OSMemory_getDouble___long_org_apache_harmony_luni_platform_Endianness(JAVA_OBJECT me, JAVA_LONG n1, JAVA_OBJECT n2);
+// Vtable index: 32
+void org_apache_harmony_luni_platform_OSMemory_setDouble___long_double(JAVA_OBJECT me, JAVA_LONG n1, JAVA_DOUBLE n2);
+// Vtable index: 33
+void org_apache_harmony_luni_platform_OSMemory_setDouble___long_double_org_apache_harmony_luni_platform_Endianness(JAVA_OBJECT me, JAVA_LONG n1, JAVA_DOUBLE n2, JAVA_OBJECT n3);
+// Vtable index: 8
+JAVA_LONG org_apache_harmony_luni_platform_OSMemory_getAddress___long(JAVA_OBJECT me, JAVA_LONG n1);
+// Vtable index: 29
+void org_apache_harmony_luni_platform_OSMemory_setAddress___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2);
+JAVA_LONG org_apache_harmony_luni_platform_OSMemory_mmapImpl___long_long_long_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_LONG n3, JAVA_INT n4);
+// Vtable index: 28
+JAVA_LONG org_apache_harmony_luni_platform_OSMemory_mmap___long_long_long_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2, JAVA_LONG n3, JAVA_INT n4);
+void org_apache_harmony_luni_platform_OSMemory_unmapImpl___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2);
+// Vtable index: 42
+void org_apache_harmony_luni_platform_OSMemory_unmap___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2);
+// Vtable index: 24
+void org_apache_harmony_luni_platform_OSMemory_load___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2);
+JAVA_INT org_apache_harmony_luni_platform_OSMemory_loadImpl___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2);
+// Vtable index: 23
+JAVA_BOOLEAN org_apache_harmony_luni_platform_OSMemory_isLoaded___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2);
+JAVA_BOOLEAN org_apache_harmony_luni_platform_OSMemory_isLoadedImpl___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2);
+// Vtable index: 6
+void org_apache_harmony_luni_platform_OSMemory_flush___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2);
+JAVA_INT org_apache_harmony_luni_platform_OSMemory_flushImpl___long_long(JAVA_OBJECT me, JAVA_LONG n1, JAVA_LONG n2);
+JAVA_SHORT org_apache_harmony_luni_platform_OSMemory_swap___short(JAVA_OBJECT me, JAVA_SHORT n1);
+JAVA_INT org_apache_harmony_luni_platform_OSMemory_swap___int(JAVA_OBJECT me, JAVA_INT n1);
+JAVA_LONG org_apache_harmony_luni_platform_OSMemory_swap___long(JAVA_OBJECT me, JAVA_LONG n1);
+
+#endif
diff --git a/tests/nbody-java/org_apache_harmony_luni_platform_OSNetworkSystem.c b/tests/nbody-java/org_apache_harmony_luni_platform_OSNetworkSystem.c
new file mode 100644
index 00000000..0df1f523
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_luni_platform_OSNetworkSystem.c
@@ -0,0 +1,769 @@
+#include "xmlvm.h"
+#include "java_io_FileDescriptor.h"
+#include "java_lang_Class.h"
+#include "java_lang_Long.h"
+#include "java_lang_String.h"
+#include "java_net_InetAddress.h"
+#include "java_net_SocketException.h"
+
+#include "org_apache_harmony_luni_platform_OSNetworkSystem.h"
+
+#define XMLVM_CURRENT_CLASS_NAME OSNetworkSystem
+#define XMLVM_CURRENT_PKG_CLASS_NAME org_apache_harmony_luni_platform_OSNetworkSystem
+
+__TIB_DEFINITION_org_apache_harmony_luni_platform_OSNetworkSystem __TIB_org_apache_harmony_luni_platform_OSNetworkSystem = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_apache_harmony_luni_platform_OSNetworkSystem, // classInitializer
+ "org.apache.harmony.luni.platform.OSNetworkSystem", // className
+ "org.apache.harmony.luni.platform", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(org_apache_harmony_luni_platform_OSNetworkSystem), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_OSNetworkSystem;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_OSNetworkSystem_1ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_OSNetworkSystem_2ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_OSNetworkSystem_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_INT _STATIC_org_apache_harmony_luni_platform_OSNetworkSystem_ERRORCODE_SOCKET_TIMEOUT;
+static JAVA_INT _STATIC_org_apache_harmony_luni_platform_OSNetworkSystem_ERRORCODE_SOCKET_INTERRUPTED;
+static JAVA_INT _STATIC_org_apache_harmony_luni_platform_OSNetworkSystem_INETADDR_REACHABLE;
+static JAVA_BOOLEAN _STATIC_org_apache_harmony_luni_platform_OSNetworkSystem_isNetworkInited;
+static JAVA_OBJECT _STATIC_org_apache_harmony_luni_platform_OSNetworkSystem_singleton;
+static JAVA_BOOLEAN _STATIC_org_apache_harmony_luni_platform_OSNetworkSystem__assertionsDisabled;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_org_apache_harmony_luni_platform_OSNetworkSystem()
+{
+ staticInitializerLock(&__TIB_org_apache_harmony_luni_platform_OSNetworkSystem);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_apache_harmony_luni_platform_OSNetworkSystem);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_apache_harmony_luni_platform_OSNetworkSystem.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_apache_harmony_luni_platform_OSNetworkSystem.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.apache.harmony.luni.platform.OSNetworkSystem")
+ __INIT_IMPL_org_apache_harmony_luni_platform_OSNetworkSystem();
+ }
+}
+
+void __INIT_IMPL_org_apache_harmony_luni_platform_OSNetworkSystem()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.newInstanceFunc = __NEW_INSTANCE_org_apache_harmony_luni_platform_OSNetworkSystem;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[7] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[6] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[8] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[9] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[13] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[10] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[11] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[12] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[14] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[15] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[16] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[17] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[18] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[19] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[20] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[21] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[22] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[23] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[24] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[25] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSNetworkSystem_isReachableByICMP___java_net_InetAddress_java_net_InetAddress_int_int;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[26] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[27] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSNetworkSystem_oneTimeInitialization___boolean;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[28] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[30] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[29] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[32] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[31] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[33] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[35] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[34] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[36] = (VTABLE_PTR) &org_apache_harmony_luni_platform_OSNetworkSystem_select___java_io_FileDescriptor_1ARRAY_java_io_FileDescriptor_1ARRAY_int_int_long_int_1ARRAY;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[38] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[37] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[41] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[39] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[40] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[42] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[43] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[44] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[45] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[46] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[47] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[48] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[49] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[51] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[50] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[52] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ xmlvm_init_native_org_apache_harmony_luni_platform_OSNetworkSystem();
+ // Initialize interface information
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.numImplementedInterfaces = 1;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_INetworkSystem)
+
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.implementedInterfaces[0][0] = &__TIB_org_apache_harmony_luni_platform_INetworkSystem;
+ // Initialize itable for this class
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itableBegin = &__TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[0];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_acceptStreamSocket___java_io_FileDescriptor_java_net_SocketImpl_java_io_FileDescriptor_int] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[6];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_accept___java_io_FileDescriptor_java_net_SocketImpl_java_io_FileDescriptor_int] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[7];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_availableStream___java_io_FileDescriptor] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[8];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_bind___java_io_FileDescriptor_java_net_InetAddress_int] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[9];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_connectDatagram___java_io_FileDescriptor_int_int_java_net_InetAddress] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[10];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_connectStreamWithTimeoutSocket___java_io_FileDescriptor_int_int_int_java_net_InetAddress] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[11];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_connectWithTimeout___java_io_FileDescriptor_int_int_java_net_InetAddress_int_int_java_lang_Long] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[12];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_connect___java_io_FileDescriptor_int_java_net_InetAddress_int] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[13];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_createDatagramSocket___java_io_FileDescriptor_boolean] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[14];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_createServerStreamSocket___java_io_FileDescriptor_boolean] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[15];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_createStreamSocket___java_io_FileDescriptor_boolean] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[16];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_disconnectDatagram___java_io_FileDescriptor] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[17];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_getHostByAddr___byte_1ARRAY] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[18];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_getHostByName___java_lang_String_boolean] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[19];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_getSocketFlags__] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[20];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_getSocketLocalAddress___java_io_FileDescriptor_boolean] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[21];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_getSocketLocalPort___java_io_FileDescriptor_boolean] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[22];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_getSocketOption___java_io_FileDescriptor_int] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[23];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_inheritedChannel__] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[24];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_isReachableByICMP___java_net_InetAddress_java_net_InetAddress_int_int] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[25];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_listenStreamSocket___java_io_FileDescriptor_int] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[26];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_oneTimeInitialization___boolean] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[27];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_peekDatagram___java_io_FileDescriptor_java_net_InetAddress_int] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[28];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_readDirect___java_io_FileDescriptor_long_int_int] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[29];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_read___java_io_FileDescriptor_byte_1ARRAY_int_int_int] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[30];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_receiveDatagramDirect___java_io_FileDescriptor_java_net_DatagramPacket_long_int_int_int_boolean] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[31];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_receiveDatagram___java_io_FileDescriptor_java_net_DatagramPacket_byte_1ARRAY_int_int_int_boolean] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[32];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_receiveStream___java_io_FileDescriptor_byte_1ARRAY_int_int_int] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[33];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_recvConnectedDatagramDirect___java_io_FileDescriptor_java_net_DatagramPacket_long_int_int_int_boolean] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[34];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_recvConnectedDatagram___java_io_FileDescriptor_java_net_DatagramPacket_byte_1ARRAY_int_int_int_boolean] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[35];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_select___java_io_FileDescriptor_1ARRAY_java_io_FileDescriptor_1ARRAY_int_int_long_int_1ARRAY] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[36];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_sendConnectedDatagramDirect___java_io_FileDescriptor_long_int_int_boolean] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[37];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_sendConnectedDatagram___java_io_FileDescriptor_byte_1ARRAY_int_int_boolean] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[38];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_sendDatagram2___java_io_FileDescriptor_byte_1ARRAY_int_int_int_java_net_InetAddress] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[39];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_sendDatagramDirect___java_io_FileDescriptor_long_int_int_int_boolean_int_java_net_InetAddress] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[40];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_sendDatagram___java_io_FileDescriptor_byte_1ARRAY_int_int_int_boolean_int_java_net_InetAddress] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[41];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_sendUrgentData___java_io_FileDescriptor_byte] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[42];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_setInetAddress___java_net_InetAddress_byte_1ARRAY] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[43];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_setNonBlocking___java_io_FileDescriptor_boolean] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[44];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_setSocketOption___java_io_FileDescriptor_int_java_lang_Object] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[45];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_shutdownInput___java_io_FileDescriptor] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[46];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_shutdownOutput___java_io_FileDescriptor] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[47];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_socketClose___java_io_FileDescriptor] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[48];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_supportsUrgentData___java_io_FileDescriptor] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[49];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_writeDirect___java_io_FileDescriptor_long_int] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[50];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_write___java_io_FileDescriptor_byte_1ARRAY_int_int] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[51];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.itable[XMLVM_ITABLE_IDX_org_apache_harmony_luni_platform_INetworkSystem_writev___java_io_FileDescriptor_java_lang_Object_1ARRAY_int_1ARRAY_int_1ARRAY_int] = __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.vtable[52];
+
+ _STATIC_org_apache_harmony_luni_platform_OSNetworkSystem_ERRORCODE_SOCKET_TIMEOUT = -209;
+ _STATIC_org_apache_harmony_luni_platform_OSNetworkSystem_ERRORCODE_SOCKET_INTERRUPTED = -208;
+ _STATIC_org_apache_harmony_luni_platform_OSNetworkSystem_INETADDR_REACHABLE = 0;
+ _STATIC_org_apache_harmony_luni_platform_OSNetworkSystem_isNetworkInited = 0;
+ _STATIC_org_apache_harmony_luni_platform_OSNetworkSystem_singleton = (org_apache_harmony_luni_platform_OSNetworkSystem*) JAVA_NULL;
+ _STATIC_org_apache_harmony_luni_platform_OSNetworkSystem__assertionsDisabled = 0;
+
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.declaredFields = &__field_reflection_data[0];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_org_apache_harmony_luni_platform_OSNetworkSystem = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_apache_harmony_luni_platform_OSNetworkSystem);
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.clazz = __CLASS_org_apache_harmony_luni_platform_OSNetworkSystem;
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.baseType = JAVA_NULL;
+ __CLASS_org_apache_harmony_luni_platform_OSNetworkSystem_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_platform_OSNetworkSystem);
+ __CLASS_org_apache_harmony_luni_platform_OSNetworkSystem_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_platform_OSNetworkSystem_1ARRAY);
+ __CLASS_org_apache_harmony_luni_platform_OSNetworkSystem_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_platform_OSNetworkSystem_2ARRAY);
+ org_apache_harmony_luni_platform_OSNetworkSystem___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_org_apache_harmony_luni_platform_OSNetworkSystem]
+ //XMLVM_END_WRAPPER
+
+ __TIB_org_apache_harmony_luni_platform_OSNetworkSystem.classInitialized = 1;
+}
+
+void __DELETE_org_apache_harmony_luni_platform_OSNetworkSystem(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_org_apache_harmony_luni_platform_OSNetworkSystem]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_platform_OSNetworkSystem(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_platform_OSNetworkSystem]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_org_apache_harmony_luni_platform_OSNetworkSystem()
+{ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSNetworkSystem)
+org_apache_harmony_luni_platform_OSNetworkSystem* me = (org_apache_harmony_luni_platform_OSNetworkSystem*) XMLVM_MALLOC(sizeof(org_apache_harmony_luni_platform_OSNetworkSystem));
+ me->tib = &__TIB_org_apache_harmony_luni_platform_OSNetworkSystem;
+ __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_platform_OSNetworkSystem(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_org_apache_harmony_luni_platform_OSNetworkSystem]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_luni_platform_OSNetworkSystem()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_GET_ERRORCODE_SOCKET_TIMEOUT()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSNetworkSystem)
+ return _STATIC_org_apache_harmony_luni_platform_OSNetworkSystem_ERRORCODE_SOCKET_TIMEOUT;
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_PUT_ERRORCODE_SOCKET_TIMEOUT(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSNetworkSystem)
+_STATIC_org_apache_harmony_luni_platform_OSNetworkSystem_ERRORCODE_SOCKET_TIMEOUT = v;
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_GET_ERRORCODE_SOCKET_INTERRUPTED()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSNetworkSystem)
+ return _STATIC_org_apache_harmony_luni_platform_OSNetworkSystem_ERRORCODE_SOCKET_INTERRUPTED;
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_PUT_ERRORCODE_SOCKET_INTERRUPTED(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSNetworkSystem)
+_STATIC_org_apache_harmony_luni_platform_OSNetworkSystem_ERRORCODE_SOCKET_INTERRUPTED = v;
+}
+
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_GET_INETADDR_REACHABLE()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSNetworkSystem)
+ return _STATIC_org_apache_harmony_luni_platform_OSNetworkSystem_INETADDR_REACHABLE;
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_PUT_INETADDR_REACHABLE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSNetworkSystem)
+_STATIC_org_apache_harmony_luni_platform_OSNetworkSystem_INETADDR_REACHABLE = v;
+}
+
+JAVA_BOOLEAN org_apache_harmony_luni_platform_OSNetworkSystem_GET_isNetworkInited()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSNetworkSystem)
+ return _STATIC_org_apache_harmony_luni_platform_OSNetworkSystem_isNetworkInited;
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_PUT_isNetworkInited(JAVA_BOOLEAN v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSNetworkSystem)
+_STATIC_org_apache_harmony_luni_platform_OSNetworkSystem_isNetworkInited = v;
+}
+
+JAVA_OBJECT org_apache_harmony_luni_platform_OSNetworkSystem_GET_singleton()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSNetworkSystem)
+ return _STATIC_org_apache_harmony_luni_platform_OSNetworkSystem_singleton;
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_PUT_singleton(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSNetworkSystem)
+_STATIC_org_apache_harmony_luni_platform_OSNetworkSystem_singleton = v;
+}
+
+JAVA_BOOLEAN org_apache_harmony_luni_platform_OSNetworkSystem_GET__assertionsDisabled()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSNetworkSystem)
+ return _STATIC_org_apache_harmony_luni_platform_OSNetworkSystem__assertionsDisabled;
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_PUT__assertionsDisabled(JAVA_BOOLEAN v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSNetworkSystem)
+_STATIC_org_apache_harmony_luni_platform_OSNetworkSystem__assertionsDisabled = v;
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSNetworkSystem___CLINIT___]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSNetworkSystem", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 32)
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSNetworkSystem)
+ _r0.o = __CLASS_org_apache_harmony_luni_platform_OSNetworkSystem;
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_Class_desiredAssertionStatus__(_r0.o);
+ if (_r0.i != 0) goto label22;
+ _r0.i = 1;
+ label10:;
+ org_apache_harmony_luni_platform_OSNetworkSystem_PUT__assertionsDisabled( _r0.i);
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 39)
+ org_apache_harmony_luni_platform_OSNetworkSystem_PUT_isNetworkInited( _r1.i);
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 41)
+ _r0.o = __NEW_org_apache_harmony_luni_platform_OSNetworkSystem();
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_luni_platform_OSNetworkSystem___INIT___(_r0.o);
+ org_apache_harmony_luni_platform_OSNetworkSystem_PUT_singleton( _r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ label22:;
+ _r0 = _r1;
+ goto label10;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_platform_OSNetworkSystem_getOSNetworkSystem__()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_platform_OSNetworkSystem)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSNetworkSystem_getOSNetworkSystem__]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSNetworkSystem", "getOSNetworkSystem", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 49)
+ _r0.o = org_apache_harmony_luni_platform_OSNetworkSystem_GET_singleton();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void org_apache_harmony_luni_platform_OSNetworkSystem___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSNetworkSystem___INIT___]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSNetworkSystem", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 54)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 55)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSNetworkSystem_accept___java_io_FileDescriptor_java_net_SocketImpl_java_io_FileDescriptor_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_INT n4)]
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSNetworkSystem_acceptStreamSocket___java_io_FileDescriptor_java_net_SocketImpl_java_io_FileDescriptor_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_INT n4)]
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_availableStream___java_io_FileDescriptor(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSNetworkSystem_bind___java_io_FileDescriptor_java_net_InetAddress_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3)]
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_connect___java_io_FileDescriptor_int_java_net_InetAddress_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4)]
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSNetworkSystem_connectDatagram___java_io_FileDescriptor_int_int_java_net_InetAddress(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3, JAVA_OBJECT n4)]
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSNetworkSystem_connectStreamWithTimeoutSocket___java_io_FileDescriptor_int_int_int_java_net_InetAddress(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3, JAVA_INT n4, JAVA_OBJECT n5)]
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_connectWithTimeout___java_io_FileDescriptor_int_int_java_net_InetAddress_int_int_java_lang_Long(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3, JAVA_OBJECT n4, JAVA_INT n5, JAVA_INT n6, JAVA_OBJECT n7)]
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSNetworkSystem_createDatagramSocket___java_io_FileDescriptor_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2)]
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSNetworkSystem_createServerStreamSocket___java_io_FileDescriptor_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2)]
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSNetworkSystem_createStreamSocket___java_io_FileDescriptor_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2)]
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSNetworkSystem_disconnectDatagram___java_io_FileDescriptor(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_OBJECT org_apache_harmony_luni_platform_OSNetworkSystem_getHostByAddr___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_OBJECT org_apache_harmony_luni_platform_OSNetworkSystem_getHostByName___java_lang_String_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2)]
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_getSocketFlags__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[JAVA_OBJECT org_apache_harmony_luni_platform_OSNetworkSystem_getSocketLocalAddress___java_io_FileDescriptor_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2)]
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_getSocketLocalPort___java_io_FileDescriptor_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2)]
+
+//XMLVM_NATIVE[JAVA_OBJECT org_apache_harmony_luni_platform_OSNetworkSystem_getSocketOption___java_io_FileDescriptor_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)]
+
+//XMLVM_NATIVE[JAVA_OBJECT org_apache_harmony_luni_platform_OSNetworkSystem_inheritedChannel__(JAVA_OBJECT me)]
+
+JAVA_BOOLEAN org_apache_harmony_luni_platform_OSNetworkSystem_isReachableByICMP___java_net_InetAddress_java_net_InetAddress_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSNetworkSystem_isReachableByICMP___java_net_InetAddress_java_net_InetAddress_int_int]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSNetworkSystem", "isReachableByICMP", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ _r4.i = n3;
+ _r5.i = n4;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 156)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = org_apache_harmony_luni_platform_OSNetworkSystem_isReachableByICMPImpl___java_net_InetAddress_java_net_InetAddress_int_int(_r1.o, _r2.o, _r3.o, _r4.i, _r5.i);
+ if (_r0.i != 0) goto label8;
+ _r0.i = 1;
+ label7:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label8:;
+ _r0.i = 0;
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_isReachableByICMPImpl___java_net_InetAddress_java_net_InetAddress_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4)]
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSNetworkSystem_listenStreamSocket___java_io_FileDescriptor_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2)]
+
+void org_apache_harmony_luni_platform_OSNetworkSystem_oneTimeInitialization___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSNetworkSystem_oneTimeInitialization___boolean]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSNetworkSystem", "oneTimeInitialization", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.i = n1;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 167)
+ _r0.i = org_apache_harmony_luni_platform_OSNetworkSystem_GET_isNetworkInited();
+ if (_r0.i != 0) goto label10;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 168)
+ XMLVM_CHECK_NPE(1)
+ org_apache_harmony_luni_platform_OSNetworkSystem_oneTimeInitializationImpl___boolean(_r1.o, _r2.i);
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 169)
+ _r0.i = 1;
+ org_apache_harmony_luni_platform_OSNetworkSystem_PUT_isNetworkInited( _r0.i);
+ label10:;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 171)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSNetworkSystem_oneTimeInitializationImpl___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1)]
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_peekDatagram___java_io_FileDescriptor_java_net_InetAddress_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3)]
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_read___java_io_FileDescriptor_byte_1ARRAY_int_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4, JAVA_INT n5)]
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_readDirect___java_io_FileDescriptor_long_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_LONG n2, JAVA_INT n3, JAVA_INT n4)]
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_receiveDatagram___java_io_FileDescriptor_java_net_DatagramPacket_byte_1ARRAY_int_int_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5, JAVA_INT n6, JAVA_BOOLEAN n7)]
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_receiveDatagramDirect___java_io_FileDescriptor_java_net_DatagramPacket_long_int_int_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_LONG n3, JAVA_INT n4, JAVA_INT n5, JAVA_INT n6, JAVA_BOOLEAN n7)]
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_receiveStream___java_io_FileDescriptor_byte_1ARRAY_int_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4, JAVA_INT n5)]
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_recvConnectedDatagram___java_io_FileDescriptor_java_net_DatagramPacket_byte_1ARRAY_int_int_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5, JAVA_INT n6, JAVA_BOOLEAN n7)]
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_recvConnectedDatagramDirect___java_io_FileDescriptor_java_net_DatagramPacket_long_int_int_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_LONG n3, JAVA_INT n4, JAVA_INT n5, JAVA_INT n6, JAVA_BOOLEAN n7)]
+
+JAVA_BOOLEAN org_apache_harmony_luni_platform_OSNetworkSystem_select___java_io_FileDescriptor_1ARRAY_java_io_FileDescriptor_1ARRAY_int_int_long_int_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4, JAVA_LONG n5, JAVA_OBJECT n6)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSNetworkSystem_select___java_io_FileDescriptor_1ARRAY_java_io_FileDescriptor_1ARRAY_int_int_long_int_1ARRAY]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSNetworkSystem", "select", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ XMLVMElem _r14;
+ XMLVMElem _r15;
+ _r8.o = me;
+ _r9.o = n1;
+ _r10.o = n2;
+ _r11.i = n3;
+ _r12.i = n4;
+ _r13.l = n5;
+ _r15.o = n6;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 334)
+ if (_r11.i < 0) goto label4;
+ if (_r12.i >= 0) goto label10;
+ label4:;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 335)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label10:;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 338)
+ _r0.i = _r11.i + _r12.i;
+ if (_r0.i != 0) goto label16;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 339)
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 340)
+ _r0.i = 1;
+ label15:;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 352)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label16:;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 343)
+ _r0.i = org_apache_harmony_luni_platform_OSNetworkSystem_GET__assertionsDisabled();
+ if (_r0.i != 0) goto label34;
+ XMLVM_CHECK_NPE(8)
+ _r0.i = org_apache_harmony_luni_platform_OSNetworkSystem_validateFDs___java_io_FileDescriptor_1ARRAY_java_io_FileDescriptor_1ARRAY_int_int(_r8.o, _r9.o, _r10.o, _r11.i, _r12.i);
+ if (_r0.i != 0) goto label34;
+
+
+ // Red class access removed: java.lang.AssertionError::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "Invalid file descriptor arrays"
+ _r1.o = xmlvm_create_java_string_from_pool(84);
+
+
+ // Red class access removed: java.lang.AssertionError::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label34:;
+ _r0 = _r8;
+ _r1 = _r9;
+ _r2 = _r10;
+ _r3 = _r11;
+ _r4 = _r12;
+ _r5 = _r15;
+ _r6 = _r13;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 346)
+ XMLVM_CHECK_NPE(0)
+ _r0.i = org_apache_harmony_luni_platform_OSNetworkSystem_selectImpl___java_io_FileDescriptor_1ARRAY_java_io_FileDescriptor_1ARRAY_int_int_int_1ARRAY_long(_r0.o, _r1.o, _r2.o, _r3.i, _r4.i, _r5.o, _r6.l);
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 347)
+ if (_r0.i < 0) goto label49;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 348)
+ _r0.i = 1;
+ goto label15;
+ label49:;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 350)
+ _r1.i = -209;
+ if (_r0.i == _r1.i) goto label57;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 351)
+ _r1.i = -208;
+ if (_r0.i != _r1.i) goto label59;
+ label57:;
+ _r0.i = 0;
+ goto label15;
+ label59:;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 354)
+ _r0.o = __NEW_java_net_SocketException();
+ XMLVM_CHECK_NPE(0)
+ java_net_SocketException___INIT___(_r0.o);
+ XMLVM_THROW_CUSTOM(_r0.o)
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_selectImpl___java_io_FileDescriptor_1ARRAY_java_io_FileDescriptor_1ARRAY_int_int_int_1ARRAY_long(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4, JAVA_OBJECT n5, JAVA_LONG n6)]
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_sendConnectedDatagram___java_io_FileDescriptor_byte_1ARRAY_int_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4, JAVA_BOOLEAN n5)]
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_sendConnectedDatagramDirect___java_io_FileDescriptor_long_int_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_LONG n2, JAVA_INT n3, JAVA_INT n4, JAVA_BOOLEAN n5)]
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_sendDatagram___java_io_FileDescriptor_byte_1ARRAY_int_int_int_boolean_int_java_net_InetAddress(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4, JAVA_INT n5, JAVA_BOOLEAN n6, JAVA_INT n7, JAVA_OBJECT n8)]
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_sendDatagram2___java_io_FileDescriptor_byte_1ARRAY_int_int_int_java_net_InetAddress(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4, JAVA_INT n5, JAVA_OBJECT n6)]
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_sendDatagramDirect___java_io_FileDescriptor_long_int_int_int_boolean_int_java_net_InetAddress(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_LONG n2, JAVA_INT n3, JAVA_INT n4, JAVA_INT n5, JAVA_BOOLEAN n6, JAVA_INT n7, JAVA_OBJECT n8)]
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSNetworkSystem_sendUrgentData___java_io_FileDescriptor_byte(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BYTE n2)]
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSNetworkSystem_setInetAddress___java_net_InetAddress_byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)]
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSNetworkSystem_setNonBlocking___java_io_FileDescriptor_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2)]
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSNetworkSystem_setSocketOption___java_io_FileDescriptor_int_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3)]
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSNetworkSystem_shutdownInput___java_io_FileDescriptor(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSNetworkSystem_shutdownOutput___java_io_FileDescriptor(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_platform_OSNetworkSystem_socketClose___java_io_FileDescriptor(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN org_apache_harmony_luni_platform_OSNetworkSystem_supportsUrgentData___java_io_FileDescriptor(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+JAVA_BOOLEAN org_apache_harmony_luni_platform_OSNetworkSystem_validateFDs___java_io_FileDescriptor_1ARRAY_java_io_FileDescriptor_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSNetworkSystem_validateFDs___java_io_FileDescriptor_1ARRAY_java_io_FileDescriptor_1ARRAY]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSNetworkSystem", "validateFDs", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ _r4.o = me;
+ _r5.o = n1;
+ _r6.o = n2;
+ _r3.i = 0;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 464)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ _r1 = _r3;
+ label3:;
+ if (_r1.i < _r0.i) goto label11;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 470)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r6.o));
+ _r1 = _r3;
+ label7:;
+ if (_r1.i < _r0.i) goto label24;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 475)
+ _r0.i = 1;
+ label10:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label11:;
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r1.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 466)
+ XMLVM_CHECK_NPE(2)
+ _r2.i = java_io_FileDescriptor_valid__(_r2.o);
+ if (_r2.i != 0) goto label21;
+ _r0 = _r3;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 467)
+ goto label10;
+ label21:;
+ _r1.i = _r1.i + 1;
+ goto label3;
+ label24:;
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r1.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 471)
+ XMLVM_CHECK_NPE(2)
+ _r2.i = java_io_FileDescriptor_valid__(_r2.o);
+ if (_r2.i != 0) goto label34;
+ _r0 = _r3;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 472)
+ goto label10;
+ label34:;
+ _r1.i = _r1.i + 1;
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN org_apache_harmony_luni_platform_OSNetworkSystem_validateFDs___java_io_FileDescriptor_1ARRAY_java_io_FileDescriptor_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_platform_OSNetworkSystem_validateFDs___java_io_FileDescriptor_1ARRAY_java_io_FileDescriptor_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.platform.OSNetworkSystem", "validateFDs", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r3.o = me;
+ _r4.o = n1;
+ _r5.o = n2;
+ _r6.i = n3;
+ _r7.i = n4;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 480)
+ _r0 = _r2;
+ label2:;
+ if (_r0.i < _r6.i) goto label9;
+ _r0 = _r2;
+ label5:;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 486)
+ if (_r0.i < _r7.i) goto label22;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 491)
+ _r0.i = 1;
+ label8:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label9:;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 482)
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r0.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_CHECK_NPE(1)
+ _r1.i = java_io_FileDescriptor_valid__(_r1.o);
+ if (_r1.i != 0) goto label19;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 483)
+ goto label8;
+ label19:;
+ _r0.i = _r0.i + 1;
+ goto label2;
+ label22:;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 487)
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r0.i);
+ _r1.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ XMLVM_CHECK_NPE(1)
+ _r1.i = java_io_FileDescriptor_valid__(_r1.o);
+ if (_r1.i != 0) goto label32;
+ _r0 = _r2;
+ XMLVM_SOURCE_POSITION("OSNetworkSystem.java", 488)
+ goto label8;
+ label32:;
+ _r0.i = _r0.i + 1;
+ goto label5;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_write___java_io_FileDescriptor_byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4)]
+
+//XMLVM_NATIVE[JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_writeDirect___java_io_FileDescriptor_long_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_LONG n2, JAVA_INT n3)]
+
+//XMLVM_NATIVE[JAVA_LONG org_apache_harmony_luni_platform_OSNetworkSystem_writev___java_io_FileDescriptor_java_lang_Object_1ARRAY_int_1ARRAY_int_1ARRAY_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_OBJECT n4, JAVA_INT n5)]
+
diff --git a/tests/nbody-java/org_apache_harmony_luni_platform_OSNetworkSystem.h b/tests/nbody-java/org_apache_harmony_luni_platform_OSNetworkSystem.h
new file mode 100644
index 00000000..ca9d2989
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_luni_platform_OSNetworkSystem.h
@@ -0,0 +1,237 @@
+#ifndef __ORG_APACHE_HARMONY_LUNI_PLATFORM_OSNETWORKSYSTEM__
+#define __ORG_APACHE_HARMONY_LUNI_PLATFORM_OSNETWORKSYSTEM__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_org_apache_harmony_luni_platform_OSNetworkSystem 47
+// Implemented interfaces:
+#include "org_apache_harmony_luni_platform_INetworkSystem.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_io_FileDescriptor
+#define XMLVM_FORWARD_DECL_java_io_FileDescriptor
+XMLVM_FORWARD_DECL(java_io_FileDescriptor)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Long
+#define XMLVM_FORWARD_DECL_java_lang_Long
+XMLVM_FORWARD_DECL(java_lang_Long)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_net_InetAddress
+#define XMLVM_FORWARD_DECL_java_net_InetAddress
+XMLVM_FORWARD_DECL(java_net_InetAddress)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_net_SocketException
+#define XMLVM_FORWARD_DECL_java_net_SocketException
+XMLVM_FORWARD_DECL(java_net_SocketException)
+#endif
+// Class declarations for org.apache.harmony.luni.platform.OSNetworkSystem
+XMLVM_DEFINE_CLASS(org_apache_harmony_luni_platform_OSNetworkSystem, 53, XMLVM_ITABLE_SIZE_org_apache_harmony_luni_platform_OSNetworkSystem)
+
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_OSNetworkSystem;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_OSNetworkSystem_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_OSNetworkSystem_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_platform_OSNetworkSystem_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_luni_platform_OSNetworkSystem
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_org_apache_harmony_luni_platform_OSNetworkSystem \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_luni_platform_OSNetworkSystem \
+ } org_apache_harmony_luni_platform_OSNetworkSystem
+
+struct org_apache_harmony_luni_platform_OSNetworkSystem {
+ __TIB_DEFINITION_org_apache_harmony_luni_platform_OSNetworkSystem* tib;
+ struct {
+ __INSTANCE_FIELDS_org_apache_harmony_luni_platform_OSNetworkSystem;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_OSNetworkSystem
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_platform_OSNetworkSystem
+typedef struct org_apache_harmony_luni_platform_OSNetworkSystem org_apache_harmony_luni_platform_OSNetworkSystem;
+#endif
+
+#define XMLVM_VTABLE_SIZE_org_apache_harmony_luni_platform_OSNetworkSystem 53
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_accept___java_io_FileDescriptor_java_net_SocketImpl_java_io_FileDescriptor_int 7
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_acceptStreamSocket___java_io_FileDescriptor_java_net_SocketImpl_java_io_FileDescriptor_int 6
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_availableStream___java_io_FileDescriptor 8
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_bind___java_io_FileDescriptor_java_net_InetAddress_int 9
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_connect___java_io_FileDescriptor_int_java_net_InetAddress_int 13
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_connectDatagram___java_io_FileDescriptor_int_int_java_net_InetAddress 10
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_connectStreamWithTimeoutSocket___java_io_FileDescriptor_int_int_int_java_net_InetAddress 11
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_connectWithTimeout___java_io_FileDescriptor_int_int_java_net_InetAddress_int_int_java_lang_Long 12
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_createDatagramSocket___java_io_FileDescriptor_boolean 14
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_createServerStreamSocket___java_io_FileDescriptor_boolean 15
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_createStreamSocket___java_io_FileDescriptor_boolean 16
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_disconnectDatagram___java_io_FileDescriptor 17
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_getHostByAddr___byte_1ARRAY 18
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_getHostByName___java_lang_String_boolean 19
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_getSocketFlags__ 20
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_getSocketLocalAddress___java_io_FileDescriptor_boolean 21
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_getSocketLocalPort___java_io_FileDescriptor_boolean 22
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_getSocketOption___java_io_FileDescriptor_int 23
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_inheritedChannel__ 24
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_isReachableByICMP___java_net_InetAddress_java_net_InetAddress_int_int 25
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_listenStreamSocket___java_io_FileDescriptor_int 26
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_oneTimeInitialization___boolean 27
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_peekDatagram___java_io_FileDescriptor_java_net_InetAddress_int 28
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_read___java_io_FileDescriptor_byte_1ARRAY_int_int_int 30
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_readDirect___java_io_FileDescriptor_long_int_int 29
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_receiveDatagram___java_io_FileDescriptor_java_net_DatagramPacket_byte_1ARRAY_int_int_int_boolean 32
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_receiveDatagramDirect___java_io_FileDescriptor_java_net_DatagramPacket_long_int_int_int_boolean 31
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_receiveStream___java_io_FileDescriptor_byte_1ARRAY_int_int_int 33
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_recvConnectedDatagram___java_io_FileDescriptor_java_net_DatagramPacket_byte_1ARRAY_int_int_int_boolean 35
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_recvConnectedDatagramDirect___java_io_FileDescriptor_java_net_DatagramPacket_long_int_int_int_boolean 34
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_select___java_io_FileDescriptor_1ARRAY_java_io_FileDescriptor_1ARRAY_int_int_long_int_1ARRAY 36
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_sendConnectedDatagram___java_io_FileDescriptor_byte_1ARRAY_int_int_boolean 38
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_sendConnectedDatagramDirect___java_io_FileDescriptor_long_int_int_boolean 37
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_sendDatagram___java_io_FileDescriptor_byte_1ARRAY_int_int_int_boolean_int_java_net_InetAddress 41
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_sendDatagram2___java_io_FileDescriptor_byte_1ARRAY_int_int_int_java_net_InetAddress 39
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_sendDatagramDirect___java_io_FileDescriptor_long_int_int_int_boolean_int_java_net_InetAddress 40
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_sendUrgentData___java_io_FileDescriptor_byte 42
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_setInetAddress___java_net_InetAddress_byte_1ARRAY 43
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_setNonBlocking___java_io_FileDescriptor_boolean 44
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_setSocketOption___java_io_FileDescriptor_int_java_lang_Object 45
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_shutdownInput___java_io_FileDescriptor 46
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_shutdownOutput___java_io_FileDescriptor 47
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_socketClose___java_io_FileDescriptor 48
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_supportsUrgentData___java_io_FileDescriptor 49
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_write___java_io_FileDescriptor_byte_1ARRAY_int_int 51
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_writeDirect___java_io_FileDescriptor_long_int 50
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_platform_OSNetworkSystem_writev___java_io_FileDescriptor_java_lang_Object_1ARRAY_int_1ARRAY_int_1ARRAY_int 52
+
+void __INIT_org_apache_harmony_luni_platform_OSNetworkSystem();
+void __INIT_IMPL_org_apache_harmony_luni_platform_OSNetworkSystem();
+void __DELETE_org_apache_harmony_luni_platform_OSNetworkSystem(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_platform_OSNetworkSystem(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_org_apache_harmony_luni_platform_OSNetworkSystem();
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_luni_platform_OSNetworkSystem();
+void xmlvm_init_native_org_apache_harmony_luni_platform_OSNetworkSystem();
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_GET_ERRORCODE_SOCKET_TIMEOUT();
+void org_apache_harmony_luni_platform_OSNetworkSystem_PUT_ERRORCODE_SOCKET_TIMEOUT(JAVA_INT v);
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_GET_ERRORCODE_SOCKET_INTERRUPTED();
+void org_apache_harmony_luni_platform_OSNetworkSystem_PUT_ERRORCODE_SOCKET_INTERRUPTED(JAVA_INT v);
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_GET_INETADDR_REACHABLE();
+void org_apache_harmony_luni_platform_OSNetworkSystem_PUT_INETADDR_REACHABLE(JAVA_INT v);
+JAVA_BOOLEAN org_apache_harmony_luni_platform_OSNetworkSystem_GET_isNetworkInited();
+void org_apache_harmony_luni_platform_OSNetworkSystem_PUT_isNetworkInited(JAVA_BOOLEAN v);
+JAVA_OBJECT org_apache_harmony_luni_platform_OSNetworkSystem_GET_singleton();
+void org_apache_harmony_luni_platform_OSNetworkSystem_PUT_singleton(JAVA_OBJECT v);
+JAVA_BOOLEAN org_apache_harmony_luni_platform_OSNetworkSystem_GET__assertionsDisabled();
+void org_apache_harmony_luni_platform_OSNetworkSystem_PUT__assertionsDisabled(JAVA_BOOLEAN v);
+void org_apache_harmony_luni_platform_OSNetworkSystem___CLINIT_();
+JAVA_OBJECT org_apache_harmony_luni_platform_OSNetworkSystem_getOSNetworkSystem__();
+void org_apache_harmony_luni_platform_OSNetworkSystem___INIT___(JAVA_OBJECT me);
+// Vtable index: 7
+void org_apache_harmony_luni_platform_OSNetworkSystem_accept___java_io_FileDescriptor_java_net_SocketImpl_java_io_FileDescriptor_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_INT n4);
+// Vtable index: 6
+void org_apache_harmony_luni_platform_OSNetworkSystem_acceptStreamSocket___java_io_FileDescriptor_java_net_SocketImpl_java_io_FileDescriptor_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_INT n4);
+// Vtable index: 8
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_availableStream___java_io_FileDescriptor(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 9
+void org_apache_harmony_luni_platform_OSNetworkSystem_bind___java_io_FileDescriptor_java_net_InetAddress_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3);
+// Vtable index: 13
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_connect___java_io_FileDescriptor_int_java_net_InetAddress_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3, JAVA_INT n4);
+// Vtable index: 10
+void org_apache_harmony_luni_platform_OSNetworkSystem_connectDatagram___java_io_FileDescriptor_int_int_java_net_InetAddress(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3, JAVA_OBJECT n4);
+// Vtable index: 11
+void org_apache_harmony_luni_platform_OSNetworkSystem_connectStreamWithTimeoutSocket___java_io_FileDescriptor_int_int_int_java_net_InetAddress(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3, JAVA_INT n4, JAVA_OBJECT n5);
+// Vtable index: 12
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_connectWithTimeout___java_io_FileDescriptor_int_int_java_net_InetAddress_int_int_java_lang_Long(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3, JAVA_OBJECT n4, JAVA_INT n5, JAVA_INT n6, JAVA_OBJECT n7);
+// Vtable index: 14
+void org_apache_harmony_luni_platform_OSNetworkSystem_createDatagramSocket___java_io_FileDescriptor_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2);
+// Vtable index: 15
+void org_apache_harmony_luni_platform_OSNetworkSystem_createServerStreamSocket___java_io_FileDescriptor_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2);
+// Vtable index: 16
+void org_apache_harmony_luni_platform_OSNetworkSystem_createStreamSocket___java_io_FileDescriptor_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2);
+// Vtable index: 17
+void org_apache_harmony_luni_platform_OSNetworkSystem_disconnectDatagram___java_io_FileDescriptor(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 18
+JAVA_OBJECT org_apache_harmony_luni_platform_OSNetworkSystem_getHostByAddr___byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 19
+JAVA_OBJECT org_apache_harmony_luni_platform_OSNetworkSystem_getHostByName___java_lang_String_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2);
+// Vtable index: 20
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_getSocketFlags__(JAVA_OBJECT me);
+// Vtable index: 21
+JAVA_OBJECT org_apache_harmony_luni_platform_OSNetworkSystem_getSocketLocalAddress___java_io_FileDescriptor_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2);
+// Vtable index: 22
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_getSocketLocalPort___java_io_FileDescriptor_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2);
+// Vtable index: 23
+JAVA_OBJECT org_apache_harmony_luni_platform_OSNetworkSystem_getSocketOption___java_io_FileDescriptor_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2);
+// Vtable index: 24
+JAVA_OBJECT org_apache_harmony_luni_platform_OSNetworkSystem_inheritedChannel__(JAVA_OBJECT me);
+// Vtable index: 25
+JAVA_BOOLEAN org_apache_harmony_luni_platform_OSNetworkSystem_isReachableByICMP___java_net_InetAddress_java_net_InetAddress_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4);
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_isReachableByICMPImpl___java_net_InetAddress_java_net_InetAddress_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4);
+// Vtable index: 26
+void org_apache_harmony_luni_platform_OSNetworkSystem_listenStreamSocket___java_io_FileDescriptor_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2);
+// Vtable index: 27
+void org_apache_harmony_luni_platform_OSNetworkSystem_oneTimeInitialization___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1);
+void org_apache_harmony_luni_platform_OSNetworkSystem_oneTimeInitializationImpl___boolean(JAVA_OBJECT me, JAVA_BOOLEAN n1);
+// Vtable index: 28
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_peekDatagram___java_io_FileDescriptor_java_net_InetAddress_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3);
+// Vtable index: 30
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_read___java_io_FileDescriptor_byte_1ARRAY_int_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4, JAVA_INT n5);
+// Vtable index: 29
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_readDirect___java_io_FileDescriptor_long_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_LONG n2, JAVA_INT n3, JAVA_INT n4);
+// Vtable index: 32
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_receiveDatagram___java_io_FileDescriptor_java_net_DatagramPacket_byte_1ARRAY_int_int_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5, JAVA_INT n6, JAVA_BOOLEAN n7);
+// Vtable index: 31
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_receiveDatagramDirect___java_io_FileDescriptor_java_net_DatagramPacket_long_int_int_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_LONG n3, JAVA_INT n4, JAVA_INT n5, JAVA_INT n6, JAVA_BOOLEAN n7);
+// Vtable index: 33
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_receiveStream___java_io_FileDescriptor_byte_1ARRAY_int_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4, JAVA_INT n5);
+// Vtable index: 35
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_recvConnectedDatagram___java_io_FileDescriptor_java_net_DatagramPacket_byte_1ARRAY_int_int_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_INT n4, JAVA_INT n5, JAVA_INT n6, JAVA_BOOLEAN n7);
+// Vtable index: 34
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_recvConnectedDatagramDirect___java_io_FileDescriptor_java_net_DatagramPacket_long_int_int_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_LONG n3, JAVA_INT n4, JAVA_INT n5, JAVA_INT n6, JAVA_BOOLEAN n7);
+// Vtable index: 36
+JAVA_BOOLEAN org_apache_harmony_luni_platform_OSNetworkSystem_select___java_io_FileDescriptor_1ARRAY_java_io_FileDescriptor_1ARRAY_int_int_long_int_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4, JAVA_LONG n5, JAVA_OBJECT n6);
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_selectImpl___java_io_FileDescriptor_1ARRAY_java_io_FileDescriptor_1ARRAY_int_int_int_1ARRAY_long(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4, JAVA_OBJECT n5, JAVA_LONG n6);
+// Vtable index: 38
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_sendConnectedDatagram___java_io_FileDescriptor_byte_1ARRAY_int_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4, JAVA_BOOLEAN n5);
+// Vtable index: 37
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_sendConnectedDatagramDirect___java_io_FileDescriptor_long_int_int_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_LONG n2, JAVA_INT n3, JAVA_INT n4, JAVA_BOOLEAN n5);
+// Vtable index: 41
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_sendDatagram___java_io_FileDescriptor_byte_1ARRAY_int_int_int_boolean_int_java_net_InetAddress(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4, JAVA_INT n5, JAVA_BOOLEAN n6, JAVA_INT n7, JAVA_OBJECT n8);
+// Vtable index: 39
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_sendDatagram2___java_io_FileDescriptor_byte_1ARRAY_int_int_int_java_net_InetAddress(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4, JAVA_INT n5, JAVA_OBJECT n6);
+// Vtable index: 40
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_sendDatagramDirect___java_io_FileDescriptor_long_int_int_int_boolean_int_java_net_InetAddress(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_LONG n2, JAVA_INT n3, JAVA_INT n4, JAVA_INT n5, JAVA_BOOLEAN n6, JAVA_INT n7, JAVA_OBJECT n8);
+// Vtable index: 42
+void org_apache_harmony_luni_platform_OSNetworkSystem_sendUrgentData___java_io_FileDescriptor_byte(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BYTE n2);
+// Vtable index: 43
+void org_apache_harmony_luni_platform_OSNetworkSystem_setInetAddress___java_net_InetAddress_byte_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+// Vtable index: 44
+void org_apache_harmony_luni_platform_OSNetworkSystem_setNonBlocking___java_io_FileDescriptor_boolean(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_BOOLEAN n2);
+// Vtable index: 45
+void org_apache_harmony_luni_platform_OSNetworkSystem_setSocketOption___java_io_FileDescriptor_int_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3);
+// Vtable index: 46
+void org_apache_harmony_luni_platform_OSNetworkSystem_shutdownInput___java_io_FileDescriptor(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 47
+void org_apache_harmony_luni_platform_OSNetworkSystem_shutdownOutput___java_io_FileDescriptor(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 48
+void org_apache_harmony_luni_platform_OSNetworkSystem_socketClose___java_io_FileDescriptor(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 49
+JAVA_BOOLEAN org_apache_harmony_luni_platform_OSNetworkSystem_supportsUrgentData___java_io_FileDescriptor(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN org_apache_harmony_luni_platform_OSNetworkSystem_validateFDs___java_io_FileDescriptor_1ARRAY_java_io_FileDescriptor_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_BOOLEAN org_apache_harmony_luni_platform_OSNetworkSystem_validateFDs___java_io_FileDescriptor_1ARRAY_java_io_FileDescriptor_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4);
+// Vtable index: 51
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_write___java_io_FileDescriptor_byte_1ARRAY_int_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4);
+// Vtable index: 50
+JAVA_INT org_apache_harmony_luni_platform_OSNetworkSystem_writeDirect___java_io_FileDescriptor_long_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_LONG n2, JAVA_INT n3);
+// Vtable index: 52
+JAVA_LONG org_apache_harmony_luni_platform_OSNetworkSystem_writev___java_io_FileDescriptor_java_lang_Object_1ARRAY_int_1ARRAY_int_1ARRAY_int(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_OBJECT n4, JAVA_INT n5);
+
+#endif
diff --git a/tests/nbody-java/org_apache_harmony_luni_util_FloatingPointParser.c b/tests/nbody-java/org_apache_harmony_luni_util_FloatingPointParser.c
new file mode 100644
index 00000000..42fd6b27
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_luni_util_FloatingPointParser.c
@@ -0,0 +1,903 @@
+#include "xmlvm.h"
+#include "java_lang_Integer.h"
+#include "java_lang_Math.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+
+#include "org_apache_harmony_luni_util_FloatingPointParser.h"
+
+#define XMLVM_CURRENT_CLASS_NAME FloatingPointParser
+#define XMLVM_CURRENT_PKG_CLASS_NAME org_apache_harmony_luni_util_FloatingPointParser
+
+__TIB_DEFINITION_org_apache_harmony_luni_util_FloatingPointParser __TIB_org_apache_harmony_luni_util_FloatingPointParser = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_apache_harmony_luni_util_FloatingPointParser, // classInitializer
+ "org.apache.harmony.luni.util.FloatingPointParser", // className
+ "org.apache.harmony.luni.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(org_apache_harmony_luni_util_FloatingPointParser), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_FloatingPointParser;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_FloatingPointParser_1ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_FloatingPointParser_2ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_FloatingPointParser_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_org_apache_harmony_luni_util_FloatingPointParser()
+{
+ staticInitializerLock(&__TIB_org_apache_harmony_luni_util_FloatingPointParser);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_apache_harmony_luni_util_FloatingPointParser.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_apache_harmony_luni_util_FloatingPointParser.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_apache_harmony_luni_util_FloatingPointParser);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_apache_harmony_luni_util_FloatingPointParser.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_apache_harmony_luni_util_FloatingPointParser.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_apache_harmony_luni_util_FloatingPointParser.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.apache.harmony.luni.util.FloatingPointParser")
+ __INIT_IMPL_org_apache_harmony_luni_util_FloatingPointParser();
+ }
+}
+
+void __INIT_IMPL_org_apache_harmony_luni_util_FloatingPointParser()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_org_apache_harmony_luni_util_FloatingPointParser.newInstanceFunc = __NEW_INSTANCE_org_apache_harmony_luni_util_FloatingPointParser;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_org_apache_harmony_luni_util_FloatingPointParser.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_org_apache_harmony_luni_util_FloatingPointParser.numImplementedInterfaces = 0;
+ __TIB_org_apache_harmony_luni_util_FloatingPointParser.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ __TIB_org_apache_harmony_luni_util_FloatingPointParser.declaredFields = &__field_reflection_data[0];
+ __TIB_org_apache_harmony_luni_util_FloatingPointParser.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_org_apache_harmony_luni_util_FloatingPointParser.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_org_apache_harmony_luni_util_FloatingPointParser.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_org_apache_harmony_luni_util_FloatingPointParser.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_org_apache_harmony_luni_util_FloatingPointParser.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_apache_harmony_luni_util_FloatingPointParser.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_apache_harmony_luni_util_FloatingPointParser.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_org_apache_harmony_luni_util_FloatingPointParser = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_apache_harmony_luni_util_FloatingPointParser);
+ __TIB_org_apache_harmony_luni_util_FloatingPointParser.clazz = __CLASS_org_apache_harmony_luni_util_FloatingPointParser;
+ __TIB_org_apache_harmony_luni_util_FloatingPointParser.baseType = JAVA_NULL;
+ __CLASS_org_apache_harmony_luni_util_FloatingPointParser_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_util_FloatingPointParser);
+ __CLASS_org_apache_harmony_luni_util_FloatingPointParser_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_util_FloatingPointParser_1ARRAY);
+ __CLASS_org_apache_harmony_luni_util_FloatingPointParser_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_util_FloatingPointParser_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_org_apache_harmony_luni_util_FloatingPointParser]
+ //XMLVM_END_WRAPPER
+
+ __TIB_org_apache_harmony_luni_util_FloatingPointParser.classInitialized = 1;
+}
+
+void __DELETE_org_apache_harmony_luni_util_FloatingPointParser(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_org_apache_harmony_luni_util_FloatingPointParser]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_util_FloatingPointParser(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_util_FloatingPointParser]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_org_apache_harmony_luni_util_FloatingPointParser()
+{ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_FloatingPointParser)
+org_apache_harmony_luni_util_FloatingPointParser* me = (org_apache_harmony_luni_util_FloatingPointParser*) XMLVM_MALLOC(sizeof(org_apache_harmony_luni_util_FloatingPointParser));
+ me->tib = &__TIB_org_apache_harmony_luni_util_FloatingPointParser;
+ __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_util_FloatingPointParser(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_org_apache_harmony_luni_util_FloatingPointParser]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_luni_util_FloatingPointParser()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_org_apache_harmony_luni_util_FloatingPointParser();
+ org_apache_harmony_luni_util_FloatingPointParser___INIT___(me);
+ return me;
+}
+
+void org_apache_harmony_luni_util_FloatingPointParser___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_FloatingPointParser___INIT___]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.FloatingPointParser", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 25)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_DOUBLE org_apache_harmony_luni_util_FloatingPointParser_parseDblImpl___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2)]
+
+//XMLVM_NATIVE[JAVA_FLOAT org_apache_harmony_luni_util_FloatingPointParser_parseFltImpl___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2)]
+
+JAVA_OBJECT org_apache_harmony_luni_util_FloatingPointParser_initialParse___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_FloatingPointParser)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_FloatingPointParser_initialParse___java_lang_String_int]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.FloatingPointParser", "initialParse", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ volatile XMLVMElem _r9;
+ volatile XMLVMElem _r10;
+ volatile XMLVMElem _r11;
+ volatile XMLVMElem _r12;
+ volatile XMLVMElem _r13;
+ _r12.o = n1;
+ _r13.i = n2;
+ _r6.i = 43;
+ _r5.i = -1;
+ _r10.i = -359;
+ _r9.i = 0;
+ _r8.i = 1;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 95)
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 101)
+ if (_r13.i != 0) goto label15;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 102)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label15:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 104)
+ _r0.i = _r13.i - _r8.i;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(12)
+ _r0.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r12.o)->tib->vtable[6])(_r12.o, _r0.i);
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 105)
+ _r1.i = 68;
+ if (_r0.i == _r1.i) goto label37;
+ _r1.i = 100;
+ if (_r0.i == _r1.i) goto label37;
+ _r1.i = 70;
+ if (_r0.i == _r1.i) goto label37;
+ _r1.i = 102;
+ if (_r0.i != _r1.i) goto label47;
+ label37:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 106)
+ _r0.i = _r13.i + -1;
+ if (_r0.i != 0) goto label48;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 107)
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 108)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label47:;
+ _r0 = _r13;
+ label48:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 111)
+ _r1.i = 69;
+ XMLVM_CHECK_NPE(12)
+ _r1.i = java_lang_String_indexOf___int(_r12.o, _r1.i);
+ _r2.i = 101;
+ XMLVM_CHECK_NPE(12)
+ _r2.i = java_lang_String_indexOf___int(_r12.o, _r2.i);
+ _r1.i = java_lang_Math_max___int_int(_r1.i, _r2.i);
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 112)
+ if (_r1.i <= _r5.i) goto label128;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 113)
+ _r2.i = _r1.i + 1;
+ if (_r2.i != _r0.i) goto label76;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 114)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label76:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 116)
+ _r2.i = _r1.i + 1;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 117)
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(12)
+ _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r12.o)->tib->vtable[6])(_r12.o, _r2.i);
+ if (_r3.i != _r6.i) goto label102;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 118)
+ _r3.i = _r2.i + 1;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(12)
+ _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r12.o)->tib->vtable[6])(_r12.o, _r3.i);
+ _r4.i = 45;
+ if (_r3.i != _r4.i) goto label100;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 119)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label100:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 121)
+ _r2.i = _r2.i + 1;
+ label102:;
+ XMLVM_TRY_BEGIN(w2089aaab3b1c74)
+ // Begin try
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 124)
+ XMLVM_CHECK_NPE(12)
+ _r2.o = java_lang_String_substring___int_int(_r12.o, _r2.i, _r0.i);
+ _r2.i = java_lang_Integer_parseInt___java_lang_String(_r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w2089aaab3b1c74)
+ XMLVM_CATCH_END(w2089aaab3b1c74)
+ XMLVM_RESTORE_EXCEPTION_ENV(w2089aaab3b1c74)
+ _r11 = _r2;
+ _r2 = _r1;
+ _r1 = _r11;
+ label113:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 136)
+ if (_r0.i != 0) goto label131;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 137)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label121:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 130)
+ java_lang_Thread* curThread_w2089aaab3b1c87 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w2089aaab3b1c87->fields.java_lang_Thread.xmlvmException_;
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label128:;
+ _r1 = _r9;
+ _r2 = _r0;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 134)
+ goto label113;
+ label131:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 139)
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(12)
+ _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r12.o)->tib->vtable[6])(_r12.o, _r9.i);
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 140)
+ _r4.i = 45;
+ if (_r3.i != _r4.i) goto label154;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 141)
+ _r3.i = _r9.i + 1;
+ _r0.i = _r0.i + -1;
+ _r4 = _r0;
+ _r0 = _r3;
+ _r3 = _r8;
+ label146:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 143)
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 148)
+ if (_r4.i != 0) goto label164;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 149)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label154:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 144)
+ if (_r3.i != _r6.i) goto label298;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 145)
+ _r3.i = _r9.i + 1;
+ _r0.i = _r0.i + -1;
+ _r4 = _r0;
+ _r0 = _r3;
+ _r3 = _r9;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 146)
+ goto label146;
+ label164:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 151)
+ _r4.i = 46;
+ XMLVM_CHECK_NPE(12)
+ _r4.i = java_lang_String_indexOf___int(_r12.o, _r4.i);
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 152)
+ if (_r4.i <= _r5.i) goto label218;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 153)
+ _r5.i = _r2.i - _r4.i;
+ _r5.i = _r5.i - _r8.i;
+ _r1.i = _r1.i - _r5.i;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 154)
+ _r5.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(12)
+ _r0.o = java_lang_String_substring___int_int(_r12.o, _r0.i, _r4.i);
+ _r0.o = java_lang_String_valueOf___java_lang_Object(_r0.o);
+ XMLVM_CHECK_NPE(5)
+ java_lang_StringBuilder___INIT____java_lang_String(_r5.o, _r0.o);
+ _r0.i = _r4.i + 1;
+ XMLVM_CHECK_NPE(12)
+ _r0.o = java_lang_String_substring___int_int(_r12.o, _r0.i, _r2.i);
+ XMLVM_CHECK_NPE(5)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r5.o, _r0.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ _r11 = _r1;
+ _r1 = _r0;
+ _r0 = _r11;
+ label206:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 159)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(1)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
+ if (_r2.i != 0) goto label226;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 160)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label218:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 156)
+ XMLVM_CHECK_NPE(12)
+ _r0.o = java_lang_String_substring___int_int(_r12.o, _r0.i, _r2.i);
+ _r11 = _r1;
+ _r1 = _r0;
+ _r0 = _r11;
+ goto label206;
+ label226:;
+ _r4 = _r2;
+ label227:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 163)
+ if (_r4.i <= _r8.i) goto label239;
+ _r5.i = _r4.i - _r8.i;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(1)
+ _r5.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r1.o)->tib->vtable[6])(_r1.o, _r5.i);
+ _r6.i = 48;
+ if (_r5.i == _r6.i) goto label292;
+ label239:;
+ _r5 = _r9;
+ label240:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 167)
+ _r6.i = _r4.i - _r8.i;
+ if (_r5.i >= _r6.i) goto label252;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(1)
+ _r6.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r1.o)->tib->vtable[6])(_r1.o, _r5.i);
+ _r7.i = 48;
+ if (_r6.i == _r7.i) goto label295;
+ label252:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 170)
+ if (_r4.i != _r2.i) goto label256;
+ if (_r5.i == 0) goto label262;
+ label256:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 171)
+ _r2.i = _r2.i - _r4.i;
+ _r0.i = _r0.i + _r2.i;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 172)
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_String_substring___int_int(_r1.o, _r5.i, _r4.i);
+ label262:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 179)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(1)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r1.o)->tib->vtable[8])(_r1.o);
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 180)
+ _r4.i = 52;
+ if (_r2.i <= _r4.i) goto label286;
+ if (_r0.i >= _r10.i) goto label286;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 181)
+ _r4.i = _r10.i - _r0.i;
+ _r5.i = _r2.i - _r8.i;
+ _r4.i = java_lang_Math_min___int_int(_r4.i, _r5.i);
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 182)
+ _r2.i = _r2.i - _r4.i;
+ XMLVM_CHECK_NPE(1)
+ _r1.o = java_lang_String_substring___int_int(_r1.o, _r9.i, _r2.i);
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 183)
+ _r0.i = _r0.i + _r4.i;
+ label286:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 186)
+
+
+ // Red class access removed: org.apache.harmony.luni.util.FloatingPointParser$StringExponentPair::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: org.apache.harmony.luni.util.FloatingPointParser$StringExponentPair::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ label292:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 164)
+ _r4.i = _r4.i + -1;
+ goto label227;
+ label295:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 168)
+ _r5.i = _r5.i + 1;
+ goto label240;
+ label298:;
+ _r3 = _r9;
+ _r4 = _r0;
+ _r0 = _r9;
+ goto label146;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_DOUBLE org_apache_harmony_luni_util_FloatingPointParser_parseDblName___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_FloatingPointParser)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_FloatingPointParser_parseDblName___java_lang_String_int]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.FloatingPointParser", "parseDblName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r8.o = n1;
+ _r9.i = n2;
+ _r5.i = 8;
+ _r7.i = 3;
+ _r2.i = 1;
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 195)
+ if (_r9.i == _r7.i) goto label22;
+ _r0.i = 4;
+ if (_r9.i == _r0.i) goto label22;
+ if (_r9.i == _r5.i) goto label22;
+ _r0.i = 9;
+ if (_r9.i == _r0.i) goto label22;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 196)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label22:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 201)
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(8)
+ _r0.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r8.o)->tib->vtable[6])(_r8.o, _r1.i);
+ switch (_r0.i) {
+ case 43: goto label72;
+ case 45: goto label46;
+ }
+ _r2 = _r1;
+ _r6 = _r1;
+ label31:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 209)
+ // "Infinity"
+ _r3.o = xmlvm_create_java_string_from_pool(9);
+ _r0 = _r8;
+ _r4 = _r1;
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_regionMatches___boolean_int_java_lang_String_int_int(_r0.o, _r1.i, _r2.i, _r3.o, _r4.i, _r5.i);
+ if (_r0.i == 0) goto label52;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 210)
+ if (_r6.i == 0) goto label49;
+ _r0.d = -Infinity;
+ label45:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 215)
+ XMLVM_EXIT_METHOD()
+ return _r0.d;
+ label46:;
+ _r0 = _r2;
+ label47:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 203)
+ _r6 = _r0;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 205)
+ goto label31;
+ label49:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 211)
+ _r0.d = Infinity;
+ goto label45;
+ label52:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 214)
+ // "NaN"
+ _r3.o = xmlvm_create_java_string_from_pool(8);
+ _r0 = _r8;
+ _r4 = _r1;
+ _r5 = _r7;
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_regionMatches___boolean_int_java_lang_String_int_int(_r0.o, _r1.i, _r2.i, _r3.o, _r4.i, _r5.i);
+ if (_r0.i == 0) goto label66;
+ _r0.d = NaN;
+ goto label45;
+ label66:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 218)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label72:;
+ _r0 = _r1;
+ goto label47;
+ label74:;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_FLOAT org_apache_harmony_luni_util_FloatingPointParser_parseFltName___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_FloatingPointParser)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_FloatingPointParser_parseFltName___java_lang_String_int]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.FloatingPointParser", "parseFltName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ _r8.o = n1;
+ _r9.i = n2;
+ _r5.i = 8;
+ _r7.i = 3;
+ _r2.i = 1;
+ _r1.i = 0;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 227)
+ if (_r9.i == _r7.i) goto label22;
+ _r0.i = 4;
+ if (_r9.i == _r0.i) goto label22;
+ if (_r9.i == _r5.i) goto label22;
+ _r0.i = 9;
+ if (_r9.i == _r0.i) goto label22;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 228)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label22:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 233)
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(8)
+ _r0.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r8.o)->tib->vtable[6])(_r8.o, _r1.i);
+ switch (_r0.i) {
+ case 43: goto label72;
+ case 45: goto label46;
+ }
+ _r2 = _r1;
+ _r6 = _r1;
+ label31:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 241)
+ // "Infinity"
+ _r3.o = xmlvm_create_java_string_from_pool(9);
+ _r0 = _r8;
+ _r4 = _r1;
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_regionMatches___boolean_int_java_lang_String_int_int(_r0.o, _r1.i, _r2.i, _r3.o, _r4.i, _r5.i);
+ if (_r0.i == 0) goto label52;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 242)
+ if (_r6.i == 0) goto label49;
+ _r0.f = -Infinity;
+ label45:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 246)
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ label46:;
+ _r0 = _r2;
+ label47:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 235)
+ _r6 = _r0;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 237)
+ goto label31;
+ label49:;
+ _r0.f = Infinity;
+ goto label45;
+ label52:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 245)
+ // "NaN"
+ _r3.o = xmlvm_create_java_string_from_pool(8);
+ _r0 = _r8;
+ _r4 = _r1;
+ _r5 = _r7;
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_regionMatches___boolean_int_java_lang_String_int_int(_r0.o, _r1.i, _r2.i, _r3.o, _r4.i, _r5.i);
+ if (_r0.i == 0) goto label66;
+ _r0.f = NaN;
+ goto label45;
+ label66:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 249)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label72:;
+ _r0 = _r1;
+ goto label47;
+ label74:;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_DOUBLE org_apache_harmony_luni_util_FloatingPointParser_parseDouble___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_FloatingPointParser)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_FloatingPointParser_parseDouble___java_lang_String]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.FloatingPointParser", "parseDouble", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 263)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = java_lang_String_trim__(_r4.o);
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 264)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[8])(_r0.o);
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 266)
+ if (_r1.i != 0) goto label16;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 267)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label16:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 271)
+ _r2.i = 1;
+ _r2.i = _r1.i - _r2.i;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(0)
+ _r2.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r0.o)->tib->vtable[6])(_r0.o, _r2.i);
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 272)
+ _r3.i = 121;
+ if (_r2.i == _r3.i) goto label31;
+ _r3.i = 78;
+ if (_r2.i != _r3.i) goto label36;
+ label31:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 273)
+ _r0.d = org_apache_harmony_luni_util_FloatingPointParser_parseDblName___java_lang_String_int(_r0.o, _r1.i);
+ label35:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 287)
+ XMLVM_EXIT_METHOD()
+ return _r0.d;
+ label36:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 277)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = java_lang_String_toLowerCase__(_r0.o);
+ // "0x"
+ _r3.o = xmlvm_create_java_string_from_pool(16);
+ XMLVM_CHECK_NPE(2)
+ _r2.i = java_lang_String_indexOf___java_lang_String(_r2.o, _r3.o);
+ _r3.i = -1;
+ if (_r2.i == _r3.i) goto label54;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 278)
+
+
+ // Red class access removed: org.apache.harmony.luni.util.HexStringParser::parseDouble
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label35;
+ label54:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 281)
+ _r0.o = org_apache_harmony_luni_util_FloatingPointParser_initialParse___java_lang_String_int(_r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 283)
+
+
+ // Red class access removed: org.apache.harmony.luni.util.FloatingPointParser$StringExponentPair,java.lang.String::s
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: org.apache.harmony.luni.util.FloatingPointParser$StringExponentPair,int::e
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.d = org_apache_harmony_luni_util_FloatingPointParser_parseDblImpl___java_lang_String_int(_r1.o, _r2.i);
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 284)
+
+
+ // Red class access removed: org.apache.harmony.luni.util.FloatingPointParser$StringExponentPair,boolean::negative
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r0.i == 0) goto label72;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 285)
+ _r0.d = -_r1.d;
+ goto label35;
+ label72:;
+ _r0 = _r1;
+ goto label35;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_FLOAT org_apache_harmony_luni_util_FloatingPointParser_parseFloat___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_FloatingPointParser)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_FloatingPointParser_parseFloat___java_lang_String]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.FloatingPointParser", "parseFloat", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = n1;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 301)
+ XMLVM_CHECK_NPE(4)
+ _r0.o = java_lang_String_trim__(_r4.o);
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 302)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(0)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r0.o)->tib->vtable[8])(_r0.o);
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 304)
+ if (_r1.i != 0) goto label16;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 305)
+
+
+ // Red class access removed: java.lang.NumberFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.NumberFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label16:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 309)
+ _r2.i = 1;
+ _r2.i = _r1.i - _r2.i;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(0)
+ _r2.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r0.o)->tib->vtable[6])(_r0.o, _r2.i);
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 310)
+ _r3.i = 121;
+ if (_r2.i == _r3.i) goto label31;
+ _r3.i = 78;
+ if (_r2.i != _r3.i) goto label36;
+ label31:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 311)
+ _r0.f = org_apache_harmony_luni_util_FloatingPointParser_parseFltName___java_lang_String_int(_r0.o, _r1.i);
+ label35:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 325)
+ XMLVM_EXIT_METHOD()
+ return _r0.f;
+ label36:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 315)
+ XMLVM_CHECK_NPE(0)
+ _r2.o = java_lang_String_toLowerCase__(_r0.o);
+ // "0x"
+ _r3.o = xmlvm_create_java_string_from_pool(16);
+ XMLVM_CHECK_NPE(2)
+ _r2.i = java_lang_String_indexOf___java_lang_String(_r2.o, _r3.o);
+ _r3.i = -1;
+ if (_r2.i == _r3.i) goto label54;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 316)
+
+
+ // Red class access removed: org.apache.harmony.luni.util.HexStringParser::parseFloat
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label35;
+ label54:;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 319)
+ _r0.o = org_apache_harmony_luni_util_FloatingPointParser_initialParse___java_lang_String_int(_r0.o, _r1.i);
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 321)
+
+
+ // Red class access removed: org.apache.harmony.luni.util.FloatingPointParser$StringExponentPair,java.lang.String::s
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: org.apache.harmony.luni.util.FloatingPointParser$StringExponentPair,int::e
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r1.f = org_apache_harmony_luni_util_FloatingPointParser_parseFltImpl___java_lang_String_int(_r1.o, _r2.i);
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 322)
+
+
+ // Red class access removed: org.apache.harmony.luni.util.FloatingPointParser$StringExponentPair,boolean::negative
+ XMLVM_RED_CLASS_DEPENDENCY();
+ if (_r0.i == 0) goto label72;
+ XMLVM_SOURCE_POSITION("FloatingPointParser.java", 323)
+ _r0.f = -_r1.f;
+ goto label35;
+ label72:;
+ _r0 = _r1;
+ goto label35;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/org_apache_harmony_luni_util_FloatingPointParser.h b/tests/nbody-java/org_apache_harmony_luni_util_FloatingPointParser.h
new file mode 100644
index 00000000..a6830979
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_luni_util_FloatingPointParser.h
@@ -0,0 +1,74 @@
+#ifndef __ORG_APACHE_HARMONY_LUNI_UTIL_FLOATINGPOINTPARSER__
+#define __ORG_APACHE_HARMONY_LUNI_UTIL_FLOATINGPOINTPARSER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_org_apache_harmony_luni_util_FloatingPointParser 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Integer
+#define XMLVM_FORWARD_DECL_java_lang_Integer
+XMLVM_FORWARD_DECL(java_lang_Integer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Math
+#define XMLVM_FORWARD_DECL_java_lang_Math
+XMLVM_FORWARD_DECL(java_lang_Math)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+// Class declarations for org.apache.harmony.luni.util.FloatingPointParser
+XMLVM_DEFINE_CLASS(org_apache_harmony_luni_util_FloatingPointParser, 6, XMLVM_ITABLE_SIZE_org_apache_harmony_luni_util_FloatingPointParser)
+
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_FloatingPointParser;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_FloatingPointParser_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_FloatingPointParser_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_FloatingPointParser_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_luni_util_FloatingPointParser
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_org_apache_harmony_luni_util_FloatingPointParser \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_luni_util_FloatingPointParser \
+ } org_apache_harmony_luni_util_FloatingPointParser
+
+struct org_apache_harmony_luni_util_FloatingPointParser {
+ __TIB_DEFINITION_org_apache_harmony_luni_util_FloatingPointParser* tib;
+ struct {
+ __INSTANCE_FIELDS_org_apache_harmony_luni_util_FloatingPointParser;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_FloatingPointParser
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_FloatingPointParser
+typedef struct org_apache_harmony_luni_util_FloatingPointParser org_apache_harmony_luni_util_FloatingPointParser;
+#endif
+
+#define XMLVM_VTABLE_SIZE_org_apache_harmony_luni_util_FloatingPointParser 6
+
+void __INIT_org_apache_harmony_luni_util_FloatingPointParser();
+void __INIT_IMPL_org_apache_harmony_luni_util_FloatingPointParser();
+void __DELETE_org_apache_harmony_luni_util_FloatingPointParser(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_util_FloatingPointParser(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_org_apache_harmony_luni_util_FloatingPointParser();
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_luni_util_FloatingPointParser();
+void org_apache_harmony_luni_util_FloatingPointParser___INIT___(JAVA_OBJECT me);
+JAVA_DOUBLE org_apache_harmony_luni_util_FloatingPointParser_parseDblImpl___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_FLOAT org_apache_harmony_luni_util_FloatingPointParser_parseFltImpl___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_OBJECT org_apache_harmony_luni_util_FloatingPointParser_initialParse___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_DOUBLE org_apache_harmony_luni_util_FloatingPointParser_parseDblName___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_FLOAT org_apache_harmony_luni_util_FloatingPointParser_parseFltName___java_lang_String_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_DOUBLE org_apache_harmony_luni_util_FloatingPointParser_parseDouble___java_lang_String(JAVA_OBJECT n1);
+JAVA_FLOAT org_apache_harmony_luni_util_FloatingPointParser_parseFloat___java_lang_String(JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/org_apache_harmony_luni_util_NumberConverter.c b/tests/nbody-java/org_apache_harmony_luni_util_NumberConverter.c
new file mode 100644
index 00000000..6f49e4c0
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_luni_util_NumberConverter.c
@@ -0,0 +1,1357 @@
+#include "xmlvm.h"
+#include "java_lang_Double.h"
+#include "java_lang_Float.h"
+#include "java_lang_Integer.h"
+#include "java_lang_Math.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+
+#include "org_apache_harmony_luni_util_NumberConverter.h"
+
+#define XMLVM_CURRENT_CLASS_NAME NumberConverter
+#define XMLVM_CURRENT_PKG_CLASS_NAME org_apache_harmony_luni_util_NumberConverter
+
+__TIB_DEFINITION_org_apache_harmony_luni_util_NumberConverter __TIB_org_apache_harmony_luni_util_NumberConverter = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_apache_harmony_luni_util_NumberConverter, // classInitializer
+ "org.apache.harmony.luni.util.NumberConverter", // className
+ "org.apache.harmony.luni.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(org_apache_harmony_luni_util_NumberConverter), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_NumberConverter;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_NumberConverter_1ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_NumberConverter_2ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_NumberConverter_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_DOUBLE _STATIC_org_apache_harmony_luni_util_NumberConverter_invLogOfTenBaseTwo;
+static JAVA_OBJECT _STATIC_org_apache_harmony_luni_util_NumberConverter_TEN_TO_THE;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_org_apache_harmony_luni_util_NumberConverter()
+{
+ staticInitializerLock(&__TIB_org_apache_harmony_luni_util_NumberConverter);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_apache_harmony_luni_util_NumberConverter.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_apache_harmony_luni_util_NumberConverter.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_apache_harmony_luni_util_NumberConverter);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_apache_harmony_luni_util_NumberConverter.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_apache_harmony_luni_util_NumberConverter.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_apache_harmony_luni_util_NumberConverter.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.apache.harmony.luni.util.NumberConverter")
+ __INIT_IMPL_org_apache_harmony_luni_util_NumberConverter();
+ }
+}
+
+void __INIT_IMPL_org_apache_harmony_luni_util_NumberConverter()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_org_apache_harmony_luni_util_NumberConverter.newInstanceFunc = __NEW_INSTANCE_org_apache_harmony_luni_util_NumberConverter;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_org_apache_harmony_luni_util_NumberConverter.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_org_apache_harmony_luni_util_NumberConverter.numImplementedInterfaces = 0;
+ __TIB_org_apache_harmony_luni_util_NumberConverter.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_org_apache_harmony_luni_util_NumberConverter_invLogOfTenBaseTwo = 0;
+ _STATIC_org_apache_harmony_luni_util_NumberConverter_TEN_TO_THE = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+
+ __TIB_org_apache_harmony_luni_util_NumberConverter.declaredFields = &__field_reflection_data[0];
+ __TIB_org_apache_harmony_luni_util_NumberConverter.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_org_apache_harmony_luni_util_NumberConverter.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_org_apache_harmony_luni_util_NumberConverter.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_org_apache_harmony_luni_util_NumberConverter.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_org_apache_harmony_luni_util_NumberConverter.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_apache_harmony_luni_util_NumberConverter.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_apache_harmony_luni_util_NumberConverter.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_org_apache_harmony_luni_util_NumberConverter = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_apache_harmony_luni_util_NumberConverter);
+ __TIB_org_apache_harmony_luni_util_NumberConverter.clazz = __CLASS_org_apache_harmony_luni_util_NumberConverter;
+ __TIB_org_apache_harmony_luni_util_NumberConverter.baseType = JAVA_NULL;
+ __CLASS_org_apache_harmony_luni_util_NumberConverter_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_util_NumberConverter);
+ __CLASS_org_apache_harmony_luni_util_NumberConverter_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_util_NumberConverter_1ARRAY);
+ __CLASS_org_apache_harmony_luni_util_NumberConverter_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_util_NumberConverter_2ARRAY);
+ org_apache_harmony_luni_util_NumberConverter___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_org_apache_harmony_luni_util_NumberConverter]
+ //XMLVM_END_WRAPPER
+
+ __TIB_org_apache_harmony_luni_util_NumberConverter.classInitialized = 1;
+}
+
+void __DELETE_org_apache_harmony_luni_util_NumberConverter(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_org_apache_harmony_luni_util_NumberConverter]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_util_NumberConverter(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((org_apache_harmony_luni_util_NumberConverter*) me)->fields.org_apache_harmony_luni_util_NumberConverter.setCount_ = 0;
+ ((org_apache_harmony_luni_util_NumberConverter*) me)->fields.org_apache_harmony_luni_util_NumberConverter.getCount_ = 0;
+ ((org_apache_harmony_luni_util_NumberConverter*) me)->fields.org_apache_harmony_luni_util_NumberConverter.uArray_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ ((org_apache_harmony_luni_util_NumberConverter*) me)->fields.org_apache_harmony_luni_util_NumberConverter.firstK_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_util_NumberConverter]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_org_apache_harmony_luni_util_NumberConverter()
+{ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_NumberConverter)
+org_apache_harmony_luni_util_NumberConverter* me = (org_apache_harmony_luni_util_NumberConverter*) XMLVM_MALLOC(sizeof(org_apache_harmony_luni_util_NumberConverter));
+ me->tib = &__TIB_org_apache_harmony_luni_util_NumberConverter;
+ __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_util_NumberConverter(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_org_apache_harmony_luni_util_NumberConverter]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_luni_util_NumberConverter()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_org_apache_harmony_luni_util_NumberConverter();
+ org_apache_harmony_luni_util_NumberConverter___INIT___(me);
+ return me;
+}
+
+JAVA_DOUBLE org_apache_harmony_luni_util_NumberConverter_GET_invLogOfTenBaseTwo()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_NumberConverter)
+ return _STATIC_org_apache_harmony_luni_util_NumberConverter_invLogOfTenBaseTwo;
+}
+
+void org_apache_harmony_luni_util_NumberConverter_PUT_invLogOfTenBaseTwo(JAVA_DOUBLE v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_NumberConverter)
+_STATIC_org_apache_harmony_luni_util_NumberConverter_invLogOfTenBaseTwo = v;
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_NumberConverter_GET_TEN_TO_THE()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_NumberConverter)
+ return _STATIC_org_apache_harmony_luni_util_NumberConverter_TEN_TO_THE;
+}
+
+void org_apache_harmony_luni_util_NumberConverter_PUT_TEN_TO_THE(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_NumberConverter)
+_STATIC_org_apache_harmony_luni_util_NumberConverter_TEN_TO_THE = v;
+}
+
+void org_apache_harmony_luni_util_NumberConverter___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_NumberConverter___CLINIT___]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.NumberConverter", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r7.i = 1;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 31)
+ _r0.d = 2.0;
+ _r0.d = java_lang_Math_log___double(_r0.d);
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 32)
+ _r2.d = 10.0;
+ _r2.d = java_lang_Math_log___double(_r2.d);
+ _r0.d = _r0.d / _r2.d;
+ org_apache_harmony_luni_util_NumberConverter_PUT_invLogOfTenBaseTwo( _r0.d);
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 34)
+ _r0.i = 20;
+ XMLVM_CLASS_INIT(long)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_long, _r0.i);
+ org_apache_harmony_luni_util_NumberConverter_PUT_TEN_TO_THE( _r0.o);
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 37)
+ _r0.o = org_apache_harmony_luni_util_NumberConverter_GET_TEN_TO_THE();
+ _r1.i = 0;
+ _r2.l = 1;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_LONG*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.l;
+ _r0 = _r7;
+ label30:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 38)
+ _r1.o = org_apache_harmony_luni_util_NumberConverter_GET_TEN_TO_THE();
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ if (_r0.i < _r1.i) goto label36;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 21)
+ XMLVM_EXIT_METHOD()
+ return;
+ label36:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 39)
+ _r1.o = org_apache_harmony_luni_util_NumberConverter_GET_TEN_TO_THE();
+ _r2.i = _r0.i - _r7.i;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r2.i);
+ _r1.l = ((JAVA_ARRAY_LONG*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 40)
+ _r3.o = org_apache_harmony_luni_util_NumberConverter_GET_TEN_TO_THE();
+ _r4.l = _r1.l << (0x3f & _r7.l);
+ _r6.i = 3;
+ _r1.l = _r1.l << (0x3f & _r6.l);
+ _r1.l = _r1.l + _r4.l;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ ((JAVA_ARRAY_LONG*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r1.l;
+ _r0.i = _r0.i + 1;
+ goto label30;
+ //XMLVM_END_WRAPPER
+}
+
+void org_apache_harmony_luni_util_NumberConverter___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_NumberConverter___INIT___]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.NumberConverter", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 21)
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 27)
+ _r0.i = 64;
+ XMLVM_CLASS_INIT(int)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_int, _r0.i);
+ XMLVM_CHECK_NPE(1)
+ ((org_apache_harmony_luni_util_NumberConverter*) _r1.o)->fields.org_apache_harmony_luni_util_NumberConverter.uArray_ = _r0.o;
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_NumberConverter_getConverter__()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_NumberConverter)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_NumberConverter_getConverter__]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.NumberConverter", "getConverter", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 45)
+ _r0.o = __NEW_org_apache_harmony_luni_util_NumberConverter();
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_luni_util_NumberConverter___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_NumberConverter_convert___double(JAVA_DOUBLE n1)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_NumberConverter)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_NumberConverter_convert___double]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.NumberConverter", "convert", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.d = n1;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 49)
+ _r0.o = org_apache_harmony_luni_util_NumberConverter_getConverter__();
+ XMLVM_CHECK_NPE(0)
+ _r0.o = org_apache_harmony_luni_util_NumberConverter_convertD___double(_r0.o, _r1.d);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_NumberConverter_convert___float(JAVA_FLOAT n1)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_NumberConverter)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_NumberConverter_convert___float]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.NumberConverter", "convert", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.f = n1;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 53)
+ _r0.o = org_apache_harmony_luni_util_NumberConverter_getConverter__();
+ XMLVM_CHECK_NPE(0)
+ _r0.o = org_apache_harmony_luni_util_NumberConverter_convertF___float(_r0.o, _r1.f);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_NumberConverter_convertD___double(JAVA_OBJECT me, JAVA_DOUBLE n1)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_NumberConverter_convertD___double]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.NumberConverter", "convertD", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ XMLVMElem _r14;
+ XMLVMElem _r15;
+ XMLVMElem _r16;
+ _r14.o = me;
+ _r15.d = n1;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 57)
+ _r0.i = 1075;
+ _r1.l = -9223372036854775808;
+ _r3.l = 9218868437227405312;
+ _r5.l = 4503599627370495;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 64)
+ _r7.l = java_lang_Double_doubleToLongBits___double(_r15.d);
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 66)
+ _r1.l = _r1.l & _r7.l;
+ _r9.l = 0;
+ _r1.i = _r1.l > _r9.l ? 1 : (_r1.l == _r9.l ? 0 : -1);
+ if (_r1.i != 0) goto label69;
+ // ""
+ _r1.o = xmlvm_create_java_string_from_pool(21);
+ _r9 = _r1;
+ label25:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 68)
+ _r1.l = _r7.l & _r3.l;
+ _r3.i = 52;
+ _r1.l = _r1.l >> (0x3f & _r3.l);
+ _r4.i = (JAVA_INT) _r1.l;
+ _r1.l = _r7.l & _r5.l;
+ _r5.l = 0;
+ _r3.i = _r1.l > _r5.l ? 1 : (_r1.l == _r5.l ? 0 : -1);
+ if (_r3.i != 0) goto label73;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 71)
+ _r3.i = 1;
+ _r5 = _r3;
+ label41:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 72)
+ _r3.i = 52;
+ _r6.i = 2047;
+ if (_r4.i != _r6.i) goto label79;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 74)
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 75)
+ if (_r5.i == 0) goto label76;
+ _r0.o = __NEW_java_lang_StringBuilder();
+ _r1.o = java_lang_String_valueOf___java_lang_Object(_r9.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____java_lang_String(_r0.o, _r1.o);
+ // "Infinity"
+ _r1.o = xmlvm_create_java_string_from_pool(9);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ label68:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 106)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label69:;
+ // "-"
+ _r1.o = xmlvm_create_java_string_from_pool(92);
+ _r9 = _r1;
+ goto label25;
+ label73:;
+ _r3.i = 0;
+ _r5 = _r3;
+ goto label41;
+ label76:;
+ // "NaN"
+ _r0.o = xmlvm_create_java_string_from_pool(8);
+ goto label68;
+ label79:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 76)
+ if (_r4.i != 0) goto label229;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 77)
+ if (_r5.i == 0) goto label103;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 78)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ _r1.o = java_lang_String_valueOf___java_lang_Object(_r9.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____java_lang_String(_r0.o, _r1.o);
+ // "0.0"
+ _r1.o = xmlvm_create_java_string_from_pool(93);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ goto label68;
+ label103:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 79)
+ _r6.l = 1;
+ _r6.i = _r1.l > _r6.l ? 1 : (_r1.l == _r6.l ? 0 : -1);
+ if (_r6.i != 0) goto label129;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 82)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ _r1.o = java_lang_String_valueOf___java_lang_Object(_r9.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____java_lang_String(_r0.o, _r1.o);
+ // "4.9E-324"
+ _r1.o = xmlvm_create_java_string_from_pool(94);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ goto label68;
+ label129:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 83)
+ _r6.i = 1;
+ _r0.i = _r6.i - _r0.i;
+ _r6 = _r1;
+ label133:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 85)
+ _r10.l = 4503599627370496;
+ _r10.l = _r10.l & _r6.l;
+ _r12.l = 0;
+ _r8.i = _r10.l > _r12.l ? 1 : (_r10.l == _r12.l ? 0 : -1);
+ if (_r8.i == 0) goto label224;
+ _r6 = _r3;
+ _r3 = _r0;
+ label144:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 96)
+ _r0.i = -59;
+ if (_r0.i >= _r3.i) goto label151;
+ _r0.i = 6;
+ if (_r3.i < _r0.i) goto label157;
+ label151:;
+ _r0.i = -59;
+ if (_r3.i != _r0.i) goto label240;
+ if (_r5.i != 0) goto label240;
+ label157:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 97)
+ if (_r4.i != 0) goto label237;
+ _r0.i = 1;
+ _r4 = _r0;
+ label161:;
+ _r0 = _r14;
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_luni_util_NumberConverter_longDigitGenerator___long_int_boolean_boolean_int(_r0.o, _r1.l, _r3.i, _r4.i, _r5.i, _r6.i);
+ label165:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 102)
+ _r0.d = 1.0E7;
+ _r0.i = _r15.d > _r0.d ? 1 : (_r15.d == _r0.d ? 0 : -1);
+ if (_r0.i >= 0) goto label201;
+ _r0.d = -1.0E7;
+ _r0.i = _r15.d > _r0.d ? 1 : (_r15.d == _r0.d ? 0 : -1);
+ if (_r0.i <= 0) goto label201;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 103)
+ _r0.d = -0.001;
+ _r0.i = _r15.d > _r0.d ? 1 : (_r15.d == _r0.d ? 0 : -1);
+ if (_r0.i <= 0) goto label252;
+ _r0.d = 0.001;
+ _r0.i = _r15.d > _r0.d ? 1 : (_r15.d == _r0.d ? 0 : -1);
+ if (_r0.i >= 0) goto label252;
+ label201:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 104)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ _r1.o = java_lang_String_valueOf___java_lang_Object(_r9.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_CHECK_NPE(14)
+ _r1.o = org_apache_harmony_luni_util_NumberConverter_freeFormatExponential__(_r14.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ goto label68;
+ label224:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 86)
+ _r8.i = 1;
+ _r6.l = _r6.l << (0x3f & _r8.l);
+ _r3.i = _r3.i + -1;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 87)
+ goto label133;
+ label229:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 92)
+ _r6.l = 4503599627370496;
+ _r1.l = _r1.l | _r6.l;
+ _r0.i = _r4.i - _r0.i;
+ _r6 = _r3;
+ _r3 = _r0;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 93)
+ goto label144;
+ label237:;
+ _r0.i = 0;
+ _r4 = _r0;
+ goto label161;
+ label240:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 99)
+ if (_r4.i != 0) goto label249;
+ _r0.i = 1;
+ _r4 = _r0;
+ label244:;
+ _r0 = _r14;
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_luni_util_NumberConverter_bigIntDigitGeneratorInstImpl___long_int_boolean_boolean_int(_r0.o, _r1.l, _r3.i, _r4.i, _r5.i, _r6.i);
+ goto label165;
+ label249:;
+ _r0.i = 0;
+ _r4 = _r0;
+ goto label244;
+ label252:;
+ _r0.o = __NEW_java_lang_StringBuilder();
+ _r1.o = java_lang_String_valueOf___java_lang_Object(_r9.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_CHECK_NPE(14)
+ _r1.o = org_apache_harmony_luni_util_NumberConverter_freeFormat__(_r14.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ goto label68;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_NumberConverter_convertF___float(JAVA_OBJECT me, JAVA_FLOAT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_NumberConverter_convertF___float]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.NumberConverter", "convertF", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ _r12.o = me;
+ _r13.f = n1;
+ _r6.i = 8388608;
+ _r11.i = -59;
+ _r10.i = 0;
+ _r9.i = 1;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 110)
+ _r0.i = 150;
+ _r1.i = -2147483648;
+ _r2.i = 2139095040;
+ _r3.i = 8388607;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 115)
+ _r4.i = java_lang_Float_floatToIntBits___float(_r13.f);
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 117)
+ _r1.i = _r1.i & _r4.i;
+ if (_r1.i != 0) goto label62;
+ // ""
+ _r1.o = xmlvm_create_java_string_from_pool(21);
+ _r7 = _r1;
+ label25:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 119)
+ _r1.i = _r4.i & _r2.i;
+ _r8.i = _r1.i >> 23;
+ _r1.i = _r4.i & _r3.i;
+ if (_r1.i != 0) goto label66;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 122)
+ _r5 = _r9;
+ label34:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 123)
+ _r2.i = 23;
+ _r3.i = 255;
+ if (_r8.i != _r3.i) goto label71;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 125)
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 126)
+ if (_r5.i == 0) goto label68;
+ _r0.o = __NEW_java_lang_StringBuilder();
+ _r1.o = java_lang_String_valueOf___java_lang_Object(_r7.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____java_lang_String(_r0.o, _r1.o);
+ // "Infinity"
+ _r1.o = xmlvm_create_java_string_from_pool(9);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ label61:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 156)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label62:;
+ // "-"
+ _r1.o = xmlvm_create_java_string_from_pool(92);
+ _r7 = _r1;
+ goto label25;
+ label66:;
+ _r5 = _r10;
+ goto label34;
+ label68:;
+ // "NaN"
+ _r0.o = xmlvm_create_java_string_from_pool(8);
+ goto label61;
+ label71:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 127)
+ if (_r8.i != 0) goto label187;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 128)
+ if (_r5.i == 0) goto label95;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 129)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ _r1.o = java_lang_String_valueOf___java_lang_Object(_r7.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____java_lang_String(_r0.o, _r1.o);
+ // "0.0"
+ _r1.o = xmlvm_create_java_string_from_pool(93);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ goto label61;
+ label95:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 130)
+ _r0.i = _r9.i - _r0.i;
+ _r3.i = 8;
+ if (_r1.i >= _r3.i) goto label105;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 131)
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 132)
+ _r1.i = _r1.i << 2;
+ _r0.i = _r0.i + -2;
+ label105:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 133)
+ _r3 = _r2;
+ _r2 = _r1;
+ label107:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 136)
+ _r4.i = _r2.i & _r6.i;
+ if (_r4.i == 0) goto label182;
+ _r6 = _r3;
+ _r3 = _r0;
+ _r0 = _r1;
+ label114:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 147)
+ if (_r11.i >= _r3.i) goto label120;
+ _r1.i = 35;
+ if (_r3.i < _r1.i) goto label124;
+ label120:;
+ if (_r3.i != _r11.i) goto label196;
+ if (_r5.i != 0) goto label196;
+ label124:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 148)
+ _r1.l = (JAVA_LONG) _r0.i;
+ if (_r8.i != 0) goto label194;
+ _r4 = _r9;
+ label128:;
+ _r0 = _r12;
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_luni_util_NumberConverter_longDigitGenerator___long_int_boolean_boolean_int(_r0.o, _r1.l, _r3.i, _r4.i, _r5.i, _r6.i);
+ label132:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 152)
+ _r0.f = 1.0E7;
+ _r0.i = _r13.f > _r0.f ? 1 : (_r13.f == _r0.f ? 0 : -1);
+ if (_r0.i >= 0) goto label160;
+ _r0.f = -1.0E7;
+ _r0.i = _r13.f > _r0.f ? 1 : (_r13.f == _r0.f ? 0 : -1);
+ if (_r0.i <= 0) goto label160;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 153)
+ _r0.f = -0.001;
+ _r0.i = _r13.f > _r0.f ? 1 : (_r13.f == _r0.f ? 0 : -1);
+ if (_r0.i <= 0) goto label207;
+ _r0.f = 0.001;
+ _r0.i = _r13.f > _r0.f ? 1 : (_r13.f == _r0.f ? 0 : -1);
+ if (_r0.i >= 0) goto label207;
+ label160:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 154)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ _r1.o = java_lang_String_valueOf___java_lang_Object(_r7.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_CHECK_NPE(12)
+ _r1.o = org_apache_harmony_luni_util_NumberConverter_freeFormatExponential__(_r12.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ goto label61;
+ label182:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 137)
+ _r2.i = _r2.i << 1;
+ _r3.i = _r3.i + -1;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 138)
+ goto label107;
+ label187:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 143)
+ _r1.i = _r1.i | _r6.i;
+ _r0.i = _r8.i - _r0.i;
+ _r6 = _r2;
+ _r3 = _r0;
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 144)
+ goto label114;
+ label194:;
+ _r4 = _r10;
+ goto label128;
+ label196:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 150)
+ _r1.l = (JAVA_LONG) _r0.i;
+ if (_r8.i != 0) goto label205;
+ _r4 = _r9;
+ label200:;
+ _r0 = _r12;
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_luni_util_NumberConverter_bigIntDigitGeneratorInstImpl___long_int_boolean_boolean_int(_r0.o, _r1.l, _r3.i, _r4.i, _r5.i, _r6.i);
+ goto label132;
+ label205:;
+ _r4 = _r10;
+ goto label200;
+ label207:;
+ _r0.o = __NEW_java_lang_StringBuilder();
+ _r1.o = java_lang_String_valueOf___java_lang_Object(_r7.o);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____java_lang_String(_r0.o, _r1.o);
+ XMLVM_CHECK_NPE(12)
+ _r1.o = org_apache_harmony_luni_util_NumberConverter_freeFormat__(_r12.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r0.o, _r1.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ goto label61;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_NumberConverter_freeFormatExponential__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_NumberConverter_freeFormatExponential__]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.NumberConverter", "freeFormatExponential", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ _r10.o = me;
+ _r9.i = 1;
+ _r8.i = 0;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 161)
+ _r0.i = 25;
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 162)
+ XMLVM_CHECK_NPE(10)
+ _r1.o = ((org_apache_harmony_luni_util_NumberConverter*) _r10.o)->fields.org_apache_harmony_luni_util_NumberConverter.uArray_;
+ XMLVM_CHECK_NPE(10)
+ _r2.i = ((org_apache_harmony_luni_util_NumberConverter*) _r10.o)->fields.org_apache_harmony_luni_util_NumberConverter.getCount_;
+ _r3.i = _r2.i + 1;
+ XMLVM_CHECK_NPE(10)
+ ((org_apache_harmony_luni_util_NumberConverter*) _r10.o)->fields.org_apache_harmony_luni_util_NumberConverter.getCount_ = _r3.i;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r2.i);
+ _r1.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i];
+ _r1.i = _r1.i + 48;
+ _r1.i = _r1.i & 0xffff;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r8.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r1.i;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 163)
+ _r1.i = 46;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r9.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r1.i;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 166)
+ _r1.i = 2;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 168)
+ XMLVM_CHECK_NPE(10)
+ _r2.i = ((org_apache_harmony_luni_util_NumberConverter*) _r10.o)->fields.org_apache_harmony_luni_util_NumberConverter.firstK_;
+ _r3 = _r1;
+ _r1 = _r2;
+ label30:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 169)
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 171)
+ _r1.i = _r1.i + -1;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 172)
+ XMLVM_CHECK_NPE(10)
+ _r4.i = ((org_apache_harmony_luni_util_NumberConverter*) _r10.o)->fields.org_apache_harmony_luni_util_NumberConverter.getCount_;
+ XMLVM_CHECK_NPE(10)
+ _r5.i = ((org_apache_harmony_luni_util_NumberConverter*) _r10.o)->fields.org_apache_harmony_luni_util_NumberConverter.setCount_;
+ if (_r4.i < _r5.i) goto label81;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 178)
+ _r4.i = _r2.i - _r9.i;
+ if (_r1.i != _r4.i) goto label100;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 179)
+ _r1.i = _r3.i + 1;
+ _r4.i = 48;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.i;
+ label48:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 180)
+ _r3.i = _r1.i + 1;
+ _r4.i = 69;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 181)
+ _r1.o = __NEW_java_lang_StringBuilder();
+ _r4.o = __NEW_java_lang_String();
+ XMLVM_CHECK_NPE(4)
+ java_lang_String___INIT____char_1ARRAY_int_int(_r4.o, _r0.o, _r8.i, _r3.i);
+ _r0.o = java_lang_String_valueOf___java_lang_Object(_r4.o);
+ XMLVM_CHECK_NPE(1)
+ java_lang_StringBuilder___INIT____java_lang_String(_r1.o, _r0.o);
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 182)
+ _r0.o = java_lang_Integer_toString___int(_r2.i);
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_StringBuilder_append___java_lang_String(_r1.o, _r0.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label81:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 175)
+ _r4.i = _r3.i + 1;
+ XMLVM_CHECK_NPE(10)
+ _r5.o = ((org_apache_harmony_luni_util_NumberConverter*) _r10.o)->fields.org_apache_harmony_luni_util_NumberConverter.uArray_;
+ XMLVM_CHECK_NPE(10)
+ _r6.i = ((org_apache_harmony_luni_util_NumberConverter*) _r10.o)->fields.org_apache_harmony_luni_util_NumberConverter.getCount_;
+ _r7.i = _r6.i + 1;
+ XMLVM_CHECK_NPE(10)
+ ((org_apache_harmony_luni_util_NumberConverter*) _r10.o)->fields.org_apache_harmony_luni_util_NumberConverter.getCount_ = _r7.i;
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r6.i);
+ _r5.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i];
+ _r5.i = _r5.i + 48;
+ _r5.i = _r5.i & 0xffff;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r5.i;
+ _r3 = _r4;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 170)
+ goto label30;
+ label100:;
+ _r1 = _r3;
+ goto label48;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_NumberConverter_freeFormat__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_NumberConverter_freeFormat__]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.NumberConverter", "freeFormat", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ _r11.o = me;
+ _r9.i = 46;
+ _r8.i = 48;
+ _r7.i = 0;
+ _r6.i = -1;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 187)
+ _r0.i = 25;
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r0.i);
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 191)
+ XMLVM_CHECK_NPE(11)
+ _r1.i = ((org_apache_harmony_luni_util_NumberConverter*) _r11.o)->fields.org_apache_harmony_luni_util_NumberConverter.firstK_;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 192)
+ if (_r1.i >= 0) goto label111;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 193)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r7.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r8.i;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 194)
+ _r2.i = 1;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r2.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r2.i] = _r9.i;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 195)
+ _r2.i = _r7.i + 2;
+ _r3.i = _r1.i + 1;
+ _r10 = _r3;
+ _r3 = _r2;
+ _r2 = _r10;
+ label26:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 196)
+ if (_r2.i < 0) goto label88;
+ _r2 = _r3;
+ label29:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 200)
+ XMLVM_CHECK_NPE(11)
+ _r3.o = ((org_apache_harmony_luni_util_NumberConverter*) _r11.o)->fields.org_apache_harmony_luni_util_NumberConverter.uArray_;
+ XMLVM_CHECK_NPE(11)
+ _r4.i = ((org_apache_harmony_luni_util_NumberConverter*) _r11.o)->fields.org_apache_harmony_luni_util_NumberConverter.getCount_;
+ _r5.i = _r4.i + 1;
+ XMLVM_CHECK_NPE(11)
+ ((org_apache_harmony_luni_util_NumberConverter*) _r11.o)->fields.org_apache_harmony_luni_util_NumberConverter.getCount_ = _r5.i;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ _r3.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ _r10 = _r3;
+ _r3 = _r2;
+ _r2 = _r1;
+ _r1 = _r10;
+ label43:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 202)
+ if (_r1.i == _r6.i) goto label96;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 203)
+ _r4.i = _r3.i + 1;
+ _r1.i = _r1.i + 48;
+ _r1.i = _r1.i & 0xffff;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r1.i;
+ _r1 = _r4;
+ label53:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 207)
+ if (_r2.i != 0) goto label60;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 208)
+ _r3.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r9.i;
+ _r1 = _r3;
+ label60:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 210)
+ _r2.i = _r2.i + -1;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 211)
+ XMLVM_CHECK_NPE(11)
+ _r3.i = ((org_apache_harmony_luni_util_NumberConverter*) _r11.o)->fields.org_apache_harmony_luni_util_NumberConverter.getCount_;
+ XMLVM_CHECK_NPE(11)
+ _r4.i = ((org_apache_harmony_luni_util_NumberConverter*) _r11.o)->fields.org_apache_harmony_luni_util_NumberConverter.setCount_;
+ if (_r3.i >= _r4.i) goto label103;
+ XMLVM_CHECK_NPE(11)
+ _r3.o = ((org_apache_harmony_luni_util_NumberConverter*) _r11.o)->fields.org_apache_harmony_luni_util_NumberConverter.uArray_;
+ XMLVM_CHECK_NPE(11)
+ _r4.i = ((org_apache_harmony_luni_util_NumberConverter*) _r11.o)->fields.org_apache_harmony_luni_util_NumberConverter.getCount_;
+ _r5.i = _r4.i + 1;
+ XMLVM_CHECK_NPE(11)
+ ((org_apache_harmony_luni_util_NumberConverter*) _r11.o)->fields.org_apache_harmony_luni_util_NumberConverter.getCount_ = _r5.i;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ _r3.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ label78:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 212)
+ if (_r3.i != _r6.i) goto label105;
+ if (_r2.i >= _r6.i) goto label105;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 213)
+ _r2.o = __NEW_java_lang_String();
+ XMLVM_CHECK_NPE(2)
+ java_lang_String___INIT____char_1ARRAY_int_int(_r2.o, _r0.o, _r7.i, _r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ label88:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 197)
+ _r4.i = _r3.i + 1;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r8.i;
+ _r2.i = _r2.i + 1;
+ _r3 = _r4;
+ goto label26;
+ label96:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 204)
+ if (_r2.i < _r6.i) goto label109;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 205)
+ _r1.i = _r3.i + 1;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r3.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r8.i;
+ goto label53;
+ label103:;
+ _r3 = _r6;
+ goto label78;
+ label105:;
+ _r10 = _r3;
+ _r3 = _r1;
+ _r1 = _r10;
+ goto label43;
+ label109:;
+ _r1 = _r3;
+ goto label53;
+ label111:;
+ _r2 = _r7;
+ goto label29;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void org_apache_harmony_luni_util_NumberConverter_bigIntDigitGeneratorInstImpl___long_int_boolean_boolean_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_INT n2, JAVA_BOOLEAN n3, JAVA_BOOLEAN n4, JAVA_INT n5)]
+
+void org_apache_harmony_luni_util_NumberConverter_longDigitGenerator___long_int_boolean_boolean_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_INT n2, JAVA_BOOLEAN n3, JAVA_BOOLEAN n4, JAVA_INT n5)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_NumberConverter_longDigitGenerator___long_int_boolean_boolean_int]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.NumberConverter", "longDigitGenerator", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ XMLVMElem _r14;
+ XMLVMElem _r15;
+ XMLVMElem _r16;
+ XMLVMElem _r17;
+ XMLVMElem _r18;
+ XMLVMElem _r19;
+ XMLVMElem _r20;
+ XMLVMElem _r21;
+ _r15.o = me;
+ _r16.l = n1;
+ _r18.i = n2;
+ _r19.i = n3;
+ _r20.i = n4;
+ _r21.i = n5;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 222)
+ if (_r18.i < 0) goto label130;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 223)
+ _r0.l = 1;
+ _r0.l = _r0.l << (0x3f & _r18.l);
+ if (_r20.i != 0) goto label120;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 224)
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 225)
+ _r2.i = _r18.i + 1;
+ _r2.l = _r16.l << (0x3f & _r2.l);
+ _r4.l = 2;
+ _r13 = _r4;
+ _r4 = _r2;
+ _r2 = _r13;
+ label17:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 226)
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 242)
+ _r6.i = _r18.i + _r21.i;
+ _r7.i = 1;
+ _r6.i = _r6.i - _r7.i;
+ _r6.d = (JAVA_DOUBLE) _r6.i;
+ _r8.d = org_apache_harmony_luni_util_NumberConverter_GET_invLogOfTenBaseTwo();
+ _r6.d = _r6.d * _r8.d;
+ _r8.d = 1.0E-10;
+ _r6.d = _r6.d - _r8.d;
+ _r6.d = java_lang_Math_ceil___double(_r6.d);
+ _r6.i = (JAVA_INT) _r6.d;
+ if (_r6.i <= 0) goto label164;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 244)
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 245)
+ _r7.o = org_apache_harmony_luni_util_NumberConverter_GET_TEN_TO_THE();
+ XMLVM_CHECK_NPE(7)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r6.i);
+ _r7.l = ((JAVA_ARRAY_LONG*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i];
+ _r2.l = _r2.l * _r7.l;
+ label43:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 252)
+ _r7.l = _r4.l + _r0.l;
+ _r7.i = _r7.l > _r2.l ? 1 : (_r7.l == _r2.l ? 0 : -1);
+ if (_r7.i <= 0) goto label184;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 253)
+ XMLVM_CHECK_NPE(15)
+ ((org_apache_harmony_luni_util_NumberConverter*) _r15.o)->fields.org_apache_harmony_luni_util_NumberConverter.firstK_ = _r6.i;
+ label51:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 260)
+ _r6.i = 0;
+ XMLVM_CHECK_NPE(15)
+ ((org_apache_harmony_luni_util_NumberConverter*) _r15.o)->fields.org_apache_harmony_luni_util_NumberConverter.setCount_ = _r6.i;
+ XMLVM_CHECK_NPE(15)
+ ((org_apache_harmony_luni_util_NumberConverter*) _r15.o)->fields.org_apache_harmony_luni_util_NumberConverter.getCount_ = _r6.i;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 263)
+ _r6.i = 4;
+ XMLVM_CLASS_INIT(long)
+ _r6.o = XMLVMArray_createSingleDimension(__CLASS_long, _r6.i);
+ _r7.i = 0;
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r7.i);
+ ((JAVA_ARRAY_LONG*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r2.l;
+ _r7.i = 1;
+ _r8.i = 1;
+ _r8.l = _r2.l << (0x3f & _r8.l);
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r7.i);
+ ((JAVA_ARRAY_LONG*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r8.l;
+ _r7.i = 2;
+ _r8.i = 2;
+ _r8.l = _r2.l << (0x3f & _r8.l);
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r7.i);
+ ((JAVA_ARRAY_LONG*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r8.l;
+ _r7.i = 3;
+ _r8.i = 3;
+ _r8.l = _r2.l << (0x3f & _r8.l);
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r7.i);
+ ((JAVA_ARRAY_LONG*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r8.l;
+ label80:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 269)
+ _r7.i = 0;
+ _r8.i = 3;
+ _r13 = _r8;
+ _r14 = _r7;
+ _r7 = _r4;
+ _r4 = _r13;
+ _r5 = _r14;
+ label87:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 271)
+ if (_r4.i >= 0) goto label196;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 279)
+ _r4.i = _r7.l > _r0.l ? 1 : (_r7.l == _r0.l ? 0 : -1);
+ if (_r4.i >= 0) goto label213;
+ _r4.i = 1;
+ label94:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 280)
+ _r9.l = _r7.l + _r0.l;
+ _r9.i = _r9.l > _r2.l ? 1 : (_r9.l == _r2.l ? 0 : -1);
+ if (_r9.i <= 0) goto label215;
+ _r9.i = 1;
+ label101:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 282)
+ if (_r4.i != 0) goto label105;
+ if (_r9.i == 0) goto label217;
+ label105:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 289)
+ if (_r4.i == 0) goto label236;
+ if (_r9.i != 0) goto label236;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 290)
+ XMLVM_CHECK_NPE(15)
+ _r0.o = ((org_apache_harmony_luni_util_NumberConverter*) _r15.o)->fields.org_apache_harmony_luni_util_NumberConverter.uArray_;
+ XMLVM_CHECK_NPE(15)
+ _r1.i = ((org_apache_harmony_luni_util_NumberConverter*) _r15.o)->fields.org_apache_harmony_luni_util_NumberConverter.setCount_;
+ _r2.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(15)
+ ((org_apache_harmony_luni_util_NumberConverter*) _r15.o)->fields.org_apache_harmony_luni_util_NumberConverter.setCount_ = _r2.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ label119:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 297)
+ XMLVM_EXIT_METHOD()
+ return;
+ label120:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 228)
+ _r2.i = _r18.i + 2;
+ _r2.l = _r16.l << (0x3f & _r2.l);
+ _r4.l = 4;
+ _r13 = _r4;
+ _r4 = _r2;
+ _r2 = _r13;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 229)
+ goto label17;
+ label130:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 232)
+ _r0.l = 1;
+ if (_r19.i != 0) goto label136;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 233)
+ if (_r20.i != 0) goto label150;
+ label136:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 234)
+ _r2.i = 1;
+ _r2.l = _r16.l << (0x3f & _r2.l);
+ _r4.l = 1;
+ _r6.i = 1;
+ _r6.i = _r6.i - _r18.i;
+ _r4.l = _r4.l << (0x3f & _r6.l);
+ _r13 = _r4;
+ _r4 = _r2;
+ _r2 = _r13;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 235)
+ goto label17;
+ label150:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 237)
+ _r2.i = 2;
+ _r2.l = _r16.l << (0x3f & _r2.l);
+ _r4.l = 1;
+ _r6.i = 2;
+ _r6.i = _r6.i - _r18.i;
+ _r4.l = _r4.l << (0x3f & _r6.l);
+ _r13 = _r4;
+ _r4 = _r2;
+ _r2 = _r13;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 238)
+ goto label17;
+ label164:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 246)
+ if (_r6.i >= 0) goto label43;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 247)
+ _r7.o = org_apache_harmony_luni_util_NumberConverter_GET_TEN_TO_THE();
+ _r8.i = -_r6.i;
+ XMLVM_CHECK_NPE(7)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r8.i);
+ _r7.l = ((JAVA_ARRAY_LONG*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i];
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 248)
+ _r4.l = _r4.l * _r7.l;
+ _r9.l = 1;
+ _r9.i = _r0.l > _r9.l ? 1 : (_r0.l == _r9.l ? 0 : -1);
+ if (_r9.i != 0) goto label181;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 249)
+ _r0 = _r7;
+ goto label43;
+ label181:;
+ _r0.l = _r0.l * _r7.l;
+ goto label43;
+ label184:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 255)
+ _r7.i = 1;
+ _r6.i = _r6.i - _r7.i;
+ XMLVM_CHECK_NPE(15)
+ ((org_apache_harmony_luni_util_NumberConverter*) _r15.o)->fields.org_apache_harmony_luni_util_NumberConverter.firstK_ = _r6.i;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 256)
+ _r6.l = 10;
+ _r4.l = _r4.l * _r6.l;
+ _r6.l = 10;
+ _r0.l = _r0.l * _r6.l;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 257)
+ goto label51;
+ label196:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 272)
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r4.i);
+ _r9.l = ((JAVA_ARRAY_LONG*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ _r9.l = _r7.l - _r9.l;
+ _r11.l = 0;
+ _r11.i = _r9.l > _r11.l ? 1 : (_r9.l == _r11.l ? 0 : -1);
+ if (_r11.i < 0) goto label210;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 273)
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 275)
+ _r7.i = 1;
+ _r7.i = _r7.i << _r4.i;
+ _r5.i = _r5.i + _r7.i;
+ _r7 = _r9;
+ label210:;
+ _r4.i = _r4.i + -1;
+ goto label87;
+ label213:;
+ _r4.i = 0;
+ goto label94;
+ label215:;
+ _r9.i = 0;
+ goto label101;
+ label217:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 285)
+ _r9.l = 10;
+ _r7.l = _r7.l * _r9.l;
+ _r9.l = 10;
+ _r0.l = _r0.l * _r9.l;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 287)
+ XMLVM_CHECK_NPE(15)
+ _r4.o = ((org_apache_harmony_luni_util_NumberConverter*) _r15.o)->fields.org_apache_harmony_luni_util_NumberConverter.uArray_;
+ XMLVM_CHECK_NPE(15)
+ _r9.i = ((org_apache_harmony_luni_util_NumberConverter*) _r15.o)->fields.org_apache_harmony_luni_util_NumberConverter.setCount_;
+ _r10.i = _r9.i + 1;
+ XMLVM_CHECK_NPE(15)
+ ((org_apache_harmony_luni_util_NumberConverter*) _r15.o)->fields.org_apache_harmony_luni_util_NumberConverter.setCount_ = _r10.i;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r9.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r5.i;
+ _r4 = _r7;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 264)
+ goto label80;
+ label236:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 291)
+ if (_r9.i == 0) goto label254;
+ if (_r4.i != 0) goto label254;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 292)
+ XMLVM_CHECK_NPE(15)
+ _r0.o = ((org_apache_harmony_luni_util_NumberConverter*) _r15.o)->fields.org_apache_harmony_luni_util_NumberConverter.uArray_;
+ XMLVM_CHECK_NPE(15)
+ _r1.i = ((org_apache_harmony_luni_util_NumberConverter*) _r15.o)->fields.org_apache_harmony_luni_util_NumberConverter.setCount_;
+ _r2.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(15)
+ ((org_apache_harmony_luni_util_NumberConverter*) _r15.o)->fields.org_apache_harmony_luni_util_NumberConverter.setCount_ = _r2.i;
+ _r2.i = _r5.i + 1;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ goto label119;
+ label254:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 293)
+ _r0.i = 1;
+ _r0.l = _r7.l << (0x3f & _r0.l);
+ _r0.i = _r0.l > _r2.l ? 1 : (_r0.l == _r2.l ? 0 : -1);
+ if (_r0.i >= 0) goto label273;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 294)
+ XMLVM_CHECK_NPE(15)
+ _r0.o = ((org_apache_harmony_luni_util_NumberConverter*) _r15.o)->fields.org_apache_harmony_luni_util_NumberConverter.uArray_;
+ XMLVM_CHECK_NPE(15)
+ _r1.i = ((org_apache_harmony_luni_util_NumberConverter*) _r15.o)->fields.org_apache_harmony_luni_util_NumberConverter.setCount_;
+ _r2.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(15)
+ ((org_apache_harmony_luni_util_NumberConverter*) _r15.o)->fields.org_apache_harmony_luni_util_NumberConverter.setCount_ = _r2.i;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r5.i;
+ goto label119;
+ label273:;
+ XMLVM_SOURCE_POSITION("NumberConverter.java", 296)
+ XMLVM_CHECK_NPE(15)
+ _r0.o = ((org_apache_harmony_luni_util_NumberConverter*) _r15.o)->fields.org_apache_harmony_luni_util_NumberConverter.uArray_;
+ XMLVM_CHECK_NPE(15)
+ _r1.i = ((org_apache_harmony_luni_util_NumberConverter*) _r15.o)->fields.org_apache_harmony_luni_util_NumberConverter.setCount_;
+ _r2.i = _r1.i + 1;
+ XMLVM_CHECK_NPE(15)
+ ((org_apache_harmony_luni_util_NumberConverter*) _r15.o)->fields.org_apache_harmony_luni_util_NumberConverter.setCount_ = _r2.i;
+ _r2.i = _r5.i + 1;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ goto label119;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/org_apache_harmony_luni_util_NumberConverter.h b/tests/nbody-java/org_apache_harmony_luni_util_NumberConverter.h
new file mode 100644
index 00000000..8f6643b0
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_luni_util_NumberConverter.h
@@ -0,0 +1,94 @@
+#ifndef __ORG_APACHE_HARMONY_LUNI_UTIL_NUMBERCONVERTER__
+#define __ORG_APACHE_HARMONY_LUNI_UTIL_NUMBERCONVERTER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_org_apache_harmony_luni_util_NumberConverter 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Double
+#define XMLVM_FORWARD_DECL_java_lang_Double
+XMLVM_FORWARD_DECL(java_lang_Double)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Float
+#define XMLVM_FORWARD_DECL_java_lang_Float
+XMLVM_FORWARD_DECL(java_lang_Float)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Integer
+#define XMLVM_FORWARD_DECL_java_lang_Integer
+XMLVM_FORWARD_DECL(java_lang_Integer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Math
+#define XMLVM_FORWARD_DECL_java_lang_Math
+XMLVM_FORWARD_DECL(java_lang_Math)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+// Class declarations for org.apache.harmony.luni.util.NumberConverter
+XMLVM_DEFINE_CLASS(org_apache_harmony_luni_util_NumberConverter, 6, XMLVM_ITABLE_SIZE_org_apache_harmony_luni_util_NumberConverter)
+
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_NumberConverter;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_NumberConverter_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_NumberConverter_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_NumberConverter_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_luni_util_NumberConverter
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_org_apache_harmony_luni_util_NumberConverter \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_INT setCount_; \
+ JAVA_INT getCount_; \
+ JAVA_OBJECT uArray_; \
+ JAVA_INT firstK_; \
+ __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_luni_util_NumberConverter \
+ } org_apache_harmony_luni_util_NumberConverter
+
+struct org_apache_harmony_luni_util_NumberConverter {
+ __TIB_DEFINITION_org_apache_harmony_luni_util_NumberConverter* tib;
+ struct {
+ __INSTANCE_FIELDS_org_apache_harmony_luni_util_NumberConverter;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_NumberConverter
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_NumberConverter
+typedef struct org_apache_harmony_luni_util_NumberConverter org_apache_harmony_luni_util_NumberConverter;
+#endif
+
+#define XMLVM_VTABLE_SIZE_org_apache_harmony_luni_util_NumberConverter 6
+
+void __INIT_org_apache_harmony_luni_util_NumberConverter();
+void __INIT_IMPL_org_apache_harmony_luni_util_NumberConverter();
+void __DELETE_org_apache_harmony_luni_util_NumberConverter(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_util_NumberConverter(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_org_apache_harmony_luni_util_NumberConverter();
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_luni_util_NumberConverter();
+void xmlvm_init_native_org_apache_harmony_luni_util_NumberConverter();
+JAVA_DOUBLE org_apache_harmony_luni_util_NumberConverter_GET_invLogOfTenBaseTwo();
+void org_apache_harmony_luni_util_NumberConverter_PUT_invLogOfTenBaseTwo(JAVA_DOUBLE v);
+JAVA_OBJECT org_apache_harmony_luni_util_NumberConverter_GET_TEN_TO_THE();
+void org_apache_harmony_luni_util_NumberConverter_PUT_TEN_TO_THE(JAVA_OBJECT v);
+void org_apache_harmony_luni_util_NumberConverter___CLINIT_();
+void org_apache_harmony_luni_util_NumberConverter___INIT___(JAVA_OBJECT me);
+JAVA_OBJECT org_apache_harmony_luni_util_NumberConverter_getConverter__();
+JAVA_OBJECT org_apache_harmony_luni_util_NumberConverter_convert___double(JAVA_DOUBLE n1);
+JAVA_OBJECT org_apache_harmony_luni_util_NumberConverter_convert___float(JAVA_FLOAT n1);
+JAVA_OBJECT org_apache_harmony_luni_util_NumberConverter_convertD___double(JAVA_OBJECT me, JAVA_DOUBLE n1);
+JAVA_OBJECT org_apache_harmony_luni_util_NumberConverter_convertF___float(JAVA_OBJECT me, JAVA_FLOAT n1);
+JAVA_OBJECT org_apache_harmony_luni_util_NumberConverter_freeFormatExponential__(JAVA_OBJECT me);
+JAVA_OBJECT org_apache_harmony_luni_util_NumberConverter_freeFormat__(JAVA_OBJECT me);
+void org_apache_harmony_luni_util_NumberConverter_bigIntDigitGeneratorInstImpl___long_int_boolean_boolean_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_INT n2, JAVA_BOOLEAN n3, JAVA_BOOLEAN n4, JAVA_INT n5);
+void org_apache_harmony_luni_util_NumberConverter_longDigitGenerator___long_int_boolean_boolean_int(JAVA_OBJECT me, JAVA_LONG n1, JAVA_INT n2, JAVA_BOOLEAN n3, JAVA_BOOLEAN n4, JAVA_INT n5);
+
+#endif
diff --git a/tests/nbody-java/org_apache_harmony_luni_util_PriviAction.c b/tests/nbody-java/org_apache_harmony_luni_util_PriviAction.c
new file mode 100644
index 00000000..367e3fec
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_luni_util_PriviAction.c
@@ -0,0 +1,420 @@
+#include "xmlvm.h"
+#include "java_lang_String.h"
+#include "java_lang_System.h"
+#include "java_lang_reflect_AccessibleObject.h"
+
+#include "org_apache_harmony_luni_util_PriviAction.h"
+
+#define XMLVM_CURRENT_CLASS_NAME PriviAction
+#define XMLVM_CURRENT_PKG_CLASS_NAME org_apache_harmony_luni_util_PriviAction
+
+__TIB_DEFINITION_org_apache_harmony_luni_util_PriviAction __TIB_org_apache_harmony_luni_util_PriviAction = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_apache_harmony_luni_util_PriviAction, // classInitializer
+ "org.apache.harmony.luni.util.PriviAction", // className
+ "org.apache.harmony.luni.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ "<T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/security/PrivilegedAction<TT;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(org_apache_harmony_luni_util_PriviAction), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_PriviAction;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_PriviAction_1ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_PriviAction_2ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_PriviAction_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_INT _STATIC_org_apache_harmony_luni_util_PriviAction_GET_SYSTEM_PROPERTY;
+static JAVA_INT _STATIC_org_apache_harmony_luni_util_PriviAction_GET_SECURITY_POLICY;
+static JAVA_INT _STATIC_org_apache_harmony_luni_util_PriviAction_SET_ACCESSIBLE;
+static JAVA_INT _STATIC_org_apache_harmony_luni_util_PriviAction_GET_SECURITY_PROPERTY;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_org_apache_harmony_luni_util_PriviAction()
+{
+ staticInitializerLock(&__TIB_org_apache_harmony_luni_util_PriviAction);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_apache_harmony_luni_util_PriviAction.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_apache_harmony_luni_util_PriviAction.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_apache_harmony_luni_util_PriviAction);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_apache_harmony_luni_util_PriviAction.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_apache_harmony_luni_util_PriviAction.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_apache_harmony_luni_util_PriviAction.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.apache.harmony.luni.util.PriviAction")
+ __INIT_IMPL_org_apache_harmony_luni_util_PriviAction();
+ }
+}
+
+void __INIT_IMPL_org_apache_harmony_luni_util_PriviAction()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_org_apache_harmony_luni_util_PriviAction.newInstanceFunc = __NEW_INSTANCE_org_apache_harmony_luni_util_PriviAction;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_org_apache_harmony_luni_util_PriviAction.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_org_apache_harmony_luni_util_PriviAction.vtable[6] = (VTABLE_PTR) &org_apache_harmony_luni_util_PriviAction_run__;
+ // Initialize interface information
+ __TIB_org_apache_harmony_luni_util_PriviAction.numImplementedInterfaces = 1;
+ __TIB_org_apache_harmony_luni_util_PriviAction.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_security_PrivilegedAction)
+
+ __TIB_org_apache_harmony_luni_util_PriviAction.implementedInterfaces[0][0] = &__TIB_java_security_PrivilegedAction;
+ // Initialize itable for this class
+ __TIB_org_apache_harmony_luni_util_PriviAction.itableBegin = &__TIB_org_apache_harmony_luni_util_PriviAction.itable[0];
+ __TIB_org_apache_harmony_luni_util_PriviAction.itable[XMLVM_ITABLE_IDX_java_security_PrivilegedAction_run__] = __TIB_org_apache_harmony_luni_util_PriviAction.vtable[6];
+
+ _STATIC_org_apache_harmony_luni_util_PriviAction_GET_SYSTEM_PROPERTY = 1;
+ _STATIC_org_apache_harmony_luni_util_PriviAction_GET_SECURITY_POLICY = 2;
+ _STATIC_org_apache_harmony_luni_util_PriviAction_SET_ACCESSIBLE = 3;
+ _STATIC_org_apache_harmony_luni_util_PriviAction_GET_SECURITY_PROPERTY = 4;
+
+ __TIB_org_apache_harmony_luni_util_PriviAction.declaredFields = &__field_reflection_data[0];
+ __TIB_org_apache_harmony_luni_util_PriviAction.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_org_apache_harmony_luni_util_PriviAction.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_org_apache_harmony_luni_util_PriviAction.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_org_apache_harmony_luni_util_PriviAction.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_org_apache_harmony_luni_util_PriviAction.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_apache_harmony_luni_util_PriviAction.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_apache_harmony_luni_util_PriviAction.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_org_apache_harmony_luni_util_PriviAction = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_apache_harmony_luni_util_PriviAction);
+ __TIB_org_apache_harmony_luni_util_PriviAction.clazz = __CLASS_org_apache_harmony_luni_util_PriviAction;
+ __TIB_org_apache_harmony_luni_util_PriviAction.baseType = JAVA_NULL;
+ __CLASS_org_apache_harmony_luni_util_PriviAction_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_util_PriviAction);
+ __CLASS_org_apache_harmony_luni_util_PriviAction_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_util_PriviAction_1ARRAY);
+ __CLASS_org_apache_harmony_luni_util_PriviAction_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_util_PriviAction_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_org_apache_harmony_luni_util_PriviAction]
+ //XMLVM_END_WRAPPER
+
+ __TIB_org_apache_harmony_luni_util_PriviAction.classInitialized = 1;
+}
+
+void __DELETE_org_apache_harmony_luni_util_PriviAction(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_org_apache_harmony_luni_util_PriviAction]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_util_PriviAction(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((org_apache_harmony_luni_util_PriviAction*) me)->fields.org_apache_harmony_luni_util_PriviAction.arg1_ = (java_lang_Object*) JAVA_NULL;
+ ((org_apache_harmony_luni_util_PriviAction*) me)->fields.org_apache_harmony_luni_util_PriviAction.arg2_ = (java_lang_Object*) JAVA_NULL;
+ ((org_apache_harmony_luni_util_PriviAction*) me)->fields.org_apache_harmony_luni_util_PriviAction.action_ = 0;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_util_PriviAction]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_org_apache_harmony_luni_util_PriviAction()
+{ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_PriviAction)
+org_apache_harmony_luni_util_PriviAction* me = (org_apache_harmony_luni_util_PriviAction*) XMLVM_MALLOC(sizeof(org_apache_harmony_luni_util_PriviAction));
+ me->tib = &__TIB_org_apache_harmony_luni_util_PriviAction;
+ __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_util_PriviAction(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_org_apache_harmony_luni_util_PriviAction]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_luni_util_PriviAction()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_org_apache_harmony_luni_util_PriviAction();
+ org_apache_harmony_luni_util_PriviAction___INIT___(me);
+ return me;
+}
+
+JAVA_INT org_apache_harmony_luni_util_PriviAction_GET_GET_SYSTEM_PROPERTY()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_PriviAction)
+ return _STATIC_org_apache_harmony_luni_util_PriviAction_GET_SYSTEM_PROPERTY;
+}
+
+void org_apache_harmony_luni_util_PriviAction_PUT_GET_SYSTEM_PROPERTY(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_PriviAction)
+_STATIC_org_apache_harmony_luni_util_PriviAction_GET_SYSTEM_PROPERTY = v;
+}
+
+JAVA_INT org_apache_harmony_luni_util_PriviAction_GET_GET_SECURITY_POLICY()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_PriviAction)
+ return _STATIC_org_apache_harmony_luni_util_PriviAction_GET_SECURITY_POLICY;
+}
+
+void org_apache_harmony_luni_util_PriviAction_PUT_GET_SECURITY_POLICY(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_PriviAction)
+_STATIC_org_apache_harmony_luni_util_PriviAction_GET_SECURITY_POLICY = v;
+}
+
+JAVA_INT org_apache_harmony_luni_util_PriviAction_GET_SET_ACCESSIBLE()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_PriviAction)
+ return _STATIC_org_apache_harmony_luni_util_PriviAction_SET_ACCESSIBLE;
+}
+
+void org_apache_harmony_luni_util_PriviAction_PUT_SET_ACCESSIBLE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_PriviAction)
+_STATIC_org_apache_harmony_luni_util_PriviAction_SET_ACCESSIBLE = v;
+}
+
+JAVA_INT org_apache_harmony_luni_util_PriviAction_GET_GET_SECURITY_PROPERTY()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_PriviAction)
+ return _STATIC_org_apache_harmony_luni_util_PriviAction_GET_SECURITY_PROPERTY;
+}
+
+void org_apache_harmony_luni_util_PriviAction_PUT_GET_SECURITY_PROPERTY(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_PriviAction)
+_STATIC_org_apache_harmony_luni_util_PriviAction_GET_SECURITY_PROPERTY = v;
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_PriviAction_getSecurityProperty___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_PriviAction)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_PriviAction_getSecurityProperty___java_lang_String]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.PriviAction", "getSecurityProperty", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("PriviAction.java", 57)
+ _r0.o = __NEW_org_apache_harmony_luni_util_PriviAction();
+ _r1.i = 4;
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_luni_util_PriviAction___INIT____int_java_lang_Object(_r0.o, _r1.i, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void org_apache_harmony_luni_util_PriviAction___INIT____int_java_lang_Object(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_PriviAction___INIT____int_java_lang_Object]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.PriviAction", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.i = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("PriviAction.java", 60)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("PriviAction.java", 61)
+ XMLVM_CHECK_NPE(0)
+ ((org_apache_harmony_luni_util_PriviAction*) _r0.o)->fields.org_apache_harmony_luni_util_PriviAction.action_ = _r1.i;
+ XMLVM_SOURCE_POSITION("PriviAction.java", 62)
+ XMLVM_CHECK_NPE(0)
+ ((org_apache_harmony_luni_util_PriviAction*) _r0.o)->fields.org_apache_harmony_luni_util_PriviAction.arg1_ = _r2.o;
+ XMLVM_SOURCE_POSITION("PriviAction.java", 63)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void org_apache_harmony_luni_util_PriviAction___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_PriviAction___INIT___]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.PriviAction", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("PriviAction.java", 70)
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("PriviAction.java", 71)
+ _r0.i = 2;
+ XMLVM_CHECK_NPE(1)
+ ((org_apache_harmony_luni_util_PriviAction*) _r1.o)->fields.org_apache_harmony_luni_util_PriviAction.action_ = _r0.i;
+ XMLVM_SOURCE_POSITION("PriviAction.java", 72)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void org_apache_harmony_luni_util_PriviAction___INIT____java_lang_reflect_AccessibleObject(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_PriviAction___INIT____java_lang_reflect_AccessibleObject]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.PriviAction", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("PriviAction.java", 84)
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("PriviAction.java", 85)
+ _r0.i = 3;
+ XMLVM_CHECK_NPE(1)
+ ((org_apache_harmony_luni_util_PriviAction*) _r1.o)->fields.org_apache_harmony_luni_util_PriviAction.action_ = _r0.i;
+ XMLVM_SOURCE_POSITION("PriviAction.java", 86)
+ XMLVM_CHECK_NPE(1)
+ ((org_apache_harmony_luni_util_PriviAction*) _r1.o)->fields.org_apache_harmony_luni_util_PriviAction.arg1_ = _r2.o;
+ XMLVM_SOURCE_POSITION("PriviAction.java", 87)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void org_apache_harmony_luni_util_PriviAction___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_PriviAction___INIT____java_lang_String]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.PriviAction", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("PriviAction.java", 98)
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("PriviAction.java", 99)
+ _r0.i = 1;
+ XMLVM_CHECK_NPE(1)
+ ((org_apache_harmony_luni_util_PriviAction*) _r1.o)->fields.org_apache_harmony_luni_util_PriviAction.action_ = _r0.i;
+ XMLVM_SOURCE_POSITION("PriviAction.java", 100)
+ XMLVM_CHECK_NPE(1)
+ ((org_apache_harmony_luni_util_PriviAction*) _r1.o)->fields.org_apache_harmony_luni_util_PriviAction.arg1_ = _r2.o;
+ XMLVM_SOURCE_POSITION("PriviAction.java", 101)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void org_apache_harmony_luni_util_PriviAction___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_PriviAction___INIT____java_lang_String_java_lang_String]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.PriviAction", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ XMLVM_SOURCE_POSITION("PriviAction.java", 114)
+ XMLVM_CHECK_NPE(1)
+ java_lang_Object___INIT___(_r1.o);
+ XMLVM_SOURCE_POSITION("PriviAction.java", 115)
+ _r0.i = 1;
+ XMLVM_CHECK_NPE(1)
+ ((org_apache_harmony_luni_util_PriviAction*) _r1.o)->fields.org_apache_harmony_luni_util_PriviAction.action_ = _r0.i;
+ XMLVM_SOURCE_POSITION("PriviAction.java", 116)
+ XMLVM_CHECK_NPE(1)
+ ((org_apache_harmony_luni_util_PriviAction*) _r1.o)->fields.org_apache_harmony_luni_util_PriviAction.arg1_ = _r2.o;
+ XMLVM_SOURCE_POSITION("PriviAction.java", 117)
+ XMLVM_CHECK_NPE(1)
+ ((org_apache_harmony_luni_util_PriviAction*) _r1.o)->fields.org_apache_harmony_luni_util_PriviAction.arg2_ = _r3.o;
+ XMLVM_SOURCE_POSITION("PriviAction.java", 118)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_PriviAction_run__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_PriviAction_run__]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.PriviAction", "run", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("PriviAction.java", 127)
+ XMLVM_CHECK_NPE(1)
+ _r0.i = ((org_apache_harmony_luni_util_PriviAction*) _r1.o)->fields.org_apache_harmony_luni_util_PriviAction.action_;
+ switch (_r0.i) {
+ case 1: goto label7;
+ case 2: goto label29;
+ case 3: goto label34;
+ case 4: goto label20;
+ }
+ label5:;
+ XMLVM_SOURCE_POSITION("PriviAction.java", 137)
+ _r0.o = JAVA_NULL;
+ label6:;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label7:;
+ XMLVM_SOURCE_POSITION("PriviAction.java", 129)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((org_apache_harmony_luni_util_PriviAction*) _r1.o)->fields.org_apache_harmony_luni_util_PriviAction.arg1_;
+ _r0.o = _r0.o;
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((org_apache_harmony_luni_util_PriviAction*) _r1.o)->fields.org_apache_harmony_luni_util_PriviAction.arg2_;
+ _r1.o = _r1.o;
+ _r0.o = java_lang_System_getProperty___java_lang_String_java_lang_String(_r0.o, _r1.o);
+ goto label6;
+ label20:;
+ XMLVM_SOURCE_POSITION("PriviAction.java", 131)
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((org_apache_harmony_luni_util_PriviAction*) _r1.o)->fields.org_apache_harmony_luni_util_PriviAction.arg1_;
+ _r1.o = _r1.o;
+
+
+ // Red class access removed: java.security.Security::getProperty
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label6;
+ label29:;
+ XMLVM_SOURCE_POSITION("PriviAction.java", 133)
+
+
+ // Red class access removed: java.security.Policy::getPolicy
+ XMLVM_RED_CLASS_DEPENDENCY();
+ goto label6;
+ label34:;
+ XMLVM_SOURCE_POSITION("PriviAction.java", 135)
+ XMLVM_CHECK_NPE(1)
+ _r1.o = ((org_apache_harmony_luni_util_PriviAction*) _r1.o)->fields.org_apache_harmony_luni_util_PriviAction.arg1_;
+ _r1.o = _r1.o;
+ _r0.i = 1;
+ XMLVM_CHECK_NPE(1)
+ java_lang_reflect_AccessibleObject_setAccessible___boolean(_r1.o, _r0.i);
+ goto label5;
+ label44:;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/org_apache_harmony_luni_util_PriviAction.h b/tests/nbody-java/org_apache_harmony_luni_util_PriviAction.h
new file mode 100644
index 00000000..a9515a5b
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_luni_util_PriviAction.h
@@ -0,0 +1,83 @@
+#ifndef __ORG_APACHE_HARMONY_LUNI_UTIL_PRIVIACTION__
+#define __ORG_APACHE_HARMONY_LUNI_UTIL_PRIVIACTION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_org_apache_harmony_luni_util_PriviAction 1
+// Implemented interfaces:
+#include "java_security_PrivilegedAction.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_AccessibleObject
+#define XMLVM_FORWARD_DECL_java_lang_reflect_AccessibleObject
+XMLVM_FORWARD_DECL(java_lang_reflect_AccessibleObject)
+#endif
+// Class declarations for org.apache.harmony.luni.util.PriviAction
+XMLVM_DEFINE_CLASS(org_apache_harmony_luni_util_PriviAction, 7, XMLVM_ITABLE_SIZE_org_apache_harmony_luni_util_PriviAction)
+
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_PriviAction;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_PriviAction_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_PriviAction_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_PriviAction_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_luni_util_PriviAction
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_org_apache_harmony_luni_util_PriviAction \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT arg1_; \
+ JAVA_OBJECT arg2_; \
+ JAVA_INT action_; \
+ __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_luni_util_PriviAction \
+ } org_apache_harmony_luni_util_PriviAction
+
+struct org_apache_harmony_luni_util_PriviAction {
+ __TIB_DEFINITION_org_apache_harmony_luni_util_PriviAction* tib;
+ struct {
+ __INSTANCE_FIELDS_org_apache_harmony_luni_util_PriviAction;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_PriviAction
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_PriviAction
+typedef struct org_apache_harmony_luni_util_PriviAction org_apache_harmony_luni_util_PriviAction;
+#endif
+
+#define XMLVM_VTABLE_SIZE_org_apache_harmony_luni_util_PriviAction 7
+#define XMLVM_VTABLE_IDX_org_apache_harmony_luni_util_PriviAction_run__ 6
+
+void __INIT_org_apache_harmony_luni_util_PriviAction();
+void __INIT_IMPL_org_apache_harmony_luni_util_PriviAction();
+void __DELETE_org_apache_harmony_luni_util_PriviAction(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_util_PriviAction(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_org_apache_harmony_luni_util_PriviAction();
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_luni_util_PriviAction();
+JAVA_INT org_apache_harmony_luni_util_PriviAction_GET_GET_SYSTEM_PROPERTY();
+void org_apache_harmony_luni_util_PriviAction_PUT_GET_SYSTEM_PROPERTY(JAVA_INT v);
+JAVA_INT org_apache_harmony_luni_util_PriviAction_GET_GET_SECURITY_POLICY();
+void org_apache_harmony_luni_util_PriviAction_PUT_GET_SECURITY_POLICY(JAVA_INT v);
+JAVA_INT org_apache_harmony_luni_util_PriviAction_GET_SET_ACCESSIBLE();
+void org_apache_harmony_luni_util_PriviAction_PUT_SET_ACCESSIBLE(JAVA_INT v);
+JAVA_INT org_apache_harmony_luni_util_PriviAction_GET_GET_SECURITY_PROPERTY();
+void org_apache_harmony_luni_util_PriviAction_PUT_GET_SECURITY_PROPERTY(JAVA_INT v);
+JAVA_OBJECT org_apache_harmony_luni_util_PriviAction_getSecurityProperty___java_lang_String(JAVA_OBJECT n1);
+void org_apache_harmony_luni_util_PriviAction___INIT____int_java_lang_Object(JAVA_OBJECT me, JAVA_INT n1, JAVA_OBJECT n2);
+void org_apache_harmony_luni_util_PriviAction___INIT___(JAVA_OBJECT me);
+void org_apache_harmony_luni_util_PriviAction___INIT____java_lang_reflect_AccessibleObject(JAVA_OBJECT me, JAVA_OBJECT n1);
+void org_apache_harmony_luni_util_PriviAction___INIT____java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void org_apache_harmony_luni_util_PriviAction___INIT____java_lang_String_java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+// Vtable index: 6
+JAVA_OBJECT org_apache_harmony_luni_util_PriviAction_run__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/org_apache_harmony_luni_util_Util.c b/tests/nbody-java/org_apache_harmony_luni_util_Util.c
new file mode 100644
index 00000000..d6af2bb0
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_luni_util_Util.c
@@ -0,0 +1,1992 @@
+#include "xmlvm.h"
+#include "java_lang_Character.h"
+#include "java_lang_Integer.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_lang_System.h"
+#include "java_lang_Throwable.h"
+#include "org_apache_harmony_luni_internal_nls_Messages.h"
+
+#include "org_apache_harmony_luni_util_Util.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Util
+#define XMLVM_CURRENT_PKG_CLASS_NAME org_apache_harmony_luni_util_Util
+
+__TIB_DEFINITION_org_apache_harmony_luni_util_Util __TIB_org_apache_harmony_luni_util_Util = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_apache_harmony_luni_util_Util, // classInitializer
+ "org.apache.harmony.luni.util.Util", // className
+ "org.apache.harmony.luni.util", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(org_apache_harmony_luni_util_Util), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_Util;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_Util_1ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_Util_2ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_Util_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_OBJECT _STATIC_org_apache_harmony_luni_util_Util_WEEKDAYS;
+static JAVA_OBJECT _STATIC_org_apache_harmony_luni_util_Util_MONTHS;
+static JAVA_OBJECT _STATIC_org_apache_harmony_luni_util_Util_defaultEncoding;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_org_apache_harmony_luni_util_Util()
+{
+ staticInitializerLock(&__TIB_org_apache_harmony_luni_util_Util);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_apache_harmony_luni_util_Util.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_apache_harmony_luni_util_Util.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_apache_harmony_luni_util_Util);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_apache_harmony_luni_util_Util.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_apache_harmony_luni_util_Util.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_apache_harmony_luni_util_Util.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.apache.harmony.luni.util.Util")
+ __INIT_IMPL_org_apache_harmony_luni_util_Util();
+ }
+}
+
+void __INIT_IMPL_org_apache_harmony_luni_util_Util()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_org_apache_harmony_luni_util_Util.newInstanceFunc = __NEW_INSTANCE_org_apache_harmony_luni_util_Util;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_org_apache_harmony_luni_util_Util.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_org_apache_harmony_luni_util_Util.numImplementedInterfaces = 0;
+ __TIB_org_apache_harmony_luni_util_Util.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_org_apache_harmony_luni_util_Util_WEEKDAYS = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ _STATIC_org_apache_harmony_luni_util_Util_MONTHS = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ _STATIC_org_apache_harmony_luni_util_Util_defaultEncoding = (java_lang_String*) JAVA_NULL;
+
+ __TIB_org_apache_harmony_luni_util_Util.declaredFields = &__field_reflection_data[0];
+ __TIB_org_apache_harmony_luni_util_Util.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_org_apache_harmony_luni_util_Util.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_org_apache_harmony_luni_util_Util.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_org_apache_harmony_luni_util_Util.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_org_apache_harmony_luni_util_Util.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_apache_harmony_luni_util_Util.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_apache_harmony_luni_util_Util.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_org_apache_harmony_luni_util_Util = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_apache_harmony_luni_util_Util);
+ __TIB_org_apache_harmony_luni_util_Util.clazz = __CLASS_org_apache_harmony_luni_util_Util;
+ __TIB_org_apache_harmony_luni_util_Util.baseType = JAVA_NULL;
+ __CLASS_org_apache_harmony_luni_util_Util_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_util_Util);
+ __CLASS_org_apache_harmony_luni_util_Util_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_util_Util_1ARRAY);
+ __CLASS_org_apache_harmony_luni_util_Util_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_luni_util_Util_2ARRAY);
+ org_apache_harmony_luni_util_Util___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_org_apache_harmony_luni_util_Util]
+ //XMLVM_END_WRAPPER
+
+ __TIB_org_apache_harmony_luni_util_Util.classInitialized = 1;
+}
+
+void __DELETE_org_apache_harmony_luni_util_Util(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_org_apache_harmony_luni_util_Util]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_util_Util(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_util_Util]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_org_apache_harmony_luni_util_Util()
+{ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_Util)
+org_apache_harmony_luni_util_Util* me = (org_apache_harmony_luni_util_Util*) XMLVM_MALLOC(sizeof(org_apache_harmony_luni_util_Util));
+ me->tib = &__TIB_org_apache_harmony_luni_util_Util;
+ __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_util_Util(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_org_apache_harmony_luni_util_Util]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_luni_util_Util()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_org_apache_harmony_luni_util_Util();
+ org_apache_harmony_luni_util_Util___INIT___(me);
+ return me;
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_Util_GET_WEEKDAYS()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_Util)
+ return _STATIC_org_apache_harmony_luni_util_Util_WEEKDAYS;
+}
+
+void org_apache_harmony_luni_util_Util_PUT_WEEKDAYS(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_Util)
+_STATIC_org_apache_harmony_luni_util_Util_WEEKDAYS = v;
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_Util_GET_MONTHS()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_Util)
+ return _STATIC_org_apache_harmony_luni_util_Util_MONTHS;
+}
+
+void org_apache_harmony_luni_util_Util_PUT_MONTHS(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_Util)
+_STATIC_org_apache_harmony_luni_util_Util_MONTHS = v;
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_Util_GET_defaultEncoding()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_Util)
+ return _STATIC_org_apache_harmony_luni_util_Util_defaultEncoding;
+}
+
+void org_apache_harmony_luni_util_Util_PUT_defaultEncoding(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_Util)
+_STATIC_org_apache_harmony_luni_util_Util_defaultEncoding = v;
+}
+
+void org_apache_harmony_luni_util_Util___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_Util___INIT___]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.Util", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Util.java", 28)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_Util_getBytes___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_Util)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_Util_getBytes___java_lang_String]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.Util", "getBytes", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Util.java", 58)
+ _r0.o = org_apache_harmony_luni_util_Util_GET_defaultEncoding();
+ if (_r0.o == JAVA_NULL) goto label12;
+ XMLVM_TRY_BEGIN(w5509aaab4b1b5)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Util.java", 60)
+ _r0.o = org_apache_harmony_luni_util_Util_GET_defaultEncoding();
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_String_getBytes___java_lang_String(_r1.o, _r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5509aaab4b1b5)
+ XMLVM_CATCH_END(w5509aaab4b1b5)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5509aaab4b1b5)
+ label10:;
+ XMLVM_SOURCE_POSITION("Util.java", 64)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label11:;
+ XMLVM_SOURCE_POSITION("Util.java", 61)
+ java_lang_Thread* curThread_w5509aaab4b1c11 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w5509aaab4b1c11->fields.java_lang_Thread.xmlvmException_;
+ label12:;
+ XMLVM_CHECK_NPE(1)
+ _r0.o = java_lang_String_getBytes__(_r1.o);
+ goto label10;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_Util_getUTF8Bytes___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_Util)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_Util_getUTF8Bytes___java_lang_String]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.Util", "getUTF8Bytes", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ _r2.o = n1;
+ XMLVM_TRY_BEGIN(w5509aaab5b1b2)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Util.java", 75)
+ // "UTF-8"
+ _r1.o = xmlvm_create_java_string_from_pool(100);
+ XMLVM_CHECK_NPE(2)
+ _r1.o = java_lang_String_getBytes___java_lang_String(_r2.o, _r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5509aaab5b1b2)
+ XMLVM_CATCH_END(w5509aaab5b1b2)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5509aaab5b1b2)
+ label6:;
+ XMLVM_SOURCE_POSITION("Util.java", 77)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label7:;
+ XMLVM_SOURCE_POSITION("Util.java", 76)
+ java_lang_Thread* curThread_w5509aaab5b1b8 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w5509aaab5b1b8->fields.java_lang_Thread.xmlvmException_;
+ _r0 = _r1;
+ _r1.o = org_apache_harmony_luni_util_Util_getBytes___java_lang_String(_r2.o);
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_Util_toString___byte_1ARRAY(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_Util)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_Util_toString___byte_1ARRAY]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.Util", "toString", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ _r5.o = n1;
+ _r4.i = 0;
+ XMLVM_SOURCE_POSITION("Util.java", 82)
+ _r0.o = org_apache_harmony_luni_util_Util_GET_defaultEncoding();
+ if (_r0.o == JAVA_NULL) goto label16;
+ XMLVM_TRY_BEGIN(w5509aaab6b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Util.java", 84)
+ _r0.o = __NEW_java_lang_String();
+ _r1.i = 0;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ _r3.o = org_apache_harmony_luni_util_Util_GET_defaultEncoding();
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____byte_1ARRAY_int_int_java_lang_String(_r0.o, _r5.o, _r1.i, _r2.i, _r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5509aaab6b1b6)
+ XMLVM_CATCH_END(w5509aaab6b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5509aaab6b1b6)
+ label14:;
+ XMLVM_SOURCE_POSITION("Util.java", 88)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label15:;
+ XMLVM_SOURCE_POSITION("Util.java", 85)
+ java_lang_Thread* curThread_w5509aaab6b1c12 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w5509aaab6b1c12->fields.java_lang_Thread.xmlvmException_;
+ label16:;
+ _r0.o = __NEW_java_lang_String();
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r5.o));
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____byte_1ARRAY_int_int(_r0.o, _r5.o, _r4.i, _r1.i);
+ goto label14;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_Util_toUTF8String___byte_1ARRAY(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_Util)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_Util_toUTF8String___byte_1ARRAY]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.Util", "toUTF8String", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("Util.java", 92)
+ _r0.i = 0;
+ _r1.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ _r0.o = org_apache_harmony_luni_util_Util_toUTF8String___byte_1ARRAY_int_int(_r2.o, _r0.i, _r1.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_Util_toString___byte_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_Util)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_Util_toString___byte_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.Util", "toString", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ _r2.o = n1;
+ _r3.i = n2;
+ _r4.i = n3;
+ XMLVM_SOURCE_POSITION("Util.java", 96)
+ _r0.o = org_apache_harmony_luni_util_Util_GET_defaultEncoding();
+ if (_r0.o == JAVA_NULL) goto label13;
+ XMLVM_TRY_BEGIN(w5509aaab8b1b7)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Util.java", 98)
+ _r0.o = __NEW_java_lang_String();
+ _r1.o = org_apache_harmony_luni_util_Util_GET_defaultEncoding();
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____byte_1ARRAY_int_int_java_lang_String(_r0.o, _r2.o, _r3.i, _r4.i, _r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5509aaab8b1b7)
+ XMLVM_CATCH_END(w5509aaab8b1b7)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5509aaab8b1b7)
+ label11:;
+ XMLVM_SOURCE_POSITION("Util.java", 102)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label12:;
+ XMLVM_SOURCE_POSITION("Util.java", 99)
+ java_lang_Thread* curThread_w5509aaab8b1c13 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w5509aaab8b1c13->fields.java_lang_Thread.xmlvmException_;
+ label13:;
+ _r0.o = __NEW_java_lang_String();
+ XMLVM_CHECK_NPE(0)
+ java_lang_String___INIT____byte_1ARRAY_int_int(_r0.o, _r2.o, _r3.i, _r4.i);
+ goto label11;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_Util_toUTF8String___byte_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_Util)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_Util_toUTF8String___byte_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.Util", "toUTF8String", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ _r3.o = n1;
+ _r4.i = n2;
+ _r5.i = n3;
+ XMLVM_TRY_BEGIN(w5509aaab9b1b4)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Util.java", 107)
+ _r1.o = __NEW_java_lang_String();
+ // "UTF-8"
+ _r2.o = xmlvm_create_java_string_from_pool(100);
+ XMLVM_CHECK_NPE(1)
+ java_lang_String___INIT____byte_1ARRAY_int_int_java_lang_String(_r1.o, _r3.o, _r4.i, _r5.i, _r2.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5509aaab9b1b4)
+ XMLVM_CATCH_END(w5509aaab9b1b4)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5509aaab9b1b4)
+ label7:;
+ XMLVM_SOURCE_POSITION("Util.java", 109)
+ XMLVM_EXIT_METHOD()
+ return _r1.o;
+ label8:;
+ XMLVM_SOURCE_POSITION("Util.java", 108)
+ java_lang_Thread* curThread_w5509aaab9b1c10 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w5509aaab9b1c10->fields.java_lang_Thread.xmlvmException_;
+ _r0 = _r1;
+ _r1.o = org_apache_harmony_luni_util_Util_toString___byte_1ARRAY_int_int(_r3.o, _r4.i, _r5.i);
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_LONG org_apache_harmony_luni_util_Util_parseDate___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_Util)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_Util_parseDate___java_lang_String]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.Util", "parseDate", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ XMLVMElem _r14;
+ XMLVMElem _r15;
+ _r15.o = n1;
+ XMLVM_SOURCE_POSITION("Util.java", 122)
+ _r6.i = 0;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(15)
+ _r4.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r15.o)->tib->vtable[8])(_r15.o);
+ _r8.i = 0;
+ _r9.i = -1;
+ _r5.i = -1;
+ _r1.i = -1;
+ _r2.i = -1;
+ _r3.i = -1;
+ _r7.i = -1;
+ _r0.i = 0;
+ _r0.i = 1;
+ _r0.i = 2;
+ XMLVM_SOURCE_POSITION("Util.java", 126)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT___(_r0.o);
+ _r10 = _r7;
+ _r12 = _r9;
+ _r11 = _r8;
+ _r14 = _r5;
+ _r5 = _r3;
+ _r3 = _r2;
+ _r2 = _r6;
+ _r6 = _r14;
+ label28:;
+ XMLVM_SOURCE_POSITION("Util.java", 128)
+ if (_r2.i > _r4.i) goto label367;
+ XMLVM_SOURCE_POSITION("Util.java", 129)
+ if (_r2.i >= _r4.i) goto label99;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(15)
+ _r7.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r15.o)->tib->vtable[6])(_r15.o, _r2.i);
+ label36:;
+ _r9.i = _r2.i + 1;
+ _r2.i = 97;
+ if (_r7.i < _r2.i) goto label46;
+ XMLVM_SOURCE_POSITION("Util.java", 133)
+ _r2.i = 122;
+ if (_r7.i <= _r2.i) goto label54;
+ label46:;
+ _r2.i = 65;
+ if (_r7.i < _r2.i) goto label102;
+ _r2.i = 90;
+ if (_r7.i > _r2.i) goto label102;
+ label54:;
+ XMLVM_SOURCE_POSITION("Util.java", 134)
+ _r2.i = 1;
+ _r8 = _r2;
+ label56:;
+ XMLVM_SOURCE_POSITION("Util.java", 142)
+ _r2.i = 2;
+ if (_r11.i != _r2.i) goto label277;
+ _r2.i = 2;
+ if (_r8.i == _r2.i) goto label277;
+ XMLVM_SOURCE_POSITION("Util.java", 143)
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ _r2.i = java_lang_Integer_parseInt___java_lang_String(_r2.o);
+ _r11.i = 0;
+ XMLVM_SOURCE_POSITION("Util.java", 144)
+ XMLVM_CHECK_NPE(0)
+ java_lang_AbstractStringBuilder_setLength___int(_r0.o, _r11.i);
+ XMLVM_SOURCE_POSITION("Util.java", 145)
+ _r11.i = 70;
+ if (_r2.i < _r11.i) goto label159;
+ XMLVM_SOURCE_POSITION("Util.java", 146)
+ _r11.i = -1;
+ if (_r12.i != _r11.i) goto label93;
+ _r11.i = 32;
+ if (_r7.i == _r11.i) goto label131;
+ _r11.i = 44;
+ if (_r7.i == _r11.i) goto label131;
+ _r11.i = 13;
+ if (_r7.i == _r11.i) goto label131;
+ label93:;
+ XMLVM_SOURCE_POSITION("Util.java", 148)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r15.o)
+ label99:;
+ _r7.i = 13;
+ goto label36;
+ label102:;
+ XMLVM_SOURCE_POSITION("Util.java", 135)
+ _r2.i = 48;
+ if (_r7.i < _r2.i) goto label113;
+ _r2.i = 57;
+ if (_r7.i > _r2.i) goto label113;
+ XMLVM_SOURCE_POSITION("Util.java", 136)
+ _r2.i = 2;
+ _r8 = _r2;
+ goto label56;
+ label113:;
+ XMLVM_SOURCE_POSITION("Util.java", 137)
+ // " ,-:\015\011"
+ _r2.o = xmlvm_create_java_string_from_pool(749);
+ XMLVM_CHECK_NPE(2)
+ _r2.i = java_lang_String_indexOf___int(_r2.o, _r7.i);
+ _r8.i = -1;
+ if (_r2.i != _r8.i) goto label128;
+ XMLVM_SOURCE_POSITION("Util.java", 138)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r15.o)
+ label128:;
+ XMLVM_SOURCE_POSITION("Util.java", 140)
+ _r2.i = 0;
+ _r8 = _r2;
+ goto label56;
+ label131:;
+ XMLVM_SOURCE_POSITION("Util.java", 149)
+ _r2 = _r2;
+ _r14 = _r10;
+ _r10 = _r2;
+ _r2 = _r3;
+ _r3 = _r5;
+ _r5 = _r14;
+ label137:;
+ _r14 = _r5;
+ _r5 = _r6;
+ _r6 = _r14;
+ label140:;
+ XMLVM_SOURCE_POSITION("Util.java", 173)
+ XMLVM_SOURCE_POSITION("Util.java", 185)
+ _r11.i = 1;
+ if (_r8.i == _r11.i) goto label146;
+ _r11.i = 2;
+ if (_r8.i != _r11.i) goto label149;
+ label146:;
+ XMLVM_SOURCE_POSITION("Util.java", 186)
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r7.i);
+ label149:;
+ XMLVM_SOURCE_POSITION("Util.java", 187)
+ _r7 = _r8;
+ _r12 = _r10;
+ _r11 = _r7;
+ _r10 = _r6;
+ _r6 = _r5;
+ _r5 = _r3;
+ _r3 = _r2;
+ _r2 = _r9;
+ XMLVM_SOURCE_POSITION("Util.java", 188)
+ goto label28;
+ label159:;
+ XMLVM_SOURCE_POSITION("Util.java", 150)
+ _r11.i = 58;
+ if (_r7.i != _r11.i) goto label187;
+ XMLVM_SOURCE_POSITION("Util.java", 151)
+ _r11.i = -1;
+ if (_r3.i != _r11.i) goto label171;
+ XMLVM_SOURCE_POSITION("Util.java", 152)
+ _r2 = _r2;
+ _r3 = _r5;
+ _r5 = _r10;
+ _r10 = _r12;
+ goto label137;
+ label171:;
+ XMLVM_SOURCE_POSITION("Util.java", 153)
+ _r11.i = -1;
+ if (_r5.i != _r11.i) goto label181;
+ XMLVM_SOURCE_POSITION("Util.java", 154)
+ _r2 = _r2;
+ _r5 = _r10;
+ _r10 = _r12;
+ _r14 = _r3;
+ _r3 = _r2;
+ _r2 = _r14;
+ goto label137;
+ label181:;
+ XMLVM_SOURCE_POSITION("Util.java", 156)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r15.o)
+ label187:;
+ XMLVM_SOURCE_POSITION("Util.java", 157)
+ _r11.i = 32;
+ if (_r7.i == _r11.i) goto label203;
+ _r11.i = 44;
+ if (_r7.i == _r11.i) goto label203;
+ _r11.i = 45;
+ if (_r7.i == _r11.i) goto label203;
+ _r11.i = 13;
+ if (_r7.i != _r11.i) goto label254;
+ label203:;
+ XMLVM_SOURCE_POSITION("Util.java", 159)
+ _r11.i = -1;
+ if (_r3.i == _r11.i) goto label216;
+ _r11.i = -1;
+ if (_r5.i != _r11.i) goto label216;
+ XMLVM_SOURCE_POSITION("Util.java", 160)
+ _r2 = _r2;
+ _r5 = _r10;
+ _r10 = _r12;
+ _r14 = _r3;
+ _r3 = _r2;
+ _r2 = _r14;
+ goto label137;
+ label216:;
+ XMLVM_SOURCE_POSITION("Util.java", 161)
+ _r11.i = -1;
+ if (_r5.i == _r11.i) goto label229;
+ _r11.i = -1;
+ if (_r10.i != _r11.i) goto label229;
+ XMLVM_SOURCE_POSITION("Util.java", 162)
+ _r2 = _r2;
+ _r10 = _r12;
+ _r14 = _r5;
+ _r5 = _r2;
+ _r2 = _r3;
+ _r3 = _r14;
+ goto label137;
+ label229:;
+ XMLVM_SOURCE_POSITION("Util.java", 163)
+ _r11.i = -1;
+ if (_r1.i != _r11.i) goto label238;
+ XMLVM_SOURCE_POSITION("Util.java", 164)
+ _r1 = _r2;
+ _r2 = _r3;
+ _r3 = _r5;
+ _r5 = _r10;
+ _r10 = _r12;
+ goto label137;
+ label238:;
+ XMLVM_SOURCE_POSITION("Util.java", 165)
+ _r11.i = -1;
+ if (_r12.i != _r11.i) goto label248;
+ XMLVM_SOURCE_POSITION("Util.java", 166)
+ _r2 = _r2;
+ _r14 = _r10;
+ _r10 = _r2;
+ _r2 = _r3;
+ _r3 = _r5;
+ _r5 = _r14;
+ goto label137;
+ label248:;
+ XMLVM_SOURCE_POSITION("Util.java", 168)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r15.o)
+ label254:;
+ XMLVM_SOURCE_POSITION("Util.java", 169)
+ _r11.i = -1;
+ if (_r12.i != _r11.i) goto label271;
+ _r11.i = -1;
+ if (_r6.i == _r11.i) goto label271;
+ _r11.i = -1;
+ if (_r1.i == _r11.i) goto label271;
+ XMLVM_SOURCE_POSITION("Util.java", 170)
+ _r2 = _r2;
+ _r14 = _r10;
+ _r10 = _r2;
+ _r2 = _r3;
+ _r3 = _r5;
+ _r5 = _r14;
+ goto label137;
+ label271:;
+ XMLVM_SOURCE_POSITION("Util.java", 172)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r15.o)
+ label277:;
+ _r2.i = 1;
+ if (_r11.i != _r2.i) goto label480;
+ _r2.i = 1;
+ if (_r8.i == _r2.i) goto label480;
+ XMLVM_SOURCE_POSITION("Util.java", 174)
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_CHECK_NPE(2)
+ _r11.o = java_lang_String_toUpperCase__(_r2.o);
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("Util.java", 175)
+ XMLVM_CHECK_NPE(0)
+ java_lang_AbstractStringBuilder_setLength___int(_r0.o, _r2.i);
+ XMLVM_SOURCE_POSITION("Util.java", 176)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(11)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r11.o)->tib->vtable[8])(_r11.o);
+ _r13.i = 3;
+ if (_r2.i >= _r13.i) goto label308;
+ XMLVM_SOURCE_POSITION("Util.java", 177)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r15.o)
+ label308:;
+ XMLVM_SOURCE_POSITION("Util.java", 178)
+ _r2.o = org_apache_harmony_luni_util_Util_GET_WEEKDAYS();
+ _r2.i = org_apache_harmony_luni_util_Util_parse___java_lang_String_java_lang_String_1ARRAY(_r11.o, _r2.o);
+ _r13.i = -1;
+ if (_r2.i == _r13.i) goto label324;
+ _r2 = _r3;
+ _r3 = _r5;
+ _r5 = _r6;
+ _r6 = _r10;
+ _r10 = _r12;
+ goto label140;
+ label324:;
+ XMLVM_SOURCE_POSITION("Util.java", 179)
+ _r2.i = -1;
+ if (_r6.i != _r2.i) goto label344;
+ _r2.o = org_apache_harmony_luni_util_Util_GET_MONTHS();
+ _r2.i = org_apache_harmony_luni_util_Util_parse___java_lang_String_java_lang_String_1ARRAY(_r11.o, _r2.o);
+ _r6.i = -1;
+ if (_r2.i == _r6.i) goto label345;
+ _r6 = _r10;
+ _r10 = _r12;
+ _r14 = _r3;
+ _r3 = _r5;
+ _r5 = _r2;
+ _r2 = _r14;
+ goto label140;
+ label344:;
+ _r2 = _r6;
+ label345:;
+ XMLVM_SOURCE_POSITION("Util.java", 180)
+ // "GMT"
+ _r6.o = xmlvm_create_java_string_from_pool(750);
+ //java_lang_String_equals___java_lang_Object[1]
+ XMLVM_CHECK_NPE(11)
+ _r6.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_lang_String*) _r11.o)->tib->vtable[1])(_r11.o, _r6.o);
+ if (_r6.i == 0) goto label361;
+ _r6 = _r10;
+ _r10 = _r12;
+ _r14 = _r3;
+ _r3 = _r5;
+ _r5 = _r2;
+ _r2 = _r14;
+ goto label140;
+ label361:;
+ XMLVM_SOURCE_POSITION("Util.java", 182)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r15.o)
+ label367:;
+ XMLVM_SOURCE_POSITION("Util.java", 190)
+ _r15.i = -1;
+ if (_r12.i == _r15.i) goto label464;
+ _r15.i = -1;
+ if (_r6.i == _r15.i) goto label464;
+ _r15.i = -1;
+ if (_r1.i == _r15.i) goto label464;
+ XMLVM_SOURCE_POSITION("Util.java", 191)
+ _r15.i = -1;
+ if (_r3.i != _r15.i) goto label478;
+ XMLVM_SOURCE_POSITION("Util.java", 192)
+ _r15.i = 0;
+ _r2 = _r15;
+ label381:;
+ XMLVM_SOURCE_POSITION("Util.java", 193)
+ _r15.i = -1;
+ if (_r5.i != _r15.i) goto label476;
+ XMLVM_SOURCE_POSITION("Util.java", 194)
+ _r15.i = 0;
+ _r3 = _r15;
+ label386:;
+ XMLVM_SOURCE_POSITION("Util.java", 195)
+ _r15.i = -1;
+ if (_r10.i != _r15.i) goto label474;
+ XMLVM_SOURCE_POSITION("Util.java", 196)
+ _r15.i = 0;
+ _r4 = _r15;
+ label391:;
+ XMLVM_SOURCE_POSITION("Util.java", 197)
+ // "GMT"
+ _r15.o = xmlvm_create_java_string_from_pool(750);
+
+
+ // Red class access removed: java.util.TimeZone::getTimeZone
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Calendar::getInstance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r0.i = 1;
+ XMLVM_SOURCE_POSITION("Util.java", 198)
+
+
+ // Red class access removed: java.util.Calendar::get
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r5.i = 80;
+ _r0.i = _r0.i - _r5.i;
+ _r5.i = 100;
+ if (_r12.i >= _r5.i) goto label472;
+ XMLVM_SOURCE_POSITION("Util.java", 199)
+ XMLVM_SOURCE_POSITION("Util.java", 200)
+ _r5.i = _r0.i / 100;
+ _r5.i = _r5.i * 100;
+ _r5.i = _r5.i + _r12.i;
+ if (_r5.i >= _r0.i) goto label470;
+ XMLVM_SOURCE_POSITION("Util.java", 201)
+ XMLVM_SOURCE_POSITION("Util.java", 202)
+ _r0.i = _r5.i + 100;
+ label422:;
+ XMLVM_SOURCE_POSITION("Util.java", 204)
+ _r5.i = 1;
+
+
+ // Red class access removed: java.util.Calendar::set
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Util.java", 205)
+ _r0.i = 2;
+
+
+ // Red class access removed: java.util.Calendar::set
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Util.java", 206)
+ _r0.i = 5;
+
+
+ // Red class access removed: java.util.Calendar::set
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Util.java", 207)
+ _r0.i = 11;
+
+
+ // Red class access removed: java.util.Calendar::set
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Util.java", 208)
+ _r0.i = 12;
+
+
+ // Red class access removed: java.util.Calendar::set
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Util.java", 209)
+ _r0.i = 13;
+
+
+ // Red class access removed: java.util.Calendar::set
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Util.java", 210)
+ _r0.i = 14;
+ _r1.i = 0;
+
+
+ // Red class access removed: java.util.Calendar::set
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Util.java", 211)
+
+
+ // Red class access removed: java.util.Calendar::getTime
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.util.Date::getTime
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_EXIT_METHOD()
+ return _r0.l;
+ label464:;
+ XMLVM_SOURCE_POSITION("Util.java", 213)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r15.o)
+ label470:;
+ _r0 = _r5;
+ goto label422;
+ label472:;
+ _r0 = _r12;
+ goto label422;
+ label474:;
+ _r4 = _r10;
+ goto label391;
+ label476:;
+ _r3 = _r5;
+ goto label386;
+ label478:;
+ _r2 = _r3;
+ goto label381;
+ label480:;
+ _r2 = _r3;
+ _r3 = _r5;
+ _r5 = _r6;
+ _r6 = _r10;
+ _r10 = _r12;
+ goto label140;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_INT org_apache_harmony_luni_util_Util_parse___java_lang_String_java_lang_String_1ARRAY(JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_Util)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_Util_parse___java_lang_String_java_lang_String_1ARRAY]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.Util", "parse", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ _r7.o = n1;
+ _r8.o = n2;
+ _r2.i = 0;
+ XMLVM_SOURCE_POSITION("Util.java", 217)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(7)
+ _r5.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r7.o)->tib->vtable[8])(_r7.o);
+ _r6.i = 0;
+ label6:;
+ XMLVM_SOURCE_POSITION("Util.java", 218)
+ _r0.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r8.o));
+ if (_r6.i >= _r0.i) goto label25;
+ XMLVM_SOURCE_POSITION("Util.java", 219)
+ _r1.i = 1;
+ XMLVM_CHECK_NPE(8)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r8.o, _r6.i);
+ _r3.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r8.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i];
+ _r0 = _r7;
+ _r4 = _r2;
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_regionMatches___boolean_int_java_lang_String_int_int(_r0.o, _r1.i, _r2.i, _r3.o, _r4.i, _r5.i);
+ if (_r0.i == 0) goto label22;
+ _r0 = _r6;
+ label21:;
+ XMLVM_SOURCE_POSITION("Util.java", 220)
+ XMLVM_SOURCE_POSITION("Util.java", 222)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label22:;
+ _r6.i = _r6.i + 1;
+ goto label6;
+ label25:;
+ _r0.i = -1;
+ goto label21;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_Util_convertFromUTF8___byte_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_Util)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_Util_convertFromUTF8___byte_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.Util", "convertFromUTF8", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = n1;
+ _r2.i = n2;
+ _r3.i = n3;
+ XMLVM_SOURCE_POSITION("Util.java", 227)
+ XMLVM_CLASS_INIT(char)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_char, _r3.i);
+ _r0.o = org_apache_harmony_luni_util_Util_convertUTF8WithBuf___byte_1ARRAY_char_1ARRAY_int_int(_r1.o, _r0.o, _r2.i, _r3.i);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_Util_convertUTF8WithBuf___byte_1ARRAY_char_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_Util)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_Util_convertUTF8WithBuf___byte_1ARRAY_char_1ARRAY_int_int]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.Util", "convertUTF8WithBuf", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ XMLVMElem _r12;
+ XMLVMElem _r13;
+ XMLVMElem _r14;
+ XMLVMElem _r15;
+ _r12.o = n1;
+ _r13.o = n2;
+ _r14.i = n3;
+ _r15.i = n4;
+ _r10.i = 1;
+ _r9.i = 128;
+ // "luni.D7"
+ _r11.o = xmlvm_create_java_string_from_pool(751);
+ XMLVM_SOURCE_POSITION("Util.java", 232)
+ _r3.i = 0;
+ _r5.i = 0;
+ _r6 = _r5;
+ _r4 = _r3;
+ label9:;
+ XMLVM_SOURCE_POSITION("Util.java", 233)
+ if (_r4.i >= _r15.i) goto label175;
+ XMLVM_SOURCE_POSITION("Util.java", 234)
+ _r3.i = _r4.i + 1;
+ _r7.i = _r14.i + _r4.i;
+ XMLVM_CHECK_NPE(12)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r12.o, _r7.i);
+ _r7.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r12.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i];
+ _r7.i = _r7.i & 0xffff;
+ XMLVM_CHECK_NPE(13)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r13.o, _r6.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r13.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r7.i;
+ if (_r7.i >= _r9.i) goto label27;
+ XMLVM_SOURCE_POSITION("Util.java", 235)
+ _r5.i = _r6.i + 1;
+ _r6 = _r5;
+ _r4 = _r3;
+ goto label9;
+ label27:;
+ XMLVM_SOURCE_POSITION("Util.java", 236)
+ XMLVM_CHECK_NPE(13)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r13.o, _r6.i);
+ _r0.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r13.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i];
+ _r7.i = _r0.i & 224;
+ _r8.i = 192;
+ if (_r7.i != _r8.i) goto label85;
+ XMLVM_SOURCE_POSITION("Util.java", 237)
+ if (_r3.i < _r15.i) goto label49;
+ XMLVM_SOURCE_POSITION("Util.java", 238)
+
+
+ // Red class access removed: java.io.UTFDataFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.D7"
+ _r8.o = xmlvm_create_java_string_from_pool(751);
+ _r8.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_int(_r11.o, _r3.i);
+
+
+ // Red class access removed: java.io.UTFDataFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r7.o)
+ label49:;
+ XMLVM_SOURCE_POSITION("Util.java", 240)
+ _r4.i = _r3.i + 1;
+ XMLVM_CHECK_NPE(12)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r12.o, _r3.i);
+ _r1.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r12.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ _r7.i = _r1.i & 192;
+ if (_r7.i == _r9.i) goto label71;
+ XMLVM_SOURCE_POSITION("Util.java", 241)
+ XMLVM_SOURCE_POSITION("Util.java", 242)
+
+
+ // Red class access removed: java.io.UTFDataFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.D7"
+ _r8.o = xmlvm_create_java_string_from_pool(751);
+ _r8.i = _r4.i - _r10.i;
+ _r8.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_int(_r11.o, _r8.i);
+
+
+ // Red class access removed: java.io.UTFDataFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r7.o)
+ label71:;
+ XMLVM_SOURCE_POSITION("Util.java", 244)
+ _r5.i = _r6.i + 1;
+ _r7.i = _r0.i & 31;
+ _r7.i = _r7.i << 6;
+ _r8.i = _r1.i & 63;
+ _r7.i = _r7.i | _r8.i;
+ _r7.i = _r7.i & 0xffff;
+ XMLVM_CHECK_NPE(13)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r13.o, _r6.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r13.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r7.i;
+ _r6 = _r5;
+ XMLVM_SOURCE_POSITION("Util.java", 245)
+ goto label9;
+ label85:;
+ _r7.i = _r0.i & 240;
+ _r8.i = 224;
+ if (_r7.i != _r8.i) goto label161;
+ XMLVM_SOURCE_POSITION("Util.java", 246)
+ _r7.i = _r3.i + 1;
+ if (_r7.i < _r15.i) goto label109;
+ XMLVM_SOURCE_POSITION("Util.java", 247)
+
+
+ // Red class access removed: java.io.UTFDataFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.D8"
+ _r8.o = xmlvm_create_java_string_from_pool(752);
+ _r9.i = _r3.i + 1;
+ _r8.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_int(_r8.o, _r9.i);
+
+
+ // Red class access removed: java.io.UTFDataFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r7.o)
+ label109:;
+ XMLVM_SOURCE_POSITION("Util.java", 249)
+ _r4.i = _r3.i + 1;
+ XMLVM_CHECK_NPE(12)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r12.o, _r3.i);
+ _r1.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r12.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ _r3.i = _r4.i + 1;
+ XMLVM_SOURCE_POSITION("Util.java", 250)
+ XMLVM_CHECK_NPE(12)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r12.o, _r4.i);
+ _r2.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r12.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ _r7.i = _r1.i & 192;
+ if (_r7.i != _r9.i) goto label125;
+ XMLVM_SOURCE_POSITION("Util.java", 251)
+ _r7.i = _r2.i & 192;
+ if (_r7.i == _r9.i) goto label140;
+ label125:;
+ XMLVM_SOURCE_POSITION("Util.java", 252)
+
+
+ // Red class access removed: java.io.UTFDataFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.D9"
+ _r8.o = xmlvm_create_java_string_from_pool(753);
+ _r9.i = 2;
+ _r9.i = _r3.i - _r9.i;
+ _r8.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_int(_r8.o, _r9.i);
+
+
+ // Red class access removed: java.io.UTFDataFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r7.o)
+ label140:;
+ XMLVM_SOURCE_POSITION("Util.java", 254)
+ _r5.i = _r6.i + 1;
+ _r7.i = _r0.i & 15;
+ _r7.i = _r7.i << 12;
+ _r8.i = _r1.i & 63;
+ _r8.i = _r8.i << 6;
+ _r7.i = _r7.i | _r8.i;
+ _r8.i = _r2.i & 63;
+ _r7.i = _r7.i | _r8.i;
+ _r7.i = _r7.i & 0xffff;
+ XMLVM_CHECK_NPE(13)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r13.o, _r6.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r13.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r7.i;
+ _r6 = _r5;
+ _r4 = _r3;
+ XMLVM_SOURCE_POSITION("Util.java", 255)
+ goto label9;
+ label161:;
+ XMLVM_SOURCE_POSITION("Util.java", 256)
+
+
+ // Red class access removed: java.io.UTFDataFormatException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.DA"
+ _r8.o = xmlvm_create_java_string_from_pool(754);
+ _r9.i = _r3.i - _r10.i;
+ _r8.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_int(_r8.o, _r9.i);
+
+
+ // Red class access removed: java.io.UTFDataFormatException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r7.o)
+ label175:;
+ XMLVM_SOURCE_POSITION("Util.java", 260)
+ _r7.o = __NEW_java_lang_String();
+ _r8.i = 0;
+ XMLVM_CHECK_NPE(7)
+ java_lang_String___INIT____char_1ARRAY_int_int(_r7.o, _r13.o, _r8.i, _r6.i);
+ XMLVM_EXIT_METHOD()
+ return _r7.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_Util_decode___java_lang_String_boolean(JAVA_OBJECT n1, JAVA_BOOLEAN n2)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_Util)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_Util_decode___java_lang_String_boolean]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.Util", "decode", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = n1;
+ _r2.i = n2;
+ XMLVM_SOURCE_POSITION("Util.java", 273)
+ _r0.o = JAVA_NULL;
+ _r0.o = org_apache_harmony_luni_util_Util_decode___java_lang_String_boolean_java_lang_String(_r1.o, _r2.i, _r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_Util_decode___java_lang_String_boolean_java_lang_String(JAVA_OBJECT n1, JAVA_BOOLEAN n2, JAVA_OBJECT n3)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_Util)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_Util_decode___java_lang_String_boolean_java_lang_String]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.Util", "decode", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ volatile XMLVMElem _r9;
+ volatile XMLVMElem _r10;
+ volatile XMLVMElem _r11;
+ volatile XMLVMElem _r12;
+ volatile XMLVMElem _r13;
+ volatile XMLVMElem _r14;
+ _r12.o = n1;
+ _r13.i = n2;
+ _r14.o = n3;
+ _r11.i = 16;
+ _r10.i = 37;
+ _r9.i = -1;
+ XMLVM_SOURCE_POSITION("Util.java", 288)
+ if (_r13.i != 0) goto label15;
+ XMLVM_CHECK_NPE(12)
+ _r7.i = java_lang_String_indexOf___int(_r12.o, _r10.i);
+ if (_r7.i != _r9.i) goto label15;
+ _r7 = _r12;
+ label14:;
+ XMLVM_SOURCE_POSITION("Util.java", 289)
+ XMLVM_SOURCE_POSITION("Util.java", 325)
+ XMLVM_EXIT_METHOD()
+ return _r7.o;
+ label15:;
+ XMLVM_SOURCE_POSITION("Util.java", 290)
+ _r6.o = __NEW_java_lang_StringBuilder();
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(12)
+ _r7.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r12.o)->tib->vtable[8])(_r12.o);
+ XMLVM_CHECK_NPE(6)
+ java_lang_StringBuilder___INIT____int(_r6.o, _r7.i);
+ XMLVM_SOURCE_POSITION("Util.java", 291)
+
+
+ // Red class access removed: java.io.ByteArrayOutputStream::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.io.ByteArrayOutputStream::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ _r4.i = 0;
+ label30:;
+ XMLVM_SOURCE_POSITION("Util.java", 292)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(12)
+ _r7.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r12.o)->tib->vtable[8])(_r12.o);
+ if (_r4.i >= _r7.i) goto label177;
+ XMLVM_SOURCE_POSITION("Util.java", 293)
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(12)
+ _r0.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r12.o)->tib->vtable[6])(_r12.o, _r4.i);
+ if (_r13.i == 0) goto label54;
+ XMLVM_SOURCE_POSITION("Util.java", 294)
+ _r7.i = 43;
+ if (_r0.i != _r7.i) goto label54;
+ XMLVM_SOURCE_POSITION("Util.java", 295)
+ _r7.i = 32;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(6)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r6.o)->tib->vtable[6])(_r6.o, _r7.i);
+ label51:;
+ XMLVM_SOURCE_POSITION("Util.java", 323)
+ _r4.i = _r4.i + 1;
+ XMLVM_SOURCE_POSITION("Util.java", 324)
+ goto label30;
+ label54:;
+ XMLVM_SOURCE_POSITION("Util.java", 296)
+ if (_r0.i != _r10.i) goto label173;
+ XMLVM_SOURCE_POSITION("Util.java", 297)
+
+
+ // Red class access removed: java.io.ByteArrayOutputStream::reset
+ XMLVM_RED_CLASS_DEPENDENCY();
+ label59:;
+ XMLVM_SOURCE_POSITION("Util.java", 299)
+ _r7.i = _r4.i + 2;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(12)
+ _r8.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r12.o)->tib->vtable[8])(_r12.o);
+ if (_r7.i < _r8.i) goto label79;
+ XMLVM_SOURCE_POSITION("Util.java", 300)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.80"
+ _r8.o = xmlvm_create_java_string_from_pool(755);
+ _r8.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_int(_r8.o, _r4.i);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r7.o)
+ label79:;
+ XMLVM_SOURCE_POSITION("Util.java", 302)
+ _r7.i = _r4.i + 1;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(12)
+ _r7.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r12.o)->tib->vtable[6])(_r12.o, _r7.i);
+ _r1.i = java_lang_Character_digit___char_int(_r7.i, _r11.i);
+ _r7.i = _r4.i + 2;
+ XMLVM_SOURCE_POSITION("Util.java", 303)
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(12)
+ _r7.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r12.o)->tib->vtable[6])(_r12.o, _r7.i);
+ _r2.i = java_lang_Character_digit___char_int(_r7.i, _r11.i);
+ if (_r1.i == _r9.i) goto label103;
+ XMLVM_SOURCE_POSITION("Util.java", 304)
+ if (_r2.i != _r9.i) goto label125;
+ label103:;
+ XMLVM_SOURCE_POSITION("Util.java", 305)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+ // "luni.81"
+ _r8.o = xmlvm_create_java_string_from_pool(756);
+ _r9.i = _r4.i + 3;
+ XMLVM_CHECK_NPE(12)
+ _r9.o = java_lang_String_substring___int_int(_r12.o, _r4.i, _r9.i);
+ _r10.o = java_lang_String_valueOf___int(_r4.i);
+ _r8.o = org_apache_harmony_luni_internal_nls_Messages_getString___java_lang_String_java_lang_Object_java_lang_Object(_r8.o, _r9.o, _r10.o);
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r7.o)
+ label125:;
+ XMLVM_SOURCE_POSITION("Util.java", 308)
+ _r7.i = _r1.i << 4;
+ _r7.i = _r7.i + _r2.i;
+ _r7.i = (_r7.i << 24) >> 24;
+
+
+ // Red class access removed: java.io.ByteArrayOutputStream::write
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_SOURCE_POSITION("Util.java", 309)
+ _r4.i = _r4.i + 3;
+ XMLVM_SOURCE_POSITION("Util.java", 310)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(12)
+ _r7.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r12.o)->tib->vtable[8])(_r12.o);
+ if (_r4.i >= _r7.i) goto label146;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(12)
+ _r7.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r12.o)->tib->vtable[6])(_r12.o, _r4.i);
+ if (_r7.i == _r10.i) goto label59;
+ label146:;
+ XMLVM_SOURCE_POSITION("Util.java", 311)
+ if (_r14.o != JAVA_NULL) goto label156;
+ XMLVM_SOURCE_POSITION("Util.java", 312)
+
+
+ // Red class access removed: java.io.ByteArrayOutputStream::toString
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(6)
+ java_lang_StringBuilder_append___java_lang_String(_r6.o, _r7.o);
+ goto label30;
+ label156:;
+ XMLVM_TRY_BEGIN(w5509aaac15b1d102)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Util.java", 315)
+
+
+ // Red class access removed: java.io.ByteArrayOutputStream::toString
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_CHECK_NPE(6)
+ java_lang_StringBuilder_append___java_lang_String(_r6.o, _r7.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5509aaac15b1d102)
+ XMLVM_CATCH_END(w5509aaac15b1d102)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5509aaac15b1d102)
+ goto label30;
+ label165:;
+ XMLVM_SOURCE_POSITION("Util.java", 316)
+ java_lang_Thread* curThread_w5509aaac15b1d106 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r7.o = curThread_w5509aaac15b1d106->fields.java_lang_Thread.xmlvmException_;
+ _r3 = _r7;
+ XMLVM_SOURCE_POSITION("Util.java", 317)
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.IllegalArgumentException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r7.o)
+ label173:;
+ XMLVM_SOURCE_POSITION("Util.java", 322)
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(6)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r6.o)->tib->vtable[6])(_r6.o, _r0.i);
+ goto label51;
+ label177:;
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(6)
+ _r7.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r6.o)->tib->vtable[5])(_r6.o);
+ goto label14;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_Util_encodeURL___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_Util)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_Util_encodeURL___java_lang_String]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.Util", "encodeURL", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ volatile XMLVMElem _r9;
+ volatile XMLVMElem _r10;
+ volatile XMLVMElem _r11;
+ volatile XMLVMElem _r12;
+ _r12.o = n1;
+ _r11.i = 37;
+ _r10.i = -1;
+ XMLVM_SOURCE_POSITION("Util.java", 336)
+ // "0123456789ABCDEF"
+ _r3.o = xmlvm_create_java_string_from_pool(757);
+ XMLVM_SOURCE_POSITION("Util.java", 338)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(12)
+ _r7.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r12.o)->tib->vtable[8])(_r12.o);
+ _r7.i = _r7.i + 16;
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____int(_r0.o, _r7.i);
+ _r5.i = 0;
+ label17:;
+ XMLVM_SOURCE_POSITION("Util.java", 339)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(12)
+ _r7.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r12.o)->tib->vtable[8])(_r12.o);
+ if (_r5.i >= _r7.i) goto label181;
+ XMLVM_SOURCE_POSITION("Util.java", 340)
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(12)
+ _r2.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r12.o)->tib->vtable[6])(_r12.o, _r5.i);
+ if (_r11.i != _r2.i) goto label109;
+ XMLVM_SOURCE_POSITION("Util.java", 341)
+ XMLVM_SOURCE_POSITION("Util.java", 342)
+ _r7.i = _r5.i + 1;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(12)
+ _r8.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r12.o)->tib->vtable[8])(_r12.o);
+ if (_r7.i >= _r8.i) goto label103;
+ _r7.i = _r5.i + 2;
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(12)
+ _r8.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r12.o)->tib->vtable[8])(_r12.o);
+ if (_r7.i >= _r8.i) goto label103;
+ _r7.i = _r5.i + 1;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(12)
+ _r7.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r12.o)->tib->vtable[6])(_r12.o, _r7.i);
+ _r7.i = java_lang_Character_toUpperCase___char(_r7.i);
+ XMLVM_CHECK_NPE(3)
+ _r7.i = java_lang_String_indexOf___int(_r3.o, _r7.i);
+ if (_r7.i == _r10.i) goto label103;
+ _r7.i = _r5.i + 2;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(12)
+ _r7.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r12.o)->tib->vtable[6])(_r12.o, _r7.i);
+ _r7.i = java_lang_Character_toUpperCase___char(_r7.i);
+ XMLVM_CHECK_NPE(3)
+ _r7.i = java_lang_String_indexOf___int(_r3.o, _r7.i);
+ if (_r7.i == _r10.i) goto label103;
+ XMLVM_SOURCE_POSITION("Util.java", 348)
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r2.i);
+ XMLVM_SOURCE_POSITION("Util.java", 349)
+ _r7.i = _r5.i + 1;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(12)
+ _r7.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r12.o)->tib->vtable[6])(_r12.o, _r7.i);
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r7.i);
+ XMLVM_SOURCE_POSITION("Util.java", 350)
+ _r7.i = _r5.i + 2;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(12)
+ _r7.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r12.o)->tib->vtable[6])(_r12.o, _r7.i);
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r7.i);
+ XMLVM_SOURCE_POSITION("Util.java", 351)
+ _r5.i = _r5.i + 2;
+ label100:;
+ _r5.i = _r5.i + 1;
+ goto label17;
+ label103:;
+ XMLVM_SOURCE_POSITION("Util.java", 353)
+ // "%25"
+ _r7.o = xmlvm_create_java_string_from_pool(758);
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder_append___java_lang_String(_r0.o, _r7.o);
+ goto label100;
+ label109:;
+ XMLVM_SOURCE_POSITION("Util.java", 355)
+ // "\042<>%\134^[]`+$,\173\175`\176\174 "
+ _r7.o = xmlvm_create_java_string_from_pool(759);
+ XMLVM_CHECK_NPE(7)
+ _r7.i = java_lang_String_indexOf___int(_r7.o, _r2.i);
+ if (_r7.i != _r10.i) goto label121;
+ XMLVM_SOURCE_POSITION("Util.java", 356)
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r2.i);
+ goto label100;
+ label121:;
+ XMLVM_SOURCE_POSITION("Util.java", 358)
+ _r1.o = JAVA_NULL;
+ XMLVM_TRY_BEGIN(w5509aaac16b1c68)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Util.java", 360)
+ _r7.o = __NEW_java_lang_String();
+ _r8.i = 1;
+ XMLVM_CLASS_INIT(char)
+ _r8.o = XMLVMArray_createSingleDimension(__CLASS_char, _r8.i);
+ _r9.i = 0;
+ XMLVM_CHECK_NPE(8)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r8.o, _r9.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r8.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r2.i;
+ XMLVM_CHECK_NPE(7)
+ java_lang_String___INIT____char_1ARRAY(_r7.o, _r8.o);
+ // "UTF-8"
+ _r8.o = xmlvm_create_java_string_from_pool(100);
+ XMLVM_CHECK_NPE(7)
+ _r1.o = java_lang_String_getBytes___java_lang_String(_r7.o, _r8.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5509aaac16b1c68)
+ XMLVM_CATCH_END(w5509aaac16b1c68)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5509aaac16b1c68)
+ XMLVM_SOURCE_POSITION("Util.java", 364)
+ _r6.i = 0;
+ label140:;
+ _r7.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ if (_r6.i >= _r7.i) goto label100;
+ XMLVM_SOURCE_POSITION("Util.java", 365)
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r11.i);
+ XMLVM_SOURCE_POSITION("Util.java", 366)
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r6.i);
+ _r7.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i];
+ _r7.i = _r7.i & 240;
+ _r7.i = _r7.i >> 4;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(3)
+ _r7.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r3.o)->tib->vtable[6])(_r3.o, _r7.i);
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r7.i);
+ XMLVM_SOURCE_POSITION("Util.java", 367)
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r6.i);
+ _r7.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i];
+ _r7.i = _r7.i & 15;
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(3)
+ _r7.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r3.o)->tib->vtable[6])(_r3.o, _r7.i);
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r7.i);
+ _r6.i = _r6.i + 1;
+ goto label140;
+ label173:;
+ XMLVM_SOURCE_POSITION("Util.java", 361)
+ java_lang_Thread* curThread_w5509aaac16b1c91 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r7.o = curThread_w5509aaac16b1c91->fields.java_lang_Thread.xmlvmException_;
+ _r4 = _r7;
+ XMLVM_SOURCE_POSITION("Util.java", 362)
+
+
+ // Red class access removed: java.lang.AssertionError::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.lang.AssertionError::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r7.o)
+ label181:;
+ XMLVM_SOURCE_POSITION("Util.java", 371)
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r7.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r7.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_Util_toASCIILowerCase___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_Util)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_Util_toASCIILowerCase___java_lang_String]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.Util", "toASCIILowerCase", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.o = n1;
+ XMLVM_SOURCE_POSITION("Util.java", 375)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(5)
+ _r3.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r5.o)->tib->vtable[8])(_r5.o);
+ XMLVM_SOURCE_POSITION("Util.java", 376)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____int(_r0.o, _r3.i);
+ _r2.i = 0;
+ label10:;
+ XMLVM_SOURCE_POSITION("Util.java", 377)
+ if (_r2.i >= _r3.i) goto label37;
+ XMLVM_SOURCE_POSITION("Util.java", 378)
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(5)
+ _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r5.o)->tib->vtable[6])(_r5.o, _r2.i);
+ _r4.i = 65;
+ if (_r4.i > _r1.i) goto label33;
+ XMLVM_SOURCE_POSITION("Util.java", 379)
+ _r4.i = 90;
+ if (_r1.i > _r4.i) goto label33;
+ XMLVM_SOURCE_POSITION("Util.java", 380)
+ _r4.i = _r1.i + 32;
+ _r4.i = _r4.i & 0xffff;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r4.i);
+ label30:;
+ _r2.i = _r2.i + 1;
+ goto label10;
+ label33:;
+ XMLVM_SOURCE_POSITION("Util.java", 382)
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r1.i);
+ goto label30;
+ label37:;
+ XMLVM_SOURCE_POSITION("Util.java", 385)
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r4.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r4.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_luni_util_Util_toASCIIUpperCase___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_luni_util_Util)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_Util_toASCIIUpperCase___java_lang_String]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.Util", "toASCIIUpperCase", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.o = n1;
+ XMLVM_SOURCE_POSITION("Util.java", 389)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(5)
+ _r3.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r5.o)->tib->vtable[8])(_r5.o);
+ XMLVM_SOURCE_POSITION("Util.java", 390)
+ _r0.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(0)
+ java_lang_StringBuilder___INIT____int(_r0.o, _r3.i);
+ _r2.i = 0;
+ label10:;
+ XMLVM_SOURCE_POSITION("Util.java", 391)
+ if (_r2.i >= _r3.i) goto label39;
+ XMLVM_SOURCE_POSITION("Util.java", 392)
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(5)
+ _r1.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r5.o)->tib->vtable[6])(_r5.o, _r2.i);
+ _r4.i = 97;
+ if (_r4.i > _r1.i) goto label35;
+ XMLVM_SOURCE_POSITION("Util.java", 393)
+ _r4.i = 122;
+ if (_r1.i > _r4.i) goto label35;
+ XMLVM_SOURCE_POSITION("Util.java", 394)
+ _r4.i = 32;
+ _r4.i = _r1.i - _r4.i;
+ _r4.i = _r4.i & 0xffff;
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r4.i);
+ label32:;
+ _r2.i = _r2.i + 1;
+ goto label10;
+ label35:;
+ XMLVM_SOURCE_POSITION("Util.java", 396)
+ //java_lang_StringBuilder_append___char[6]
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[6])(_r0.o, _r1.i);
+ goto label32;
+ label39:;
+ XMLVM_SOURCE_POSITION("Util.java", 399)
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(0)
+ _r4.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r0.o)->tib->vtable[5])(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return _r4.o;
+ //XMLVM_END_WRAPPER
+}
+
+void org_apache_harmony_luni_util_Util___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_luni_util_Util___CLINIT___]
+ XMLVM_ENTER_METHOD("org.apache.harmony.luni.util.Util", "<clinit>", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ volatile XMLVMElem _r9;
+ _r9.i = 4;
+ _r8.i = 3;
+ _r7.i = 2;
+ _r6.i = 1;
+ _r5.i = 0;
+ XMLVM_SOURCE_POSITION("Util.java", 30)
+ _r2.i = 8;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r2.i);
+ // ""
+ _r3.o = xmlvm_create_java_string_from_pool(21);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r5.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i] = _r3.o;
+ // "Sunday"
+ _r3.o = xmlvm_create_java_string_from_pool(760);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ // "Monday"
+ _r3.o = xmlvm_create_java_string_from_pool(761);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r3.o;
+ // "Tuesday"
+ _r3.o = xmlvm_create_java_string_from_pool(762);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ // "Wednesday"
+ _r3.o = xmlvm_create_java_string_from_pool(763);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r3.o;
+ _r3.i = 5;
+ // "Thursday"
+ _r4.o = xmlvm_create_java_string_from_pool(764);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.o;
+ _r3.i = 6;
+ // "Friday"
+ _r4.o = xmlvm_create_java_string_from_pool(765);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.o;
+ _r3.i = 7;
+ // "Saturday"
+ _r4.o = xmlvm_create_java_string_from_pool(766);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.o;
+ org_apache_harmony_luni_util_Util_PUT_WEEKDAYS( _r2.o);
+ XMLVM_SOURCE_POSITION("Util.java", 33)
+ _r2.i = 12;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r2.i);
+ // "January"
+ _r3.o = xmlvm_create_java_string_from_pool(767);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r5.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i] = _r3.o;
+ // "February"
+ _r3.o = xmlvm_create_java_string_from_pool(768);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ // "March"
+ _r3.o = xmlvm_create_java_string_from_pool(769);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r3.o;
+ // "April"
+ _r3.o = xmlvm_create_java_string_from_pool(770);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ // "May"
+ _r3.o = xmlvm_create_java_string_from_pool(771);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r3.o;
+ _r3.i = 5;
+ // "June"
+ _r4.o = xmlvm_create_java_string_from_pool(772);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.o;
+ _r3.i = 6;
+ // "July"
+ _r4.o = xmlvm_create_java_string_from_pool(773);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.o;
+ _r3.i = 7;
+ // "August"
+ _r4.o = xmlvm_create_java_string_from_pool(774);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.o;
+ _r3.i = 8;
+ // "September"
+ _r4.o = xmlvm_create_java_string_from_pool(775);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.o;
+ _r3.i = 9;
+ // "October"
+ _r4.o = xmlvm_create_java_string_from_pool(776);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.o;
+ _r3.i = 10;
+ // "November"
+ _r4.o = xmlvm_create_java_string_from_pool(777);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.o;
+ _r3.i = 11;
+ // "December"
+ _r4.o = xmlvm_create_java_string_from_pool(778);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.o;
+ org_apache_harmony_luni_util_Util_PUT_MONTHS( _r2.o);
+ XMLVM_SOURCE_POSITION("Util.java", 40)
+ // "os.encoding"
+ _r2.o = xmlvm_create_java_string_from_pool(674);
+ _r0.o = java_lang_System_getProperty___java_lang_String(_r2.o);
+ if (_r0.o == JAVA_NULL) goto label124;
+ XMLVM_TRY_BEGIN(w5509aaac19b1c68)
+ // Begin try
+ XMLVM_SOURCE_POSITION("Util.java", 41)
+ XMLVM_SOURCE_POSITION("Util.java", 43)
+ // ""
+ _r2.o = xmlvm_create_java_string_from_pool(21);
+ XMLVM_CHECK_NPE(2)
+ java_lang_String_getBytes___java_lang_String(_r2.o, _r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w5509aaac19b1c68)
+ XMLVM_CATCH_SPECIFIC(w5509aaac19b1c68,java_lang_Throwable,127)
+ XMLVM_CATCH_END(w5509aaac19b1c68)
+ XMLVM_RESTORE_EXCEPTION_ENV(w5509aaac19b1c68)
+ label124:;
+ XMLVM_SOURCE_POSITION("Util.java", 48)
+ org_apache_harmony_luni_util_Util_PUT_defaultEncoding( _r0.o);
+ XMLVM_SOURCE_POSITION("Util.java", 49)
+ XMLVM_EXIT_METHOD()
+ return;
+ label127:;
+ XMLVM_SOURCE_POSITION("Util.java", 44)
+ java_lang_Thread* curThread_w5509aaac19b1c76 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r2.o = curThread_w5509aaac19b1c76->fields.java_lang_Thread.xmlvmException_;
+ _r1 = _r2;
+ _r0.o = JAVA_NULL;
+ XMLVM_SOURCE_POSITION("Util.java", 45)
+ goto label124;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/org_apache_harmony_luni_util_Util.h b/tests/nbody-java/org_apache_harmony_luni_util_Util.h
new file mode 100644
index 00000000..a0d898b4
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_luni_util_Util.h
@@ -0,0 +1,101 @@
+#ifndef __ORG_APACHE_HARMONY_LUNI_UTIL_UTIL__
+#define __ORG_APACHE_HARMONY_LUNI_UTIL_UTIL__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_org_apache_harmony_luni_util_Util 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Character
+#define XMLVM_FORWARD_DECL_java_lang_Character
+XMLVM_FORWARD_DECL(java_lang_Character)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Integer
+#define XMLVM_FORWARD_DECL_java_lang_Integer
+XMLVM_FORWARD_DECL(java_lang_Integer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Throwable
+#define XMLVM_FORWARD_DECL_java_lang_Throwable
+XMLVM_FORWARD_DECL(java_lang_Throwable)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_internal_nls_Messages
+XMLVM_FORWARD_DECL(org_apache_harmony_luni_internal_nls_Messages)
+#endif
+// Class declarations for org.apache.harmony.luni.util.Util
+XMLVM_DEFINE_CLASS(org_apache_harmony_luni_util_Util, 6, XMLVM_ITABLE_SIZE_org_apache_harmony_luni_util_Util)
+
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_Util;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_Util_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_Util_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_luni_util_Util_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_luni_util_Util
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_org_apache_harmony_luni_util_Util \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_luni_util_Util \
+ } org_apache_harmony_luni_util_Util
+
+struct org_apache_harmony_luni_util_Util {
+ __TIB_DEFINITION_org_apache_harmony_luni_util_Util* tib;
+ struct {
+ __INSTANCE_FIELDS_org_apache_harmony_luni_util_Util;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_Util
+#define XMLVM_FORWARD_DECL_org_apache_harmony_luni_util_Util
+typedef struct org_apache_harmony_luni_util_Util org_apache_harmony_luni_util_Util;
+#endif
+
+#define XMLVM_VTABLE_SIZE_org_apache_harmony_luni_util_Util 6
+
+void __INIT_org_apache_harmony_luni_util_Util();
+void __INIT_IMPL_org_apache_harmony_luni_util_Util();
+void __DELETE_org_apache_harmony_luni_util_Util(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_luni_util_Util(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_org_apache_harmony_luni_util_Util();
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_luni_util_Util();
+JAVA_OBJECT org_apache_harmony_luni_util_Util_GET_WEEKDAYS();
+void org_apache_harmony_luni_util_Util_PUT_WEEKDAYS(JAVA_OBJECT v);
+JAVA_OBJECT org_apache_harmony_luni_util_Util_GET_MONTHS();
+void org_apache_harmony_luni_util_Util_PUT_MONTHS(JAVA_OBJECT v);
+JAVA_OBJECT org_apache_harmony_luni_util_Util_GET_defaultEncoding();
+void org_apache_harmony_luni_util_Util_PUT_defaultEncoding(JAVA_OBJECT v);
+void org_apache_harmony_luni_util_Util___INIT___(JAVA_OBJECT me);
+JAVA_OBJECT org_apache_harmony_luni_util_Util_getBytes___java_lang_String(JAVA_OBJECT n1);
+JAVA_OBJECT org_apache_harmony_luni_util_Util_getUTF8Bytes___java_lang_String(JAVA_OBJECT n1);
+JAVA_OBJECT org_apache_harmony_luni_util_Util_toString___byte_1ARRAY(JAVA_OBJECT n1);
+JAVA_OBJECT org_apache_harmony_luni_util_Util_toUTF8String___byte_1ARRAY(JAVA_OBJECT n1);
+JAVA_OBJECT org_apache_harmony_luni_util_Util_toString___byte_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+JAVA_OBJECT org_apache_harmony_luni_util_Util_toUTF8String___byte_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+JAVA_LONG org_apache_harmony_luni_util_Util_parseDate___java_lang_String(JAVA_OBJECT n1);
+JAVA_INT org_apache_harmony_luni_util_Util_parse___java_lang_String_java_lang_String_1ARRAY(JAVA_OBJECT n1, JAVA_OBJECT n2);
+JAVA_OBJECT org_apache_harmony_luni_util_Util_convertFromUTF8___byte_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_INT n2, JAVA_INT n3);
+JAVA_OBJECT org_apache_harmony_luni_util_Util_convertUTF8WithBuf___byte_1ARRAY_char_1ARRAY_int_int(JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_INT n3, JAVA_INT n4);
+JAVA_OBJECT org_apache_harmony_luni_util_Util_decode___java_lang_String_boolean(JAVA_OBJECT n1, JAVA_BOOLEAN n2);
+JAVA_OBJECT org_apache_harmony_luni_util_Util_decode___java_lang_String_boolean_java_lang_String(JAVA_OBJECT n1, JAVA_BOOLEAN n2, JAVA_OBJECT n3);
+JAVA_OBJECT org_apache_harmony_luni_util_Util_encodeURL___java_lang_String(JAVA_OBJECT n1);
+JAVA_OBJECT org_apache_harmony_luni_util_Util_toASCIILowerCase___java_lang_String(JAVA_OBJECT n1);
+JAVA_OBJECT org_apache_harmony_luni_util_Util_toASCIIUpperCase___java_lang_String(JAVA_OBJECT n1);
+void org_apache_harmony_luni_util_Util___CLINIT_();
+
+#endif
diff --git a/tests/nbody-java/org_apache_harmony_niochar_CharsetProviderImpl.c b/tests/nbody-java/org_apache_harmony_niochar_CharsetProviderImpl.c
new file mode 100644
index 00000000..d56bc599
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_niochar_CharsetProviderImpl.c
@@ -0,0 +1,4462 @@
+#include "xmlvm.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+#include "java_lang_StringBuilder.h"
+#include "java_nio_charset_Charset.h"
+#include "java_security_AccessController.h"
+#include "java_util_ArrayList.h"
+#include "java_util_Collections.h"
+#include "java_util_HashMap.h"
+#include "java_util_Iterator.h"
+#include "java_util_Map.h"
+#include "org_apache_harmony_niochar_CharsetProviderImpl_1.h"
+
+#include "org_apache_harmony_niochar_CharsetProviderImpl.h"
+
+#define XMLVM_CURRENT_CLASS_NAME CharsetProviderImpl
+#define XMLVM_CURRENT_PKG_CLASS_NAME org_apache_harmony_niochar_CharsetProviderImpl
+
+__TIB_DEFINITION_org_apache_harmony_niochar_CharsetProviderImpl __TIB_org_apache_harmony_niochar_CharsetProviderImpl = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_apache_harmony_niochar_CharsetProviderImpl, // classInitializer
+ "org.apache.harmony.niochar.CharsetProviderImpl", // className
+ "org.apache.harmony.niochar", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_charset_spi_CharsetProvider, // extends
+ sizeof(org_apache_harmony_niochar_CharsetProviderImpl), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_org_apache_harmony_niochar_CharsetProviderImpl;
+JAVA_OBJECT __CLASS_org_apache_harmony_niochar_CharsetProviderImpl_1ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_niochar_CharsetProviderImpl_2ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_niochar_CharsetProviderImpl_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_BOOLEAN _STATIC_org_apache_harmony_niochar_CharsetProviderImpl_HAS_LOADED_NATIVES;
+static JAVA_INT _STATIC_org_apache_harmony_niochar_CharsetProviderImpl_CHARSET_CLASS;
+static JAVA_INT _STATIC_org_apache_harmony_niochar_CharsetProviderImpl_CHARSET_INSTANCE;
+static JAVA_INT _STATIC_org_apache_harmony_niochar_CharsetProviderImpl_CHARSET_ALIASES;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_org_apache_harmony_niochar_CharsetProviderImpl()
+{
+ staticInitializerLock(&__TIB_org_apache_harmony_niochar_CharsetProviderImpl);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_apache_harmony_niochar_CharsetProviderImpl.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_apache_harmony_niochar_CharsetProviderImpl);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_apache_harmony_niochar_CharsetProviderImpl.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_apache_harmony_niochar_CharsetProviderImpl.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.apache.harmony.niochar.CharsetProviderImpl")
+ __INIT_IMPL_org_apache_harmony_niochar_CharsetProviderImpl();
+ }
+}
+
+void __INIT_IMPL_org_apache_harmony_niochar_CharsetProviderImpl()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_nio_charset_spi_CharsetProvider)
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl.newInstanceFunc = __NEW_INSTANCE_org_apache_harmony_niochar_CharsetProviderImpl;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_org_apache_harmony_niochar_CharsetProviderImpl.vtable, __TIB_java_nio_charset_spi_CharsetProvider.vtable, sizeof(__TIB_java_nio_charset_spi_CharsetProvider.vtable));
+ // Initialize vtable for this class
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl.vtable[7] = (VTABLE_PTR) &org_apache_harmony_niochar_CharsetProviderImpl_charsets__;
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl.vtable[6] = (VTABLE_PTR) &org_apache_harmony_niochar_CharsetProviderImpl_charsetForName___java_lang_String;
+ // Initialize interface information
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl.numImplementedInterfaces = 0;
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_org_apache_harmony_niochar_CharsetProviderImpl_HAS_LOADED_NATIVES = 0;
+ _STATIC_org_apache_harmony_niochar_CharsetProviderImpl_CHARSET_CLASS = 0;
+ _STATIC_org_apache_harmony_niochar_CharsetProviderImpl_CHARSET_INSTANCE = 1;
+ _STATIC_org_apache_harmony_niochar_CharsetProviderImpl_CHARSET_ALIASES = 2;
+
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl.declaredFields = &__field_reflection_data[0];
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_org_apache_harmony_niochar_CharsetProviderImpl = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_apache_harmony_niochar_CharsetProviderImpl);
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl.clazz = __CLASS_org_apache_harmony_niochar_CharsetProviderImpl;
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl.baseType = JAVA_NULL;
+ __CLASS_org_apache_harmony_niochar_CharsetProviderImpl_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_niochar_CharsetProviderImpl);
+ __CLASS_org_apache_harmony_niochar_CharsetProviderImpl_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_niochar_CharsetProviderImpl_1ARRAY);
+ __CLASS_org_apache_harmony_niochar_CharsetProviderImpl_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_niochar_CharsetProviderImpl_2ARRAY);
+ org_apache_harmony_niochar_CharsetProviderImpl___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_org_apache_harmony_niochar_CharsetProviderImpl]
+ //XMLVM_END_WRAPPER
+
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl.classInitialized = 1;
+}
+
+void __DELETE_org_apache_harmony_niochar_CharsetProviderImpl(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_org_apache_harmony_niochar_CharsetProviderImpl]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_CharsetProviderImpl(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_nio_charset_spi_CharsetProvider(me, 0 || derivedClassWillRegisterFinalizer);
+ ((org_apache_harmony_niochar_CharsetProviderImpl*) me)->fields.org_apache_harmony_niochar_CharsetProviderImpl.cache_ = (java_util_Map*) JAVA_NULL;
+ ((org_apache_harmony_niochar_CharsetProviderImpl*) me)->fields.org_apache_harmony_niochar_CharsetProviderImpl.charsets_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ ((org_apache_harmony_niochar_CharsetProviderImpl*) me)->fields.org_apache_harmony_niochar_CharsetProviderImpl.packageName_ = (java_lang_String*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_CharsetProviderImpl]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_org_apache_harmony_niochar_CharsetProviderImpl()
+{ XMLVM_CLASS_INIT(org_apache_harmony_niochar_CharsetProviderImpl)
+org_apache_harmony_niochar_CharsetProviderImpl* me = (org_apache_harmony_niochar_CharsetProviderImpl*) XMLVM_MALLOC(sizeof(org_apache_harmony_niochar_CharsetProviderImpl));
+ me->tib = &__TIB_org_apache_harmony_niochar_CharsetProviderImpl;
+ __INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_CharsetProviderImpl(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_org_apache_harmony_niochar_CharsetProviderImpl]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_niochar_CharsetProviderImpl()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_org_apache_harmony_niochar_CharsetProviderImpl();
+ org_apache_harmony_niochar_CharsetProviderImpl___INIT___(me);
+ return me;
+}
+
+JAVA_BOOLEAN org_apache_harmony_niochar_CharsetProviderImpl_GET_HAS_LOADED_NATIVES()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_niochar_CharsetProviderImpl)
+ return _STATIC_org_apache_harmony_niochar_CharsetProviderImpl_HAS_LOADED_NATIVES;
+}
+
+void org_apache_harmony_niochar_CharsetProviderImpl_PUT_HAS_LOADED_NATIVES(JAVA_BOOLEAN v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_niochar_CharsetProviderImpl)
+_STATIC_org_apache_harmony_niochar_CharsetProviderImpl_HAS_LOADED_NATIVES = v;
+}
+
+JAVA_INT org_apache_harmony_niochar_CharsetProviderImpl_GET_CHARSET_CLASS()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_niochar_CharsetProviderImpl)
+ return _STATIC_org_apache_harmony_niochar_CharsetProviderImpl_CHARSET_CLASS;
+}
+
+void org_apache_harmony_niochar_CharsetProviderImpl_PUT_CHARSET_CLASS(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_niochar_CharsetProviderImpl)
+_STATIC_org_apache_harmony_niochar_CharsetProviderImpl_CHARSET_CLASS = v;
+}
+
+JAVA_INT org_apache_harmony_niochar_CharsetProviderImpl_GET_CHARSET_INSTANCE()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_niochar_CharsetProviderImpl)
+ return _STATIC_org_apache_harmony_niochar_CharsetProviderImpl_CHARSET_INSTANCE;
+}
+
+void org_apache_harmony_niochar_CharsetProviderImpl_PUT_CHARSET_INSTANCE(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_niochar_CharsetProviderImpl)
+_STATIC_org_apache_harmony_niochar_CharsetProviderImpl_CHARSET_INSTANCE = v;
+}
+
+JAVA_INT org_apache_harmony_niochar_CharsetProviderImpl_GET_CHARSET_ALIASES()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_niochar_CharsetProviderImpl)
+ return _STATIC_org_apache_harmony_niochar_CharsetProviderImpl_CHARSET_ALIASES;
+}
+
+void org_apache_harmony_niochar_CharsetProviderImpl_PUT_CHARSET_ALIASES(JAVA_INT v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_niochar_CharsetProviderImpl)
+_STATIC_org_apache_harmony_niochar_CharsetProviderImpl_CHARSET_ALIASES = v;
+}
+
+JAVA_BOOLEAN org_apache_harmony_niochar_CharsetProviderImpl_hasLoadedNatives__()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_niochar_CharsetProviderImpl)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_CharsetProviderImpl_hasLoadedNatives__]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.CharsetProviderImpl", "hasLoadedNatives", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 86)
+ _r0.i = org_apache_harmony_niochar_CharsetProviderImpl_GET_HAS_LOADED_NATIVES();
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_niochar_CharsetProviderImpl_toUpperCase___java_lang_String(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_niochar_CharsetProviderImpl)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_CharsetProviderImpl_toUpperCase___java_lang_String]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.CharsetProviderImpl", "toUpperCase", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ _r5.o = n1;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 108)
+ //java_lang_String_length__[8]
+ XMLVM_CHECK_NPE(5)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_lang_String*) _r5.o)->tib->vtable[8])(_r5.o);
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 109)
+ XMLVM_CLASS_INIT(char)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_char, _r2.i);
+ _r1.i = 0;
+ label7:;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 110)
+ if (_r1.i >= _r2.i) goto label46;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 111)
+ //java_lang_String_charAt___int[6]
+ XMLVM_CHECK_NPE(5)
+ _r0.i = (*(JAVA_CHAR (*)(JAVA_OBJECT, JAVA_INT)) ((java_lang_String*) _r5.o)->tib->vtable[6])(_r5.o, _r1.i);
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 112)
+ _r4.i = org_apache_harmony_niochar_CharsetProviderImpl_passthru___char(_r0.i);
+ if (_r4.i == 0) goto label24;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 113)
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r1.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r0.i;
+ label21:;
+ _r1.i = _r1.i + 1;
+ goto label7;
+ label24:;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 115)
+ _r4.i = 97;
+ if (_r0.i < _r4.i) goto label40;
+ _r4.i = 122;
+ if (_r0.i > _r4.i) goto label40;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 117)
+ _r4.i = 32;
+ _r4.i = _r0.i - _r4.i;
+ _r4.i = _r4.i & 0xffff;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r1.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r4.i;
+ goto label21;
+ label40:;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 119)
+
+
+ // Red class access removed: java.nio.charset.IllegalCharsetNameException::new-instance
+ XMLVM_RED_CLASS_DEPENDENCY();
+
+
+ // Red class access removed: java.nio.charset.IllegalCharsetNameException::<init>
+ XMLVM_RED_CLASS_DEPENDENCY();
+ XMLVM_THROW_CUSTOM(_r4.o)
+ label46:;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 123)
+ _r4.o = __NEW_java_lang_String();
+ XMLVM_CHECK_NPE(4)
+ java_lang_String___INIT____char_1ARRAY(_r4.o, _r3.o);
+ XMLVM_EXIT_METHOD()
+ return _r4.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN org_apache_harmony_niochar_CharsetProviderImpl_passthru___char(JAVA_CHAR n1)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_niochar_CharsetProviderImpl)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_CharsetProviderImpl_passthru___char]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.CharsetProviderImpl", "passthru", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 130)
+ _r0.i = 65;
+ if (_r1.i < _r0.i) goto label8;
+ _r0.i = 90;
+ if (_r1.i <= _r0.i) goto label32;
+ label8:;
+ _r0.i = 48;
+ if (_r1.i < _r0.i) goto label16;
+ _r0.i = 57;
+ if (_r1.i <= _r0.i) goto label32;
+ label16:;
+ _r0.i = 45;
+ if (_r1.i == _r0.i) goto label32;
+ _r0.i = 46;
+ if (_r1.i == _r0.i) goto label32;
+ _r0.i = 58;
+ if (_r1.i == _r0.i) goto label32;
+ _r0.i = 95;
+ if (_r1.i != _r0.i) goto label34;
+ label32:;
+ _r0.i = 1;
+ label33:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label34:;
+ _r0.i = 0;
+ goto label33;
+ //XMLVM_END_WRAPPER
+}
+
+void org_apache_harmony_niochar_CharsetProviderImpl___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_CharsetProviderImpl___INIT___]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.CharsetProviderImpl", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r7.o = me;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 141)
+ XMLVM_CHECK_NPE(7)
+ java_nio_charset_spi_CharsetProvider___INIT___(_r7.o);
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 142)
+ _r4.o = __NEW_java_util_HashMap();
+ XMLVM_CHECK_NPE(4)
+ java_util_HashMap___INIT___(_r4.o);
+ _r4.o = java_util_Collections_synchronizedMap___java_util_Map(_r4.o);
+ XMLVM_CHECK_NPE(7)
+ ((org_apache_harmony_niochar_CharsetProviderImpl*) _r7.o)->fields.org_apache_harmony_niochar_CharsetProviderImpl.cache_ = _r4.o;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 143)
+ XMLVM_CHECK_NPE(7)
+ _r4.o = org_apache_harmony_niochar_CharsetProviderImpl_getCharsetsInfo__(_r7.o);
+ XMLVM_CHECK_NPE(7)
+ ((org_apache_harmony_niochar_CharsetProviderImpl*) _r7.o)->fields.org_apache_harmony_niochar_CharsetProviderImpl.charsets_ = _r4.o;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 144)
+ XMLVM_CHECK_NPE(7)
+ _r4.o = org_apache_harmony_niochar_CharsetProviderImpl_getPackageName__(_r7.o);
+ XMLVM_CHECK_NPE(7)
+ ((org_apache_harmony_niochar_CharsetProviderImpl*) _r7.o)->fields.org_apache_harmony_niochar_CharsetProviderImpl.packageName_ = _r4.o;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 145)
+ _r3.i = 0;
+ label27:;
+ XMLVM_CHECK_NPE(7)
+ _r4.o = ((org_apache_harmony_niochar_CharsetProviderImpl*) _r7.o)->fields.org_apache_harmony_niochar_CharsetProviderImpl.charsets_;
+ _r4.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r4.o));
+ if (_r3.i >= _r4.i) goto label70;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 146)
+ XMLVM_CHECK_NPE(7)
+ _r4.o = ((org_apache_harmony_niochar_CharsetProviderImpl*) _r7.o)->fields.org_apache_harmony_niochar_CharsetProviderImpl.charsets_;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r3.i);
+ _r4.o = ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ _r5.i = 2;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r5.i);
+ _r4.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i];
+ _r4.o = _r4.o;
+ _r0 = _r4;
+ _r0.o = _r0.o;
+ _r2 = _r0;
+ _r1.i = 0;
+ label46:;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 147)
+ _r4.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ if (_r1.i >= _r4.i) goto label67;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 148)
+ XMLVM_CHECK_NPE(7)
+ _r4.o = ((org_apache_harmony_niochar_CharsetProviderImpl*) _r7.o)->fields.org_apache_harmony_niochar_CharsetProviderImpl.cache_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r1.i);
+ _r5.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ _r5.o = org_apache_harmony_niochar_CharsetProviderImpl_toUpperCase___java_lang_String(_r5.o);
+ XMLVM_CHECK_NPE(7)
+ _r6.o = ((org_apache_harmony_niochar_CharsetProviderImpl*) _r7.o)->fields.org_apache_harmony_niochar_CharsetProviderImpl.charsets_;
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r3.i);
+ _r6.o = ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ XMLVM_CHECK_NPE(4)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r4.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_put___java_lang_Object_java_lang_Object])(_r4.o, _r5.o, _r6.o);
+ _r1.i = _r1.i + 1;
+ goto label46;
+ label67:;
+ _r3.i = _r3.i + 1;
+ goto label27;
+ label70:;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 151)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_niochar_CharsetProviderImpl_charsets__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_CharsetProviderImpl_charsets__]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.CharsetProviderImpl", "charsets", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 160)
+ _r1.o = __NEW_java_util_ArrayList();
+ XMLVM_CHECK_NPE(1)
+ java_util_ArrayList___INIT___(_r1.o);
+ _r0.i = 0;
+ label6:;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 161)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((org_apache_harmony_niochar_CharsetProviderImpl*) _r4.o)->fields.org_apache_harmony_niochar_CharsetProviderImpl.charsets_;
+ _r2.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r2.o));
+ if (_r0.i >= _r2.i) goto label35;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 162)
+ XMLVM_CHECK_NPE(4)
+ _r2.o = ((org_apache_harmony_niochar_CharsetProviderImpl*) _r4.o)->fields.org_apache_harmony_niochar_CharsetProviderImpl.charsets_;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r0.i);
+ _r2.o = ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i];
+ _r3.i = 2;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ _r2.o = _r2.o;
+ _r2.o = _r2.o;
+ _r3.i = 0;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ _r2.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ //org_apache_harmony_niochar_CharsetProviderImpl_charsetForName___java_lang_String[6]
+ XMLVM_CHECK_NPE(4)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) ((org_apache_harmony_niochar_CharsetProviderImpl*) _r4.o)->tib->vtable[6])(_r4.o, _r2.o);
+ //java_util_ArrayList_add___java_lang_Object[7]
+ XMLVM_CHECK_NPE(1)
+ (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_ArrayList*) _r1.o)->tib->vtable[7])(_r1.o, _r2.o);
+ _r0.i = _r0.i + 1;
+ goto label6;
+ label35:;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 165)
+ //java_util_ArrayList_iterator__[12]
+ XMLVM_CHECK_NPE(1)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_ArrayList*) _r1.o)->tib->vtable[12])(_r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r2.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_niochar_CharsetProviderImpl_charsetForName___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_CharsetProviderImpl_charsetForName___java_lang_String]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.CharsetProviderImpl", "charsetForName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ _r10.o = me;
+ _r11.o = n1;
+ _r9.i = 2;
+ _r8.i = 0;
+ _r7.i = 1;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 180)
+ XMLVM_CHECK_NPE(10)
+ _r5.o = ((org_apache_harmony_niochar_CharsetProviderImpl*) _r10.o)->fields.org_apache_harmony_niochar_CharsetProviderImpl.cache_;
+ _r6.o = org_apache_harmony_niochar_CharsetProviderImpl_toUpperCase___java_lang_String(_r11.o);
+ XMLVM_CHECK_NPE(5)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r5.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_get___java_lang_Object])(_r5.o, _r6.o);
+ _r2.o = _r2.o;
+ if (_r2.o != JAVA_NULL) goto label19;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 181)
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 182)
+ _r5.o = JAVA_NULL;
+ label18:;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 207)
+ XMLVM_EXIT_METHOD()
+ return _r5.o;
+ label19:;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 185)
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ _r5.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i];
+ if (_r5.o != JAVA_NULL) goto label79;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 186)
+ _r5.o = __NEW_java_lang_StringBuilder();
+ XMLVM_CHECK_NPE(5)
+ java_lang_StringBuilder___INIT___(_r5.o);
+ XMLVM_CHECK_NPE(10)
+ _r6.o = ((org_apache_harmony_niochar_CharsetProviderImpl*) _r10.o)->fields.org_apache_harmony_niochar_CharsetProviderImpl.packageName_;
+ XMLVM_CHECK_NPE(5)
+ _r5.o = java_lang_StringBuilder_append___java_lang_String(_r5.o, _r6.o);
+ // "."
+ _r6.o = xmlvm_create_java_string_from_pool(52);
+ XMLVM_CHECK_NPE(5)
+ _r6.o = java_lang_StringBuilder_append___java_lang_String(_r5.o, _r6.o);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ _r5.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i];
+ _r5.o = _r5.o;
+ XMLVM_CHECK_NPE(6)
+ _r5.o = java_lang_StringBuilder_append___java_lang_String(_r6.o, _r5.o);
+ //java_lang_StringBuilder_toString__[5]
+ XMLVM_CHECK_NPE(5)
+ _r4.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_StringBuilder*) _r5.o)->tib->vtable[5])(_r5.o);
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 188)
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r9.i);
+ _r5.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i];
+ _r5.o = _r5.o;
+ _r5.o = _r5.o;
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r8.i);
+ _r3.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i];
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 189)
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r9.i);
+ _r5.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i];
+ _r5.o = _r5.o;
+ _r0 = _r5;
+ _r0.o = _r0.o;
+ _r1 = _r0;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 190)
+ _r5.o = __NEW_org_apache_harmony_niochar_CharsetProviderImpl_1();
+ XMLVM_CHECK_NPE(5)
+ org_apache_harmony_niochar_CharsetProviderImpl_1___INIT____org_apache_harmony_niochar_CharsetProviderImpl_java_lang_String_java_lang_String_java_lang_String_1ARRAY(_r5.o, _r10.o, _r4.o, _r3.o, _r1.o);
+ _r5.o = java_security_AccessController_doPrivileged___java_security_PrivilegedAction(_r5.o);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r5.o;
+ label79:;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ _r10.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i];
+ _r10.o = _r10.o;
+ _r5 = _r10;
+ goto label18;
+ //XMLVM_END_WRAPPER
+}
+
+void org_apache_harmony_niochar_CharsetProviderImpl_putCharsets___java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_CharsetProviderImpl_putCharsets___java_util_Map]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.CharsetProviderImpl", "putCharsets", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ _r6.o = me;
+ _r7.o = n1;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 221)
+ XMLVM_CHECK_NPE(6)
+ _r1.o = org_apache_harmony_niochar_CharsetProviderImpl_getCharsetsInfo__(_r6.o);
+ _r3.i = 0;
+ label5:;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 222)
+ _r4.i = XMLVMArray_count(((org_xmlvm_runtime_XMLVMArray*) _r1.o));
+ if (_r3.i >= _r4.i) goto label32;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 223)
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r3.i);
+ _r4.o = ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ _r5.i = 2;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r5.i);
+ _r4.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i];
+ _r4.o = _r4.o;
+ _r4.o = _r4.o;
+ _r5.i = 0;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r5.i);
+ _r0.o = ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i];
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 224)
+ //org_apache_harmony_niochar_CharsetProviderImpl_charsetForName___java_lang_String[6]
+ XMLVM_CHECK_NPE(6)
+ _r2.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) ((org_apache_harmony_niochar_CharsetProviderImpl*) _r6.o)->tib->vtable[6])(_r6.o, _r0.o);
+ if (_r2.o == JAVA_NULL) goto label29;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 225)
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 226)
+ XMLVM_CHECK_NPE(7)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r7.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_put___java_lang_Object_java_lang_Object])(_r7.o, _r0.o, _r2.o);
+ label29:;
+ _r3.i = _r3.i + 1;
+ goto label5;
+ label32:;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 229)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_niochar_CharsetProviderImpl_getPackageName__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_CharsetProviderImpl_getPackageName__]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.CharsetProviderImpl", "getPackageName", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 232)
+ // "org.apache.harmony.niochar.charset"
+ _r0.o = xmlvm_create_java_string_from_pool(188);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_niochar_CharsetProviderImpl_getCharsetsInfo__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_CharsetProviderImpl_getCharsetsInfo__]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.CharsetProviderImpl", "getCharsetsInfo", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ XMLVMElem _r5;
+ XMLVMElem _r6;
+ XMLVMElem _r7;
+ XMLVMElem _r8;
+ XMLVMElem _r9;
+ XMLVMElem _r10;
+ XMLVMElem _r11;
+ _r11.o = me;
+ _r10.o = JAVA_NULL;
+ _r9.i = 3;
+ _r8.i = 2;
+ _r7.i = 1;
+ _r6.i = 0;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 252)
+ _r1.i = 93;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object_1ARRAY, _r1.i);
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "US_ASCII"
+ _r2.o = xmlvm_create_java_string_from_pool(189);
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r2.o;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r2.i = 13;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r2.i);
+ // "US-ASCII"
+ _r3.o = xmlvm_create_java_string_from_pool(190);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ // "ANSI_X3.4-1968"
+ _r3.o = xmlvm_create_java_string_from_pool(191);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r3.o;
+ // "ANSI_X3.4-1986"
+ _r3.o = xmlvm_create_java_string_from_pool(192);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ // "iso-ir-6"
+ _r3.o = xmlvm_create_java_string_from_pool(193);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r3.o;
+ _r3.i = 4;
+ // "iso_646.irv:1983"
+ _r4.o = xmlvm_create_java_string_from_pool(194);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.o;
+ _r3.i = 5;
+ // "ISO_646.irv:1991"
+ _r4.o = xmlvm_create_java_string_from_pool(195);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.o;
+ _r3.i = 6;
+ // "ASCII"
+ _r4.o = xmlvm_create_java_string_from_pool(196);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.o;
+ _r3.i = 7;
+ // "ISO646-US"
+ _r4.o = xmlvm_create_java_string_from_pool(197);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.o;
+ _r3.i = 8;
+ // "us"
+ _r4.o = xmlvm_create_java_string_from_pool(198);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.o;
+ _r3.i = 9;
+ // "cp367"
+ _r4.o = xmlvm_create_java_string_from_pool(199);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.o;
+ _r3.i = 10;
+ // "ascii7"
+ _r4.o = xmlvm_create_java_string_from_pool(200);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.o;
+ _r3.i = 11;
+ // "646"
+ _r4.o = xmlvm_create_java_string_from_pool(201);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.o;
+ _r3.i = 12;
+ // "csASCII"
+ _r4.o = xmlvm_create_java_string_from_pool(202);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r3.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i] = _r4.o;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r2.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r6.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r1.o;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "KOI8_R"
+ _r2.o = xmlvm_create_java_string_from_pool(203);
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r2.o;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r8.i);
+ // "KOI8-R"
+ _r3.o = xmlvm_create_java_string_from_pool(204);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ // "csKOI8R"
+ _r3.o = xmlvm_create_java_string_from_pool(205);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r3.o;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r2.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r7.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r1.o;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "CP_1250"
+ _r2.o = xmlvm_create_java_string_from_pool(206);
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r2.o;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r8.i);
+ // "windows-1250"
+ _r3.o = xmlvm_create_java_string_from_pool(207);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ // "cp1250"
+ _r3.o = xmlvm_create_java_string_from_pool(208);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r3.o;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r2.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r8.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r1.o;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r1.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "CP_1251"
+ _r2.o = xmlvm_create_java_string_from_pool(209);
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r2.o;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r8.i);
+ // "windows-1251"
+ _r3.o = xmlvm_create_java_string_from_pool(210);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ // "cp1251"
+ _r3.o = xmlvm_create_java_string_from_pool(211);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r3.o;
+ XMLVM_CHECK_NPE(1)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r1.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r1.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r2.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r9.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r1.o;
+ _r1.i = 4;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "CP_1252"
+ _r3.o = xmlvm_create_java_string_from_pool(212);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r8.i);
+ // "windows-1252"
+ _r4.o = xmlvm_create_java_string_from_pool(213);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp1252"
+ _r4.o = xmlvm_create_java_string_from_pool(214);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 5;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "CP_1253"
+ _r3.o = xmlvm_create_java_string_from_pool(215);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r8.i);
+ // "windows-1253"
+ _r4.o = xmlvm_create_java_string_from_pool(216);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp1253"
+ _r4.o = xmlvm_create_java_string_from_pool(217);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 6;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "CP_1254"
+ _r3.o = xmlvm_create_java_string_from_pool(218);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r8.i);
+ // "windows-1254"
+ _r4.o = xmlvm_create_java_string_from_pool(219);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp1254"
+ _r4.o = xmlvm_create_java_string_from_pool(220);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 7;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "CP_1257"
+ _r3.o = xmlvm_create_java_string_from_pool(221);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r8.i);
+ // "windows-1257"
+ _r4.o = xmlvm_create_java_string_from_pool(222);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp1257"
+ _r4.o = xmlvm_create_java_string_from_pool(223);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 8;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "ISO_8859_1"
+ _r3.o = xmlvm_create_java_string_from_pool(224);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 15;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "ISO-8859-1"
+ _r4.o = xmlvm_create_java_string_from_pool(175);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "8859_1"
+ _r4.o = xmlvm_create_java_string_from_pool(225);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "ISO8859-1"
+ _r4.o = xmlvm_create_java_string_from_pool(111);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "ISO8859_1"
+ _r4.o = xmlvm_create_java_string_from_pool(116);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ _r4.i = 4;
+ // "ISO_8859-1:1987"
+ _r5.o = xmlvm_create_java_string_from_pool(226);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 5;
+ // "iso-ir-100"
+ _r5.o = xmlvm_create_java_string_from_pool(227);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 6;
+ // "ISO_8859-1"
+ _r5.o = xmlvm_create_java_string_from_pool(228);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 7;
+ // "latin1"
+ _r5.o = xmlvm_create_java_string_from_pool(229);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 8;
+ // "l1"
+ _r5.o = xmlvm_create_java_string_from_pool(230);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 9;
+ // "IBM819"
+ _r5.o = xmlvm_create_java_string_from_pool(231);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 10;
+ // "ISO_8859_1"
+ _r5.o = xmlvm_create_java_string_from_pool(224);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 11;
+ // "IBM-819"
+ _r5.o = xmlvm_create_java_string_from_pool(232);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 12;
+ // "CP819"
+ _r5.o = xmlvm_create_java_string_from_pool(233);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 13;
+ // "819"
+ _r5.o = xmlvm_create_java_string_from_pool(234);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 14;
+ // "csISOLatin1"
+ _r5.o = xmlvm_create_java_string_from_pool(235);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 9;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "ISO_8859_2"
+ _r3.o = xmlvm_create_java_string_from_pool(236);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 8;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "ISO-8859-2"
+ _r4.o = xmlvm_create_java_string_from_pool(237);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "8859_2"
+ _r4.o = xmlvm_create_java_string_from_pool(238);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "ISO_8859-2:1987"
+ _r4.o = xmlvm_create_java_string_from_pool(239);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "iso-ir-101"
+ _r4.o = xmlvm_create_java_string_from_pool(240);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ _r4.i = 4;
+ // "ISO_8859-2"
+ _r5.o = xmlvm_create_java_string_from_pool(241);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 5;
+ // "latin2"
+ _r5.o = xmlvm_create_java_string_from_pool(242);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 6;
+ // "l2"
+ _r5.o = xmlvm_create_java_string_from_pool(243);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 7;
+ // "csISOLatin2"
+ _r5.o = xmlvm_create_java_string_from_pool(244);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 10;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "ISO_8859_4"
+ _r3.o = xmlvm_create_java_string_from_pool(245);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 8;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "ISO-8859-4"
+ _r4.o = xmlvm_create_java_string_from_pool(246);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "8859_4"
+ _r4.o = xmlvm_create_java_string_from_pool(247);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "ISO_8859-4:1988"
+ _r4.o = xmlvm_create_java_string_from_pool(248);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "iso-ir-110"
+ _r4.o = xmlvm_create_java_string_from_pool(249);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ _r4.i = 4;
+ // "ISO_8859-4"
+ _r5.o = xmlvm_create_java_string_from_pool(250);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 5;
+ // "latin4"
+ _r5.o = xmlvm_create_java_string_from_pool(251);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 6;
+ // "l4"
+ _r5.o = xmlvm_create_java_string_from_pool(252);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 7;
+ // "csISOLatin4"
+ _r5.o = xmlvm_create_java_string_from_pool(253);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 11;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "ISO_8859_5"
+ _r3.o = xmlvm_create_java_string_from_pool(254);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 7;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "ISO-8859-5"
+ _r4.o = xmlvm_create_java_string_from_pool(255);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "8859_5"
+ _r4.o = xmlvm_create_java_string_from_pool(256);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "ISO_8859-5:1988"
+ _r4.o = xmlvm_create_java_string_from_pool(257);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "iso-ir-144"
+ _r4.o = xmlvm_create_java_string_from_pool(258);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ _r4.i = 4;
+ // "ISO_8859-5"
+ _r5.o = xmlvm_create_java_string_from_pool(259);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 5;
+ // "cyrillic"
+ _r5.o = xmlvm_create_java_string_from_pool(260);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 6;
+ // "csISOLatinCyrillic"
+ _r5.o = xmlvm_create_java_string_from_pool(261);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 12;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "ISO_8859_7"
+ _r3.o = xmlvm_create_java_string_from_pool(262);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 9;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "ISO-8859-7"
+ _r4.o = xmlvm_create_java_string_from_pool(263);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "ISO_8859-7:1987"
+ _r4.o = xmlvm_create_java_string_from_pool(264);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "ISO_8859-7"
+ _r4.o = xmlvm_create_java_string_from_pool(265);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "iso-ir-126"
+ _r4.o = xmlvm_create_java_string_from_pool(266);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ _r4.i = 4;
+ // "ELOT_928"
+ _r5.o = xmlvm_create_java_string_from_pool(267);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 5;
+ // "ECMA-118"
+ _r5.o = xmlvm_create_java_string_from_pool(268);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 6;
+ // "greek"
+ _r5.o = xmlvm_create_java_string_from_pool(269);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 7;
+ // "greek8"
+ _r5.o = xmlvm_create_java_string_from_pool(270);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 8;
+ // "csISOLatinGreek"
+ _r5.o = xmlvm_create_java_string_from_pool(271);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 13;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "ISO_8859_9"
+ _r3.o = xmlvm_create_java_string_from_pool(272);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 7;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "ISO-8859-9"
+ _r4.o = xmlvm_create_java_string_from_pool(273);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "ISO_8859-9:1989"
+ _r4.o = xmlvm_create_java_string_from_pool(274);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "iso-ir-148"
+ _r4.o = xmlvm_create_java_string_from_pool(275);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "ISO_8859-9"
+ _r4.o = xmlvm_create_java_string_from_pool(276);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ _r4.i = 4;
+ // "latin5"
+ _r5.o = xmlvm_create_java_string_from_pool(277);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 5;
+ // "l5"
+ _r5.o = xmlvm_create_java_string_from_pool(278);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 6;
+ // "csISOLatin5"
+ _r5.o = xmlvm_create_java_string_from_pool(279);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 14;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "ISO_8859_13"
+ _r3.o = xmlvm_create_java_string_from_pool(280);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r7.i);
+ // "ISO-8859-13"
+ _r4.o = xmlvm_create_java_string_from_pool(281);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 15;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "ISO_8859_15"
+ _r3.o = xmlvm_create_java_string_from_pool(282);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "ISO-8859-15"
+ _r4.o = xmlvm_create_java_string_from_pool(283);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "ISO_8859-15"
+ _r4.o = xmlvm_create_java_string_from_pool(284);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "Latin-9"
+ _r4.o = xmlvm_create_java_string_from_pool(285);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 16;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "UTF_8"
+ _r3.o = xmlvm_create_java_string_from_pool(286);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r8.i);
+ // "UTF-8"
+ _r4.o = xmlvm_create_java_string_from_pool(100);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "UTF8"
+ _r4.o = xmlvm_create_java_string_from_pool(287);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 17;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "UTF_16"
+ _r3.o = xmlvm_create_java_string_from_pool(288);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "UTF-16"
+ _r4.o = xmlvm_create_java_string_from_pool(289);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "UTF16"
+ _r4.o = xmlvm_create_java_string_from_pool(290);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "UTF_16"
+ _r4.o = xmlvm_create_java_string_from_pool(288);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 18;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "UTF_16LE"
+ _r3.o = xmlvm_create_java_string_from_pool(291);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "UTF-16LE"
+ _r4.o = xmlvm_create_java_string_from_pool(292);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "X-UTF-16LE"
+ _r4.o = xmlvm_create_java_string_from_pool(293);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "UTF_16LE"
+ _r4.o = xmlvm_create_java_string_from_pool(291);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 19;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "UTF_16BE"
+ _r3.o = xmlvm_create_java_string_from_pool(294);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "UTF-16BE"
+ _r4.o = xmlvm_create_java_string_from_pool(295);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "X-UTF-16BE"
+ _r4.o = xmlvm_create_java_string_from_pool(296);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "UTF_16BE"
+ _r4.o = xmlvm_create_java_string_from_pool(294);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 20;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "IBM866"
+ _r3.o = xmlvm_create_java_string_from_pool(297);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM866"
+ _r4.o = xmlvm_create_java_string_from_pool(297);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp866"
+ _r4.o = xmlvm_create_java_string_from_pool(298);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "866"
+ _r4.o = xmlvm_create_java_string_from_pool(299);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "csIBM866"
+ _r4.o = xmlvm_create_java_string_from_pool(300);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 21;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.windows_1255"
+ _r3.o = xmlvm_create_java_string_from_pool(301);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r8.i);
+ // "windows-1255"
+ _r4.o = xmlvm_create_java_string_from_pool(302);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp1255"
+ _r4.o = xmlvm_create_java_string_from_pool(303);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 22;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.windows_1256"
+ _r3.o = xmlvm_create_java_string_from_pool(304);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r8.i);
+ // "windows-1256"
+ _r4.o = xmlvm_create_java_string_from_pool(305);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp1256"
+ _r4.o = xmlvm_create_java_string_from_pool(306);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 23;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM1026"
+ _r3.o = xmlvm_create_java_string_from_pool(307);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "IBM1026"
+ _r4.o = xmlvm_create_java_string_from_pool(308);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "CP1026"
+ _r4.o = xmlvm_create_java_string_from_pool(309);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "csIBM1026"
+ _r4.o = xmlvm_create_java_string_from_pool(310);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 24;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM1047"
+ _r3.o = xmlvm_create_java_string_from_pool(311);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM1047"
+ _r4.o = xmlvm_create_java_string_from_pool(312);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "1047"
+ _r4.o = xmlvm_create_java_string_from_pool(313);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "cp1047"
+ _r4.o = xmlvm_create_java_string_from_pool(314);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "ibm-1047"
+ _r4.o = xmlvm_create_java_string_from_pool(315);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 25;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM037"
+ _r3.o = xmlvm_create_java_string_from_pool(316);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 7;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM037"
+ _r4.o = xmlvm_create_java_string_from_pool(317);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp037"
+ _r4.o = xmlvm_create_java_string_from_pool(318);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "ebcdic-cp-us"
+ _r4.o = xmlvm_create_java_string_from_pool(319);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "ebcdic-cp-ca"
+ _r4.o = xmlvm_create_java_string_from_pool(320);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ _r4.i = 4;
+ // "ebcdic-cp-wt"
+ _r5.o = xmlvm_create_java_string_from_pool(321);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 5;
+ // "ebcdic-cp-nl"
+ _r5.o = xmlvm_create_java_string_from_pool(322);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 6;
+ // "csIBM037"
+ _r5.o = xmlvm_create_java_string_from_pool(323);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 26;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM424"
+ _r3.o = xmlvm_create_java_string_from_pool(324);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM424"
+ _r4.o = xmlvm_create_java_string_from_pool(325);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp424"
+ _r4.o = xmlvm_create_java_string_from_pool(326);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "ebcdic-cp-he"
+ _r4.o = xmlvm_create_java_string_from_pool(327);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "csIBM424"
+ _r4.o = xmlvm_create_java_string_from_pool(328);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 27;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM437"
+ _r3.o = xmlvm_create_java_string_from_pool(329);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM437"
+ _r4.o = xmlvm_create_java_string_from_pool(330);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp437"
+ _r4.o = xmlvm_create_java_string_from_pool(331);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "437"
+ _r4.o = xmlvm_create_java_string_from_pool(332);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "csPC8CodePage437"
+ _r4.o = xmlvm_create_java_string_from_pool(333);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 28;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM500"
+ _r3.o = xmlvm_create_java_string_from_pool(334);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 5;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM500"
+ _r4.o = xmlvm_create_java_string_from_pool(335);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "CP500"
+ _r4.o = xmlvm_create_java_string_from_pool(336);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "ebcdic-cp-be"
+ _r4.o = xmlvm_create_java_string_from_pool(337);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "ebcdic-cp-ch"
+ _r4.o = xmlvm_create_java_string_from_pool(338);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ _r4.i = 4;
+ // "csIBM500"
+ _r5.o = xmlvm_create_java_string_from_pool(339);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 29;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM775"
+ _r3.o = xmlvm_create_java_string_from_pool(340);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "IBM775"
+ _r4.o = xmlvm_create_java_string_from_pool(341);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp775"
+ _r4.o = xmlvm_create_java_string_from_pool(342);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "csPC775Baltic"
+ _r4.o = xmlvm_create_java_string_from_pool(343);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 30;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM850"
+ _r3.o = xmlvm_create_java_string_from_pool(344);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM850"
+ _r4.o = xmlvm_create_java_string_from_pool(345);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp850"
+ _r4.o = xmlvm_create_java_string_from_pool(346);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "850"
+ _r4.o = xmlvm_create_java_string_from_pool(347);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "csPC850Multilingual"
+ _r4.o = xmlvm_create_java_string_from_pool(348);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 31;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM852"
+ _r3.o = xmlvm_create_java_string_from_pool(349);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM852"
+ _r4.o = xmlvm_create_java_string_from_pool(350);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp852"
+ _r4.o = xmlvm_create_java_string_from_pool(351);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "852"
+ _r4.o = xmlvm_create_java_string_from_pool(352);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "csPCp852"
+ _r4.o = xmlvm_create_java_string_from_pool(353);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 32;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM855"
+ _r3.o = xmlvm_create_java_string_from_pool(354);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM855"
+ _r4.o = xmlvm_create_java_string_from_pool(355);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp855"
+ _r4.o = xmlvm_create_java_string_from_pool(356);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "855"
+ _r4.o = xmlvm_create_java_string_from_pool(357);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "csIBM855"
+ _r4.o = xmlvm_create_java_string_from_pool(358);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 33;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM857"
+ _r3.o = xmlvm_create_java_string_from_pool(359);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM857"
+ _r4.o = xmlvm_create_java_string_from_pool(360);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp857"
+ _r4.o = xmlvm_create_java_string_from_pool(361);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "857"
+ _r4.o = xmlvm_create_java_string_from_pool(362);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "csIBM857"
+ _r4.o = xmlvm_create_java_string_from_pool(363);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 34;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM860"
+ _r3.o = xmlvm_create_java_string_from_pool(364);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM860"
+ _r4.o = xmlvm_create_java_string_from_pool(365);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp860"
+ _r4.o = xmlvm_create_java_string_from_pool(366);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "860"
+ _r4.o = xmlvm_create_java_string_from_pool(367);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "csIBM860"
+ _r4.o = xmlvm_create_java_string_from_pool(368);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 35;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM861"
+ _r3.o = xmlvm_create_java_string_from_pool(369);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 5;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM861"
+ _r4.o = xmlvm_create_java_string_from_pool(370);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp861"
+ _r4.o = xmlvm_create_java_string_from_pool(371);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "861"
+ _r4.o = xmlvm_create_java_string_from_pool(372);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "cp-is"
+ _r4.o = xmlvm_create_java_string_from_pool(373);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ _r4.i = 4;
+ // "csIBM861"
+ _r5.o = xmlvm_create_java_string_from_pool(374);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 36;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM862"
+ _r3.o = xmlvm_create_java_string_from_pool(375);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM862"
+ _r4.o = xmlvm_create_java_string_from_pool(376);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp862"
+ _r4.o = xmlvm_create_java_string_from_pool(377);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "862"
+ _r4.o = xmlvm_create_java_string_from_pool(378);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "csPC862LatinHebrew"
+ _r4.o = xmlvm_create_java_string_from_pool(379);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 37;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM863"
+ _r3.o = xmlvm_create_java_string_from_pool(380);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM863"
+ _r4.o = xmlvm_create_java_string_from_pool(381);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp863"
+ _r4.o = xmlvm_create_java_string_from_pool(382);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "863"
+ _r4.o = xmlvm_create_java_string_from_pool(383);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "csIBM863"
+ _r4.o = xmlvm_create_java_string_from_pool(384);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 38;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM865"
+ _r3.o = xmlvm_create_java_string_from_pool(385);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM865"
+ _r4.o = xmlvm_create_java_string_from_pool(386);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp865"
+ _r4.o = xmlvm_create_java_string_from_pool(387);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "865"
+ _r4.o = xmlvm_create_java_string_from_pool(388);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "csIBM865"
+ _r4.o = xmlvm_create_java_string_from_pool(389);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 39;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM869"
+ _r3.o = xmlvm_create_java_string_from_pool(390);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 5;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM869"
+ _r4.o = xmlvm_create_java_string_from_pool(391);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp869"
+ _r4.o = xmlvm_create_java_string_from_pool(392);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "869"
+ _r4.o = xmlvm_create_java_string_from_pool(393);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "cp-gr"
+ _r4.o = xmlvm_create_java_string_from_pool(394);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ _r4.i = 4;
+ // "csIBM869"
+ _r5.o = xmlvm_create_java_string_from_pool(395);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 40;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM00858"
+ _r3.o = xmlvm_create_java_string_from_pool(396);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM00858"
+ _r4.o = xmlvm_create_java_string_from_pool(397);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp858"
+ _r4.o = xmlvm_create_java_string_from_pool(398);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "CCSID00858"
+ _r4.o = xmlvm_create_java_string_from_pool(399);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "CP00858"
+ _r4.o = xmlvm_create_java_string_from_pool(400);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 41;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM01140"
+ _r3.o = xmlvm_create_java_string_from_pool(401);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM01140"
+ _r4.o = xmlvm_create_java_string_from_pool(402);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp1140"
+ _r4.o = xmlvm_create_java_string_from_pool(403);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "CCSID01140"
+ _r4.o = xmlvm_create_java_string_from_pool(404);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "CP01140"
+ _r4.o = xmlvm_create_java_string_from_pool(405);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 42;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM01141"
+ _r3.o = xmlvm_create_java_string_from_pool(406);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM01141"
+ _r4.o = xmlvm_create_java_string_from_pool(407);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp1141"
+ _r4.o = xmlvm_create_java_string_from_pool(408);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "CCSID01141"
+ _r4.o = xmlvm_create_java_string_from_pool(409);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "CP01141"
+ _r4.o = xmlvm_create_java_string_from_pool(410);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 43;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM01142"
+ _r3.o = xmlvm_create_java_string_from_pool(411);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM01142"
+ _r4.o = xmlvm_create_java_string_from_pool(412);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp1142"
+ _r4.o = xmlvm_create_java_string_from_pool(413);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "CCSID01142"
+ _r4.o = xmlvm_create_java_string_from_pool(414);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "CP01142"
+ _r4.o = xmlvm_create_java_string_from_pool(415);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 44;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM01143"
+ _r3.o = xmlvm_create_java_string_from_pool(416);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM01143"
+ _r4.o = xmlvm_create_java_string_from_pool(417);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp1143"
+ _r4.o = xmlvm_create_java_string_from_pool(418);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "CCSID01143"
+ _r4.o = xmlvm_create_java_string_from_pool(419);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "CP01143"
+ _r4.o = xmlvm_create_java_string_from_pool(420);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 45;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM01144"
+ _r3.o = xmlvm_create_java_string_from_pool(421);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM01144"
+ _r4.o = xmlvm_create_java_string_from_pool(422);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp1144"
+ _r4.o = xmlvm_create_java_string_from_pool(423);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "CCSID01144"
+ _r4.o = xmlvm_create_java_string_from_pool(424);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "CP01144"
+ _r4.o = xmlvm_create_java_string_from_pool(425);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 46;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM01145"
+ _r3.o = xmlvm_create_java_string_from_pool(426);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM01145"
+ _r4.o = xmlvm_create_java_string_from_pool(427);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp1145"
+ _r4.o = xmlvm_create_java_string_from_pool(428);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "CCSID01145"
+ _r4.o = xmlvm_create_java_string_from_pool(429);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "CP01145"
+ _r4.o = xmlvm_create_java_string_from_pool(430);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 47;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM01146"
+ _r3.o = xmlvm_create_java_string_from_pool(431);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM01146"
+ _r4.o = xmlvm_create_java_string_from_pool(432);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp1146"
+ _r4.o = xmlvm_create_java_string_from_pool(433);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "CCSID01146"
+ _r4.o = xmlvm_create_java_string_from_pool(434);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "CP01146"
+ _r4.o = xmlvm_create_java_string_from_pool(435);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 48;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM01147"
+ _r3.o = xmlvm_create_java_string_from_pool(436);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM01147"
+ _r4.o = xmlvm_create_java_string_from_pool(437);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp1147"
+ _r4.o = xmlvm_create_java_string_from_pool(438);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "CCSID01147"
+ _r4.o = xmlvm_create_java_string_from_pool(439);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "CP01147"
+ _r4.o = xmlvm_create_java_string_from_pool(440);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 49;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM01148"
+ _r3.o = xmlvm_create_java_string_from_pool(441);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM01148"
+ _r4.o = xmlvm_create_java_string_from_pool(442);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp1148"
+ _r4.o = xmlvm_create_java_string_from_pool(443);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "CCSID01148"
+ _r4.o = xmlvm_create_java_string_from_pool(444);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "CP01148"
+ _r4.o = xmlvm_create_java_string_from_pool(445);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 50;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM01149"
+ _r3.o = xmlvm_create_java_string_from_pool(446);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM01149"
+ _r4.o = xmlvm_create_java_string_from_pool(447);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp1149"
+ _r4.o = xmlvm_create_java_string_from_pool(448);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "CCSID01149"
+ _r4.o = xmlvm_create_java_string_from_pool(449);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "CP01149"
+ _r4.o = xmlvm_create_java_string_from_pool(450);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 51;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM273"
+ _r3.o = xmlvm_create_java_string_from_pool(451);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "IBM273"
+ _r4.o = xmlvm_create_java_string_from_pool(452);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp273"
+ _r4.o = xmlvm_create_java_string_from_pool(453);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "csIBM273"
+ _r4.o = xmlvm_create_java_string_from_pool(454);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 52;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM277"
+ _r3.o = xmlvm_create_java_string_from_pool(455);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 5;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM277"
+ _r4.o = xmlvm_create_java_string_from_pool(456);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp277"
+ _r4.o = xmlvm_create_java_string_from_pool(457);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "EBCDIC-CP-DK"
+ _r4.o = xmlvm_create_java_string_from_pool(458);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "EBCDIC-CP-NO"
+ _r4.o = xmlvm_create_java_string_from_pool(459);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ _r4.i = 4;
+ // "csIBM277"
+ _r5.o = xmlvm_create_java_string_from_pool(460);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 53;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM278"
+ _r3.o = xmlvm_create_java_string_from_pool(461);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 5;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM278"
+ _r4.o = xmlvm_create_java_string_from_pool(462);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp278"
+ _r4.o = xmlvm_create_java_string_from_pool(463);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "ebcdic-cp-fi"
+ _r4.o = xmlvm_create_java_string_from_pool(464);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "ebcdic-cp-se"
+ _r4.o = xmlvm_create_java_string_from_pool(465);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ _r4.i = 4;
+ // "csIBM278"
+ _r5.o = xmlvm_create_java_string_from_pool(466);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 54;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM280"
+ _r3.o = xmlvm_create_java_string_from_pool(467);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM280"
+ _r4.o = xmlvm_create_java_string_from_pool(468);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp280"
+ _r4.o = xmlvm_create_java_string_from_pool(469);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "ebcdic-cp-it"
+ _r4.o = xmlvm_create_java_string_from_pool(470);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "csIBM280"
+ _r4.o = xmlvm_create_java_string_from_pool(471);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 55;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM284"
+ _r3.o = xmlvm_create_java_string_from_pool(472);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM284"
+ _r4.o = xmlvm_create_java_string_from_pool(473);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp284"
+ _r4.o = xmlvm_create_java_string_from_pool(474);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "ebcdic-cp-es"
+ _r4.o = xmlvm_create_java_string_from_pool(475);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "csIBM284"
+ _r4.o = xmlvm_create_java_string_from_pool(476);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 56;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM285"
+ _r3.o = xmlvm_create_java_string_from_pool(477);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM285"
+ _r4.o = xmlvm_create_java_string_from_pool(478);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp285"
+ _r4.o = xmlvm_create_java_string_from_pool(479);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "ebcdic-cp-gb"
+ _r4.o = xmlvm_create_java_string_from_pool(480);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "csIBM285"
+ _r4.o = xmlvm_create_java_string_from_pool(481);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 57;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM297"
+ _r3.o = xmlvm_create_java_string_from_pool(482);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM297"
+ _r4.o = xmlvm_create_java_string_from_pool(483);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp297"
+ _r4.o = xmlvm_create_java_string_from_pool(484);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "ebcdic-cp-fr"
+ _r4.o = xmlvm_create_java_string_from_pool(485);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "csIBM297"
+ _r4.o = xmlvm_create_java_string_from_pool(486);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 58;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM870"
+ _r3.o = xmlvm_create_java_string_from_pool(487);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 5;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM870"
+ _r4.o = xmlvm_create_java_string_from_pool(488);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp870"
+ _r4.o = xmlvm_create_java_string_from_pool(489);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "ebcdic-cp-roece"
+ _r4.o = xmlvm_create_java_string_from_pool(490);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "ebcdic-cp-yu"
+ _r4.o = xmlvm_create_java_string_from_pool(491);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ _r4.i = 4;
+ // "csIBM870"
+ _r5.o = xmlvm_create_java_string_from_pool(492);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 59;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM871"
+ _r3.o = xmlvm_create_java_string_from_pool(493);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM871"
+ _r4.o = xmlvm_create_java_string_from_pool(494);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp871"
+ _r4.o = xmlvm_create_java_string_from_pool(495);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "ebcdic-cp-is"
+ _r4.o = xmlvm_create_java_string_from_pool(496);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "csIBM871"
+ _r4.o = xmlvm_create_java_string_from_pool(497);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 60;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM918"
+ _r3.o = xmlvm_create_java_string_from_pool(498);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM918"
+ _r4.o = xmlvm_create_java_string_from_pool(499);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp918"
+ _r4.o = xmlvm_create_java_string_from_pool(500);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "ebcdic-cp-ar2"
+ _r4.o = xmlvm_create_java_string_from_pool(501);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "csIBM918"
+ _r4.o = xmlvm_create_java_string_from_pool(502);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 61;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM420"
+ _r3.o = xmlvm_create_java_string_from_pool(503);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM420"
+ _r4.o = xmlvm_create_java_string_from_pool(504);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp420"
+ _r4.o = xmlvm_create_java_string_from_pool(505);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "ebcdic-cp-ar1"
+ _r4.o = xmlvm_create_java_string_from_pool(506);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "csIBM420"
+ _r4.o = xmlvm_create_java_string_from_pool(507);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 62;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM864"
+ _r3.o = xmlvm_create_java_string_from_pool(508);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "IBM864"
+ _r4.o = xmlvm_create_java_string_from_pool(509);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp864"
+ _r4.o = xmlvm_create_java_string_from_pool(510);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "csIBM864"
+ _r4.o = xmlvm_create_java_string_from_pool(511);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 63;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM868"
+ _r3.o = xmlvm_create_java_string_from_pool(512);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 4;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "IBM868"
+ _r4.o = xmlvm_create_java_string_from_pool(513);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp868"
+ _r4.o = xmlvm_create_java_string_from_pool(514);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "cp-ar"
+ _r4.o = xmlvm_create_java_string_from_pool(515);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "csIBM868"
+ _r4.o = xmlvm_create_java_string_from_pool(516);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 64;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.ISO_8859_3"
+ _r3.o = xmlvm_create_java_string_from_pool(517);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 9;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "ISO-8859-3"
+ _r4.o = xmlvm_create_java_string_from_pool(518);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "8859_3"
+ _r4.o = xmlvm_create_java_string_from_pool(519);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "ISO_8859_3"
+ _r4.o = xmlvm_create_java_string_from_pool(520);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "ISO_8859_2:1998"
+ _r4.o = xmlvm_create_java_string_from_pool(521);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ _r4.i = 4;
+ // "iso-ir-109"
+ _r5.o = xmlvm_create_java_string_from_pool(522);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 5;
+ // "ISO_8859-3"
+ _r5.o = xmlvm_create_java_string_from_pool(523);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 6;
+ // "latin3"
+ _r5.o = xmlvm_create_java_string_from_pool(524);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 7;
+ // "l3"
+ _r5.o = xmlvm_create_java_string_from_pool(525);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 8;
+ // "csISOLatin3"
+ _r5.o = xmlvm_create_java_string_from_pool(526);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 65;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.ISO_8859_6"
+ _r3.o = xmlvm_create_java_string_from_pool(527);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 9;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "ISO-8859-6"
+ _r4.o = xmlvm_create_java_string_from_pool(528);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "ISO_8859_6"
+ _r4.o = xmlvm_create_java_string_from_pool(529);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "ISO_8859-6:1987"
+ _r4.o = xmlvm_create_java_string_from_pool(530);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "iso-ir-127"
+ _r4.o = xmlvm_create_java_string_from_pool(531);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ _r4.i = 4;
+ // "ISO_8859-6"
+ _r5.o = xmlvm_create_java_string_from_pool(532);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 5;
+ // "ECMA-114"
+ _r5.o = xmlvm_create_java_string_from_pool(533);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 6;
+ // "ASMO-708"
+ _r5.o = xmlvm_create_java_string_from_pool(534);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 7;
+ // "arabic"
+ _r5.o = xmlvm_create_java_string_from_pool(535);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 8;
+ // "csISOLatinArabic"
+ _r5.o = xmlvm_create_java_string_from_pool(536);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 66;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.ISO_8859_8"
+ _r3.o = xmlvm_create_java_string_from_pool(537);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 7;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "ISO-8859-8"
+ _r4.o = xmlvm_create_java_string_from_pool(538);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "ISO_8859_8"
+ _r4.o = xmlvm_create_java_string_from_pool(539);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "ISO_8859-8:1988"
+ _r4.o = xmlvm_create_java_string_from_pool(540);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "iso-ir-138"
+ _r4.o = xmlvm_create_java_string_from_pool(541);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ _r4.i = 4;
+ // "ISO_8859-8"
+ _r5.o = xmlvm_create_java_string_from_pool(542);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 5;
+ // "hebrew"
+ _r5.o = xmlvm_create_java_string_from_pool(543);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 6;
+ // "csISOLatinHebrew"
+ _r5.o = xmlvm_create_java_string_from_pool(544);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 67;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.IBM_Thai"
+ _r3.o = xmlvm_create_java_string_from_pool(545);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r8.i);
+ // "IBM-Thai"
+ _r4.o = xmlvm_create_java_string_from_pool(546);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp838"
+ _r4.o = xmlvm_create_java_string_from_pool(547);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 68;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.x_IBM737"
+ _r3.o = xmlvm_create_java_string_from_pool(548);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "x-IBM737"
+ _r4.o = xmlvm_create_java_string_from_pool(549);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "x-ibm-737_P100-1997"
+ _r4.o = xmlvm_create_java_string_from_pool(550);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "cp737"
+ _r4.o = xmlvm_create_java_string_from_pool(551);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 69;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.x_IBM856"
+ _r3.o = xmlvm_create_java_string_from_pool(552);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r8.i);
+ // "x-IBM856"
+ _r4.o = xmlvm_create_java_string_from_pool(553);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp856"
+ _r4.o = xmlvm_create_java_string_from_pool(554);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 70;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.x_IBM874"
+ _r3.o = xmlvm_create_java_string_from_pool(555);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "TIS-620"
+ _r4.o = xmlvm_create_java_string_from_pool(556);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "x-IBM874"
+ _r4.o = xmlvm_create_java_string_from_pool(557);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "cp874"
+ _r4.o = xmlvm_create_java_string_from_pool(558);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 71;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.x_IBM875"
+ _r3.o = xmlvm_create_java_string_from_pool(559);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "x-IBM875"
+ _r4.o = xmlvm_create_java_string_from_pool(560);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "x-ibm-875_P100-1995"
+ _r4.o = xmlvm_create_java_string_from_pool(561);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "cp875"
+ _r4.o = xmlvm_create_java_string_from_pool(562);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 72;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.x_IBM922"
+ _r3.o = xmlvm_create_java_string_from_pool(563);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r8.i);
+ // "x-IBM922"
+ _r4.o = xmlvm_create_java_string_from_pool(564);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp922"
+ _r4.o = xmlvm_create_java_string_from_pool(565);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 73;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.x_IBM1006"
+ _r3.o = xmlvm_create_java_string_from_pool(566);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "x-IBM1006"
+ _r4.o = xmlvm_create_java_string_from_pool(567);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "x-ibm-1006_P100-1995"
+ _r4.o = xmlvm_create_java_string_from_pool(568);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "cp1006"
+ _r4.o = xmlvm_create_java_string_from_pool(569);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 74;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.x_IBM1025"
+ _r3.o = xmlvm_create_java_string_from_pool(570);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "x-IBM1025"
+ _r4.o = xmlvm_create_java_string_from_pool(571);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "x-ibm-1025_P100-1995"
+ _r4.o = xmlvm_create_java_string_from_pool(572);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "cp1025"
+ _r4.o = xmlvm_create_java_string_from_pool(573);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 75;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.x_IBM1112"
+ _r3.o = xmlvm_create_java_string_from_pool(574);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "x-IBM1112"
+ _r4.o = xmlvm_create_java_string_from_pool(575);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "x-ibm-1112_P100-1995"
+ _r4.o = xmlvm_create_java_string_from_pool(576);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "cp1112"
+ _r4.o = xmlvm_create_java_string_from_pool(577);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 76;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.x_IBM1122"
+ _r3.o = xmlvm_create_java_string_from_pool(578);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "x-IBM1122"
+ _r4.o = xmlvm_create_java_string_from_pool(579);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "x-ibm-1122_P100-1999"
+ _r4.o = xmlvm_create_java_string_from_pool(580);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "cp1122"
+ _r4.o = xmlvm_create_java_string_from_pool(581);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 77;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.x_IBM1123"
+ _r3.o = xmlvm_create_java_string_from_pool(582);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "x-IBM1123"
+ _r4.o = xmlvm_create_java_string_from_pool(583);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "x-ibm-1123_P100-1995"
+ _r4.o = xmlvm_create_java_string_from_pool(584);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "cp1123"
+ _r4.o = xmlvm_create_java_string_from_pool(585);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 78;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.x_IBM1124"
+ _r3.o = xmlvm_create_java_string_from_pool(586);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "x-IBM1124"
+ _r4.o = xmlvm_create_java_string_from_pool(587);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "x-ibm-1124_P100-1996"
+ _r4.o = xmlvm_create_java_string_from_pool(588);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "cp1124"
+ _r4.o = xmlvm_create_java_string_from_pool(589);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 79;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.x_IBM1097"
+ _r3.o = xmlvm_create_java_string_from_pool(590);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "x-IBM1097"
+ _r4.o = xmlvm_create_java_string_from_pool(591);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "x-ibm-1097_P100-1995"
+ _r4.o = xmlvm_create_java_string_from_pool(592);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "cp1097"
+ _r4.o = xmlvm_create_java_string_from_pool(593);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 80;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.x_IBM1098"
+ _r3.o = xmlvm_create_java_string_from_pool(594);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "x-IBM1098"
+ _r4.o = xmlvm_create_java_string_from_pool(595);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "x-ibm-1098_P100-1995"
+ _r4.o = xmlvm_create_java_string_from_pool(596);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "cp1098"
+ _r4.o = xmlvm_create_java_string_from_pool(597);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 81;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.x_MacCyrillic"
+ _r3.o = xmlvm_create_java_string_from_pool(598);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "x-MacCyrillic"
+ _r4.o = xmlvm_create_java_string_from_pool(599);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "x-mac-cyrillic"
+ _r4.o = xmlvm_create_java_string_from_pool(600);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "MacCyrillic"
+ _r4.o = xmlvm_create_java_string_from_pool(601);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 82;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.x_MacGreek"
+ _r3.o = xmlvm_create_java_string_from_pool(602);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "x-MacGreek"
+ _r4.o = xmlvm_create_java_string_from_pool(603);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "x-mac-greek"
+ _r4.o = xmlvm_create_java_string_from_pool(604);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "MacGreek"
+ _r4.o = xmlvm_create_java_string_from_pool(605);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 83;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.x_MacTurkish"
+ _r3.o = xmlvm_create_java_string_from_pool(606);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "x-MacTurkish"
+ _r4.o = xmlvm_create_java_string_from_pool(607);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "x-mac-turkish"
+ _r4.o = xmlvm_create_java_string_from_pool(608);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "MacTurkish"
+ _r4.o = xmlvm_create_java_string_from_pool(609);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 84;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.windows_31j"
+ _r3.o = xmlvm_create_java_string_from_pool(610);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ _r3.i = 9;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r3.i);
+ // "Shift_JIS"
+ _r4.o = xmlvm_create_java_string_from_pool(611);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "windows-31j"
+ _r4.o = xmlvm_create_java_string_from_pool(612);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "MS932"
+ _r4.o = xmlvm_create_java_string_from_pool(613);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ // "windows-932"
+ _r4.o = xmlvm_create_java_string_from_pool(614);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r4.o;
+ _r4.i = 4;
+ // "cp932"
+ _r5.o = xmlvm_create_java_string_from_pool(615);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 5;
+ // "csWindows31J"
+ _r5.o = xmlvm_create_java_string_from_pool(616);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 6;
+ // "cp943c"
+ _r5.o = xmlvm_create_java_string_from_pool(617);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 7;
+ // "x-ms-cp932"
+ _r5.o = xmlvm_create_java_string_from_pool(618);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 8;
+ // "ibm-943"
+ _r5.o = xmlvm_create_java_string_from_pool(619);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 85;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.Big5"
+ _r3.o = xmlvm_create_java_string_from_pool(620);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "Big5"
+ _r4.o = xmlvm_create_java_string_from_pool(621);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "csBig5"
+ _r4.o = xmlvm_create_java_string_from_pool(622);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "windows-950"
+ _r4.o = xmlvm_create_java_string_from_pool(623);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 86;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.Big5_HKSCS"
+ _r3.o = xmlvm_create_java_string_from_pool(624);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r8.i);
+ // "Big5-HKSCS"
+ _r4.o = xmlvm_create_java_string_from_pool(625);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "ibm-1375"
+ _r4.o = xmlvm_create_java_string_from_pool(626);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 87;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.EUC_KR"
+ _r3.o = xmlvm_create_java_string_from_pool(627);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "EUC-KR"
+ _r4.o = xmlvm_create_java_string_from_pool(628);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "windows-51949"
+ _r4.o = xmlvm_create_java_string_from_pool(629);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "ibm-970"
+ _r4.o = xmlvm_create_java_string_from_pool(630);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 88;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.GBK"
+ _r3.o = xmlvm_create_java_string_from_pool(631);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r7.i);
+ // "GBK"
+ _r4.o = xmlvm_create_java_string_from_pool(632);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 89;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.x_MS950_HKSCS"
+ _r3.o = xmlvm_create_java_string_from_pool(633);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "x-ibm-1375_P100-2003"
+ _r4.o = xmlvm_create_java_string_from_pool(634);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "x-MS950-HKSCS"
+ _r4.o = xmlvm_create_java_string_from_pool(635);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "MS950_HKSCS"
+ _r4.o = xmlvm_create_java_string_from_pool(636);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 90;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.x_windows_949"
+ _r3.o = xmlvm_create_java_string_from_pool(637);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r8.i);
+ // "x-windows-949"
+ _r4.o = xmlvm_create_java_string_from_pool(638);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "MS949"
+ _r4.o = xmlvm_create_java_string_from_pool(639);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 91;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.GB18030"
+ _r3.o = xmlvm_create_java_string_from_pool(640);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "GB18030"
+ _r4.o = xmlvm_create_java_string_from_pool(641);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "windows-54936"
+ _r4.o = xmlvm_create_java_string_from_pool(642);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "ibm-1392"
+ _r4.o = xmlvm_create_java_string_from_pool(643);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ _r1.i = 92;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r2.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r9.i);
+ // "additional.GB2312"
+ _r3.o = xmlvm_create_java_string_from_pool(644);
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r3.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r10.o;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, _r9.i);
+ // "GB2312"
+ _r4.o = xmlvm_create_java_string_from_pool(645);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r6.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i] = _r4.o;
+ // "cp1383"
+ _r4.o = xmlvm_create_java_string_from_pool(646);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r7.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i] = _r4.o;
+ // "EUC_CN"
+ _r4.o = xmlvm_create_java_string_from_pool(647);
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r4.o;
+ XMLVM_CHECK_NPE(2)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r2.o, _r8.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r2.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r8.i] = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((org_xmlvm_runtime_XMLVMArray**) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.o;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 725)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+void org_apache_harmony_niochar_CharsetProviderImpl___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_CharsetProviderImpl___CLINIT___]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.CharsetProviderImpl", "<clinit>", "?")
+ volatile XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 50)
+ _r0.i = 0;
+ org_apache_harmony_niochar_CharsetProviderImpl_PUT_HAS_LOADED_NATIVES( _r0.i);
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 55)
+ _r0.i = 1;
+ XMLVM_TRY_BEGIN(w3635aaac16b1b6)
+ // Begin try
+ org_apache_harmony_niochar_CharsetProviderImpl_PUT_HAS_LOADED_NATIVES( _r0.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3635aaac16b1b6)
+ XMLVM_CATCH_END(w3635aaac16b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3635aaac16b1b6)
+ label6:;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 59)
+ XMLVM_EXIT_METHOD()
+ return;
+ label7:;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 56)
+ java_lang_Thread* curThread_w3635aaac16b1c12 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w3635aaac16b1c12->fields.java_lang_Thread.xmlvmException_;
+ goto label6;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/org_apache_harmony_niochar_CharsetProviderImpl.h b/tests/nbody-java/org_apache_harmony_niochar_CharsetProviderImpl.h
new file mode 100644
index 00000000..e3c9b40a
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_niochar_CharsetProviderImpl.h
@@ -0,0 +1,119 @@
+#ifndef __ORG_APACHE_HARMONY_NIOCHAR_CHARSETPROVIDERIMPL__
+#define __ORG_APACHE_HARMONY_NIOCHAR_CHARSETPROVIDERIMPL__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_org_apache_harmony_niochar_CharsetProviderImpl 0
+// Implemented interfaces:
+// Super Class:
+#include "java_nio_charset_spi_CharsetProvider.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_StringBuilder
+#define XMLVM_FORWARD_DECL_java_lang_StringBuilder
+XMLVM_FORWARD_DECL(java_lang_StringBuilder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_Charset
+#define XMLVM_FORWARD_DECL_java_nio_charset_Charset
+XMLVM_FORWARD_DECL(java_nio_charset_Charset)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_security_AccessController
+#define XMLVM_FORWARD_DECL_java_security_AccessController
+XMLVM_FORWARD_DECL(java_security_AccessController)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_ArrayList
+#define XMLVM_FORWARD_DECL_java_util_ArrayList
+XMLVM_FORWARD_DECL(java_util_ArrayList)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Collections
+#define XMLVM_FORWARD_DECL_java_util_Collections
+XMLVM_FORWARD_DECL(java_util_Collections)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_HashMap
+#define XMLVM_FORWARD_DECL_java_util_HashMap
+XMLVM_FORWARD_DECL(java_util_HashMap)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Iterator
+#define XMLVM_FORWARD_DECL_java_util_Iterator
+XMLVM_FORWARD_DECL(java_util_Iterator)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Map
+#define XMLVM_FORWARD_DECL_java_util_Map
+XMLVM_FORWARD_DECL(java_util_Map)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_niochar_CharsetProviderImpl_1
+#define XMLVM_FORWARD_DECL_org_apache_harmony_niochar_CharsetProviderImpl_1
+XMLVM_FORWARD_DECL(org_apache_harmony_niochar_CharsetProviderImpl_1)
+#endif
+// Class declarations for org.apache.harmony.niochar.CharsetProviderImpl
+XMLVM_DEFINE_CLASS(org_apache_harmony_niochar_CharsetProviderImpl, 8, XMLVM_ITABLE_SIZE_org_apache_harmony_niochar_CharsetProviderImpl)
+
+extern JAVA_OBJECT __CLASS_org_apache_harmony_niochar_CharsetProviderImpl;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_niochar_CharsetProviderImpl_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_niochar_CharsetProviderImpl_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_niochar_CharsetProviderImpl_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_niochar_CharsetProviderImpl
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_org_apache_harmony_niochar_CharsetProviderImpl \
+ __INSTANCE_FIELDS_java_nio_charset_spi_CharsetProvider; \
+ struct { \
+ JAVA_OBJECT cache_; \
+ JAVA_OBJECT charsets_; \
+ JAVA_OBJECT packageName_; \
+ __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_niochar_CharsetProviderImpl \
+ } org_apache_harmony_niochar_CharsetProviderImpl
+
+struct org_apache_harmony_niochar_CharsetProviderImpl {
+ __TIB_DEFINITION_org_apache_harmony_niochar_CharsetProviderImpl* tib;
+ struct {
+ __INSTANCE_FIELDS_org_apache_harmony_niochar_CharsetProviderImpl;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_niochar_CharsetProviderImpl
+#define XMLVM_FORWARD_DECL_org_apache_harmony_niochar_CharsetProviderImpl
+typedef struct org_apache_harmony_niochar_CharsetProviderImpl org_apache_harmony_niochar_CharsetProviderImpl;
+#endif
+
+#define XMLVM_VTABLE_SIZE_org_apache_harmony_niochar_CharsetProviderImpl 8
+#define XMLVM_VTABLE_IDX_org_apache_harmony_niochar_CharsetProviderImpl_charsets__ 7
+#define XMLVM_VTABLE_IDX_org_apache_harmony_niochar_CharsetProviderImpl_charsetForName___java_lang_String 6
+
+void __INIT_org_apache_harmony_niochar_CharsetProviderImpl();
+void __INIT_IMPL_org_apache_harmony_niochar_CharsetProviderImpl();
+void __DELETE_org_apache_harmony_niochar_CharsetProviderImpl(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_CharsetProviderImpl(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_org_apache_harmony_niochar_CharsetProviderImpl();
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_niochar_CharsetProviderImpl();
+JAVA_BOOLEAN org_apache_harmony_niochar_CharsetProviderImpl_GET_HAS_LOADED_NATIVES();
+void org_apache_harmony_niochar_CharsetProviderImpl_PUT_HAS_LOADED_NATIVES(JAVA_BOOLEAN v);
+JAVA_INT org_apache_harmony_niochar_CharsetProviderImpl_GET_CHARSET_CLASS();
+void org_apache_harmony_niochar_CharsetProviderImpl_PUT_CHARSET_CLASS(JAVA_INT v);
+JAVA_INT org_apache_harmony_niochar_CharsetProviderImpl_GET_CHARSET_INSTANCE();
+void org_apache_harmony_niochar_CharsetProviderImpl_PUT_CHARSET_INSTANCE(JAVA_INT v);
+JAVA_INT org_apache_harmony_niochar_CharsetProviderImpl_GET_CHARSET_ALIASES();
+void org_apache_harmony_niochar_CharsetProviderImpl_PUT_CHARSET_ALIASES(JAVA_INT v);
+JAVA_BOOLEAN org_apache_harmony_niochar_CharsetProviderImpl_hasLoadedNatives__();
+JAVA_OBJECT org_apache_harmony_niochar_CharsetProviderImpl_toUpperCase___java_lang_String(JAVA_OBJECT n1);
+JAVA_BOOLEAN org_apache_harmony_niochar_CharsetProviderImpl_passthru___char(JAVA_CHAR n1);
+void org_apache_harmony_niochar_CharsetProviderImpl___INIT___(JAVA_OBJECT me);
+// Vtable index: 7
+JAVA_OBJECT org_apache_harmony_niochar_CharsetProviderImpl_charsets__(JAVA_OBJECT me);
+// Vtable index: 6
+JAVA_OBJECT org_apache_harmony_niochar_CharsetProviderImpl_charsetForName___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+void org_apache_harmony_niochar_CharsetProviderImpl_putCharsets___java_util_Map(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_OBJECT org_apache_harmony_niochar_CharsetProviderImpl_getPackageName__(JAVA_OBJECT me);
+JAVA_OBJECT org_apache_harmony_niochar_CharsetProviderImpl_getCharsetsInfo__(JAVA_OBJECT me);
+void org_apache_harmony_niochar_CharsetProviderImpl___CLINIT_();
+
+#endif
diff --git a/tests/nbody-java/org_apache_harmony_niochar_CharsetProviderImpl_1.c b/tests/nbody-java/org_apache_harmony_niochar_CharsetProviderImpl_1.c
new file mode 100644
index 00000000..8748060a
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_niochar_CharsetProviderImpl_1.c
@@ -0,0 +1,267 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_Exception.h"
+#include "java_lang_String.h"
+#include "java_lang_reflect_Constructor.h"
+#include "org_apache_harmony_niochar_CharsetProviderImpl.h"
+
+#include "org_apache_harmony_niochar_CharsetProviderImpl_1.h"
+
+#define XMLVM_CURRENT_CLASS_NAME CharsetProviderImpl_1
+#define XMLVM_CURRENT_PKG_CLASS_NAME org_apache_harmony_niochar_CharsetProviderImpl_1
+
+__TIB_DEFINITION_org_apache_harmony_niochar_CharsetProviderImpl_1 __TIB_org_apache_harmony_niochar_CharsetProviderImpl_1 = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_apache_harmony_niochar_CharsetProviderImpl_1, // classInitializer
+ "org.apache.harmony.niochar.CharsetProviderImpl$1", // className
+ "org.apache.harmony.niochar", // package
+ "org.apache.harmony.niochar.CharsetProviderImpl", // enclosingClassName
+ "charsetForName:(Ljava/lang/String;)Ljava/nio/charset/Charset;", // enclosingMethodName
+ "Ljava/lang/Object;Ljava/security/PrivilegedAction<Ljava/lang/Object;>;", // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(org_apache_harmony_niochar_CharsetProviderImpl_1), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_org_apache_harmony_niochar_CharsetProviderImpl_1;
+JAVA_OBJECT __CLASS_org_apache_harmony_niochar_CharsetProviderImpl_1_1ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_niochar_CharsetProviderImpl_1_2ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_niochar_CharsetProviderImpl_1_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_org_apache_harmony_niochar_CharsetProviderImpl_1()
+{
+ staticInitializerLock(&__TIB_org_apache_harmony_niochar_CharsetProviderImpl_1);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_apache_harmony_niochar_CharsetProviderImpl_1);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.apache.harmony.niochar.CharsetProviderImpl$1")
+ __INIT_IMPL_org_apache_harmony_niochar_CharsetProviderImpl_1();
+ }
+}
+
+void __INIT_IMPL_org_apache_harmony_niochar_CharsetProviderImpl_1()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.newInstanceFunc = __NEW_INSTANCE_org_apache_harmony_niochar_CharsetProviderImpl_1;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.vtable[6] = (VTABLE_PTR) &org_apache_harmony_niochar_CharsetProviderImpl_1_run__;
+ // Initialize interface information
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.numImplementedInterfaces = 1;
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_security_PrivilegedAction)
+
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.implementedInterfaces[0][0] = &__TIB_java_security_PrivilegedAction;
+ // Initialize itable for this class
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.itableBegin = &__TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.itable[0];
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.itable[XMLVM_ITABLE_IDX_java_security_PrivilegedAction_run__] = __TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.vtable[6];
+
+
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.declaredFields = &__field_reflection_data[0];
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_org_apache_harmony_niochar_CharsetProviderImpl_1 = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_apache_harmony_niochar_CharsetProviderImpl_1);
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.clazz = __CLASS_org_apache_harmony_niochar_CharsetProviderImpl_1;
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.baseType = JAVA_NULL;
+ __CLASS_org_apache_harmony_niochar_CharsetProviderImpl_1_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_niochar_CharsetProviderImpl_1);
+ __CLASS_org_apache_harmony_niochar_CharsetProviderImpl_1_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_niochar_CharsetProviderImpl_1_1ARRAY);
+ __CLASS_org_apache_harmony_niochar_CharsetProviderImpl_1_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_niochar_CharsetProviderImpl_1_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_org_apache_harmony_niochar_CharsetProviderImpl_1]
+ //XMLVM_END_WRAPPER
+
+ __TIB_org_apache_harmony_niochar_CharsetProviderImpl_1.classInitialized = 1;
+}
+
+void __DELETE_org_apache_harmony_niochar_CharsetProviderImpl_1(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_org_apache_harmony_niochar_CharsetProviderImpl_1]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_CharsetProviderImpl_1(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((org_apache_harmony_niochar_CharsetProviderImpl_1*) me)->fields.org_apache_harmony_niochar_CharsetProviderImpl_1.val_className_ = (java_lang_String*) JAVA_NULL;
+ ((org_apache_harmony_niochar_CharsetProviderImpl_1*) me)->fields.org_apache_harmony_niochar_CharsetProviderImpl_1.val_canonicalName_ = (java_lang_String*) JAVA_NULL;
+ ((org_apache_harmony_niochar_CharsetProviderImpl_1*) me)->fields.org_apache_harmony_niochar_CharsetProviderImpl_1.val_aliases_ = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ ((org_apache_harmony_niochar_CharsetProviderImpl_1*) me)->fields.org_apache_harmony_niochar_CharsetProviderImpl_1.this_0_ = (org_apache_harmony_niochar_CharsetProviderImpl*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_CharsetProviderImpl_1]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_org_apache_harmony_niochar_CharsetProviderImpl_1()
+{ XMLVM_CLASS_INIT(org_apache_harmony_niochar_CharsetProviderImpl_1)
+org_apache_harmony_niochar_CharsetProviderImpl_1* me = (org_apache_harmony_niochar_CharsetProviderImpl_1*) XMLVM_MALLOC(sizeof(org_apache_harmony_niochar_CharsetProviderImpl_1));
+ me->tib = &__TIB_org_apache_harmony_niochar_CharsetProviderImpl_1;
+ __INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_CharsetProviderImpl_1(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_org_apache_harmony_niochar_CharsetProviderImpl_1]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_niochar_CharsetProviderImpl_1()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+void org_apache_harmony_niochar_CharsetProviderImpl_1___INIT____org_apache_harmony_niochar_CharsetProviderImpl_java_lang_String_java_lang_String_java_lang_String_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_OBJECT n4)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_CharsetProviderImpl_1___INIT____org_apache_harmony_niochar_CharsetProviderImpl_java_lang_String_java_lang_String_java_lang_String_1ARRAY]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.CharsetProviderImpl$1", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ _r3.o = n3;
+ _r4.o = n4;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 191)
+ XMLVM_CHECK_NPE(0)
+ ((org_apache_harmony_niochar_CharsetProviderImpl_1*) _r0.o)->fields.org_apache_harmony_niochar_CharsetProviderImpl_1.this_0_ = _r1.o;
+ XMLVM_CHECK_NPE(0)
+ ((org_apache_harmony_niochar_CharsetProviderImpl_1*) _r0.o)->fields.org_apache_harmony_niochar_CharsetProviderImpl_1.val_className_ = _r2.o;
+ XMLVM_CHECK_NPE(0)
+ ((org_apache_harmony_niochar_CharsetProviderImpl_1*) _r0.o)->fields.org_apache_harmony_niochar_CharsetProviderImpl_1.val_canonicalName_ = _r3.o;
+ XMLVM_CHECK_NPE(0)
+ ((org_apache_harmony_niochar_CharsetProviderImpl_1*) _r0.o)->fields.org_apache_harmony_niochar_CharsetProviderImpl_1.val_aliases_ = _r4.o;
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_niochar_CharsetProviderImpl_1_run__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_CharsetProviderImpl_1_run__]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.CharsetProviderImpl$1", "run", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ _r6.o = me;
+ XMLVM_TRY_BEGIN(w3623aaab5b1b2)
+ // Begin try
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 194)
+ XMLVM_CHECK_NPE(6)
+ _r3.o = ((org_apache_harmony_niochar_CharsetProviderImpl_1*) _r6.o)->fields.org_apache_harmony_niochar_CharsetProviderImpl_1.val_className_;
+ _r0.o = java_lang_Class_forName___java_lang_String(_r3.o);
+ _r3.i = 2;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 195)
+ XMLVM_CLASS_INIT(java_lang_Class)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Class, _r3.i);
+ _r4.i = 0;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r5.o = __CLASS_java_lang_String;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 1;
+ XMLVM_CLASS_INIT(java_lang_String)
+ _r5.o = __CLASS_java_lang_String_1ARRAY;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ XMLVM_CHECK_NPE(0)
+ _r1.o = java_lang_Class_getConstructor___java_lang_Class_1ARRAY(_r0.o, _r3.o);
+ _r3.i = 1;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 198)
+ XMLVM_CHECK_NPE(1)
+ java_lang_reflect_AccessibleObject_setAccessible___boolean(_r1.o, _r3.i);
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 199)
+ _r3.i = 2;
+ XMLVM_CLASS_INIT(java_lang_Object)
+ _r3.o = XMLVMArray_createSingleDimension(__CLASS_java_lang_Object, _r3.i);
+ _r4.i = 0;
+ XMLVM_CHECK_NPE(6)
+ _r5.o = ((org_apache_harmony_niochar_CharsetProviderImpl_1*) _r6.o)->fields.org_apache_harmony_niochar_CharsetProviderImpl_1.val_canonicalName_;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ _r4.i = 1;
+ XMLVM_CHECK_NPE(6)
+ _r5.o = ((org_apache_harmony_niochar_CharsetProviderImpl_1*) _r6.o)->fields.org_apache_harmony_niochar_CharsetProviderImpl_1.val_aliases_;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ ((JAVA_ARRAY_OBJECT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i] = _r5.o;
+ XMLVM_CHECK_NPE(1)
+ _r3.o = java_lang_reflect_Constructor_newInstance___java_lang_Object_1ARRAY(_r1.o, _r3.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w3623aaab5b1b2)
+ XMLVM_CATCH_SPECIFIC(w3623aaab5b1b2,java_lang_Exception,45)
+ XMLVM_CATCH_END(w3623aaab5b1b2)
+ XMLVM_RESTORE_EXCEPTION_ENV(w3623aaab5b1b2)
+ label44:;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 202)
+ XMLVM_EXIT_METHOD()
+ return _r3.o;
+ label45:;
+ XMLVM_SOURCE_POSITION("CharsetProviderImpl.java", 201)
+ java_lang_Thread* curThread_w3623aaab5b1b8 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r3.o = curThread_w3623aaab5b1b8->fields.java_lang_Thread.xmlvmException_;
+ _r2 = _r3;
+ _r3.o = JAVA_NULL;
+ goto label44;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/org_apache_harmony_niochar_CharsetProviderImpl_1.h b/tests/nbody-java/org_apache_harmony_niochar_CharsetProviderImpl_1.h
new file mode 100644
index 00000000..b2bfef0f
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_niochar_CharsetProviderImpl_1.h
@@ -0,0 +1,79 @@
+#ifndef __ORG_APACHE_HARMONY_NIOCHAR_CHARSETPROVIDERIMPL_1__
+#define __ORG_APACHE_HARMONY_NIOCHAR_CHARSETPROVIDERIMPL_1__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_org_apache_harmony_niochar_CharsetProviderImpl_1 1
+// Implemented interfaces:
+#include "java_security_PrivilegedAction.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Exception
+#define XMLVM_FORWARD_DECL_java_lang_Exception
+XMLVM_FORWARD_DECL(java_lang_Exception)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_reflect_Constructor
+#define XMLVM_FORWARD_DECL_java_lang_reflect_Constructor
+XMLVM_FORWARD_DECL(java_lang_reflect_Constructor)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_niochar_CharsetProviderImpl
+#define XMLVM_FORWARD_DECL_org_apache_harmony_niochar_CharsetProviderImpl
+XMLVM_FORWARD_DECL(org_apache_harmony_niochar_CharsetProviderImpl)
+#endif
+// Class declarations for org.apache.harmony.niochar.CharsetProviderImpl$1
+XMLVM_DEFINE_CLASS(org_apache_harmony_niochar_CharsetProviderImpl_1, 7, XMLVM_ITABLE_SIZE_org_apache_harmony_niochar_CharsetProviderImpl_1)
+
+extern JAVA_OBJECT __CLASS_org_apache_harmony_niochar_CharsetProviderImpl_1;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_niochar_CharsetProviderImpl_1_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_niochar_CharsetProviderImpl_1_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_niochar_CharsetProviderImpl_1_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_niochar_CharsetProviderImpl_1
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_org_apache_harmony_niochar_CharsetProviderImpl_1 \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT val_className_; \
+ JAVA_OBJECT val_canonicalName_; \
+ JAVA_OBJECT val_aliases_; \
+ JAVA_OBJECT this_0_; \
+ __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_niochar_CharsetProviderImpl_1 \
+ } org_apache_harmony_niochar_CharsetProviderImpl_1
+
+struct org_apache_harmony_niochar_CharsetProviderImpl_1 {
+ __TIB_DEFINITION_org_apache_harmony_niochar_CharsetProviderImpl_1* tib;
+ struct {
+ __INSTANCE_FIELDS_org_apache_harmony_niochar_CharsetProviderImpl_1;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_niochar_CharsetProviderImpl_1
+#define XMLVM_FORWARD_DECL_org_apache_harmony_niochar_CharsetProviderImpl_1
+typedef struct org_apache_harmony_niochar_CharsetProviderImpl_1 org_apache_harmony_niochar_CharsetProviderImpl_1;
+#endif
+
+#define XMLVM_VTABLE_SIZE_org_apache_harmony_niochar_CharsetProviderImpl_1 7
+#define XMLVM_VTABLE_IDX_org_apache_harmony_niochar_CharsetProviderImpl_1_run__ 6
+
+void __INIT_org_apache_harmony_niochar_CharsetProviderImpl_1();
+void __INIT_IMPL_org_apache_harmony_niochar_CharsetProviderImpl_1();
+void __DELETE_org_apache_harmony_niochar_CharsetProviderImpl_1(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_CharsetProviderImpl_1(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_org_apache_harmony_niochar_CharsetProviderImpl_1();
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_niochar_CharsetProviderImpl_1();
+void org_apache_harmony_niochar_CharsetProviderImpl_1___INIT____org_apache_harmony_niochar_CharsetProviderImpl_java_lang_String_java_lang_String_java_lang_String_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3, JAVA_OBJECT n4);
+// Vtable index: 6
+JAVA_OBJECT org_apache_harmony_niochar_CharsetProviderImpl_1_run__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/org_apache_harmony_niochar_charset_UTF_8.c b/tests/nbody-java/org_apache_harmony_niochar_charset_UTF_8.c
new file mode 100644
index 00000000..60618fc3
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_niochar_charset_UTF_8.c
@@ -0,0 +1,654 @@
+#include "xmlvm.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+#include "java_nio_charset_CharsetDecoder.h"
+#include "java_nio_charset_CharsetEncoder.h"
+#include "org_apache_harmony_niochar_charset_UTF_8_Decoder.h"
+#include "org_apache_harmony_niochar_charset_UTF_8_Encoder.h"
+
+#include "org_apache_harmony_niochar_charset_UTF_8.h"
+
+#define XMLVM_CURRENT_CLASS_NAME UTF_8
+#define XMLVM_CURRENT_PKG_CLASS_NAME org_apache_harmony_niochar_charset_UTF_8
+
+__TIB_DEFINITION_org_apache_harmony_niochar_charset_UTF_8 __TIB_org_apache_harmony_niochar_charset_UTF_8 = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_apache_harmony_niochar_charset_UTF_8, // classInitializer
+ "org.apache.harmony.niochar.charset.UTF_8", // className
+ "org.apache.harmony.niochar.charset", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_charset_Charset, // extends
+ sizeof(org_apache_harmony_niochar_charset_UTF_8), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8;
+JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_1ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_2ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_OBJECT _STATIC_org_apache_harmony_niochar_charset_UTF_8_remainingBytes;
+static JAVA_OBJECT _STATIC_org_apache_harmony_niochar_charset_UTF_8_remainingNumbers;
+static JAVA_OBJECT _STATIC_org_apache_harmony_niochar_charset_UTF_8_lowerEncodingLimit;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+ {"remainingBytes",
+ &__CLASS_int_1ARRAY,
+ 0 | java_lang_reflect_Modifier_PRIVATE | java_lang_reflect_Modifier_STATIC,
+ 0,
+ &_STATIC_org_apache_harmony_niochar_charset_UTF_8_remainingBytes,
+ "",
+ JAVA_NULL},
+ {"remainingNumbers",
+ &__CLASS_int_1ARRAY,
+ 0 | java_lang_reflect_Modifier_PRIVATE | java_lang_reflect_Modifier_STATIC,
+ 0,
+ &_STATIC_org_apache_harmony_niochar_charset_UTF_8_remainingNumbers,
+ "",
+ JAVA_NULL},
+ {"lowerEncodingLimit",
+ &__CLASS_int_1ARRAY,
+ 0 | java_lang_reflect_Modifier_PRIVATE | java_lang_reflect_Modifier_STATIC,
+ 0,
+ &_STATIC_org_apache_harmony_niochar_charset_UTF_8_lowerEncodingLimit,
+ "",
+ JAVA_NULL},
+};
+
+static JAVA_OBJECT* __constructor0_arg_types[] = {
+ &__CLASS_java_lang_String,
+ &__CLASS_java_lang_String_1ARRAY,
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+ {&__constructor0_arg_types[0],
+ sizeof(__constructor0_arg_types) / sizeof(JAVA_OBJECT*),
+ JAVA_NULL,
+ 0,
+ 0,
+ "(Ljava/lang/String;[Ljava/lang/String;)V",
+ JAVA_NULL,
+ JAVA_NULL},
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ JAVA_OBJECT obj = __NEW_org_apache_harmony_niochar_charset_UTF_8();
+ java_lang_reflect_Constructor* c = (java_lang_reflect_Constructor*) constructor;
+ org_xmlvm_runtime_XMLVMArray* args = (org_xmlvm_runtime_XMLVMArray*) arguments;
+ JAVA_ARRAY_OBJECT* argsArray = (JAVA_ARRAY_OBJECT*) args->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ switch (c->fields.java_lang_reflect_Constructor.slot_) {
+ case 0:
+ org_apache_harmony_niochar_charset_UTF_8___INIT____java_lang_String_java_lang_String_1ARRAY(obj, argsArray[0], argsArray[1]);
+ break;
+ default:
+ XMLVM_INTERNAL_ERROR();
+ break;
+ }
+ return obj;
+}
+
+static JAVA_OBJECT* __method0_arg_types[] = {
+ &__CLASS_java_nio_charset_Charset,
+};
+
+static JAVA_OBJECT* __method1_arg_types[] = {
+};
+
+static JAVA_OBJECT* __method2_arg_types[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+ {"contains",
+ &__method0_arg_types[0],
+ sizeof(__method0_arg_types) / sizeof(JAVA_OBJECT*),
+ JAVA_NULL,
+ 0,
+ 0,
+ "(Ljava/nio/charset/Charset;)Z",
+ JAVA_NULL,
+ JAVA_NULL},
+ {"newDecoder",
+ &__method1_arg_types[0],
+ sizeof(__method1_arg_types) / sizeof(JAVA_OBJECT*),
+ JAVA_NULL,
+ 0,
+ 0,
+ "()Ljava/nio/charset/CharsetDecoder;",
+ JAVA_NULL,
+ JAVA_NULL},
+ {"newEncoder",
+ &__method2_arg_types[0],
+ sizeof(__method2_arg_types) / sizeof(JAVA_OBJECT*),
+ JAVA_NULL,
+ 0,
+ 0,
+ "()Ljava/nio/charset/CharsetEncoder;",
+ JAVA_NULL,
+ JAVA_NULL},
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ JAVA_OBJECT result = JAVA_NULL;
+ java_lang_Object* obj = receiver;
+ java_lang_reflect_Method* m = (java_lang_reflect_Method*) method;
+ org_xmlvm_runtime_XMLVMArray* args = (org_xmlvm_runtime_XMLVMArray*) arguments;
+ JAVA_ARRAY_OBJECT* argsArray = (JAVA_ARRAY_OBJECT*) args->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ XMLVMElem conversion;
+ switch (m->fields.java_lang_reflect_Method.slot_) {
+ case 0:
+ conversion.i = (JAVA_BOOLEAN) org_apache_harmony_niochar_charset_UTF_8_contains___java_nio_charset_Charset(receiver, argsArray[0]);
+ result = __NEW_java_lang_Boolean();
+ java_lang_Boolean___INIT____boolean(result, conversion.i);
+ break;
+ case 1:
+ result = (JAVA_OBJECT) org_apache_harmony_niochar_charset_UTF_8_newDecoder__(receiver);
+ break;
+ case 2:
+ result = (JAVA_OBJECT) org_apache_harmony_niochar_charset_UTF_8_newEncoder__(receiver);
+ break;
+ default:
+ XMLVM_INTERNAL_ERROR();
+ break;
+ }
+ return result;
+}
+
+void __INIT_org_apache_harmony_niochar_charset_UTF_8()
+{
+ staticInitializerLock(&__TIB_org_apache_harmony_niochar_charset_UTF_8);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_apache_harmony_niochar_charset_UTF_8.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_apache_harmony_niochar_charset_UTF_8.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_apache_harmony_niochar_charset_UTF_8);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_apache_harmony_niochar_charset_UTF_8.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_apache_harmony_niochar_charset_UTF_8.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_apache_harmony_niochar_charset_UTF_8.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.apache.harmony.niochar.charset.UTF_8")
+ __INIT_IMPL_org_apache_harmony_niochar_charset_UTF_8();
+ }
+}
+
+void __INIT_IMPL_org_apache_harmony_niochar_charset_UTF_8()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_nio_charset_Charset)
+ __TIB_org_apache_harmony_niochar_charset_UTF_8.newInstanceFunc = __NEW_INSTANCE_org_apache_harmony_niochar_charset_UTF_8;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_org_apache_harmony_niochar_charset_UTF_8.vtable, __TIB_java_nio_charset_Charset.vtable, sizeof(__TIB_java_nio_charset_Charset.vtable));
+ // Initialize vtable for this class
+ __TIB_org_apache_harmony_niochar_charset_UTF_8.vtable[7] = (VTABLE_PTR) &org_apache_harmony_niochar_charset_UTF_8_contains___java_nio_charset_Charset;
+ __TIB_org_apache_harmony_niochar_charset_UTF_8.vtable[8] = (VTABLE_PTR) &org_apache_harmony_niochar_charset_UTF_8_newDecoder__;
+ __TIB_org_apache_harmony_niochar_charset_UTF_8.vtable[9] = (VTABLE_PTR) &org_apache_harmony_niochar_charset_UTF_8_newEncoder__;
+ // Initialize interface information
+ __TIB_org_apache_harmony_niochar_charset_UTF_8.numImplementedInterfaces = 1;
+ __TIB_org_apache_harmony_niochar_charset_UTF_8.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_lang_Comparable)
+
+ __TIB_org_apache_harmony_niochar_charset_UTF_8.implementedInterfaces[0][0] = &__TIB_java_lang_Comparable;
+ // Initialize itable for this class
+ __TIB_org_apache_harmony_niochar_charset_UTF_8.itableBegin = &__TIB_org_apache_harmony_niochar_charset_UTF_8.itable[0];
+ __TIB_org_apache_harmony_niochar_charset_UTF_8.itable[XMLVM_ITABLE_IDX_java_lang_Comparable_compareTo___java_lang_Object] = __TIB_org_apache_harmony_niochar_charset_UTF_8.vtable[6];
+
+ _STATIC_org_apache_harmony_niochar_charset_UTF_8_remainingBytes = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ _STATIC_org_apache_harmony_niochar_charset_UTF_8_remainingNumbers = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+ _STATIC_org_apache_harmony_niochar_charset_UTF_8_lowerEncodingLimit = (org_xmlvm_runtime_XMLVMArray*) JAVA_NULL;
+
+ __TIB_org_apache_harmony_niochar_charset_UTF_8.declaredFields = &__field_reflection_data[0];
+ __TIB_org_apache_harmony_niochar_charset_UTF_8.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_org_apache_harmony_niochar_charset_UTF_8.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_org_apache_harmony_niochar_charset_UTF_8.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_org_apache_harmony_niochar_charset_UTF_8.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_org_apache_harmony_niochar_charset_UTF_8.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_apache_harmony_niochar_charset_UTF_8.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_apache_harmony_niochar_charset_UTF_8.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_org_apache_harmony_niochar_charset_UTF_8 = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_apache_harmony_niochar_charset_UTF_8);
+ __TIB_org_apache_harmony_niochar_charset_UTF_8.clazz = __CLASS_org_apache_harmony_niochar_charset_UTF_8;
+ __TIB_org_apache_harmony_niochar_charset_UTF_8.baseType = JAVA_NULL;
+ __CLASS_org_apache_harmony_niochar_charset_UTF_8_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_niochar_charset_UTF_8);
+ __CLASS_org_apache_harmony_niochar_charset_UTF_8_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_niochar_charset_UTF_8_1ARRAY);
+ __CLASS_org_apache_harmony_niochar_charset_UTF_8_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_niochar_charset_UTF_8_2ARRAY);
+ org_apache_harmony_niochar_charset_UTF_8___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_org_apache_harmony_niochar_charset_UTF_8]
+ //XMLVM_END_WRAPPER
+
+ __TIB_org_apache_harmony_niochar_charset_UTF_8.classInitialized = 1;
+}
+
+void __DELETE_org_apache_harmony_niochar_charset_UTF_8(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_org_apache_harmony_niochar_charset_UTF_8]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_charset_UTF_8(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_nio_charset_Charset(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_charset_UTF_8]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_org_apache_harmony_niochar_charset_UTF_8()
+{ XMLVM_CLASS_INIT(org_apache_harmony_niochar_charset_UTF_8)
+org_apache_harmony_niochar_charset_UTF_8* me = (org_apache_harmony_niochar_charset_UTF_8*) XMLVM_MALLOC(sizeof(org_apache_harmony_niochar_charset_UTF_8));
+ me->tib = &__TIB_org_apache_harmony_niochar_charset_UTF_8;
+ __INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_charset_UTF_8(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_org_apache_harmony_niochar_charset_UTF_8]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_niochar_charset_UTF_8()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_OBJECT org_apache_harmony_niochar_charset_UTF_8_GET_remainingBytes()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_niochar_charset_UTF_8)
+ return _STATIC_org_apache_harmony_niochar_charset_UTF_8_remainingBytes;
+}
+
+void org_apache_harmony_niochar_charset_UTF_8_PUT_remainingBytes(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_niochar_charset_UTF_8)
+_STATIC_org_apache_harmony_niochar_charset_UTF_8_remainingBytes = v;
+}
+
+JAVA_OBJECT org_apache_harmony_niochar_charset_UTF_8_GET_remainingNumbers()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_niochar_charset_UTF_8)
+ return _STATIC_org_apache_harmony_niochar_charset_UTF_8_remainingNumbers;
+}
+
+void org_apache_harmony_niochar_charset_UTF_8_PUT_remainingNumbers(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_niochar_charset_UTF_8)
+_STATIC_org_apache_harmony_niochar_charset_UTF_8_remainingNumbers = v;
+}
+
+JAVA_OBJECT org_apache_harmony_niochar_charset_UTF_8_GET_lowerEncodingLimit()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_niochar_charset_UTF_8)
+ return _STATIC_org_apache_harmony_niochar_charset_UTF_8_lowerEncodingLimit;
+}
+
+void org_apache_harmony_niochar_charset_UTF_8_PUT_lowerEncodingLimit(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_niochar_charset_UTF_8)
+_STATIC_org_apache_harmony_niochar_charset_UTF_8_lowerEncodingLimit = v;
+}
+
+void org_apache_harmony_niochar_charset_UTF_8___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_charset_UTF_8___CLINIT___]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.charset.UTF_8", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r3.i = 4;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 42)
+ _r0.i = 128;
+ XMLVM_CLASS_INIT(int)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_int, _r0.i);
+ XMLVMArray_fillArray(((org_xmlvm_runtime_XMLVMArray*) _r0.o), (JAVA_ARRAY_INT[]){-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, -1, -1, -1, -1, -1, -1, -1, -1, });
+ org_apache_harmony_niochar_charset_UTF_8_PUT_remainingBytes( _r0.o);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 58)
+ XMLVM_CLASS_INIT(int)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_int, _r3.i);
+ _r1.i = 1;
+ _r2.i = 4224;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 60)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 2;
+ _r2.i = 401536;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 61)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ _r1.i = 3;
+ _r2.i = 29892736;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 62)
+ XMLVM_CHECK_NPE(0)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r0.o, _r1.i);
+ ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i] = _r2.i;
+ org_apache_harmony_niochar_charset_UTF_8_PUT_remainingNumbers( _r0.o);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 65)
+ XMLVM_CLASS_INIT(int)
+ _r0.o = XMLVMArray_createSingleDimension(__CLASS_int, _r3.i);
+ XMLVMArray_fillArray(((org_xmlvm_runtime_XMLVMArray*) _r0.o), (JAVA_ARRAY_INT[]){-1, 128, 2048, 65536, });
+ org_apache_harmony_niochar_charset_UTF_8_PUT_lowerEncodingLimit( _r0.o);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 27)
+ XMLVM_EXIT_METHOD()
+ return;
+ label40:;
+ label300:;
+ //XMLVM_END_WRAPPER
+}
+
+void org_apache_harmony_niochar_charset_UTF_8___INIT____java_lang_String_java_lang_String_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_charset_UTF_8___INIT____java_lang_String_java_lang_String_1ARRAY]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.charset.UTF_8", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 68)
+ XMLVM_CHECK_NPE(0)
+ java_nio_charset_Charset___INIT____java_lang_String_java_lang_String_1ARRAY(_r0.o, _r1.o, _r2.o);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 69)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN org_apache_harmony_niochar_charset_UTF_8_contains___java_nio_charset_Charset(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_charset_UTF_8_contains___java_nio_charset_Charset]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.charset.UTF_8", "contains", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r2.o = me;
+ _r3.o = n1;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 74)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_Charset_name__(_r3.o);
+ // "UTF-8"
+ _r1.o = xmlvm_create_java_string_from_pool(100);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label278;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 75)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_Charset_name__(_r3.o);
+ // "US-ASCII"
+ _r1.o = xmlvm_create_java_string_from_pool(190);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label278;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 76)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_Charset_name__(_r3.o);
+ // "KOI8-R"
+ _r1.o = xmlvm_create_java_string_from_pool(204);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label278;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 77)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_Charset_name__(_r3.o);
+ // "windows-1250"
+ _r1.o = xmlvm_create_java_string_from_pool(207);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label278;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 78)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_Charset_name__(_r3.o);
+ // "windows-1251"
+ _r1.o = xmlvm_create_java_string_from_pool(210);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label278;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 79)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_Charset_name__(_r3.o);
+ // "windows-1252"
+ _r1.o = xmlvm_create_java_string_from_pool(213);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label278;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 80)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_Charset_name__(_r3.o);
+ // "windows-1253"
+ _r1.o = xmlvm_create_java_string_from_pool(216);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label278;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 81)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_Charset_name__(_r3.o);
+ // "windows-1254"
+ _r1.o = xmlvm_create_java_string_from_pool(219);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label278;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 82)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_Charset_name__(_r3.o);
+ // "windows-1257"
+ _r1.o = xmlvm_create_java_string_from_pool(222);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label278;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 83)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_Charset_name__(_r3.o);
+ // "ISO-8859-1"
+ _r1.o = xmlvm_create_java_string_from_pool(175);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label278;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 84)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_Charset_name__(_r3.o);
+ // "ISO-8859-2"
+ _r1.o = xmlvm_create_java_string_from_pool(237);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label278;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 85)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_Charset_name__(_r3.o);
+ // "ISO-8859-4"
+ _r1.o = xmlvm_create_java_string_from_pool(246);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label278;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 86)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_Charset_name__(_r3.o);
+ // "ISO-8859-5"
+ _r1.o = xmlvm_create_java_string_from_pool(255);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label278;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 87)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_Charset_name__(_r3.o);
+ // "ISO-8859-7"
+ _r1.o = xmlvm_create_java_string_from_pool(263);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label278;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 88)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_Charset_name__(_r3.o);
+ // "ISO-8859-9"
+ _r1.o = xmlvm_create_java_string_from_pool(273);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label278;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 89)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_Charset_name__(_r3.o);
+ // "ISO-8859-10"
+ _r1.o = xmlvm_create_java_string_from_pool(829);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label278;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 90)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_Charset_name__(_r3.o);
+ // "ISO-8859-13"
+ _r1.o = xmlvm_create_java_string_from_pool(281);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label278;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 91)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_Charset_name__(_r3.o);
+ // "ISO-8859-14"
+ _r1.o = xmlvm_create_java_string_from_pool(830);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label278;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 92)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_Charset_name__(_r3.o);
+ // "ISO-8859-15"
+ _r1.o = xmlvm_create_java_string_from_pool(283);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label278;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 93)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_Charset_name__(_r3.o);
+ // "ISO-8859-16"
+ _r1.o = xmlvm_create_java_string_from_pool(831);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label278;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 94)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_Charset_name__(_r3.o);
+ // "UTF-16"
+ _r1.o = xmlvm_create_java_string_from_pool(289);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label278;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 95)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_Charset_name__(_r3.o);
+ // "UTF-16LE"
+ _r1.o = xmlvm_create_java_string_from_pool(292);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label278;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 96)
+ XMLVM_CHECK_NPE(3)
+ _r0.o = java_nio_charset_Charset_name__(_r3.o);
+ // "UTF-16BE"
+ _r1.o = xmlvm_create_java_string_from_pool(295);
+ XMLVM_CHECK_NPE(0)
+ _r0.i = java_lang_String_equalsIgnoreCase___java_lang_String(_r0.o, _r1.o);
+ if (_r0.i != 0) goto label278;
+ _r0.i = 0;
+ label277:;
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ label278:;
+ _r0.i = 1;
+ goto label277;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_niochar_charset_UTF_8_newDecoder__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_charset_UTF_8_newDecoder__]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.charset.UTF_8", "newDecoder", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 100)
+ _r0.o = __NEW_org_apache_harmony_niochar_charset_UTF_8_Decoder();
+ _r1.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_niochar_charset_UTF_8_Decoder___INIT____org_apache_harmony_niochar_charset_UTF_8_java_nio_charset_Charset_org_apache_harmony_niochar_charset_UTF_8_Decoder(_r0.o, _r2.o, _r2.o, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_niochar_charset_UTF_8_newEncoder__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_charset_UTF_8_newEncoder__]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.charset.UTF_8", "newEncoder", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r2.o = me;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 104)
+ _r0.o = __NEW_org_apache_harmony_niochar_charset_UTF_8_Encoder();
+ _r1.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_niochar_charset_UTF_8_Encoder___INIT____org_apache_harmony_niochar_charset_UTF_8_java_nio_charset_Charset_org_apache_harmony_niochar_charset_UTF_8_Encoder(_r0.o, _r2.o, _r2.o, _r1.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_niochar_charset_UTF_8_access$0__()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_niochar_charset_UTF_8)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_charset_UTF_8_access$0__]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.charset.UTF_8", "access$0", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 42)
+ _r0.o = org_apache_harmony_niochar_charset_UTF_8_GET_remainingBytes();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_niochar_charset_UTF_8_access$1__()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_niochar_charset_UTF_8)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_charset_UTF_8_access$1__]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.charset.UTF_8", "access$1", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 58)
+ _r0.o = org_apache_harmony_niochar_charset_UTF_8_GET_remainingNumbers();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_niochar_charset_UTF_8_access$2__()
+{
+ XMLVM_CLASS_INIT(org_apache_harmony_niochar_charset_UTF_8)
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_charset_UTF_8_access$2__]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.charset.UTF_8", "access$2", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 65)
+ _r0.o = org_apache_harmony_niochar_charset_UTF_8_GET_lowerEncodingLimit();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/org_apache_harmony_niochar_charset_UTF_8.h b/tests/nbody-java/org_apache_harmony_niochar_charset_UTF_8.h
new file mode 100644
index 00000000..3bcd5a96
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_niochar_charset_UTF_8.h
@@ -0,0 +1,94 @@
+#ifndef __ORG_APACHE_HARMONY_NIOCHAR_CHARSET_UTF_8__
+#define __ORG_APACHE_HARMONY_NIOCHAR_CHARSET_UTF_8__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_org_apache_harmony_niochar_charset_UTF_8 8
+// Implemented interfaces:
+// Super Class:
+#include "java_nio_charset_Charset.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_CharsetDecoder
+#define XMLVM_FORWARD_DECL_java_nio_charset_CharsetDecoder
+XMLVM_FORWARD_DECL(java_nio_charset_CharsetDecoder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_CharsetEncoder
+#define XMLVM_FORWARD_DECL_java_nio_charset_CharsetEncoder
+XMLVM_FORWARD_DECL(java_nio_charset_CharsetEncoder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_niochar_charset_UTF_8_Decoder
+#define XMLVM_FORWARD_DECL_org_apache_harmony_niochar_charset_UTF_8_Decoder
+XMLVM_FORWARD_DECL(org_apache_harmony_niochar_charset_UTF_8_Decoder)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_niochar_charset_UTF_8_Encoder
+#define XMLVM_FORWARD_DECL_org_apache_harmony_niochar_charset_UTF_8_Encoder
+XMLVM_FORWARD_DECL(org_apache_harmony_niochar_charset_UTF_8_Encoder)
+#endif
+// Class declarations for org.apache.harmony.niochar.charset.UTF_8
+XMLVM_DEFINE_CLASS(org_apache_harmony_niochar_charset_UTF_8, 10, XMLVM_ITABLE_SIZE_org_apache_harmony_niochar_charset_UTF_8)
+
+extern JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_niochar_charset_UTF_8
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_org_apache_harmony_niochar_charset_UTF_8 \
+ __INSTANCE_FIELDS_java_nio_charset_Charset; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_niochar_charset_UTF_8 \
+ } org_apache_harmony_niochar_charset_UTF_8
+
+struct org_apache_harmony_niochar_charset_UTF_8 {
+ __TIB_DEFINITION_org_apache_harmony_niochar_charset_UTF_8* tib;
+ struct {
+ __INSTANCE_FIELDS_org_apache_harmony_niochar_charset_UTF_8;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_niochar_charset_UTF_8
+#define XMLVM_FORWARD_DECL_org_apache_harmony_niochar_charset_UTF_8
+typedef struct org_apache_harmony_niochar_charset_UTF_8 org_apache_harmony_niochar_charset_UTF_8;
+#endif
+
+#define XMLVM_VTABLE_SIZE_org_apache_harmony_niochar_charset_UTF_8 10
+#define XMLVM_VTABLE_IDX_org_apache_harmony_niochar_charset_UTF_8_contains___java_nio_charset_Charset 7
+#define XMLVM_VTABLE_IDX_org_apache_harmony_niochar_charset_UTF_8_newDecoder__ 8
+#define XMLVM_VTABLE_IDX_org_apache_harmony_niochar_charset_UTF_8_newEncoder__ 9
+
+void __INIT_org_apache_harmony_niochar_charset_UTF_8();
+void __INIT_IMPL_org_apache_harmony_niochar_charset_UTF_8();
+void __DELETE_org_apache_harmony_niochar_charset_UTF_8(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_charset_UTF_8(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_org_apache_harmony_niochar_charset_UTF_8();
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_niochar_charset_UTF_8();
+JAVA_OBJECT org_apache_harmony_niochar_charset_UTF_8_GET_remainingBytes();
+void org_apache_harmony_niochar_charset_UTF_8_PUT_remainingBytes(JAVA_OBJECT v);
+JAVA_OBJECT org_apache_harmony_niochar_charset_UTF_8_GET_remainingNumbers();
+void org_apache_harmony_niochar_charset_UTF_8_PUT_remainingNumbers(JAVA_OBJECT v);
+JAVA_OBJECT org_apache_harmony_niochar_charset_UTF_8_GET_lowerEncodingLimit();
+void org_apache_harmony_niochar_charset_UTF_8_PUT_lowerEncodingLimit(JAVA_OBJECT v);
+void org_apache_harmony_niochar_charset_UTF_8___CLINIT_();
+void org_apache_harmony_niochar_charset_UTF_8___INIT____java_lang_String_java_lang_String_1ARRAY(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+// Vtable index: 7
+JAVA_BOOLEAN org_apache_harmony_niochar_charset_UTF_8_contains___java_nio_charset_Charset(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 8
+JAVA_OBJECT org_apache_harmony_niochar_charset_UTF_8_newDecoder__(JAVA_OBJECT me);
+// Vtable index: 9
+JAVA_OBJECT org_apache_harmony_niochar_charset_UTF_8_newEncoder__(JAVA_OBJECT me);
+JAVA_OBJECT org_apache_harmony_niochar_charset_UTF_8_access$0__();
+JAVA_OBJECT org_apache_harmony_niochar_charset_UTF_8_access$1__();
+JAVA_OBJECT org_apache_harmony_niochar_charset_UTF_8_access$2__();
+
+#endif
diff --git a/tests/nbody-java/org_apache_harmony_niochar_charset_UTF_8_Decoder.c b/tests/nbody-java/org_apache_harmony_niochar_charset_UTF_8_Decoder.c
new file mode 100644
index 00000000..4ab7763b
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_niochar_charset_UTF_8_Decoder.c
@@ -0,0 +1,638 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_Object.h"
+#include "java_nio_ByteBuffer.h"
+#include "java_nio_CharBuffer.h"
+#include "java_nio_charset_Charset.h"
+#include "java_nio_charset_CoderResult.h"
+#include "org_apache_harmony_niochar_charset_UTF_8.h"
+
+#include "org_apache_harmony_niochar_charset_UTF_8_Decoder.h"
+
+#define XMLVM_CURRENT_CLASS_NAME UTF_8_Decoder
+#define XMLVM_CURRENT_PKG_CLASS_NAME org_apache_harmony_niochar_charset_UTF_8_Decoder
+
+__TIB_DEFINITION_org_apache_harmony_niochar_charset_UTF_8_Decoder __TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_apache_harmony_niochar_charset_UTF_8_Decoder, // classInitializer
+ "org.apache.harmony.niochar.charset.UTF_8$Decoder", // className
+ "org.apache.harmony.niochar.charset", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_charset_CharsetDecoder, // extends
+ sizeof(org_apache_harmony_niochar_charset_UTF_8_Decoder), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder;
+JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder_1ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder_2ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_org_apache_harmony_niochar_charset_UTF_8_Decoder()
+{
+ staticInitializerLock(&__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.apache.harmony.niochar.charset.UTF_8$Decoder")
+ __INIT_IMPL_org_apache_harmony_niochar_charset_UTF_8_Decoder();
+ }
+}
+
+void __INIT_IMPL_org_apache_harmony_niochar_charset_UTF_8_Decoder()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_nio_charset_CharsetDecoder)
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.newInstanceFunc = __NEW_INSTANCE_org_apache_harmony_niochar_charset_UTF_8_Decoder;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.vtable, __TIB_java_nio_charset_CharsetDecoder.vtable, sizeof(__TIB_java_nio_charset_CharsetDecoder.vtable));
+ // Initialize vtable for this class
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.vtable[6] = (VTABLE_PTR) &org_apache_harmony_niochar_charset_UTF_8_Decoder_decodeLoop___java_nio_ByteBuffer_java_nio_CharBuffer;
+ // Initialize interface information
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.numImplementedInterfaces = 0;
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.declaredFields = &__field_reflection_data[0];
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder);
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.clazz = __CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder;
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.baseType = JAVA_NULL;
+ __CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder);
+ __CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder_1ARRAY);
+ __CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_org_apache_harmony_niochar_charset_UTF_8_Decoder]
+ //XMLVM_END_WRAPPER
+
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder.classInitialized = 1;
+}
+
+void __DELETE_org_apache_harmony_niochar_charset_UTF_8_Decoder(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_org_apache_harmony_niochar_charset_UTF_8_Decoder]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_charset_UTF_8_Decoder(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_nio_charset_CharsetDecoder(me, 0 || derivedClassWillRegisterFinalizer);
+ ((org_apache_harmony_niochar_charset_UTF_8_Decoder*) me)->fields.org_apache_harmony_niochar_charset_UTF_8_Decoder.this_0_ = (org_apache_harmony_niochar_charset_UTF_8*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_charset_UTF_8_Decoder]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_org_apache_harmony_niochar_charset_UTF_8_Decoder()
+{ XMLVM_CLASS_INIT(org_apache_harmony_niochar_charset_UTF_8_Decoder)
+org_apache_harmony_niochar_charset_UTF_8_Decoder* me = (org_apache_harmony_niochar_charset_UTF_8_Decoder*) XMLVM_MALLOC(sizeof(org_apache_harmony_niochar_charset_UTF_8_Decoder));
+ me->tib = &__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder;
+ __INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_charset_UTF_8_Decoder(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_org_apache_harmony_niochar_charset_UTF_8_Decoder]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_niochar_charset_UTF_8_Decoder()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+void org_apache_harmony_niochar_charset_UTF_8_Decoder___INIT____org_apache_harmony_niochar_charset_UTF_8_java_nio_charset_Charset(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_charset_UTF_8_Decoder___INIT____org_apache_harmony_niochar_charset_UTF_8_java_nio_charset_Charset]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.charset.UTF_8$Decoder", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r1.o = me;
+ _r2.o = n1;
+ _r3.o = n2;
+ _r0.f = 1.0;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 111)
+ XMLVM_CHECK_NPE(1)
+ ((org_apache_harmony_niochar_charset_UTF_8_Decoder*) _r1.o)->fields.org_apache_harmony_niochar_charset_UTF_8_Decoder.this_0_ = _r2.o;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 110)
+ XMLVM_CHECK_NPE(1)
+ java_nio_charset_CharsetDecoder___INIT____java_nio_charset_Charset_float_float(_r1.o, _r3.o, _r0.f, _r0.f);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_niochar_charset_UTF_8_Decoder_decodeLoop___java_nio_ByteBuffer_java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_charset_UTF_8_Decoder_decodeLoop___java_nio_ByteBuffer_java_nio_CharBuffer]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.charset.UTF_8$Decoder", "decodeLoop", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ volatile XMLVMElem _r9;
+ volatile XMLVMElem _r10;
+ volatile XMLVMElem _r11;
+ volatile XMLVMElem _r12;
+ volatile XMLVMElem _r13;
+ volatile XMLVMElem _r14;
+ volatile XMLVMElem _r15;
+ _r13.o = me;
+ _r14.o = n1;
+ _r15.o = n2;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 114)
+ XMLVM_CHECK_NPE(15)
+ _r0.i = java_nio_Buffer_remaining__(_r15.o);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 115)
+ XMLVM_CHECK_NPE(14)
+ _r1.i = java_nio_Buffer_position__(_r14.o);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 116)
+ XMLVM_CHECK_NPE(14)
+ _r2.i = java_nio_Buffer_limit__(_r14.o);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 117)
+ //java_nio_ByteBuffer_hasArray__[8]
+ XMLVM_CHECK_NPE(14)
+ _r3.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[8])(_r14.o);
+ if (_r3.i == 0) goto label392;
+ //java_nio_CharBuffer_hasArray__[8]
+ XMLVM_CHECK_NPE(15)
+ _r3.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r15.o)->tib->vtable[8])(_r15.o);
+ if (_r3.i == 0) goto label392;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 118)
+ //java_nio_ByteBuffer_array__[7]
+ XMLVM_CHECK_NPE(14)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[7])(_r14.o);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 119)
+ //java_nio_CharBuffer_array__[7]
+ XMLVM_CHECK_NPE(15)
+ _r4.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r15.o)->tib->vtable[7])(_r15.o);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 120)
+ //java_nio_ByteBuffer_arrayOffset__[6]
+ XMLVM_CHECK_NPE(14)
+ _r5.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[6])(_r14.o);
+ _r2.i = _r2.i + _r5.i;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 122)
+ //java_nio_ByteBuffer_arrayOffset__[6]
+ XMLVM_CHECK_NPE(14)
+ _r5.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[6])(_r14.o);
+ _r1.i = _r1.i + _r5.i;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 123)
+ XMLVM_CHECK_NPE(15)
+ _r5.i = java_nio_Buffer_position__(_r15.o);
+ //java_nio_CharBuffer_arrayOffset__[6]
+ XMLVM_CHECK_NPE(15)
+ _r6.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r15.o)->tib->vtable[6])(_r15.o);
+ _r5.i = _r5.i + _r6.i;
+ _r12 = _r5;
+ _r5 = _r0;
+ _r0 = _r12;
+ label54:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 127)
+ if (_r1.i >= _r2.i) goto label58;
+ if (_r5.i > 0) goto label82;
+ label58:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 163)
+ //java_nio_ByteBuffer_arrayOffset__[6]
+ XMLVM_CHECK_NPE(14)
+ _r3.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[6])(_r14.o);
+ _r3.i = _r1.i - _r3.i;
+ XMLVM_CHECK_NPE(14)
+ java_nio_Buffer_position___int(_r14.o, _r3.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 164)
+ //java_nio_CharBuffer_arrayOffset__[6]
+ XMLVM_CHECK_NPE(15)
+ _r3.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r15.o)->tib->vtable[6])(_r15.o);
+ _r0.i = _r0.i - _r3.i;
+ XMLVM_CHECK_NPE(15)
+ java_nio_Buffer_position___int(_r15.o, _r0.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 165)
+ if (_r5.i != 0) goto label229;
+ if (_r1.i >= _r2.i) goto label229;
+ _r0.o = java_nio_charset_CoderResult_GET_OVERFLOW();
+ label81:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 205)
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label82:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 128)
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r1.i);
+ _r6.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r1.i];
+ XMLVM_SOURCE_POSITION("UTF_8.java", 129)
+ if (_r6.i >= 0) goto label387;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 130)
+ _r6.i = _r6.i & 127;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 131)
+ _r7.o = org_apache_harmony_niochar_charset_UTF_8_access$0__();
+ XMLVM_CHECK_NPE(7)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r7.o, _r6.i);
+ _r7.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r7.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r6.i];
+ XMLVM_SOURCE_POSITION("UTF_8.java", 133)
+ _r8.i = -1;
+ if (_r7.i != _r8.i) goto label119;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 134)
+ //java_nio_ByteBuffer_arrayOffset__[6]
+ XMLVM_CHECK_NPE(14)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[6])(_r14.o);
+ _r1.i = _r1.i - _r2.i;
+ XMLVM_CHECK_NPE(14)
+ java_nio_Buffer_position___int(_r14.o, _r1.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 135)
+ //java_nio_CharBuffer_arrayOffset__[6]
+ XMLVM_CHECK_NPE(15)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r15.o)->tib->vtable[6])(_r15.o);
+ _r0.i = _r0.i - _r1.i;
+ XMLVM_CHECK_NPE(15)
+ java_nio_Buffer_position___int(_r15.o, _r0.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 136)
+ _r0.i = 1;
+ _r0.o = java_nio_charset_CoderResult_malformedForLength___int(_r0.i);
+ goto label81;
+ label119:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 138)
+ _r8.i = _r2.i - _r1.i;
+ _r9.i = _r7.i + 1;
+ if (_r8.i < _r9.i) goto label58;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 142)
+ _r8.i = 0;
+ _r12 = _r8;
+ _r8 = _r6;
+ _r6 = _r12;
+ label129:;
+ if (_r6.i < _r7.i) goto label169;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 151)
+ _r6.o = org_apache_harmony_niochar_charset_UTF_8_access$1__();
+ XMLVM_CHECK_NPE(6)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r6.o, _r7.i);
+ _r6.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r6.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i];
+ _r6.i = _r8.i - _r6.i;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 152)
+ _r8.o = org_apache_harmony_niochar_charset_UTF_8_access$2__();
+ XMLVM_CHECK_NPE(8)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r8.o, _r7.i);
+ _r8.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r8.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r7.i];
+ if (_r6.i >= _r8.i) goto label212;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 154)
+ //java_nio_ByteBuffer_arrayOffset__[6]
+ XMLVM_CHECK_NPE(14)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[6])(_r14.o);
+ _r1.i = _r1.i - _r2.i;
+ XMLVM_CHECK_NPE(14)
+ java_nio_Buffer_position___int(_r14.o, _r1.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 155)
+ //java_nio_CharBuffer_arrayOffset__[6]
+ XMLVM_CHECK_NPE(15)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r15.o)->tib->vtable[6])(_r15.o);
+ _r0.i = _r0.i - _r1.i;
+ XMLVM_CHECK_NPE(15)
+ java_nio_Buffer_position___int(_r15.o, _r0.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 156)
+ _r0.i = 1;
+ _r0.o = java_nio_charset_CoderResult_malformedForLength___int(_r0.i);
+ goto label81;
+ label169:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 143)
+ _r9.i = _r1.i + _r6.i;
+ _r9.i = _r9.i + 1;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ _r9.i = ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i];
+ _r9.i = _r9.i & 255;
+ _r10.i = _r9.i & 192;
+ _r11.i = 128;
+ if (_r10.i == _r11.i) goto label206;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 144)
+ XMLVM_SOURCE_POSITION("UTF_8.java", 145)
+ //java_nio_ByteBuffer_arrayOffset__[6]
+ XMLVM_CHECK_NPE(14)
+ _r2.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[6])(_r14.o);
+ _r1.i = _r1.i - _r2.i;
+ XMLVM_CHECK_NPE(14)
+ java_nio_Buffer_position___int(_r14.o, _r1.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 146)
+ //java_nio_CharBuffer_arrayOffset__[6]
+ XMLVM_CHECK_NPE(15)
+ _r1.i = (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r15.o)->tib->vtable[6])(_r15.o);
+ _r0.i = _r0.i - _r1.i;
+ XMLVM_CHECK_NPE(15)
+ java_nio_Buffer_position___int(_r15.o, _r0.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 147)
+ _r0.i = _r6.i + 1;
+ _r0.o = java_nio_charset_CoderResult_malformedForLength___int(_r0.i);
+ goto label81;
+ label206:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 149)
+ _r8.i = _r8.i << 6;
+ _r8.i = _r8.i + _r9.i;
+ _r6.i = _r6.i + 1;
+ goto label129;
+ label212:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 158)
+ _r1.i = _r1.i + _r7.i;
+ _r12 = _r6;
+ _r6 = _r1;
+ _r1 = _r12;
+ label216:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 160)
+ _r7.i = _r0.i + 1;
+ _r1.i = _r1.i & 0xffff;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r0.i);
+ ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r1.i;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 161)
+ _r0.i = _r5.i + -1;
+ _r1.i = _r6.i + 1;
+ _r5 = _r0;
+ _r0 = _r7;
+ goto label54;
+ label229:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 166)
+ _r0.o = java_nio_charset_CoderResult_GET_UNDERFLOW();
+ goto label81;
+ label233:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 170)
+ if (_r1.i != 0) goto label243;
+ XMLVM_TRY_BEGIN(w4520aaab2b1d161)
+ // Begin try
+ XMLVM_SOURCE_POSITION("UTF_8.java", 171)
+ _r1.o = java_nio_charset_CoderResult_GET_OVERFLOW();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4520aaab2b1d161)
+ XMLVM_CATCH_SPECIFIC(w4520aaab2b1d161,java_lang_Object,372)
+ XMLVM_CATCH_END(w4520aaab2b1d161)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4520aaab2b1d161)
+ XMLVM_SOURCE_POSITION("UTF_8.java", 207)
+ XMLVM_CHECK_NPE(14)
+ java_nio_Buffer_position___int(_r14.o, _r0.i);
+ _r0 = _r1;
+ goto label81;
+ label243:;
+ XMLVM_TRY_BEGIN(w4520aaab2b1d167)
+ // Begin try
+ XMLVM_SOURCE_POSITION("UTF_8.java", 174)
+ //java_nio_ByteBuffer_get__[33]
+ XMLVM_CHECK_NPE(14)
+ _r3.i = (*(JAVA_BYTE (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[33])(_r14.o);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 175)
+ if (_r3.i >= 0) { XMLVM_MEMCPY(curThread_w4520aaab2b1d167->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4520aaab2b1d167, sizeof(XMLVM_JMP_BUF)); goto label383; };
+ XMLVM_SOURCE_POSITION("UTF_8.java", 176)
+ _r3.i = _r3.i & 127;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 177)
+ _r4.o = org_apache_harmony_niochar_charset_UTF_8_access$0__();
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r3.i);
+ _r4.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r3.i];
+ XMLVM_SOURCE_POSITION("UTF_8.java", 178)
+ _r5.i = -1;
+ if (_r4.i != _r5.i) { XMLVM_MEMCPY(curThread_w4520aaab2b1d167->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4520aaab2b1d167, sizeof(XMLVM_JMP_BUF)); goto label271; };
+ XMLVM_SOURCE_POSITION("UTF_8.java", 179)
+ _r1.i = 1;
+ _r1.o = java_nio_charset_CoderResult_malformedForLength___int(_r1.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4520aaab2b1d167)
+ XMLVM_CATCH_SPECIFIC(w4520aaab2b1d167,java_lang_Object,372)
+ XMLVM_CATCH_END(w4520aaab2b1d167)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4520aaab2b1d167)
+ XMLVM_CHECK_NPE(14)
+ java_nio_Buffer_position___int(_r14.o, _r0.i);
+ _r0 = _r1;
+ goto label81;
+ label271:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 181)
+ _r5.i = _r2.i - _r0.i;
+ _r6.i = _r4.i + 1;
+ if (_r5.i >= _r6.i) goto label285;
+ XMLVM_TRY_BEGIN(w4520aaab2b1d176)
+ // Begin try
+ XMLVM_SOURCE_POSITION("UTF_8.java", 182)
+ _r1.o = java_nio_charset_CoderResult_GET_UNDERFLOW();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4520aaab2b1d176)
+ XMLVM_CATCH_SPECIFIC(w4520aaab2b1d176,java_lang_Object,372)
+ XMLVM_CATCH_END(w4520aaab2b1d176)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4520aaab2b1d176)
+ XMLVM_CHECK_NPE(14)
+ java_nio_Buffer_position___int(_r14.o, _r0.i);
+ _r0 = _r1;
+ goto label81;
+ label285:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 186)
+ _r5.i = 0;
+ _r12 = _r5;
+ _r5 = _r3;
+ _r3 = _r12;
+ label289:;
+ if (_r3.i < _r4.i) goto label318;
+ XMLVM_TRY_BEGIN(w4520aaab2b1d188)
+ // Begin try
+ XMLVM_SOURCE_POSITION("UTF_8.java", 194)
+ _r3.o = org_apache_harmony_niochar_charset_UTF_8_access$1__();
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r4.i);
+ _r3.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ _r3.i = _r5.i - _r3.i;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 195)
+ _r5.o = org_apache_harmony_niochar_charset_UTF_8_access$2__();
+ XMLVM_CHECK_NPE(5)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r5.o, _r4.i);
+ _r5.i = ((JAVA_ARRAY_INT*) (((org_xmlvm_runtime_XMLVMArray*) _r5.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r4.i];
+ if (_r3.i >= _r5.i) { XMLVM_MEMCPY(curThread_w4520aaab2b1d188->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4520aaab2b1d188, sizeof(XMLVM_JMP_BUF)); goto label348; };
+ XMLVM_SOURCE_POSITION("UTF_8.java", 197)
+ _r1.i = 1;
+ _r1.o = java_nio_charset_CoderResult_malformedForLength___int(_r1.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4520aaab2b1d188)
+ XMLVM_CATCH_SPECIFIC(w4520aaab2b1d188,java_lang_Object,372)
+ XMLVM_CATCH_END(w4520aaab2b1d188)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4520aaab2b1d188)
+ XMLVM_CHECK_NPE(14)
+ java_nio_Buffer_position___int(_r14.o, _r0.i);
+ _r0 = _r1;
+ goto label81;
+ label318:;
+ XMLVM_TRY_BEGIN(w4520aaab2b1d193)
+ // Begin try
+ XMLVM_SOURCE_POSITION("UTF_8.java", 187)
+ //java_nio_ByteBuffer_get__[33]
+ XMLVM_CHECK_NPE(14)
+ _r6.i = (*(JAVA_BYTE (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[33])(_r14.o);
+ _r6.i = _r6.i & 255;
+ _r7.i = _r6.i & 192;
+ _r8.i = 128;
+ if (_r7.i == _r8.i) { XMLVM_MEMCPY(curThread_w4520aaab2b1d193->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w4520aaab2b1d193, sizeof(XMLVM_JMP_BUF)); goto label342; };
+ XMLVM_SOURCE_POSITION("UTF_8.java", 188)
+ XMLVM_SOURCE_POSITION("UTF_8.java", 190)
+ _r1.i = _r3.i + 1;
+ _r1.o = java_nio_charset_CoderResult_malformedForLength___int(_r1.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4520aaab2b1d193)
+ XMLVM_CATCH_SPECIFIC(w4520aaab2b1d193,java_lang_Object,372)
+ XMLVM_CATCH_END(w4520aaab2b1d193)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4520aaab2b1d193)
+ XMLVM_CHECK_NPE(14)
+ java_nio_Buffer_position___int(_r14.o, _r0.i);
+ _r0 = _r1;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 189)
+ goto label81;
+ label342:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 192)
+ _r5.i = _r5.i << 6;
+ _r5.i = _r5.i + _r6.i;
+ _r3.i = _r3.i + 1;
+ goto label289;
+ label348:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 199)
+ _r0.i = _r0.i + _r4.i;
+ _r12 = _r3;
+ _r3 = _r0;
+ _r0 = _r12;
+ label352:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 201)
+ _r3.i = _r3.i + 1;
+ _r0.i = _r0.i & 0xffff;
+ XMLVM_TRY_BEGIN(w4520aaab2b1d214)
+ // Begin try
+ XMLVM_SOURCE_POSITION("UTF_8.java", 202)
+ //java_nio_CharBuffer_put___char[27]
+ XMLVM_CHECK_NPE(15)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_CHAR)) ((java_nio_CharBuffer*) _r15.o)->tib->vtable[27])(_r15.o, _r0.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4520aaab2b1d214)
+ XMLVM_CATCH_SPECIFIC(w4520aaab2b1d214,java_lang_Object,380)
+ XMLVM_CATCH_END(w4520aaab2b1d214)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4520aaab2b1d214)
+ XMLVM_SOURCE_POSITION("UTF_8.java", 203)
+ _r0.i = _r1.i + -1;
+ _r1 = _r0;
+ _r0 = _r3;
+ label362:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 169)
+ if (_r0.i < _r2.i) goto label233;
+ XMLVM_TRY_BEGIN(w4520aaab2b1d222)
+ // Begin try
+ _r1.o = java_nio_charset_CoderResult_GET_UNDERFLOW();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w4520aaab2b1d222)
+ XMLVM_CATCH_SPECIFIC(w4520aaab2b1d222,java_lang_Object,372)
+ XMLVM_CATCH_END(w4520aaab2b1d222)
+ XMLVM_RESTORE_EXCEPTION_ENV(w4520aaab2b1d222)
+ XMLVM_CHECK_NPE(14)
+ java_nio_Buffer_position___int(_r14.o, _r0.i);
+ _r0 = _r1;
+ goto label81;
+ label372:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 206)
+ java_lang_Thread* curThread_w4520aaab2b1d228 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w4520aaab2b1d228->fields.java_lang_Thread.xmlvmException_;
+ _r12 = _r1;
+ _r1 = _r0;
+ _r0 = _r12;
+ label376:;
+ XMLVM_CHECK_NPE(14)
+ java_nio_Buffer_position___int(_r14.o, _r1.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 208)
+ XMLVM_THROW_CUSTOM(_r0.o)
+ label380:;
+ java_lang_Thread* curThread_w4520aaab2b1d237 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r0.o = curThread_w4520aaab2b1d237->fields.java_lang_Thread.xmlvmException_;
+ _r1 = _r3;
+ goto label376;
+ label383:;
+ _r12 = _r3;
+ _r3 = _r0;
+ _r0 = _r12;
+ goto label352;
+ label387:;
+ _r12 = _r6;
+ _r6 = _r1;
+ _r1 = _r12;
+ goto label216;
+ label392:;
+ _r12 = _r1;
+ _r1 = _r0;
+ _r0 = _r12;
+ goto label362;
+ //XMLVM_END_WRAPPER
+}
+
+void org_apache_harmony_niochar_charset_UTF_8_Decoder___INIT____org_apache_harmony_niochar_charset_UTF_8_java_nio_charset_Charset_org_apache_harmony_niochar_charset_UTF_8_Decoder(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_charset_UTF_8_Decoder___INIT____org_apache_harmony_niochar_charset_UTF_8_java_nio_charset_Charset_org_apache_harmony_niochar_charset_UTF_8_Decoder]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.charset.UTF_8$Decoder", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ _r3.o = n3;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 109)
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_niochar_charset_UTF_8_Decoder___INIT____org_apache_harmony_niochar_charset_UTF_8_java_nio_charset_Charset(_r0.o, _r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/org_apache_harmony_niochar_charset_UTF_8_Decoder.h b/tests/nbody-java/org_apache_harmony_niochar_charset_UTF_8_Decoder.h
new file mode 100644
index 00000000..c07b6add
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_niochar_charset_UTF_8_Decoder.h
@@ -0,0 +1,84 @@
+#ifndef __ORG_APACHE_HARMONY_NIOCHAR_CHARSET_UTF_8_DECODER__
+#define __ORG_APACHE_HARMONY_NIOCHAR_CHARSET_UTF_8_DECODER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_org_apache_harmony_niochar_charset_UTF_8_Decoder 0
+// Implemented interfaces:
+// Super Class:
+#include "java_nio_charset_CharsetDecoder.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_ByteBuffer
+#define XMLVM_FORWARD_DECL_java_nio_ByteBuffer
+XMLVM_FORWARD_DECL(java_nio_ByteBuffer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_CharBuffer
+#define XMLVM_FORWARD_DECL_java_nio_CharBuffer
+XMLVM_FORWARD_DECL(java_nio_CharBuffer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_Charset
+#define XMLVM_FORWARD_DECL_java_nio_charset_Charset
+XMLVM_FORWARD_DECL(java_nio_charset_Charset)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_CoderResult
+#define XMLVM_FORWARD_DECL_java_nio_charset_CoderResult
+XMLVM_FORWARD_DECL(java_nio_charset_CoderResult)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_niochar_charset_UTF_8
+#define XMLVM_FORWARD_DECL_org_apache_harmony_niochar_charset_UTF_8
+XMLVM_FORWARD_DECL(org_apache_harmony_niochar_charset_UTF_8)
+#endif
+// Class declarations for org.apache.harmony.niochar.charset.UTF_8$Decoder
+XMLVM_DEFINE_CLASS(org_apache_harmony_niochar_charset_UTF_8_Decoder, 7, XMLVM_ITABLE_SIZE_org_apache_harmony_niochar_charset_UTF_8_Decoder)
+
+extern JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_Decoder_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_niochar_charset_UTF_8_Decoder
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_org_apache_harmony_niochar_charset_UTF_8_Decoder \
+ __INSTANCE_FIELDS_java_nio_charset_CharsetDecoder; \
+ struct { \
+ JAVA_OBJECT this_0_; \
+ __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_niochar_charset_UTF_8_Decoder \
+ } org_apache_harmony_niochar_charset_UTF_8_Decoder
+
+struct org_apache_harmony_niochar_charset_UTF_8_Decoder {
+ __TIB_DEFINITION_org_apache_harmony_niochar_charset_UTF_8_Decoder* tib;
+ struct {
+ __INSTANCE_FIELDS_org_apache_harmony_niochar_charset_UTF_8_Decoder;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_niochar_charset_UTF_8_Decoder
+#define XMLVM_FORWARD_DECL_org_apache_harmony_niochar_charset_UTF_8_Decoder
+typedef struct org_apache_harmony_niochar_charset_UTF_8_Decoder org_apache_harmony_niochar_charset_UTF_8_Decoder;
+#endif
+
+#define XMLVM_VTABLE_SIZE_org_apache_harmony_niochar_charset_UTF_8_Decoder 7
+#define XMLVM_VTABLE_IDX_org_apache_harmony_niochar_charset_UTF_8_Decoder_decodeLoop___java_nio_ByteBuffer_java_nio_CharBuffer 6
+
+void __INIT_org_apache_harmony_niochar_charset_UTF_8_Decoder();
+void __INIT_IMPL_org_apache_harmony_niochar_charset_UTF_8_Decoder();
+void __DELETE_org_apache_harmony_niochar_charset_UTF_8_Decoder(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_charset_UTF_8_Decoder(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_org_apache_harmony_niochar_charset_UTF_8_Decoder();
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_niochar_charset_UTF_8_Decoder();
+void org_apache_harmony_niochar_charset_UTF_8_Decoder___INIT____org_apache_harmony_niochar_charset_UTF_8_java_nio_charset_Charset(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+// Vtable index: 6
+JAVA_OBJECT org_apache_harmony_niochar_charset_UTF_8_Decoder_decodeLoop___java_nio_ByteBuffer_java_nio_CharBuffer(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void org_apache_harmony_niochar_charset_UTF_8_Decoder___INIT____org_apache_harmony_niochar_charset_UTF_8_java_nio_charset_Charset_org_apache_harmony_niochar_charset_UTF_8_Decoder(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3);
+
+#endif
diff --git a/tests/nbody-java/org_apache_harmony_niochar_charset_UTF_8_Encoder.c b/tests/nbody-java/org_apache_harmony_niochar_charset_UTF_8_Encoder.c
new file mode 100644
index 00000000..1aa685a9
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_niochar_charset_UTF_8_Encoder.c
@@ -0,0 +1,837 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_Object.h"
+#include "java_nio_ByteBuffer.h"
+#include "java_nio_CharBuffer.h"
+#include "java_nio_charset_Charset.h"
+#include "java_nio_charset_CoderResult.h"
+#include "org_apache_harmony_niochar_charset_UTF_8.h"
+
+#include "org_apache_harmony_niochar_charset_UTF_8_Encoder.h"
+
+#define XMLVM_CURRENT_CLASS_NAME UTF_8_Encoder
+#define XMLVM_CURRENT_PKG_CLASS_NAME org_apache_harmony_niochar_charset_UTF_8_Encoder
+
+__TIB_DEFINITION_org_apache_harmony_niochar_charset_UTF_8_Encoder __TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_apache_harmony_niochar_charset_UTF_8_Encoder, // classInitializer
+ "org.apache.harmony.niochar.charset.UTF_8$Encoder", // className
+ "org.apache.harmony.niochar.charset", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_charset_CharsetEncoder, // extends
+ sizeof(org_apache_harmony_niochar_charset_UTF_8_Encoder), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_Encoder;
+JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_Encoder_1ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_Encoder_2ARRAY;
+JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_Encoder_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_org_apache_harmony_niochar_charset_UTF_8_Encoder()
+{
+ staticInitializerLock(&__TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.apache.harmony.niochar.charset.UTF_8$Encoder")
+ __INIT_IMPL_org_apache_harmony_niochar_charset_UTF_8_Encoder();
+ }
+}
+
+void __INIT_IMPL_org_apache_harmony_niochar_charset_UTF_8_Encoder()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_nio_charset_CharsetEncoder)
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder.newInstanceFunc = __NEW_INSTANCE_org_apache_harmony_niochar_charset_UTF_8_Encoder;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder.vtable, __TIB_java_nio_charset_CharsetEncoder.vtable, sizeof(__TIB_java_nio_charset_CharsetEncoder.vtable));
+ // Initialize vtable for this class
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder.vtable[6] = (VTABLE_PTR) &org_apache_harmony_niochar_charset_UTF_8_Encoder_encodeLoop___java_nio_CharBuffer_java_nio_ByteBuffer;
+ // Initialize interface information
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder.numImplementedInterfaces = 0;
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder.declaredFields = &__field_reflection_data[0];
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_org_apache_harmony_niochar_charset_UTF_8_Encoder = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder);
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder.clazz = __CLASS_org_apache_harmony_niochar_charset_UTF_8_Encoder;
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder.baseType = JAVA_NULL;
+ __CLASS_org_apache_harmony_niochar_charset_UTF_8_Encoder_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_niochar_charset_UTF_8_Encoder);
+ __CLASS_org_apache_harmony_niochar_charset_UTF_8_Encoder_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_niochar_charset_UTF_8_Encoder_1ARRAY);
+ __CLASS_org_apache_harmony_niochar_charset_UTF_8_Encoder_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_apache_harmony_niochar_charset_UTF_8_Encoder_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_org_apache_harmony_niochar_charset_UTF_8_Encoder]
+ //XMLVM_END_WRAPPER
+
+ __TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder.classInitialized = 1;
+}
+
+void __DELETE_org_apache_harmony_niochar_charset_UTF_8_Encoder(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_org_apache_harmony_niochar_charset_UTF_8_Encoder]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_charset_UTF_8_Encoder(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_nio_charset_CharsetEncoder(me, 0 || derivedClassWillRegisterFinalizer);
+ ((org_apache_harmony_niochar_charset_UTF_8_Encoder*) me)->fields.org_apache_harmony_niochar_charset_UTF_8_Encoder.this_0_ = (org_apache_harmony_niochar_charset_UTF_8*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_charset_UTF_8_Encoder]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_org_apache_harmony_niochar_charset_UTF_8_Encoder()
+{ XMLVM_CLASS_INIT(org_apache_harmony_niochar_charset_UTF_8_Encoder)
+org_apache_harmony_niochar_charset_UTF_8_Encoder* me = (org_apache_harmony_niochar_charset_UTF_8_Encoder*) XMLVM_MALLOC(sizeof(org_apache_harmony_niochar_charset_UTF_8_Encoder));
+ me->tib = &__TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder;
+ __INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_charset_UTF_8_Encoder(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_org_apache_harmony_niochar_charset_UTF_8_Encoder]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_niochar_charset_UTF_8_Encoder()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+void org_apache_harmony_niochar_charset_UTF_8_Encoder___INIT____org_apache_harmony_niochar_charset_UTF_8_java_nio_charset_Charset(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_charset_UTF_8_Encoder___INIT____org_apache_harmony_niochar_charset_UTF_8_java_nio_charset_Charset]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.charset.UTF_8$Encoder", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r2.o = me;
+ _r3.o = n1;
+ _r4.o = n2;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 217)
+ XMLVM_CHECK_NPE(2)
+ ((org_apache_harmony_niochar_charset_UTF_8_Encoder*) _r2.o)->fields.org_apache_harmony_niochar_charset_UTF_8_Encoder.this_0_ = _r3.o;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 216)
+ _r0.f = 1.1;
+ _r1.f = 4.0;
+ XMLVM_CHECK_NPE(2)
+ java_nio_charset_CharsetEncoder___INIT____java_nio_charset_Charset_float_float(_r2.o, _r4.o, _r0.f, _r1.f);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_apache_harmony_niochar_charset_UTF_8_Encoder_encodeLoop___java_nio_CharBuffer_java_nio_ByteBuffer(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_charset_UTF_8_Encoder_encodeLoop___java_nio_CharBuffer_java_nio_ByteBuffer]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.charset.UTF_8$Encoder", "encodeLoop", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ volatile XMLVMElem _r3;
+ volatile XMLVMElem _r4;
+ volatile XMLVMElem _r5;
+ volatile XMLVMElem _r6;
+ volatile XMLVMElem _r7;
+ volatile XMLVMElem _r8;
+ volatile XMLVMElem _r9;
+ volatile XMLVMElem _r10;
+ volatile XMLVMElem _r11;
+ volatile XMLVMElem _r12;
+ volatile XMLVMElem _r13;
+ volatile XMLVMElem _r14;
+ _r12.o = me;
+ _r13.o = n1;
+ _r14.o = n2;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 220)
+ XMLVM_CHECK_NPE(14)
+ _r0.i = java_nio_Buffer_remaining__(_r14.o);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 221)
+ XMLVM_CHECK_NPE(13)
+ _r1.i = java_nio_Buffer_position__(_r13.o);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 222)
+ XMLVM_CHECK_NPE(13)
+ _r2.i = java_nio_Buffer_limit__(_r13.o);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 223)
+ //java_nio_CharBuffer_hasArray__[8]
+ XMLVM_CHECK_NPE(13)
+ _r3.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r13.o)->tib->vtable[8])(_r13.o);
+ if (_r3.i == 0) goto label589;
+ //java_nio_ByteBuffer_hasArray__[8]
+ XMLVM_CHECK_NPE(14)
+ _r3.i = (*(JAVA_BOOLEAN (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[8])(_r14.o);
+ if (_r3.i == 0) goto label589;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 227)
+ //java_nio_ByteBuffer_array__[7]
+ XMLVM_CHECK_NPE(14)
+ _r3.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[7])(_r14.o);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 228)
+ //java_nio_CharBuffer_array__[7]
+ XMLVM_CHECK_NPE(13)
+ _r4.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r13.o)->tib->vtable[7])(_r13.o);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 229)
+ XMLVM_CHECK_NPE(14)
+ _r5.i = java_nio_Buffer_position__(_r14.o);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 230)
+ XMLVM_CHECK_NPE(13)
+ _r6.i = java_nio_Buffer_remaining__(_r13.o);
+ _r7 = _r0;
+ _r0 = _r5;
+ _r5 = _r1;
+ label43:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 231)
+ _r8.i = _r1.i + _r6.i;
+ if (_r5.i < _r8.i) goto label58;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 317)
+ if (_r6.i == 0) goto label55;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 318)
+ XMLVM_CHECK_NPE(13)
+ java_nio_Buffer_position___int(_r13.o, _r5.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 319)
+ XMLVM_CHECK_NPE(14)
+ java_nio_Buffer_position___int(_r14.o, _r0.i);
+ label55:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 401)
+ _r0.o = java_nio_charset_CoderResult_GET_UNDERFLOW();
+ label57:;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label58:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 232)
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r5.i);
+ _r8.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r5.i];
+ _r9.i = 65535;
+ _r8.i = _r8.i & _r9.i;
+ _r9.i = 127;
+ if (_r8.i > _r9.i) goto label104;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 234)
+ XMLVM_SOURCE_POSITION("UTF_8.java", 235)
+ _r9.i = 1;
+ if (_r7.i >= _r9.i) goto label80;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 236)
+ XMLVM_CHECK_NPE(13)
+ java_nio_Buffer_position___int(_r13.o, _r5.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 237)
+ XMLVM_CHECK_NPE(14)
+ java_nio_Buffer_position___int(_r14.o, _r0.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 238)
+ _r0.o = java_nio_charset_CoderResult_GET_OVERFLOW();
+ goto label57;
+ label80:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 240)
+ _r9.i = _r0.i + 1;
+ _r8.i = _r8.i & 255;
+ _r8.i = (_r8.i << 24) >> 24;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r8.i;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 241)
+ _r0.i = _r7.i + -1;
+ _r7 = _r0;
+ _r0 = _r9;
+ label91:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 310)
+ if (_r7.i != 0) goto label327;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 311)
+ _r1.i = _r5.i + 1;
+ XMLVM_CHECK_NPE(13)
+ java_nio_Buffer_position___int(_r13.o, _r1.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 312)
+ XMLVM_CHECK_NPE(14)
+ java_nio_Buffer_position___int(_r14.o, _r0.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 313)
+ _r0.o = java_nio_charset_CoderResult_GET_OVERFLOW();
+ goto label57;
+ label104:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 242)
+ _r9.i = 2047;
+ if (_r8.i > _r9.i) goto label143;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 244)
+ _r9.i = 2;
+ if (_r7.i >= _r9.i) goto label120;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 245)
+ XMLVM_CHECK_NPE(13)
+ java_nio_Buffer_position___int(_r13.o, _r5.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 246)
+ XMLVM_CHECK_NPE(14)
+ java_nio_Buffer_position___int(_r14.o, _r0.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 247)
+ _r0.o = java_nio_charset_CoderResult_GET_OVERFLOW();
+ goto label57;
+ label120:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 249)
+ _r9.i = _r0.i + 1;
+ _r10.i = _r8.i >> 6;
+ _r10.i = _r10.i & 31;
+ _r10.i = _r10.i + 192;
+ _r10.i = (_r10.i << 24) >> 24;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r10.i;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 250)
+ _r0.i = _r9.i + 1;
+ _r8.i = _r8.i & 63;
+ _r8.i = _r8.i + 128;
+ _r8.i = (_r8.i << 24) >> 24;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r8.i;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 251)
+ _r7.i = _r7.i + -2;
+ goto label91;
+ label143:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 253)
+ _r9.i = 55296;
+ if (_r8.i < _r9.i) goto label277;
+ _r9.i = 57343;
+ if (_r8.i > _r9.i) goto label277;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 256)
+ _r9.i = _r5.i + 1;
+ if (_r2.i > _r9.i) goto label166;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 257)
+ XMLVM_CHECK_NPE(13)
+ java_nio_Buffer_position___int(_r13.o, _r5.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 258)
+ XMLVM_CHECK_NPE(14)
+ java_nio_Buffer_position___int(_r14.o, _r0.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 259)
+ _r0.o = java_nio_charset_CoderResult_GET_UNDERFLOW();
+ goto label57;
+ label166:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 262)
+ _r9.i = 4;
+ if (_r7.i >= _r9.i) goto label178;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 263)
+ XMLVM_CHECK_NPE(13)
+ java_nio_Buffer_position___int(_r13.o, _r5.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 264)
+ XMLVM_CHECK_NPE(14)
+ java_nio_Buffer_position___int(_r14.o, _r0.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 265)
+ _r0.o = java_nio_charset_CoderResult_GET_OVERFLOW();
+ goto label57;
+ label178:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 269)
+ _r9.i = 56320;
+ if (_r8.i < _r9.i) goto label196;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 270)
+ XMLVM_CHECK_NPE(13)
+ java_nio_Buffer_position___int(_r13.o, _r5.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 271)
+ XMLVM_CHECK_NPE(14)
+ java_nio_Buffer_position___int(_r14.o, _r0.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 272)
+ _r0.i = 1;
+ _r0.o = java_nio_charset_CoderResult_malformedForLength___int(_r0.i);
+ goto label57;
+ label196:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 275)
+ _r9.i = _r5.i + 1;
+ XMLVM_CHECK_NPE(4)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r4.o, _r9.i);
+ _r9.i = ((JAVA_ARRAY_CHAR*) (((org_xmlvm_runtime_XMLVMArray*) _r4.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i];
+ _r10.i = 65535;
+ _r9.i = _r9.i & _r10.i;
+ _r10.i = 56320;
+ if (_r9.i >= _r10.i) goto label222;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 278)
+ XMLVM_SOURCE_POSITION("UTF_8.java", 279)
+ XMLVM_CHECK_NPE(13)
+ java_nio_Buffer_position___int(_r13.o, _r5.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 280)
+ XMLVM_CHECK_NPE(14)
+ java_nio_Buffer_position___int(_r14.o, _r0.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 281)
+ _r0.i = 1;
+ _r0.o = java_nio_charset_CoderResult_malformedForLength___int(_r0.i);
+ goto label57;
+ label222:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 289)
+ _r8.i = _r8.i << 10;
+ _r8.i = _r8.i + _r9.i;
+ _r9.i = -56613888;
+ _r8.i = _r8.i + _r9.i;
+ _r9.i = _r0.i + 1;
+ _r10.i = _r8.i >> 18;
+ _r10.i = _r10.i & 7;
+ _r10.i = _r10.i + 240;
+ _r10.i = (_r10.i << 24) >> 24;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 291)
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r10.i;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 292)
+ _r0.i = _r9.i + 1;
+ _r10.i = _r8.i >> 12;
+ _r10.i = _r10.i & 63;
+ _r10.i = _r10.i + 128;
+ _r10.i = (_r10.i << 24) >> 24;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r10.i;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 293)
+ _r9.i = _r0.i + 1;
+ _r10.i = _r8.i >> 6;
+ _r10.i = _r10.i & 63;
+ _r10.i = _r10.i + 128;
+ _r10.i = (_r10.i << 24) >> 24;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r10.i;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 294)
+ _r0.i = _r9.i + 1;
+ _r8.i = _r8.i & 63;
+ _r8.i = _r8.i + 128;
+ _r8.i = (_r8.i << 24) >> 24;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r8.i;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 295)
+ _r7.i = _r7.i + -4;
+ _r5.i = _r5.i + 1;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 296)
+ goto label91;
+ label277:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 300)
+ _r9.i = 3;
+ if (_r7.i >= _r9.i) goto label290;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 301)
+ XMLVM_CHECK_NPE(13)
+ java_nio_Buffer_position___int(_r13.o, _r5.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 302)
+ XMLVM_CHECK_NPE(14)
+ java_nio_Buffer_position___int(_r14.o, _r0.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 303)
+ _r0.o = java_nio_charset_CoderResult_GET_OVERFLOW();
+ goto label57;
+ label290:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 305)
+ _r9.i = _r0.i + 1;
+ _r10.i = _r8.i >> 12;
+ _r10.i = _r10.i & 15;
+ _r10.i = _r10.i + 224;
+ _r10.i = (_r10.i << 24) >> 24;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r10.i;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 306)
+ _r0.i = _r9.i + 1;
+ _r10.i = _r8.i >> 6;
+ _r10.i = _r10.i & 63;
+ _r10.i = _r10.i + 128;
+ _r10.i = (_r10.i << 24) >> 24;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r9.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r9.i] = _r10.i;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 307)
+ _r9.i = _r0.i + 1;
+ _r8.i = _r8.i & 63;
+ _r8.i = _r8.i + 128;
+ _r8.i = (_r8.i << 24) >> 24;
+ XMLVM_CHECK_NPE(3)
+ XMLVM_CHECK_ARRAY_BOUNDS(_r3.o, _r0.i);
+ ((JAVA_ARRAY_BYTE*) (((org_xmlvm_runtime_XMLVMArray*) _r3.o)->fields.org_xmlvm_runtime_XMLVMArray.array_))[_r0.i] = _r8.i;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 308)
+ _r0.i = _r7.i + -3;
+ _r7 = _r0;
+ _r0 = _r9;
+ goto label91;
+ label327:;
+ _r5.i = _r5.i + 1;
+ goto label43;
+ label331:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 324)
+ if (_r1.i != 0) goto label341;
+ XMLVM_TRY_BEGIN(w6023aaab2b1d248)
+ // Begin try
+ XMLVM_SOURCE_POSITION("UTF_8.java", 325)
+ _r1.o = java_nio_charset_CoderResult_GET_OVERFLOW();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w6023aaab2b1d248)
+ XMLVM_CATCH_SPECIFIC(w6023aaab2b1d248,java_lang_Object,584)
+ XMLVM_CATCH_END(w6023aaab2b1d248)
+ XMLVM_RESTORE_EXCEPTION_ENV(w6023aaab2b1d248)
+ XMLVM_SOURCE_POSITION("UTF_8.java", 397)
+ XMLVM_CHECK_NPE(13)
+ java_nio_Buffer_position___int(_r13.o, _r0.i);
+ _r0 = _r1;
+ goto label57;
+ label341:;
+ XMLVM_TRY_BEGIN(w6023aaab2b1d254)
+ // Begin try
+ XMLVM_SOURCE_POSITION("UTF_8.java", 328)
+ //java_nio_CharBuffer_get__[19]
+ XMLVM_CHECK_NPE(13)
+ _r3.i = (*(JAVA_CHAR (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r13.o)->tib->vtable[19])(_r13.o);
+ _r4.i = 65535;
+ _r3.i = _r3.i & _r4.i;
+ _r4.i = 127;
+ if (_r3.i > _r4.i) { XMLVM_MEMCPY(curThread_w6023aaab2b1d254->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w6023aaab2b1d254, sizeof(XMLVM_JMP_BUF)); goto label381; };
+ XMLVM_SOURCE_POSITION("UTF_8.java", 330)
+ XMLVM_SOURCE_POSITION("UTF_8.java", 332)
+ _r4.i = 1;
+ if (_r1.i >= _r4.i) { XMLVM_MEMCPY(curThread_w6023aaab2b1d254->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w6023aaab2b1d254, sizeof(XMLVM_JMP_BUF)); goto label364; };
+ XMLVM_SOURCE_POSITION("UTF_8.java", 333)
+ _r1.o = java_nio_charset_CoderResult_GET_OVERFLOW();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w6023aaab2b1d254)
+ XMLVM_CATCH_SPECIFIC(w6023aaab2b1d254,java_lang_Object,584)
+ XMLVM_CATCH_END(w6023aaab2b1d254)
+ XMLVM_RESTORE_EXCEPTION_ENV(w6023aaab2b1d254)
+ XMLVM_CHECK_NPE(13)
+ java_nio_Buffer_position___int(_r13.o, _r0.i);
+ _r0 = _r1;
+ goto label57;
+ label364:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 335)
+ _r3.i = _r3.i & 255;
+ _r3.i = (_r3.i << 24) >> 24;
+ XMLVM_TRY_BEGIN(w6023aaab2b1d262)
+ // Begin try
+ //java_nio_ByteBuffer_put___byte[51]
+ XMLVM_CHECK_NPE(14)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_BYTE)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[51])(_r14.o, _r3.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w6023aaab2b1d262)
+ XMLVM_CATCH_SPECIFIC(w6023aaab2b1d262,java_lang_Object,584)
+ XMLVM_CATCH_END(w6023aaab2b1d262)
+ XMLVM_RESTORE_EXCEPTION_ENV(w6023aaab2b1d262)
+ XMLVM_SOURCE_POSITION("UTF_8.java", 336)
+ _r1.i = _r1.i + -1;
+ label372:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 394)
+ _r0.i = _r0.i + 1;
+ label374:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 323)
+ if (_r0.i < _r2.i) goto label331;
+ XMLVM_CHECK_NPE(13)
+ java_nio_Buffer_position___int(_r13.o, _r0.i);
+ goto label55;
+ label381:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 338)
+ _r4.i = 2047;
+ if (_r3.i > _r4.i) goto label417;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 340)
+ _r4.i = 2;
+ if (_r1.i >= _r4.i) goto label396;
+ XMLVM_TRY_BEGIN(w6023aaab2b1d280)
+ // Begin try
+ XMLVM_SOURCE_POSITION("UTF_8.java", 341)
+ _r1.o = java_nio_charset_CoderResult_GET_OVERFLOW();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w6023aaab2b1d280)
+ XMLVM_CATCH_SPECIFIC(w6023aaab2b1d280,java_lang_Object,584)
+ XMLVM_CATCH_END(w6023aaab2b1d280)
+ XMLVM_RESTORE_EXCEPTION_ENV(w6023aaab2b1d280)
+ XMLVM_CHECK_NPE(13)
+ java_nio_Buffer_position___int(_r13.o, _r0.i);
+ _r0 = _r1;
+ goto label57;
+ label396:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 343)
+ _r4.i = _r3.i >> 6;
+ _r4.i = _r4.i & 31;
+ _r4.i = _r4.i + 192;
+ _r4.i = (_r4.i << 24) >> 24;
+ XMLVM_TRY_BEGIN(w6023aaab2b1d290)
+ // Begin try
+ //java_nio_ByteBuffer_put___byte[51]
+ XMLVM_CHECK_NPE(14)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_BYTE)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[51])(_r14.o, _r4.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 344)
+ _r3.i = _r3.i & 63;
+ _r3.i = _r3.i + 128;
+ _r3.i = (_r3.i << 24) >> 24;
+ //java_nio_ByteBuffer_put___byte[51]
+ XMLVM_CHECK_NPE(14)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_BYTE)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[51])(_r14.o, _r3.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 345)
+ _r1.i = _r1.i + -2;
+ { XMLVM_MEMCPY(curThread_w6023aaab2b1d290->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w6023aaab2b1d290, sizeof(XMLVM_JMP_BUF)); goto label372; };
+ XMLVM_SOURCE_POSITION("UTF_8.java", 347)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w6023aaab2b1d290)
+ XMLVM_CATCH_SPECIFIC(w6023aaab2b1d290,java_lang_Object,584)
+ XMLVM_CATCH_END(w6023aaab2b1d290)
+ XMLVM_RESTORE_EXCEPTION_ENV(w6023aaab2b1d290)
+ label417:;
+ XMLVM_TRY_BEGIN(w6023aaab2b1d292)
+ // Begin try
+ _r4.i = 55296;
+ if (_r3.i < _r4.i) { XMLVM_MEMCPY(curThread_w6023aaab2b1d292->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w6023aaab2b1d292, sizeof(XMLVM_JMP_BUF)); goto label541; };
+ _r4.i = 57343;
+ if (_r3.i > _r4.i) { XMLVM_MEMCPY(curThread_w6023aaab2b1d292->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w6023aaab2b1d292, sizeof(XMLVM_JMP_BUF)); goto label541; };
+ XMLVM_SOURCE_POSITION("UTF_8.java", 350)
+ _r4.i = _r0.i + 1;
+ if (_r2.i > _r4.i) { XMLVM_MEMCPY(curThread_w6023aaab2b1d292->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w6023aaab2b1d292, sizeof(XMLVM_JMP_BUF)); goto label439; };
+ XMLVM_SOURCE_POSITION("UTF_8.java", 351)
+ _r1.o = java_nio_charset_CoderResult_GET_UNDERFLOW();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w6023aaab2b1d292)
+ XMLVM_CATCH_SPECIFIC(w6023aaab2b1d292,java_lang_Object,584)
+ XMLVM_CATCH_END(w6023aaab2b1d292)
+ XMLVM_RESTORE_EXCEPTION_ENV(w6023aaab2b1d292)
+ XMLVM_CHECK_NPE(13)
+ java_nio_Buffer_position___int(_r13.o, _r0.i);
+ _r0 = _r1;
+ goto label57;
+ label439:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 354)
+ _r4.i = 4;
+ if (_r1.i >= _r4.i) goto label450;
+ XMLVM_TRY_BEGIN(w6023aaab2b1d300)
+ // Begin try
+ XMLVM_SOURCE_POSITION("UTF_8.java", 355)
+ _r1.o = java_nio_charset_CoderResult_GET_OVERFLOW();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w6023aaab2b1d300)
+ XMLVM_CATCH_SPECIFIC(w6023aaab2b1d300,java_lang_Object,584)
+ XMLVM_CATCH_END(w6023aaab2b1d300)
+ XMLVM_RESTORE_EXCEPTION_ENV(w6023aaab2b1d300)
+ XMLVM_CHECK_NPE(13)
+ java_nio_Buffer_position___int(_r13.o, _r0.i);
+ _r0 = _r1;
+ goto label57;
+ label450:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 359)
+ _r4.i = 56320;
+ if (_r3.i < _r4.i) goto label466;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 360)
+ _r1.i = 1;
+ XMLVM_TRY_BEGIN(w6023aaab2b1d310)
+ // Begin try
+ _r1.o = java_nio_charset_CoderResult_malformedForLength___int(_r1.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w6023aaab2b1d310)
+ XMLVM_CATCH_SPECIFIC(w6023aaab2b1d310,java_lang_Object,584)
+ XMLVM_CATCH_END(w6023aaab2b1d310)
+ XMLVM_RESTORE_EXCEPTION_ENV(w6023aaab2b1d310)
+ XMLVM_CHECK_NPE(13)
+ java_nio_Buffer_position___int(_r13.o, _r0.i);
+ _r0 = _r1;
+ goto label57;
+ label466:;
+ XMLVM_TRY_BEGIN(w6023aaab2b1d315)
+ // Begin try
+ XMLVM_SOURCE_POSITION("UTF_8.java", 363)
+ //java_nio_CharBuffer_get__[19]
+ XMLVM_CHECK_NPE(13)
+ _r4.i = (*(JAVA_CHAR (*)(JAVA_OBJECT)) ((java_nio_CharBuffer*) _r13.o)->tib->vtable[19])(_r13.o);
+ _r5.i = 65535;
+ _r4.i = _r4.i & _r5.i;
+ _r5.i = 56320;
+ if (_r4.i >= _r5.i) { XMLVM_MEMCPY(curThread_w6023aaab2b1d315->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w6023aaab2b1d315, sizeof(XMLVM_JMP_BUF)); goto label490; };
+ XMLVM_SOURCE_POSITION("UTF_8.java", 366)
+ XMLVM_SOURCE_POSITION("UTF_8.java", 367)
+ _r1.i = 1;
+ _r1.o = java_nio_charset_CoderResult_malformedForLength___int(_r1.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w6023aaab2b1d315)
+ XMLVM_CATCH_SPECIFIC(w6023aaab2b1d315,java_lang_Object,584)
+ XMLVM_CATCH_END(w6023aaab2b1d315)
+ XMLVM_RESTORE_EXCEPTION_ENV(w6023aaab2b1d315)
+ XMLVM_CHECK_NPE(13)
+ java_nio_Buffer_position___int(_r13.o, _r0.i);
+ _r0 = _r1;
+ goto label57;
+ label490:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 375)
+ _r3.i = _r3.i << 10;
+ _r3.i = _r3.i + _r4.i;
+ _r4.i = -56613888;
+ _r3.i = _r3.i + _r4.i;
+ _r4.i = _r3.i >> 18;
+ _r4.i = _r4.i & 7;
+ _r4.i = _r4.i + 240;
+ _r4.i = (_r4.i << 24) >> 24;
+ XMLVM_TRY_BEGIN(w6023aaab2b1d329)
+ // Begin try
+ XMLVM_SOURCE_POSITION("UTF_8.java", 377)
+ //java_nio_ByteBuffer_put___byte[51]
+ XMLVM_CHECK_NPE(14)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_BYTE)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[51])(_r14.o, _r4.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 378)
+ _r4.i = _r3.i >> 12;
+ _r4.i = _r4.i & 63;
+ _r4.i = _r4.i + 128;
+ _r4.i = (_r4.i << 24) >> 24;
+ //java_nio_ByteBuffer_put___byte[51]
+ XMLVM_CHECK_NPE(14)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_BYTE)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[51])(_r14.o, _r4.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 379)
+ _r4.i = _r3.i >> 6;
+ _r4.i = _r4.i & 63;
+ _r4.i = _r4.i + 128;
+ _r4.i = (_r4.i << 24) >> 24;
+ //java_nio_ByteBuffer_put___byte[51]
+ XMLVM_CHECK_NPE(14)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_BYTE)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[51])(_r14.o, _r4.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 380)
+ _r3.i = _r3.i & 63;
+ _r3.i = _r3.i + 128;
+ _r3.i = (_r3.i << 24) >> 24;
+ //java_nio_ByteBuffer_put___byte[51]
+ XMLVM_CHECK_NPE(14)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_BYTE)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[51])(_r14.o, _r3.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 381)
+ _r1.i = _r1.i + -4;
+ _r0.i = _r0.i + 1;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 382)
+ { XMLVM_MEMCPY(curThread_w6023aaab2b1d329->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w6023aaab2b1d329, sizeof(XMLVM_JMP_BUF)); goto label372; };
+ XMLVM_SOURCE_POSITION("UTF_8.java", 386)
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w6023aaab2b1d329)
+ XMLVM_CATCH_SPECIFIC(w6023aaab2b1d329,java_lang_Object,584)
+ XMLVM_CATCH_END(w6023aaab2b1d329)
+ XMLVM_RESTORE_EXCEPTION_ENV(w6023aaab2b1d329)
+ label541:;
+ XMLVM_TRY_BEGIN(w6023aaab2b1d331)
+ // Begin try
+ _r4.i = 3;
+ if (_r1.i >= _r4.i) { XMLVM_MEMCPY(curThread_w6023aaab2b1d331->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w6023aaab2b1d331, sizeof(XMLVM_JMP_BUF)); goto label552; };
+ XMLVM_SOURCE_POSITION("UTF_8.java", 387)
+ _r1.o = java_nio_charset_CoderResult_GET_OVERFLOW();
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w6023aaab2b1d331)
+ XMLVM_CATCH_SPECIFIC(w6023aaab2b1d331,java_lang_Object,584)
+ XMLVM_CATCH_END(w6023aaab2b1d331)
+ XMLVM_RESTORE_EXCEPTION_ENV(w6023aaab2b1d331)
+ XMLVM_CHECK_NPE(13)
+ java_nio_Buffer_position___int(_r13.o, _r0.i);
+ _r0 = _r1;
+ goto label57;
+ label552:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 389)
+ _r4.i = _r3.i >> 12;
+ _r4.i = _r4.i & 15;
+ _r4.i = _r4.i + 224;
+ _r4.i = (_r4.i << 24) >> 24;
+ XMLVM_TRY_BEGIN(w6023aaab2b1d341)
+ // Begin try
+ //java_nio_ByteBuffer_put___byte[51]
+ XMLVM_CHECK_NPE(14)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_BYTE)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[51])(_r14.o, _r4.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 390)
+ _r4.i = _r3.i >> 6;
+ _r4.i = _r4.i & 63;
+ _r4.i = _r4.i + 128;
+ _r4.i = (_r4.i << 24) >> 24;
+ //java_nio_ByteBuffer_put___byte[51]
+ XMLVM_CHECK_NPE(14)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_BYTE)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[51])(_r14.o, _r4.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 391)
+ _r3.i = _r3.i & 63;
+ _r3.i = _r3.i + 128;
+ _r3.i = (_r3.i << 24) >> 24;
+ //java_nio_ByteBuffer_put___byte[51]
+ XMLVM_CHECK_NPE(14)
+ (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_BYTE)) ((java_nio_ByteBuffer*) _r14.o)->tib->vtable[51])(_r14.o, _r3.i);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w6023aaab2b1d341)
+ XMLVM_CATCH_SPECIFIC(w6023aaab2b1d341,java_lang_Object,584)
+ XMLVM_CATCH_END(w6023aaab2b1d341)
+ XMLVM_RESTORE_EXCEPTION_ENV(w6023aaab2b1d341)
+ XMLVM_SOURCE_POSITION("UTF_8.java", 392)
+ _r1.i = _r1.i + -3;
+ goto label372;
+ label584:;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 396)
+ java_lang_Thread* curThread_w6023aaab2b1d347 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w6023aaab2b1d347->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_CHECK_NPE(13)
+ java_nio_Buffer_position___int(_r13.o, _r0.i);
+ XMLVM_SOURCE_POSITION("UTF_8.java", 398)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ label589:;
+ _r11 = _r1;
+ _r1 = _r0;
+ _r0 = _r11;
+ goto label374;
+ //XMLVM_END_WRAPPER
+}
+
+void org_apache_harmony_niochar_charset_UTF_8_Encoder___INIT____org_apache_harmony_niochar_charset_UTF_8_java_nio_charset_Charset_org_apache_harmony_niochar_charset_UTF_8_Encoder(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[org_apache_harmony_niochar_charset_UTF_8_Encoder___INIT____org_apache_harmony_niochar_charset_UTF_8_java_nio_charset_Charset_org_apache_harmony_niochar_charset_UTF_8_Encoder]
+ XMLVM_ENTER_METHOD("org.apache.harmony.niochar.charset.UTF_8$Encoder", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.o = n2;
+ _r3.o = n3;
+ XMLVM_SOURCE_POSITION("UTF_8.java", 215)
+ XMLVM_CHECK_NPE(0)
+ org_apache_harmony_niochar_charset_UTF_8_Encoder___INIT____org_apache_harmony_niochar_charset_UTF_8_java_nio_charset_Charset(_r0.o, _r1.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/org_apache_harmony_niochar_charset_UTF_8_Encoder.h b/tests/nbody-java/org_apache_harmony_niochar_charset_UTF_8_Encoder.h
new file mode 100644
index 00000000..3f9724f9
--- /dev/null
+++ b/tests/nbody-java/org_apache_harmony_niochar_charset_UTF_8_Encoder.h
@@ -0,0 +1,84 @@
+#ifndef __ORG_APACHE_HARMONY_NIOCHAR_CHARSET_UTF_8_ENCODER__
+#define __ORG_APACHE_HARMONY_NIOCHAR_CHARSET_UTF_8_ENCODER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_org_apache_harmony_niochar_charset_UTF_8_Encoder 0
+// Implemented interfaces:
+// Super Class:
+#include "java_nio_charset_CharsetEncoder.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_ByteBuffer
+#define XMLVM_FORWARD_DECL_java_nio_ByteBuffer
+XMLVM_FORWARD_DECL(java_nio_ByteBuffer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_CharBuffer
+#define XMLVM_FORWARD_DECL_java_nio_CharBuffer
+XMLVM_FORWARD_DECL(java_nio_CharBuffer)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_Charset
+#define XMLVM_FORWARD_DECL_java_nio_charset_Charset
+XMLVM_FORWARD_DECL(java_nio_charset_Charset)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_nio_charset_CoderResult
+#define XMLVM_FORWARD_DECL_java_nio_charset_CoderResult
+XMLVM_FORWARD_DECL(java_nio_charset_CoderResult)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_niochar_charset_UTF_8
+#define XMLVM_FORWARD_DECL_org_apache_harmony_niochar_charset_UTF_8
+XMLVM_FORWARD_DECL(org_apache_harmony_niochar_charset_UTF_8)
+#endif
+// Class declarations for org.apache.harmony.niochar.charset.UTF_8$Encoder
+XMLVM_DEFINE_CLASS(org_apache_harmony_niochar_charset_UTF_8_Encoder, 7, XMLVM_ITABLE_SIZE_org_apache_harmony_niochar_charset_UTF_8_Encoder)
+
+extern JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_Encoder;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_Encoder_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_Encoder_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_apache_harmony_niochar_charset_UTF_8_Encoder_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_niochar_charset_UTF_8_Encoder
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_org_apache_harmony_niochar_charset_UTF_8_Encoder \
+ __INSTANCE_FIELDS_java_nio_charset_CharsetEncoder; \
+ struct { \
+ JAVA_OBJECT this_0_; \
+ __ADDITIONAL_INSTANCE_FIELDS_org_apache_harmony_niochar_charset_UTF_8_Encoder \
+ } org_apache_harmony_niochar_charset_UTF_8_Encoder
+
+struct org_apache_harmony_niochar_charset_UTF_8_Encoder {
+ __TIB_DEFINITION_org_apache_harmony_niochar_charset_UTF_8_Encoder* tib;
+ struct {
+ __INSTANCE_FIELDS_org_apache_harmony_niochar_charset_UTF_8_Encoder;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_org_apache_harmony_niochar_charset_UTF_8_Encoder
+#define XMLVM_FORWARD_DECL_org_apache_harmony_niochar_charset_UTF_8_Encoder
+typedef struct org_apache_harmony_niochar_charset_UTF_8_Encoder org_apache_harmony_niochar_charset_UTF_8_Encoder;
+#endif
+
+#define XMLVM_VTABLE_SIZE_org_apache_harmony_niochar_charset_UTF_8_Encoder 7
+#define XMLVM_VTABLE_IDX_org_apache_harmony_niochar_charset_UTF_8_Encoder_encodeLoop___java_nio_CharBuffer_java_nio_ByteBuffer 6
+
+void __INIT_org_apache_harmony_niochar_charset_UTF_8_Encoder();
+void __INIT_IMPL_org_apache_harmony_niochar_charset_UTF_8_Encoder();
+void __DELETE_org_apache_harmony_niochar_charset_UTF_8_Encoder(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_org_apache_harmony_niochar_charset_UTF_8_Encoder(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_org_apache_harmony_niochar_charset_UTF_8_Encoder();
+JAVA_OBJECT __NEW_INSTANCE_org_apache_harmony_niochar_charset_UTF_8_Encoder();
+void org_apache_harmony_niochar_charset_UTF_8_Encoder___INIT____org_apache_harmony_niochar_charset_UTF_8_java_nio_charset_Charset(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+// Vtable index: 6
+JAVA_OBJECT org_apache_harmony_niochar_charset_UTF_8_Encoder_encodeLoop___java_nio_CharBuffer_java_nio_ByteBuffer(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2);
+void org_apache_harmony_niochar_charset_UTF_8_Encoder___INIT____org_apache_harmony_niochar_charset_UTF_8_java_nio_charset_Charset_org_apache_harmony_niochar_charset_UTF_8_Encoder(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_OBJECT n2, JAVA_OBJECT n3);
+
+#endif
diff --git a/tests/nbody-java/org_xmlvm_runtime_Condition.c b/tests/nbody-java/org_xmlvm_runtime_Condition.c
new file mode 100644
index 00000000..bbc35c86
--- /dev/null
+++ b/tests/nbody-java/org_xmlvm_runtime_Condition.c
@@ -0,0 +1,193 @@
+#include "xmlvm.h"
+#include "org_xmlvm_runtime_Mutex.h"
+
+#include "org_xmlvm_runtime_Condition.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Condition
+#define XMLVM_CURRENT_PKG_CLASS_NAME org_xmlvm_runtime_Condition
+
+__TIB_DEFINITION_org_xmlvm_runtime_Condition __TIB_org_xmlvm_runtime_Condition = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_xmlvm_runtime_Condition, // classInitializer
+ "org.xmlvm.runtime.Condition", // className
+ "org.xmlvm.runtime", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(org_xmlvm_runtime_Condition), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_Condition;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_Condition_1ARRAY;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_Condition_2ARRAY;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_Condition_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_org_xmlvm_runtime_Condition()
+{
+ staticInitializerLock(&__TIB_org_xmlvm_runtime_Condition);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_xmlvm_runtime_Condition.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_xmlvm_runtime_Condition.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_xmlvm_runtime_Condition);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_xmlvm_runtime_Condition.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_xmlvm_runtime_Condition.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_xmlvm_runtime_Condition.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.xmlvm.runtime.Condition")
+ __INIT_IMPL_org_xmlvm_runtime_Condition();
+ }
+}
+
+void __INIT_IMPL_org_xmlvm_runtime_Condition()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_org_xmlvm_runtime_Condition.newInstanceFunc = __NEW_INSTANCE_org_xmlvm_runtime_Condition;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_org_xmlvm_runtime_Condition.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ xmlvm_init_native_org_xmlvm_runtime_Condition();
+ // Initialize interface information
+ __TIB_org_xmlvm_runtime_Condition.numImplementedInterfaces = 0;
+ __TIB_org_xmlvm_runtime_Condition.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ __TIB_org_xmlvm_runtime_Condition.declaredFields = &__field_reflection_data[0];
+ __TIB_org_xmlvm_runtime_Condition.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_org_xmlvm_runtime_Condition.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_org_xmlvm_runtime_Condition.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_org_xmlvm_runtime_Condition.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_org_xmlvm_runtime_Condition.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_xmlvm_runtime_Condition.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_xmlvm_runtime_Condition.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_org_xmlvm_runtime_Condition = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_xmlvm_runtime_Condition);
+ __TIB_org_xmlvm_runtime_Condition.clazz = __CLASS_org_xmlvm_runtime_Condition;
+ __TIB_org_xmlvm_runtime_Condition.baseType = JAVA_NULL;
+ __CLASS_org_xmlvm_runtime_Condition_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_Condition);
+ __CLASS_org_xmlvm_runtime_Condition_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_Condition_1ARRAY);
+ __CLASS_org_xmlvm_runtime_Condition_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_Condition_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_org_xmlvm_runtime_Condition]
+ //XMLVM_END_WRAPPER
+
+ __TIB_org_xmlvm_runtime_Condition.classInitialized = 1;
+}
+
+void __DELETE_org_xmlvm_runtime_Condition(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_org_xmlvm_runtime_Condition]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_Condition(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((org_xmlvm_runtime_Condition*) me)->fields.org_xmlvm_runtime_Condition.pthreadCondT_ = (java_lang_Object*) JAVA_NULL;
+ ((org_xmlvm_runtime_Condition*) me)->fields.org_xmlvm_runtime_Condition.synchronizedObject_ = (java_lang_Object*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_Condition]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_org_xmlvm_runtime_Condition()
+{ XMLVM_CLASS_INIT(org_xmlvm_runtime_Condition)
+org_xmlvm_runtime_Condition* me = (org_xmlvm_runtime_Condition*) XMLVM_MALLOC(sizeof(org_xmlvm_runtime_Condition));
+ me->tib = &__TIB_org_xmlvm_runtime_Condition;
+ __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_Condition(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_org_xmlvm_runtime_Condition]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_org_xmlvm_runtime_Condition()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+void org_xmlvm_runtime_Condition___INIT____java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_Condition___INIT____java_lang_Object]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.Condition", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Condition.java", 40)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Condition.java", 41)
+ XMLVM_CHECK_NPE(0)
+ ((org_xmlvm_runtime_Condition*) _r0.o)->fields.org_xmlvm_runtime_Condition.synchronizedObject_ = _r1.o;
+ XMLVM_SOURCE_POSITION("Condition.java", 42)
+ XMLVM_CHECK_NPE(0)
+ org_xmlvm_runtime_Condition_initNativeConditionInstance__(_r0.o);
+ XMLVM_SOURCE_POSITION("Condition.java", 43)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void org_xmlvm_runtime_Condition_initNativeConditionInstance__(JAVA_OBJECT me)]
+
+JAVA_OBJECT org_xmlvm_runtime_Condition_getSynchronizedObject__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_Condition_getSynchronizedObject__]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.Condition", "getSynchronizedObject", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = me;
+ XMLVM_SOURCE_POSITION("Condition.java", 52)
+ XMLVM_CHECK_NPE(1)
+ _r0.o = ((org_xmlvm_runtime_Condition*) _r1.o)->fields.org_xmlvm_runtime_Condition.synchronizedObject_;
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void org_xmlvm_runtime_Condition_wait___org_xmlvm_runtime_Mutex(JAVA_OBJECT me, JAVA_OBJECT n1)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN org_xmlvm_runtime_Condition_waitOrTimeout___org_xmlvm_runtime_Mutex_long(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_LONG n2)]
+
+//XMLVM_NATIVE[void org_xmlvm_runtime_Condition_signal__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[void org_xmlvm_runtime_Condition_broadcast__(JAVA_OBJECT me)]
+
diff --git a/tests/nbody-java/org_xmlvm_runtime_Condition.h b/tests/nbody-java/org_xmlvm_runtime_Condition.h
new file mode 100644
index 00000000..277f27c9
--- /dev/null
+++ b/tests/nbody-java/org_xmlvm_runtime_Condition.h
@@ -0,0 +1,64 @@
+#ifndef __ORG_XMLVM_RUNTIME_CONDITION__
+#define __ORG_XMLVM_RUNTIME_CONDITION__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_org_xmlvm_runtime_Condition 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_Mutex
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_Mutex
+XMLVM_FORWARD_DECL(org_xmlvm_runtime_Mutex)
+#endif
+// Class declarations for org.xmlvm.runtime.Condition
+XMLVM_DEFINE_CLASS(org_xmlvm_runtime_Condition, 6, XMLVM_ITABLE_SIZE_org_xmlvm_runtime_Condition)
+
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_Condition;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_Condition_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_Condition_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_Condition_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_org_xmlvm_runtime_Condition
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_org_xmlvm_runtime_Condition \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT pthreadCondT_; \
+ JAVA_OBJECT synchronizedObject_; \
+ __ADDITIONAL_INSTANCE_FIELDS_org_xmlvm_runtime_Condition \
+ } org_xmlvm_runtime_Condition
+
+struct org_xmlvm_runtime_Condition {
+ __TIB_DEFINITION_org_xmlvm_runtime_Condition* tib;
+ struct {
+ __INSTANCE_FIELDS_org_xmlvm_runtime_Condition;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_Condition
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_Condition
+typedef struct org_xmlvm_runtime_Condition org_xmlvm_runtime_Condition;
+#endif
+
+#define XMLVM_VTABLE_SIZE_org_xmlvm_runtime_Condition 6
+
+void __INIT_org_xmlvm_runtime_Condition();
+void __INIT_IMPL_org_xmlvm_runtime_Condition();
+void __DELETE_org_xmlvm_runtime_Condition(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_Condition(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_org_xmlvm_runtime_Condition();
+JAVA_OBJECT __NEW_INSTANCE_org_xmlvm_runtime_Condition();
+void xmlvm_init_native_org_xmlvm_runtime_Condition();
+void org_xmlvm_runtime_Condition___INIT____java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1);
+void org_xmlvm_runtime_Condition_initNativeConditionInstance__(JAVA_OBJECT me);
+JAVA_OBJECT org_xmlvm_runtime_Condition_getSynchronizedObject__(JAVA_OBJECT me);
+void org_xmlvm_runtime_Condition_wait___org_xmlvm_runtime_Mutex(JAVA_OBJECT me, JAVA_OBJECT n1);
+JAVA_BOOLEAN org_xmlvm_runtime_Condition_waitOrTimeout___org_xmlvm_runtime_Mutex_long(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_LONG n2);
+void org_xmlvm_runtime_Condition_signal__(JAVA_OBJECT me);
+void org_xmlvm_runtime_Condition_broadcast__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/org_xmlvm_runtime_FinalizerNotifier.c b/tests/nbody-java/org_xmlvm_runtime_FinalizerNotifier.c
new file mode 100644
index 00000000..affe17f5
--- /dev/null
+++ b/tests/nbody-java/org_xmlvm_runtime_FinalizerNotifier.c
@@ -0,0 +1,506 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_String.h"
+#include "java_lang_Thread.h"
+#include "org_xmlvm_runtime_Condition.h"
+#include "org_xmlvm_runtime_FinalizerNotifier_1.h"
+#include "org_xmlvm_runtime_Mutex.h"
+
+#include "org_xmlvm_runtime_FinalizerNotifier.h"
+
+#define XMLVM_CURRENT_CLASS_NAME FinalizerNotifier
+#define XMLVM_CURRENT_PKG_CLASS_NAME org_xmlvm_runtime_FinalizerNotifier
+
+__TIB_DEFINITION_org_xmlvm_runtime_FinalizerNotifier __TIB_org_xmlvm_runtime_FinalizerNotifier = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_xmlvm_runtime_FinalizerNotifier, // classInitializer
+ "org.xmlvm.runtime.FinalizerNotifier", // className
+ "org.xmlvm.runtime", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(org_xmlvm_runtime_FinalizerNotifier), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_FinalizerNotifier;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_FinalizerNotifier_1ARRAY;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_FinalizerNotifier_2ARRAY;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_FinalizerNotifier_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_OBJECT _STATIC_org_xmlvm_runtime_FinalizerNotifier_finalizerMutex;
+static JAVA_OBJECT _STATIC_org_xmlvm_runtime_FinalizerNotifier_finalizerCondition;
+static JAVA_OBJECT _STATIC_org_xmlvm_runtime_FinalizerNotifier_finalizerThread;
+static JAVA_BOOLEAN _STATIC_org_xmlvm_runtime_FinalizerNotifier_finalizerThreadInvokingFinalizers;
+static JAVA_BOOLEAN _STATIC_org_xmlvm_runtime_FinalizerNotifier_gcEnabled;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_org_xmlvm_runtime_FinalizerNotifier()
+{
+ staticInitializerLock(&__TIB_org_xmlvm_runtime_FinalizerNotifier);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_xmlvm_runtime_FinalizerNotifier.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_xmlvm_runtime_FinalizerNotifier.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_xmlvm_runtime_FinalizerNotifier);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_xmlvm_runtime_FinalizerNotifier.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_xmlvm_runtime_FinalizerNotifier.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_xmlvm_runtime_FinalizerNotifier.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.xmlvm.runtime.FinalizerNotifier")
+ __INIT_IMPL_org_xmlvm_runtime_FinalizerNotifier();
+ }
+}
+
+void __INIT_IMPL_org_xmlvm_runtime_FinalizerNotifier()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_org_xmlvm_runtime_FinalizerNotifier.newInstanceFunc = __NEW_INSTANCE_org_xmlvm_runtime_FinalizerNotifier;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_org_xmlvm_runtime_FinalizerNotifier.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_org_xmlvm_runtime_FinalizerNotifier.numImplementedInterfaces = 0;
+ __TIB_org_xmlvm_runtime_FinalizerNotifier.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_org_xmlvm_runtime_FinalizerNotifier_finalizerMutex = (org_xmlvm_runtime_Mutex*) JAVA_NULL;
+ _STATIC_org_xmlvm_runtime_FinalizerNotifier_finalizerCondition = (org_xmlvm_runtime_Condition*) JAVA_NULL;
+ _STATIC_org_xmlvm_runtime_FinalizerNotifier_finalizerThread = (java_lang_Thread*) JAVA_NULL;
+ _STATIC_org_xmlvm_runtime_FinalizerNotifier_finalizerThreadInvokingFinalizers = 0;
+ _STATIC_org_xmlvm_runtime_FinalizerNotifier_gcEnabled = 0;
+
+ __TIB_org_xmlvm_runtime_FinalizerNotifier.declaredFields = &__field_reflection_data[0];
+ __TIB_org_xmlvm_runtime_FinalizerNotifier.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_org_xmlvm_runtime_FinalizerNotifier.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_org_xmlvm_runtime_FinalizerNotifier.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_org_xmlvm_runtime_FinalizerNotifier.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_org_xmlvm_runtime_FinalizerNotifier.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_xmlvm_runtime_FinalizerNotifier.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_xmlvm_runtime_FinalizerNotifier.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_org_xmlvm_runtime_FinalizerNotifier = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_xmlvm_runtime_FinalizerNotifier);
+ __TIB_org_xmlvm_runtime_FinalizerNotifier.clazz = __CLASS_org_xmlvm_runtime_FinalizerNotifier;
+ __TIB_org_xmlvm_runtime_FinalizerNotifier.baseType = JAVA_NULL;
+ __CLASS_org_xmlvm_runtime_FinalizerNotifier_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_FinalizerNotifier);
+ __CLASS_org_xmlvm_runtime_FinalizerNotifier_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_FinalizerNotifier_1ARRAY);
+ __CLASS_org_xmlvm_runtime_FinalizerNotifier_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_FinalizerNotifier_2ARRAY);
+ org_xmlvm_runtime_FinalizerNotifier___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_org_xmlvm_runtime_FinalizerNotifier]
+ //XMLVM_END_WRAPPER
+
+ __TIB_org_xmlvm_runtime_FinalizerNotifier.classInitialized = 1;
+}
+
+void __DELETE_org_xmlvm_runtime_FinalizerNotifier(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_org_xmlvm_runtime_FinalizerNotifier]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_FinalizerNotifier(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_FinalizerNotifier]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_org_xmlvm_runtime_FinalizerNotifier()
+{ XMLVM_CLASS_INIT(org_xmlvm_runtime_FinalizerNotifier)
+org_xmlvm_runtime_FinalizerNotifier* me = (org_xmlvm_runtime_FinalizerNotifier*) XMLVM_MALLOC(sizeof(org_xmlvm_runtime_FinalizerNotifier));
+ me->tib = &__TIB_org_xmlvm_runtime_FinalizerNotifier;
+ __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_FinalizerNotifier(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_org_xmlvm_runtime_FinalizerNotifier]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_org_xmlvm_runtime_FinalizerNotifier()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_org_xmlvm_runtime_FinalizerNotifier();
+ org_xmlvm_runtime_FinalizerNotifier___INIT___(me);
+ return me;
+}
+
+JAVA_OBJECT org_xmlvm_runtime_FinalizerNotifier_GET_finalizerMutex()
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_FinalizerNotifier)
+ return _STATIC_org_xmlvm_runtime_FinalizerNotifier_finalizerMutex;
+}
+
+void org_xmlvm_runtime_FinalizerNotifier_PUT_finalizerMutex(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_FinalizerNotifier)
+_STATIC_org_xmlvm_runtime_FinalizerNotifier_finalizerMutex = v;
+}
+
+JAVA_OBJECT org_xmlvm_runtime_FinalizerNotifier_GET_finalizerCondition()
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_FinalizerNotifier)
+ return _STATIC_org_xmlvm_runtime_FinalizerNotifier_finalizerCondition;
+}
+
+void org_xmlvm_runtime_FinalizerNotifier_PUT_finalizerCondition(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_FinalizerNotifier)
+_STATIC_org_xmlvm_runtime_FinalizerNotifier_finalizerCondition = v;
+}
+
+JAVA_OBJECT org_xmlvm_runtime_FinalizerNotifier_GET_finalizerThread()
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_FinalizerNotifier)
+ return _STATIC_org_xmlvm_runtime_FinalizerNotifier_finalizerThread;
+}
+
+void org_xmlvm_runtime_FinalizerNotifier_PUT_finalizerThread(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_FinalizerNotifier)
+_STATIC_org_xmlvm_runtime_FinalizerNotifier_finalizerThread = v;
+}
+
+JAVA_BOOLEAN org_xmlvm_runtime_FinalizerNotifier_GET_finalizerThreadInvokingFinalizers()
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_FinalizerNotifier)
+ return _STATIC_org_xmlvm_runtime_FinalizerNotifier_finalizerThreadInvokingFinalizers;
+}
+
+void org_xmlvm_runtime_FinalizerNotifier_PUT_finalizerThreadInvokingFinalizers(JAVA_BOOLEAN v)
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_FinalizerNotifier)
+_STATIC_org_xmlvm_runtime_FinalizerNotifier_finalizerThreadInvokingFinalizers = v;
+}
+
+JAVA_BOOLEAN org_xmlvm_runtime_FinalizerNotifier_GET_gcEnabled()
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_FinalizerNotifier)
+ return _STATIC_org_xmlvm_runtime_FinalizerNotifier_gcEnabled;
+}
+
+void org_xmlvm_runtime_FinalizerNotifier_PUT_gcEnabled(JAVA_BOOLEAN v)
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_FinalizerNotifier)
+_STATIC_org_xmlvm_runtime_FinalizerNotifier_gcEnabled = v;
+}
+
+void org_xmlvm_runtime_FinalizerNotifier___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_FinalizerNotifier___INIT___]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.FinalizerNotifier", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 10)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_xmlvm_runtime_FinalizerNotifier_startFinalizerThread__()
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_FinalizerNotifier)
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_FinalizerNotifier_startFinalizerThread__]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.FinalizerNotifier", "startFinalizerThread", "?")
+ volatile XMLVMElem _r0;
+ volatile XMLVMElem _r1;
+ volatile XMLVMElem _r2;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 32)
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_FinalizerNotifier)
+ _r0.o = __CLASS_org_xmlvm_runtime_FinalizerNotifier;
+ java_lang_Object_acquireLockRecursive__(_r0.o);
+ XMLVM_TRY_BEGIN(w1899aaab6b1b4)
+ // Begin try
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 33)
+ _r1.o = org_xmlvm_runtime_FinalizerNotifier_GET_finalizerThread();
+ if (_r1.o != JAVA_NULL) { XMLVM_MEMCPY(curThread_w1899aaab6b1b4->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_w1899aaab6b1b4, sizeof(XMLVM_JMP_BUF)); goto label32; };
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 34)
+ _r1.o = __NEW_org_xmlvm_runtime_FinalizerNotifier_1();
+ XMLVM_CHECK_NPE(1)
+ org_xmlvm_runtime_FinalizerNotifier_1___INIT___(_r1.o);
+ org_xmlvm_runtime_FinalizerNotifier_PUT_finalizerThread( _r1.o);
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 79)
+ _r1.o = org_xmlvm_runtime_FinalizerNotifier_GET_finalizerThread();
+ // "Finalizer-thread"
+ _r2.o = xmlvm_create_java_string_from_pool(101);
+ XMLVM_CHECK_NPE(1)
+ java_lang_Thread_setName___java_lang_String(_r1.o, _r2.o);
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 83)
+ _r1.o = org_xmlvm_runtime_FinalizerNotifier_GET_finalizerThread();
+ _r2.i = 1;
+ XMLVM_CHECK_NPE(1)
+ java_lang_Thread_setDaemon___boolean(_r1.o, _r2.i);
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 85)
+ _r1.o = org_xmlvm_runtime_FinalizerNotifier_GET_finalizerThread();
+ XMLVM_CHECK_NPE(1)
+ java_lang_Thread_start__(_r1.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1899aaab6b1b4)
+ XMLVM_CATCH_SPECIFIC(w1899aaab6b1b4,java_lang_Object,36)
+ XMLVM_CATCH_END(w1899aaab6b1b4)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1899aaab6b1b4)
+ label32:;
+ XMLVM_TRY_BEGIN(w1899aaab6b1b6)
+ // Begin try
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 87)
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1899aaab6b1b6)
+ XMLVM_CATCH_SPECIFIC(w1899aaab6b1b6,java_lang_Object,36)
+ XMLVM_CATCH_END(w1899aaab6b1b6)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1899aaab6b1b6)
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 89)
+ _r0.o = org_xmlvm_runtime_FinalizerNotifier_GET_finalizerThread();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ label36:;
+ java_lang_Thread* curThread_w1899aaab6b1c11 = (java_lang_Thread*)java_lang_Thread_currentThread__();
+ _r1.o = curThread_w1899aaab6b1c11->fields.java_lang_Thread.xmlvmException_;
+ XMLVM_TRY_BEGIN(w1899aaab6b1c12)
+ // Begin try
+ java_lang_Object_releaseLockRecursive__(_r0.o);
+ // End try
+ XMLVM_TRY_END
+ XMLVM_CATCH_BEGIN(w1899aaab6b1c12)
+ XMLVM_CATCH_SPECIFIC(w1899aaab6b1c12,java_lang_Object,36)
+ XMLVM_CATCH_END(w1899aaab6b1c12)
+ XMLVM_RESTORE_EXCEPTION_ENV(w1899aaab6b1c12)
+ XMLVM_THROW_CUSTOM(_r1.o)
+ //XMLVM_END_WRAPPER
+}
+
+void org_xmlvm_runtime_FinalizerNotifier_setGCActive___boolean(JAVA_BOOLEAN n1)
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_FinalizerNotifier)
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_FinalizerNotifier_setGCActive___boolean]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.FinalizerNotifier", "setGCActive", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 103)
+ _r0.i = org_xmlvm_runtime_FinalizerNotifier_GET_gcEnabled();
+ if (_r0.i == _r1.i) goto label12;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 106)
+ if (_r1.i != 0) goto label13;
+ _r0.i = 1;
+ label7:;
+ org_xmlvm_runtime_FinalizerNotifier_preventGarbageCollection___boolean(_r0.i);
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 107)
+ org_xmlvm_runtime_FinalizerNotifier_PUT_gcEnabled( _r1.i);
+ label12:;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 109)
+ XMLVM_EXIT_METHOD()
+ return;
+ label13:;
+ _r0.i = 0;
+ goto label7;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN org_xmlvm_runtime_FinalizerNotifier_invokeAllFinalizers__()
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_FinalizerNotifier)
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_FinalizerNotifier_invokeAllFinalizers__]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.FinalizerNotifier", "invokeAllFinalizers", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 117)
+ _r0.i = 0;
+ _r1.i = 1;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 118)
+ org_xmlvm_runtime_FinalizerNotifier_PUT_finalizerThreadInvokingFinalizers( _r1.i);
+ label4:;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 119)
+ _r0.i = java_lang_Thread_interrupted__();
+ if (_r0.i != 0) goto label20;
+ _r1.i = org_xmlvm_runtime_FinalizerNotifier_shouldInvokeFinalizers__();
+ if (_r1.i == 0) goto label20;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 120)
+ org_xmlvm_runtime_FinalizerNotifier_invokeFinalizers__();
+ goto label4;
+ label20:;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 122)
+ _r1.i = 0;
+ org_xmlvm_runtime_FinalizerNotifier_PUT_finalizerThreadInvokingFinalizers( _r1.i);
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 128)
+ org_xmlvm_runtime_Mutex_destroyFinalizableNativeMutexes__();
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 130)
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void org_xmlvm_runtime_FinalizerNotifier_preventGarbageCollection___boolean(JAVA_BOOLEAN n1)]
+
+//XMLVM_NATIVE[JAVA_BOOLEAN org_xmlvm_runtime_FinalizerNotifier_currentThreadIsFinalizerThread___java_lang_Thread(JAVA_OBJECT n1)]
+
+void org_xmlvm_runtime_FinalizerNotifier_finalizerNotifier__()
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_FinalizerNotifier)
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_FinalizerNotifier_finalizerNotifier__]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.FinalizerNotifier", "finalizerNotifier", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 163)
+ _r0.o = org_xmlvm_runtime_FinalizerNotifier_GET_finalizerThread();
+ _r0.i = org_xmlvm_runtime_FinalizerNotifier_currentThreadIsFinalizerThread___java_lang_Thread(_r0.o);
+ if (_r0.i == 0) goto label16;
+ _r0.i = org_xmlvm_runtime_FinalizerNotifier_GET_finalizerThreadInvokingFinalizers();
+ if (_r0.i != 0) goto label16;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 168)
+ org_xmlvm_runtime_FinalizerNotifier_invokeAllFinalizers__();
+ label15:;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 184)
+ XMLVM_EXIT_METHOD()
+ return;
+ label16:;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 175)
+ _r0.o = org_xmlvm_runtime_FinalizerNotifier_GET_finalizerMutex();
+ XMLVM_CHECK_NPE(0)
+ org_xmlvm_runtime_Mutex_lock__(_r0.o);
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 178)
+ _r0.i = 0;
+ org_xmlvm_runtime_FinalizerNotifier_setGCActive___boolean(_r0.i);
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 180)
+ _r0.o = org_xmlvm_runtime_FinalizerNotifier_GET_finalizerCondition();
+ XMLVM_CHECK_NPE(0)
+ org_xmlvm_runtime_Condition_broadcast__(_r0.o);
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 182)
+ _r0.o = org_xmlvm_runtime_FinalizerNotifier_GET_finalizerMutex();
+ XMLVM_CHECK_NPE(0)
+ org_xmlvm_runtime_Mutex_unlock__(_r0.o);
+ goto label15;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_BOOLEAN org_xmlvm_runtime_FinalizerNotifier_shouldInvokeFinalizers__()]
+
+//XMLVM_NATIVE[JAVA_INT org_xmlvm_runtime_FinalizerNotifier_invokeFinalizers__()]
+
+JAVA_OBJECT org_xmlvm_runtime_FinalizerNotifier_access$000__()
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_FinalizerNotifier)
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_FinalizerNotifier_access$000__]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.FinalizerNotifier", "access$000", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 10)
+ _r0.o = org_xmlvm_runtime_FinalizerNotifier_GET_finalizerMutex();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN org_xmlvm_runtime_FinalizerNotifier_access$100__()
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_FinalizerNotifier)
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_FinalizerNotifier_access$100__]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.FinalizerNotifier", "access$100", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 10)
+ _r0.i = org_xmlvm_runtime_FinalizerNotifier_shouldInvokeFinalizers__();
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+void org_xmlvm_runtime_FinalizerNotifier_access$200___boolean(JAVA_BOOLEAN n1)
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_FinalizerNotifier)
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_FinalizerNotifier_access$200___boolean]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.FinalizerNotifier", "access$200", "?")
+ XMLVMElem _r0;
+ _r0.i = n1;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 10)
+ org_xmlvm_runtime_FinalizerNotifier_setGCActive___boolean(_r0.i);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_xmlvm_runtime_FinalizerNotifier_access$300__()
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_FinalizerNotifier)
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_FinalizerNotifier_access$300__]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.FinalizerNotifier", "access$300", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 10)
+ _r0.o = org_xmlvm_runtime_FinalizerNotifier_GET_finalizerCondition();
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_BOOLEAN org_xmlvm_runtime_FinalizerNotifier_access$400__()
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_FinalizerNotifier)
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_FinalizerNotifier_access$400__]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.FinalizerNotifier", "access$400", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 10)
+ _r0.i = org_xmlvm_runtime_FinalizerNotifier_invokeAllFinalizers__();
+ XMLVM_EXIT_METHOD()
+ return _r0.i;
+ //XMLVM_END_WRAPPER
+}
+
+void org_xmlvm_runtime_FinalizerNotifier___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_FinalizerNotifier___CLINIT___]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.FinalizerNotifier", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 11)
+ _r0.o = __NEW_org_xmlvm_runtime_Mutex();
+ XMLVM_CHECK_NPE(0)
+ org_xmlvm_runtime_Mutex___INIT___(_r0.o);
+ org_xmlvm_runtime_FinalizerNotifier_PUT_finalizerMutex( _r0.o);
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 12)
+ _r0.o = __NEW_org_xmlvm_runtime_Condition();
+ _r1.o = JAVA_NULL;
+ XMLVM_CHECK_NPE(0)
+ org_xmlvm_runtime_Condition___INIT____java_lang_Object(_r0.o, _r1.o);
+ org_xmlvm_runtime_FinalizerNotifier_PUT_finalizerCondition( _r0.o);
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 19)
+ _r0.i = 1;
+ org_xmlvm_runtime_FinalizerNotifier_PUT_gcEnabled( _r0.i);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/org_xmlvm_runtime_FinalizerNotifier.h b/tests/nbody-java/org_xmlvm_runtime_FinalizerNotifier.h
new file mode 100644
index 00000000..e12aee47
--- /dev/null
+++ b/tests/nbody-java/org_xmlvm_runtime_FinalizerNotifier.h
@@ -0,0 +1,99 @@
+#ifndef __ORG_XMLVM_RUNTIME_FINALIZERNOTIFIER__
+#define __ORG_XMLVM_RUNTIME_FINALIZERNOTIFIER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_org_xmlvm_runtime_FinalizerNotifier 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Thread
+#define XMLVM_FORWARD_DECL_java_lang_Thread
+XMLVM_FORWARD_DECL(java_lang_Thread)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_Condition
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_Condition
+XMLVM_FORWARD_DECL(org_xmlvm_runtime_Condition)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_FinalizerNotifier_1
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_FinalizerNotifier_1
+XMLVM_FORWARD_DECL(org_xmlvm_runtime_FinalizerNotifier_1)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_Mutex
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_Mutex
+XMLVM_FORWARD_DECL(org_xmlvm_runtime_Mutex)
+#endif
+// Class declarations for org.xmlvm.runtime.FinalizerNotifier
+XMLVM_DEFINE_CLASS(org_xmlvm_runtime_FinalizerNotifier, 6, XMLVM_ITABLE_SIZE_org_xmlvm_runtime_FinalizerNotifier)
+
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_FinalizerNotifier;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_FinalizerNotifier_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_FinalizerNotifier_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_FinalizerNotifier_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_org_xmlvm_runtime_FinalizerNotifier
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_org_xmlvm_runtime_FinalizerNotifier \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_org_xmlvm_runtime_FinalizerNotifier \
+ } org_xmlvm_runtime_FinalizerNotifier
+
+struct org_xmlvm_runtime_FinalizerNotifier {
+ __TIB_DEFINITION_org_xmlvm_runtime_FinalizerNotifier* tib;
+ struct {
+ __INSTANCE_FIELDS_org_xmlvm_runtime_FinalizerNotifier;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_FinalizerNotifier
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_FinalizerNotifier
+typedef struct org_xmlvm_runtime_FinalizerNotifier org_xmlvm_runtime_FinalizerNotifier;
+#endif
+
+#define XMLVM_VTABLE_SIZE_org_xmlvm_runtime_FinalizerNotifier 6
+
+void __INIT_org_xmlvm_runtime_FinalizerNotifier();
+void __INIT_IMPL_org_xmlvm_runtime_FinalizerNotifier();
+void __DELETE_org_xmlvm_runtime_FinalizerNotifier(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_FinalizerNotifier(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_org_xmlvm_runtime_FinalizerNotifier();
+JAVA_OBJECT __NEW_INSTANCE_org_xmlvm_runtime_FinalizerNotifier();
+JAVA_OBJECT org_xmlvm_runtime_FinalizerNotifier_GET_finalizerMutex();
+void org_xmlvm_runtime_FinalizerNotifier_PUT_finalizerMutex(JAVA_OBJECT v);
+JAVA_OBJECT org_xmlvm_runtime_FinalizerNotifier_GET_finalizerCondition();
+void org_xmlvm_runtime_FinalizerNotifier_PUT_finalizerCondition(JAVA_OBJECT v);
+JAVA_OBJECT org_xmlvm_runtime_FinalizerNotifier_GET_finalizerThread();
+void org_xmlvm_runtime_FinalizerNotifier_PUT_finalizerThread(JAVA_OBJECT v);
+JAVA_BOOLEAN org_xmlvm_runtime_FinalizerNotifier_GET_finalizerThreadInvokingFinalizers();
+void org_xmlvm_runtime_FinalizerNotifier_PUT_finalizerThreadInvokingFinalizers(JAVA_BOOLEAN v);
+JAVA_BOOLEAN org_xmlvm_runtime_FinalizerNotifier_GET_gcEnabled();
+void org_xmlvm_runtime_FinalizerNotifier_PUT_gcEnabled(JAVA_BOOLEAN v);
+void org_xmlvm_runtime_FinalizerNotifier___INIT___(JAVA_OBJECT me);
+JAVA_OBJECT org_xmlvm_runtime_FinalizerNotifier_startFinalizerThread__();
+void org_xmlvm_runtime_FinalizerNotifier_setGCActive___boolean(JAVA_BOOLEAN n1);
+JAVA_BOOLEAN org_xmlvm_runtime_FinalizerNotifier_invokeAllFinalizers__();
+void org_xmlvm_runtime_FinalizerNotifier_preventGarbageCollection___boolean(JAVA_BOOLEAN n1);
+JAVA_BOOLEAN org_xmlvm_runtime_FinalizerNotifier_currentThreadIsFinalizerThread___java_lang_Thread(JAVA_OBJECT n1);
+void org_xmlvm_runtime_FinalizerNotifier_finalizerNotifier__();
+JAVA_BOOLEAN org_xmlvm_runtime_FinalizerNotifier_shouldInvokeFinalizers__();
+JAVA_INT org_xmlvm_runtime_FinalizerNotifier_invokeFinalizers__();
+JAVA_OBJECT org_xmlvm_runtime_FinalizerNotifier_access$000__();
+JAVA_BOOLEAN org_xmlvm_runtime_FinalizerNotifier_access$100__();
+void org_xmlvm_runtime_FinalizerNotifier_access$200___boolean(JAVA_BOOLEAN n1);
+JAVA_OBJECT org_xmlvm_runtime_FinalizerNotifier_access$300__();
+JAVA_BOOLEAN org_xmlvm_runtime_FinalizerNotifier_access$400__();
+void org_xmlvm_runtime_FinalizerNotifier___CLINIT_();
+
+#endif
diff --git a/tests/nbody-java/org_xmlvm_runtime_FinalizerNotifier_1.c b/tests/nbody-java/org_xmlvm_runtime_FinalizerNotifier_1.c
new file mode 100644
index 00000000..c3f32b8f
--- /dev/null
+++ b/tests/nbody-java/org_xmlvm_runtime_FinalizerNotifier_1.c
@@ -0,0 +1,227 @@
+#include "xmlvm.h"
+#include "java_lang_System.h"
+#include "org_xmlvm_runtime_Condition.h"
+#include "org_xmlvm_runtime_FinalizerNotifier.h"
+#include "org_xmlvm_runtime_Mutex.h"
+
+#include "org_xmlvm_runtime_FinalizerNotifier_1.h"
+
+#define XMLVM_CURRENT_CLASS_NAME FinalizerNotifier_1
+#define XMLVM_CURRENT_PKG_CLASS_NAME org_xmlvm_runtime_FinalizerNotifier_1
+
+__TIB_DEFINITION_org_xmlvm_runtime_FinalizerNotifier_1 __TIB_org_xmlvm_runtime_FinalizerNotifier_1 = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_xmlvm_runtime_FinalizerNotifier_1, // classInitializer
+ "org.xmlvm.runtime.FinalizerNotifier$1", // className
+ "org.xmlvm.runtime", // package
+ "org.xmlvm.runtime.FinalizerNotifier", // enclosingClassName
+ "startFinalizerThread:()Ljava/lang/Thread;", // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Thread, // extends
+ sizeof(org_xmlvm_runtime_FinalizerNotifier_1), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_FinalizerNotifier_1;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_FinalizerNotifier_1_1ARRAY;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_FinalizerNotifier_1_2ARRAY;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_FinalizerNotifier_1_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_org_xmlvm_runtime_FinalizerNotifier_1()
+{
+ staticInitializerLock(&__TIB_org_xmlvm_runtime_FinalizerNotifier_1);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_xmlvm_runtime_FinalizerNotifier_1.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_xmlvm_runtime_FinalizerNotifier_1.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_xmlvm_runtime_FinalizerNotifier_1);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_xmlvm_runtime_FinalizerNotifier_1.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_xmlvm_runtime_FinalizerNotifier_1.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_xmlvm_runtime_FinalizerNotifier_1.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.xmlvm.runtime.FinalizerNotifier$1")
+ __INIT_IMPL_org_xmlvm_runtime_FinalizerNotifier_1();
+ }
+}
+
+void __INIT_IMPL_org_xmlvm_runtime_FinalizerNotifier_1()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Thread)
+ __TIB_org_xmlvm_runtime_FinalizerNotifier_1.newInstanceFunc = __NEW_INSTANCE_org_xmlvm_runtime_FinalizerNotifier_1;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_org_xmlvm_runtime_FinalizerNotifier_1.vtable, __TIB_java_lang_Thread.vtable, sizeof(__TIB_java_lang_Thread.vtable));
+ // Initialize vtable for this class
+ __TIB_org_xmlvm_runtime_FinalizerNotifier_1.vtable[6] = (VTABLE_PTR) &org_xmlvm_runtime_FinalizerNotifier_1_run__;
+ // Initialize interface information
+ __TIB_org_xmlvm_runtime_FinalizerNotifier_1.numImplementedInterfaces = 1;
+ __TIB_org_xmlvm_runtime_FinalizerNotifier_1.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 1);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_lang_Runnable)
+
+ __TIB_org_xmlvm_runtime_FinalizerNotifier_1.implementedInterfaces[0][0] = &__TIB_java_lang_Runnable;
+ // Initialize itable for this class
+ __TIB_org_xmlvm_runtime_FinalizerNotifier_1.itableBegin = &__TIB_org_xmlvm_runtime_FinalizerNotifier_1.itable[0];
+ __TIB_org_xmlvm_runtime_FinalizerNotifier_1.itable[XMLVM_ITABLE_IDX_java_lang_Runnable_run__] = __TIB_org_xmlvm_runtime_FinalizerNotifier_1.vtable[6];
+
+
+ __TIB_org_xmlvm_runtime_FinalizerNotifier_1.declaredFields = &__field_reflection_data[0];
+ __TIB_org_xmlvm_runtime_FinalizerNotifier_1.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_org_xmlvm_runtime_FinalizerNotifier_1.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_org_xmlvm_runtime_FinalizerNotifier_1.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_org_xmlvm_runtime_FinalizerNotifier_1.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_org_xmlvm_runtime_FinalizerNotifier_1.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_xmlvm_runtime_FinalizerNotifier_1.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_xmlvm_runtime_FinalizerNotifier_1.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_org_xmlvm_runtime_FinalizerNotifier_1 = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_xmlvm_runtime_FinalizerNotifier_1);
+ __TIB_org_xmlvm_runtime_FinalizerNotifier_1.clazz = __CLASS_org_xmlvm_runtime_FinalizerNotifier_1;
+ __TIB_org_xmlvm_runtime_FinalizerNotifier_1.baseType = JAVA_NULL;
+ __CLASS_org_xmlvm_runtime_FinalizerNotifier_1_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_FinalizerNotifier_1);
+ __CLASS_org_xmlvm_runtime_FinalizerNotifier_1_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_FinalizerNotifier_1_1ARRAY);
+ __CLASS_org_xmlvm_runtime_FinalizerNotifier_1_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_FinalizerNotifier_1_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_org_xmlvm_runtime_FinalizerNotifier_1]
+ //XMLVM_END_WRAPPER
+
+ __TIB_org_xmlvm_runtime_FinalizerNotifier_1.classInitialized = 1;
+}
+
+void __DELETE_org_xmlvm_runtime_FinalizerNotifier_1(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_org_xmlvm_runtime_FinalizerNotifier_1]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_FinalizerNotifier_1(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Thread(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_FinalizerNotifier_1]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_org_xmlvm_runtime_FinalizerNotifier_1()
+{ XMLVM_CLASS_INIT(org_xmlvm_runtime_FinalizerNotifier_1)
+org_xmlvm_runtime_FinalizerNotifier_1* me = (org_xmlvm_runtime_FinalizerNotifier_1*) XMLVM_MALLOC(sizeof(org_xmlvm_runtime_FinalizerNotifier_1));
+ me->tib = &__TIB_org_xmlvm_runtime_FinalizerNotifier_1;
+ __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_FinalizerNotifier_1(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_org_xmlvm_runtime_FinalizerNotifier_1]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_org_xmlvm_runtime_FinalizerNotifier_1()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_org_xmlvm_runtime_FinalizerNotifier_1();
+ org_xmlvm_runtime_FinalizerNotifier_1___INIT___(me);
+ return me;
+}
+
+void org_xmlvm_runtime_FinalizerNotifier_1___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_FinalizerNotifier_1___INIT___]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.FinalizerNotifier$1", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 34)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Thread___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void org_xmlvm_runtime_FinalizerNotifier_1_run__(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_FinalizerNotifier_1_run__]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.FinalizerNotifier$1", "run", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ XMLVMElem _r4;
+ _r4.o = me;
+ _r3.i = 1;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 37)
+ _r0.i = 0;
+ label2:;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 38)
+ if (_r0.i != 0) goto label63;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 41)
+ _r1.o = org_xmlvm_runtime_FinalizerNotifier_access$000__();
+ XMLVM_CHECK_NPE(1)
+ org_xmlvm_runtime_Mutex_lock__(_r1.o);
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 50)
+ _r1.i = org_xmlvm_runtime_FinalizerNotifier_access$100__();
+ if (_r1.i != 0) goto label31;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 54)
+ org_xmlvm_runtime_FinalizerNotifier_access$200___boolean(_r3.i);
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 59)
+ _r1.o = org_xmlvm_runtime_FinalizerNotifier_access$300__();
+ _r2.o = org_xmlvm_runtime_FinalizerNotifier_access$000__();
+ XMLVM_CHECK_NPE(1)
+ org_xmlvm_runtime_Condition_wait___org_xmlvm_runtime_Mutex(_r1.o, _r2.o);
+ label31:;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 62)
+ _r1.o = org_xmlvm_runtime_FinalizerNotifier_access$000__();
+ XMLVM_CHECK_NPE(1)
+ org_xmlvm_runtime_Mutex_unlock__(_r1.o);
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 64)
+ _r0.i = org_xmlvm_runtime_FinalizerNotifier_access$400__();
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 67)
+ _r1.o = org_xmlvm_runtime_FinalizerNotifier_access$000__();
+ XMLVM_CHECK_NPE(1)
+ org_xmlvm_runtime_Mutex_lock__(_r1.o);
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 68)
+ org_xmlvm_runtime_FinalizerNotifier_access$200___boolean(_r3.i);
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 69)
+ _r1.o = org_xmlvm_runtime_FinalizerNotifier_access$000__();
+ XMLVM_CHECK_NPE(1)
+ org_xmlvm_runtime_Mutex_unlock__(_r1.o);
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 73)
+ java_lang_System_gc__();
+ goto label2;
+ label63:;
+ XMLVM_SOURCE_POSITION("FinalizerNotifier.java", 77)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/org_xmlvm_runtime_FinalizerNotifier_1.h b/tests/nbody-java/org_xmlvm_runtime_FinalizerNotifier_1.h
new file mode 100644
index 00000000..0ea4f4dd
--- /dev/null
+++ b/tests/nbody-java/org_xmlvm_runtime_FinalizerNotifier_1.h
@@ -0,0 +1,70 @@
+#ifndef __ORG_XMLVM_RUNTIME_FINALIZERNOTIFIER_1__
+#define __ORG_XMLVM_RUNTIME_FINALIZERNOTIFIER_1__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_org_xmlvm_runtime_FinalizerNotifier_1 1
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Thread.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_Condition
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_Condition
+XMLVM_FORWARD_DECL(org_xmlvm_runtime_Condition)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_FinalizerNotifier
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_FinalizerNotifier
+XMLVM_FORWARD_DECL(org_xmlvm_runtime_FinalizerNotifier)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_Mutex
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_Mutex
+XMLVM_FORWARD_DECL(org_xmlvm_runtime_Mutex)
+#endif
+// Class declarations for org.xmlvm.runtime.FinalizerNotifier$1
+XMLVM_DEFINE_CLASS(org_xmlvm_runtime_FinalizerNotifier_1, 7, XMLVM_ITABLE_SIZE_org_xmlvm_runtime_FinalizerNotifier_1)
+
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_FinalizerNotifier_1;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_FinalizerNotifier_1_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_FinalizerNotifier_1_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_FinalizerNotifier_1_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_org_xmlvm_runtime_FinalizerNotifier_1
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_org_xmlvm_runtime_FinalizerNotifier_1 \
+ __INSTANCE_FIELDS_java_lang_Thread; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_org_xmlvm_runtime_FinalizerNotifier_1 \
+ } org_xmlvm_runtime_FinalizerNotifier_1
+
+struct org_xmlvm_runtime_FinalizerNotifier_1 {
+ __TIB_DEFINITION_org_xmlvm_runtime_FinalizerNotifier_1* tib;
+ struct {
+ __INSTANCE_FIELDS_org_xmlvm_runtime_FinalizerNotifier_1;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_FinalizerNotifier_1
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_FinalizerNotifier_1
+typedef struct org_xmlvm_runtime_FinalizerNotifier_1 org_xmlvm_runtime_FinalizerNotifier_1;
+#endif
+
+#define XMLVM_VTABLE_SIZE_org_xmlvm_runtime_FinalizerNotifier_1 7
+#define XMLVM_VTABLE_IDX_org_xmlvm_runtime_FinalizerNotifier_1_run__ 6
+
+void __INIT_org_xmlvm_runtime_FinalizerNotifier_1();
+void __INIT_IMPL_org_xmlvm_runtime_FinalizerNotifier_1();
+void __DELETE_org_xmlvm_runtime_FinalizerNotifier_1(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_FinalizerNotifier_1(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_org_xmlvm_runtime_FinalizerNotifier_1();
+JAVA_OBJECT __NEW_INSTANCE_org_xmlvm_runtime_FinalizerNotifier_1();
+void org_xmlvm_runtime_FinalizerNotifier_1___INIT___(JAVA_OBJECT me);
+// Vtable index: 6
+void org_xmlvm_runtime_FinalizerNotifier_1_run__(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/org_xmlvm_runtime_Mutex.c b/tests/nbody-java/org_xmlvm_runtime_Mutex.c
new file mode 100644
index 00000000..cd0d85d9
--- /dev/null
+++ b/tests/nbody-java/org_xmlvm_runtime_Mutex.c
@@ -0,0 +1,246 @@
+#include "xmlvm.h"
+#include "java_util_LinkedList.h"
+#include "java_util_Queue.h"
+
+#include "org_xmlvm_runtime_Mutex.h"
+
+#define XMLVM_CURRENT_CLASS_NAME Mutex
+#define XMLVM_CURRENT_PKG_CLASS_NAME org_xmlvm_runtime_Mutex
+
+__TIB_DEFINITION_org_xmlvm_runtime_Mutex __TIB_org_xmlvm_runtime_Mutex = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_xmlvm_runtime_Mutex, // classInitializer
+ "org.xmlvm.runtime.Mutex", // className
+ "org.xmlvm.runtime", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(org_xmlvm_runtime_Mutex), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_Mutex;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_Mutex_1ARRAY;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_Mutex_2ARRAY;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_Mutex_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_OBJECT _STATIC_org_xmlvm_runtime_Mutex_finalizableNativeMutexList;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_org_xmlvm_runtime_Mutex()
+{
+ staticInitializerLock(&__TIB_org_xmlvm_runtime_Mutex);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_xmlvm_runtime_Mutex.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_xmlvm_runtime_Mutex.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_xmlvm_runtime_Mutex);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_xmlvm_runtime_Mutex.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_xmlvm_runtime_Mutex.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_xmlvm_runtime_Mutex.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.xmlvm.runtime.Mutex")
+ __INIT_IMPL_org_xmlvm_runtime_Mutex();
+ }
+}
+
+void __INIT_IMPL_org_xmlvm_runtime_Mutex()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_org_xmlvm_runtime_Mutex.newInstanceFunc = __NEW_INSTANCE_org_xmlvm_runtime_Mutex;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_org_xmlvm_runtime_Mutex.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ xmlvm_init_native_org_xmlvm_runtime_Mutex();
+ // Initialize interface information
+ __TIB_org_xmlvm_runtime_Mutex.numImplementedInterfaces = 0;
+ __TIB_org_xmlvm_runtime_Mutex.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+ _STATIC_org_xmlvm_runtime_Mutex_finalizableNativeMutexList = (java_util_Queue*) JAVA_NULL;
+
+ __TIB_org_xmlvm_runtime_Mutex.declaredFields = &__field_reflection_data[0];
+ __TIB_org_xmlvm_runtime_Mutex.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_org_xmlvm_runtime_Mutex.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_org_xmlvm_runtime_Mutex.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_org_xmlvm_runtime_Mutex.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_org_xmlvm_runtime_Mutex.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_xmlvm_runtime_Mutex.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_xmlvm_runtime_Mutex.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_org_xmlvm_runtime_Mutex = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_xmlvm_runtime_Mutex);
+ __TIB_org_xmlvm_runtime_Mutex.clazz = __CLASS_org_xmlvm_runtime_Mutex;
+ __TIB_org_xmlvm_runtime_Mutex.baseType = JAVA_NULL;
+ __CLASS_org_xmlvm_runtime_Mutex_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_Mutex);
+ __CLASS_org_xmlvm_runtime_Mutex_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_Mutex_1ARRAY);
+ __CLASS_org_xmlvm_runtime_Mutex_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_Mutex_2ARRAY);
+ org_xmlvm_runtime_Mutex___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_org_xmlvm_runtime_Mutex]
+ //XMLVM_END_WRAPPER
+
+ __TIB_org_xmlvm_runtime_Mutex.classInitialized = 1;
+}
+
+void __DELETE_org_xmlvm_runtime_Mutex(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_org_xmlvm_runtime_Mutex]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_Mutex(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((org_xmlvm_runtime_Mutex*) me)->fields.org_xmlvm_runtime_Mutex.nativeMutex_ = (java_lang_Object*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_Mutex]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_org_xmlvm_runtime_Mutex()
+{ XMLVM_CLASS_INIT(org_xmlvm_runtime_Mutex)
+org_xmlvm_runtime_Mutex* me = (org_xmlvm_runtime_Mutex*) XMLVM_MALLOC(sizeof(org_xmlvm_runtime_Mutex));
+ me->tib = &__TIB_org_xmlvm_runtime_Mutex;
+ __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_Mutex(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_org_xmlvm_runtime_Mutex]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_org_xmlvm_runtime_Mutex()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_org_xmlvm_runtime_Mutex();
+ org_xmlvm_runtime_Mutex___INIT___(me);
+ return me;
+}
+
+JAVA_OBJECT org_xmlvm_runtime_Mutex_GET_finalizableNativeMutexList()
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_Mutex)
+ return _STATIC_org_xmlvm_runtime_Mutex_finalizableNativeMutexList;
+}
+
+void org_xmlvm_runtime_Mutex_PUT_finalizableNativeMutexList(JAVA_OBJECT v)
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_Mutex)
+_STATIC_org_xmlvm_runtime_Mutex_finalizableNativeMutexList = v;
+}
+
+void org_xmlvm_runtime_Mutex_addNativeMutexToFinalizerQueue___java_lang_Object(JAVA_OBJECT n1)
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_Mutex)
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_Mutex_addNativeMutexToFinalizerQueue___java_lang_Object]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.Mutex", "addNativeMutexToFinalizerQueue", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r1.o = n1;
+ XMLVM_SOURCE_POSITION("Mutex.java", 63)
+ _r0.o = org_xmlvm_runtime_Mutex_GET_finalizableNativeMutexList();
+ XMLVM_CHECK_NPE(0)
+ (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) *(((java_lang_Object*)_r0.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Queue_add___java_lang_Object])(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("Mutex.java", 64)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void org_xmlvm_runtime_Mutex_destroyFinalizableNativeMutexes__()
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_Mutex)
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_Mutex_destroyFinalizableNativeMutexes__]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.Mutex", "destroyFinalizableNativeMutexes", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVM_SOURCE_POSITION("Mutex.java", 74)
+ _r0.o = JAVA_NULL;
+ label1:;
+ XMLVM_SOURCE_POSITION("Mutex.java", 75)
+ _r1.o = org_xmlvm_runtime_Mutex_GET_finalizableNativeMutexList();
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*)_r1.o)->tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Queue_poll__])(_r1.o);
+ if (_r0.o == JAVA_NULL) goto label13;
+ XMLVM_SOURCE_POSITION("Mutex.java", 76)
+ org_xmlvm_runtime_Mutex_destroyNativeMutex___java_lang_Object(_r0.o);
+ goto label1;
+ label13:;
+ XMLVM_SOURCE_POSITION("Mutex.java", 78)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void org_xmlvm_runtime_Mutex_destroyNativeMutex___java_lang_Object(JAVA_OBJECT n1)]
+
+void org_xmlvm_runtime_Mutex___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_Mutex___INIT___]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.Mutex", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("Mutex.java", 92)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("Mutex.java", 93)
+ XMLVM_CHECK_NPE(0)
+ org_xmlvm_runtime_Mutex_initNativeInstance__(_r0.o);
+ XMLVM_SOURCE_POSITION("Mutex.java", 94)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void org_xmlvm_runtime_Mutex_initNativeInstance__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[void org_xmlvm_runtime_Mutex_lock__(JAVA_OBJECT me)]
+
+//XMLVM_NATIVE[void org_xmlvm_runtime_Mutex_unlock__(JAVA_OBJECT me)]
+
+void org_xmlvm_runtime_Mutex___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_Mutex___CLINIT___]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.Mutex", "<clinit>", "?")
+ XMLVMElem _r0;
+ XMLVM_SOURCE_POSITION("Mutex.java", 48)
+ _r0.o = __NEW_java_util_LinkedList();
+ XMLVM_CHECK_NPE(0)
+ java_util_LinkedList___INIT___(_r0.o);
+ org_xmlvm_runtime_Mutex_PUT_finalizableNativeMutexList( _r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/org_xmlvm_runtime_Mutex.h b/tests/nbody-java/org_xmlvm_runtime_Mutex.h
new file mode 100644
index 00000000..368a1c17
--- /dev/null
+++ b/tests/nbody-java/org_xmlvm_runtime_Mutex.h
@@ -0,0 +1,70 @@
+#ifndef __ORG_XMLVM_RUNTIME_MUTEX__
+#define __ORG_XMLVM_RUNTIME_MUTEX__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_org_xmlvm_runtime_Mutex 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_util_LinkedList
+#define XMLVM_FORWARD_DECL_java_util_LinkedList
+XMLVM_FORWARD_DECL(java_util_LinkedList)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_util_Queue
+#define XMLVM_FORWARD_DECL_java_util_Queue
+XMLVM_FORWARD_DECL(java_util_Queue)
+#endif
+// Class declarations for org.xmlvm.runtime.Mutex
+XMLVM_DEFINE_CLASS(org_xmlvm_runtime_Mutex, 6, XMLVM_ITABLE_SIZE_org_xmlvm_runtime_Mutex)
+
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_Mutex;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_Mutex_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_Mutex_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_Mutex_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_org_xmlvm_runtime_Mutex
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_org_xmlvm_runtime_Mutex \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT nativeMutex_; \
+ __ADDITIONAL_INSTANCE_FIELDS_org_xmlvm_runtime_Mutex \
+ } org_xmlvm_runtime_Mutex
+
+struct org_xmlvm_runtime_Mutex {
+ __TIB_DEFINITION_org_xmlvm_runtime_Mutex* tib;
+ struct {
+ __INSTANCE_FIELDS_org_xmlvm_runtime_Mutex;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_Mutex
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_Mutex
+typedef struct org_xmlvm_runtime_Mutex org_xmlvm_runtime_Mutex;
+#endif
+
+#define XMLVM_VTABLE_SIZE_org_xmlvm_runtime_Mutex 6
+
+void __INIT_org_xmlvm_runtime_Mutex();
+void __INIT_IMPL_org_xmlvm_runtime_Mutex();
+void __DELETE_org_xmlvm_runtime_Mutex(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_Mutex(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_org_xmlvm_runtime_Mutex();
+JAVA_OBJECT __NEW_INSTANCE_org_xmlvm_runtime_Mutex();
+void xmlvm_init_native_org_xmlvm_runtime_Mutex();
+JAVA_OBJECT org_xmlvm_runtime_Mutex_GET_finalizableNativeMutexList();
+void org_xmlvm_runtime_Mutex_PUT_finalizableNativeMutexList(JAVA_OBJECT v);
+void org_xmlvm_runtime_Mutex_addNativeMutexToFinalizerQueue___java_lang_Object(JAVA_OBJECT n1);
+void org_xmlvm_runtime_Mutex_destroyFinalizableNativeMutexes__();
+void org_xmlvm_runtime_Mutex_destroyNativeMutex___java_lang_Object(JAVA_OBJECT n1);
+void org_xmlvm_runtime_Mutex___INIT___(JAVA_OBJECT me);
+void org_xmlvm_runtime_Mutex_initNativeInstance__(JAVA_OBJECT me);
+void org_xmlvm_runtime_Mutex_lock__(JAVA_OBJECT me);
+void org_xmlvm_runtime_Mutex_unlock__(JAVA_OBJECT me);
+void org_xmlvm_runtime_Mutex___CLINIT_();
+
+#endif
diff --git a/tests/nbody-java/org_xmlvm_runtime_RedTypeMarker.c b/tests/nbody-java/org_xmlvm_runtime_RedTypeMarker.c
new file mode 100644
index 00000000..e351f83b
--- /dev/null
+++ b/tests/nbody-java/org_xmlvm_runtime_RedTypeMarker.c
@@ -0,0 +1,156 @@
+#include "xmlvm.h"
+
+#include "org_xmlvm_runtime_RedTypeMarker.h"
+
+#define XMLVM_CURRENT_CLASS_NAME RedTypeMarker
+#define XMLVM_CURRENT_PKG_CLASS_NAME org_xmlvm_runtime_RedTypeMarker
+
+__TIB_DEFINITION_org_xmlvm_runtime_RedTypeMarker __TIB_org_xmlvm_runtime_RedTypeMarker = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_xmlvm_runtime_RedTypeMarker, // classInitializer
+ "org.xmlvm.runtime.RedTypeMarker", // className
+ "org.xmlvm.runtime", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(org_xmlvm_runtime_RedTypeMarker), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_RedTypeMarker;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_RedTypeMarker_1ARRAY;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_RedTypeMarker_2ARRAY;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_RedTypeMarker_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_org_xmlvm_runtime_RedTypeMarker()
+{
+ staticInitializerLock(&__TIB_org_xmlvm_runtime_RedTypeMarker);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_xmlvm_runtime_RedTypeMarker.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_xmlvm_runtime_RedTypeMarker.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_xmlvm_runtime_RedTypeMarker);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_xmlvm_runtime_RedTypeMarker.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_xmlvm_runtime_RedTypeMarker.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_xmlvm_runtime_RedTypeMarker.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.xmlvm.runtime.RedTypeMarker")
+ __INIT_IMPL_org_xmlvm_runtime_RedTypeMarker();
+ }
+}
+
+void __INIT_IMPL_org_xmlvm_runtime_RedTypeMarker()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_org_xmlvm_runtime_RedTypeMarker.newInstanceFunc = __NEW_INSTANCE_org_xmlvm_runtime_RedTypeMarker;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_org_xmlvm_runtime_RedTypeMarker.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_org_xmlvm_runtime_RedTypeMarker.numImplementedInterfaces = 0;
+ __TIB_org_xmlvm_runtime_RedTypeMarker.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ __TIB_org_xmlvm_runtime_RedTypeMarker.declaredFields = &__field_reflection_data[0];
+ __TIB_org_xmlvm_runtime_RedTypeMarker.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_org_xmlvm_runtime_RedTypeMarker.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_org_xmlvm_runtime_RedTypeMarker.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_org_xmlvm_runtime_RedTypeMarker.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_org_xmlvm_runtime_RedTypeMarker.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_xmlvm_runtime_RedTypeMarker.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_xmlvm_runtime_RedTypeMarker.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_org_xmlvm_runtime_RedTypeMarker = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_xmlvm_runtime_RedTypeMarker);
+ __TIB_org_xmlvm_runtime_RedTypeMarker.clazz = __CLASS_org_xmlvm_runtime_RedTypeMarker;
+ __TIB_org_xmlvm_runtime_RedTypeMarker.baseType = JAVA_NULL;
+ __CLASS_org_xmlvm_runtime_RedTypeMarker_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_RedTypeMarker);
+ __CLASS_org_xmlvm_runtime_RedTypeMarker_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_RedTypeMarker_1ARRAY);
+ __CLASS_org_xmlvm_runtime_RedTypeMarker_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_RedTypeMarker_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_org_xmlvm_runtime_RedTypeMarker]
+ //XMLVM_END_WRAPPER
+
+ __TIB_org_xmlvm_runtime_RedTypeMarker.classInitialized = 1;
+}
+
+void __DELETE_org_xmlvm_runtime_RedTypeMarker(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_org_xmlvm_runtime_RedTypeMarker]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_RedTypeMarker(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_RedTypeMarker]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_org_xmlvm_runtime_RedTypeMarker()
+{ XMLVM_CLASS_INIT(org_xmlvm_runtime_RedTypeMarker)
+org_xmlvm_runtime_RedTypeMarker* me = (org_xmlvm_runtime_RedTypeMarker*) XMLVM_MALLOC(sizeof(org_xmlvm_runtime_RedTypeMarker));
+ me->tib = &__TIB_org_xmlvm_runtime_RedTypeMarker;
+ __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_RedTypeMarker(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_org_xmlvm_runtime_RedTypeMarker]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_org_xmlvm_runtime_RedTypeMarker()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+void org_xmlvm_runtime_RedTypeMarker___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_RedTypeMarker___INIT___]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.RedTypeMarker", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("RedTypeMarker.java", 28)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("RedTypeMarker.java", 29)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/org_xmlvm_runtime_RedTypeMarker.h b/tests/nbody-java/org_xmlvm_runtime_RedTypeMarker.h
new file mode 100644
index 00000000..16804f15
--- /dev/null
+++ b/tests/nbody-java/org_xmlvm_runtime_RedTypeMarker.h
@@ -0,0 +1,51 @@
+#ifndef __ORG_XMLVM_RUNTIME_REDTYPEMARKER__
+#define __ORG_XMLVM_RUNTIME_REDTYPEMARKER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_org_xmlvm_runtime_RedTypeMarker 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+// Class declarations for org.xmlvm.runtime.RedTypeMarker
+XMLVM_DEFINE_CLASS(org_xmlvm_runtime_RedTypeMarker, 6, XMLVM_ITABLE_SIZE_org_xmlvm_runtime_RedTypeMarker)
+
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_RedTypeMarker;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_RedTypeMarker_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_RedTypeMarker_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_RedTypeMarker_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_org_xmlvm_runtime_RedTypeMarker
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_org_xmlvm_runtime_RedTypeMarker \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_org_xmlvm_runtime_RedTypeMarker \
+ } org_xmlvm_runtime_RedTypeMarker
+
+struct org_xmlvm_runtime_RedTypeMarker {
+ __TIB_DEFINITION_org_xmlvm_runtime_RedTypeMarker* tib;
+ struct {
+ __INSTANCE_FIELDS_org_xmlvm_runtime_RedTypeMarker;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_RedTypeMarker
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_RedTypeMarker
+typedef struct org_xmlvm_runtime_RedTypeMarker org_xmlvm_runtime_RedTypeMarker;
+#endif
+
+#define XMLVM_VTABLE_SIZE_org_xmlvm_runtime_RedTypeMarker 6
+
+void __INIT_org_xmlvm_runtime_RedTypeMarker();
+void __INIT_IMPL_org_xmlvm_runtime_RedTypeMarker();
+void __DELETE_org_xmlvm_runtime_RedTypeMarker(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_RedTypeMarker(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_org_xmlvm_runtime_RedTypeMarker();
+JAVA_OBJECT __NEW_INSTANCE_org_xmlvm_runtime_RedTypeMarker();
+void org_xmlvm_runtime_RedTypeMarker___INIT___(JAVA_OBJECT me);
+
+#endif
diff --git a/tests/nbody-java/org_xmlvm_runtime_XMLVMArray.c b/tests/nbody-java/org_xmlvm_runtime_XMLVMArray.c
new file mode 100644
index 00000000..f2b6e937
--- /dev/null
+++ b/tests/nbody-java/org_xmlvm_runtime_XMLVMArray.c
@@ -0,0 +1,391 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+
+#include "org_xmlvm_runtime_XMLVMArray.h"
+
+#define XMLVM_CURRENT_CLASS_NAME XMLVMArray
+#define XMLVM_CURRENT_PKG_CLASS_NAME org_xmlvm_runtime_XMLVMArray
+
+__TIB_DEFINITION_org_xmlvm_runtime_XMLVMArray __TIB_org_xmlvm_runtime_XMLVMArray = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_xmlvm_runtime_XMLVMArray, // classInitializer
+ "org.xmlvm.runtime.XMLVMArray", // className
+ "org.xmlvm.runtime", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(org_xmlvm_runtime_XMLVMArray), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMArray;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMArray_1ARRAY;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMArray_2ARRAY;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMArray_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+static JAVA_LONG _STATIC_org_xmlvm_runtime_XMLVMArray_serialVersionUID;
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+ {"serialVersionUID",
+ &__CLASS_long,
+ 0 | java_lang_reflect_Modifier_PRIVATE | java_lang_reflect_Modifier_STATIC,
+ 0,
+ &_STATIC_org_xmlvm_runtime_XMLVMArray_serialVersionUID,
+ "",
+ JAVA_NULL},
+ {"type",
+ &__CLASS_java_lang_Class,
+ 0 | java_lang_reflect_Modifier_PRIVATE,
+ XMLVM_OFFSETOF(org_xmlvm_runtime_XMLVMArray, fields.org_xmlvm_runtime_XMLVMArray.type_),
+ 0,
+ "",
+ JAVA_NULL},
+ {"length",
+ &__CLASS_int,
+ 0 | java_lang_reflect_Modifier_PRIVATE,
+ XMLVM_OFFSETOF(org_xmlvm_runtime_XMLVMArray, fields.org_xmlvm_runtime_XMLVMArray.length_),
+ 0,
+ "",
+ JAVA_NULL},
+ {"array",
+ &__CLASS_java_lang_Object,
+ 0 | java_lang_reflect_Modifier_PRIVATE,
+ XMLVM_OFFSETOF(org_xmlvm_runtime_XMLVMArray, fields.org_xmlvm_runtime_XMLVMArray.array_),
+ 0,
+ "",
+ JAVA_NULL},
+};
+
+static JAVA_OBJECT* __constructor0_arg_types[] = {
+ &__CLASS_java_lang_Class,
+ &__CLASS_int,
+ &__CLASS_java_lang_Object,
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+ {&__constructor0_arg_types[0],
+ sizeof(__constructor0_arg_types) / sizeof(JAVA_OBJECT*),
+ JAVA_NULL,
+ 0,
+ 0,
+ "(Ljava/lang/Class;ILjava/lang/Object;)V",
+ JAVA_NULL,
+ JAVA_NULL},
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ JAVA_OBJECT obj = __NEW_org_xmlvm_runtime_XMLVMArray();
+ java_lang_reflect_Constructor* c = (java_lang_reflect_Constructor*) constructor;
+ org_xmlvm_runtime_XMLVMArray* args = (org_xmlvm_runtime_XMLVMArray*) arguments;
+ JAVA_ARRAY_OBJECT* argsArray = (JAVA_ARRAY_OBJECT*) args->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ switch (c->fields.java_lang_reflect_Constructor.slot_) {
+ case 0:
+ org_xmlvm_runtime_XMLVMArray___INIT____java_lang_Class_int_java_lang_Object(obj, argsArray[0], ((java_lang_Integer*) argsArray[1])->fields.java_lang_Integer.value_, argsArray[2]);
+ break;
+ default:
+ XMLVM_INTERNAL_ERROR();
+ break;
+ }
+ return obj;
+}
+
+static JAVA_OBJECT* __method0_arg_types[] = {
+};
+
+static JAVA_OBJECT* __method1_arg_types[] = {
+ &__CLASS_java_lang_Class,
+ &__CLASS_int,
+};
+
+static JAVA_OBJECT* __method2_arg_types[] = {
+ &__CLASS_java_lang_Class,
+ &__CLASS_int,
+ &__CLASS_java_lang_Object,
+};
+
+static JAVA_OBJECT* __method3_arg_types[] = {
+ &__CLASS_java_lang_Class,
+ &__CLASS_org_xmlvm_runtime_XMLVMArray,
+};
+
+static JAVA_OBJECT* __method4_arg_types[] = {
+ &__CLASS_org_xmlvm_runtime_XMLVMArray,
+ &__CLASS_java_lang_Object,
+};
+
+static JAVA_OBJECT* __method5_arg_types[] = {
+};
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+ {"initNativeLayer",
+ &__method0_arg_types[0],
+ sizeof(__method0_arg_types) / sizeof(JAVA_OBJECT*),
+ JAVA_NULL,
+ 0,
+ 0,
+ "()V",
+ JAVA_NULL,
+ JAVA_NULL},
+ {"createSingleDimension",
+ &__method1_arg_types[0],
+ sizeof(__method1_arg_types) / sizeof(JAVA_OBJECT*),
+ JAVA_NULL,
+ 0,
+ 0,
+ "(Ljava/lang/Class;I)Lorg/xmlvm/runtime/XMLVMArray;",
+ JAVA_NULL,
+ JAVA_NULL},
+ {"createSingleDimensionWithData",
+ &__method2_arg_types[0],
+ sizeof(__method2_arg_types) / sizeof(JAVA_OBJECT*),
+ JAVA_NULL,
+ 0,
+ 0,
+ "(Ljava/lang/Class;ILjava/lang/Object;)Lorg/xmlvm/runtime/XMLVMArray;",
+ JAVA_NULL,
+ JAVA_NULL},
+ {"createMultiDimensions",
+ &__method3_arg_types[0],
+ sizeof(__method3_arg_types) / sizeof(JAVA_OBJECT*),
+ JAVA_NULL,
+ 0,
+ 0,
+ "(Ljava/lang/Class;Lorg/xmlvm/runtime/XMLVMArray;)Lorg/xmlvm/runtime/XMLVMArray;",
+ JAVA_NULL,
+ JAVA_NULL},
+ {"fillArray",
+ &__method4_arg_types[0],
+ sizeof(__method4_arg_types) / sizeof(JAVA_OBJECT*),
+ JAVA_NULL,
+ 0,
+ 0,
+ "(Lorg/xmlvm/runtime/XMLVMArray;Ljava/lang/Object;)V",
+ JAVA_NULL,
+ JAVA_NULL},
+ {"clone",
+ &__method5_arg_types[0],
+ sizeof(__method5_arg_types) / sizeof(JAVA_OBJECT*),
+ JAVA_NULL,
+ 0,
+ 0,
+ "()Ljava/lang/Object;",
+ JAVA_NULL,
+ JAVA_NULL},
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ JAVA_OBJECT result = JAVA_NULL;
+ java_lang_Object* obj = receiver;
+ java_lang_reflect_Method* m = (java_lang_reflect_Method*) method;
+ org_xmlvm_runtime_XMLVMArray* args = (org_xmlvm_runtime_XMLVMArray*) arguments;
+ JAVA_ARRAY_OBJECT* argsArray = (JAVA_ARRAY_OBJECT*) args->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ XMLVMElem conversion;
+ switch (m->fields.java_lang_reflect_Method.slot_) {
+ case 0:
+ org_xmlvm_runtime_XMLVMArray_initNativeLayer__();
+ break;
+ case 1:
+ result = (JAVA_OBJECT) org_xmlvm_runtime_XMLVMArray_createSingleDimension___java_lang_Class_int(argsArray[0], ((java_lang_Integer*) argsArray[1])->fields.java_lang_Integer.value_);
+ break;
+ case 2:
+ result = (JAVA_OBJECT) org_xmlvm_runtime_XMLVMArray_createSingleDimensionWithData___java_lang_Class_int_java_lang_Object(argsArray[0], ((java_lang_Integer*) argsArray[1])->fields.java_lang_Integer.value_, argsArray[2]);
+ break;
+ case 3:
+ result = (JAVA_OBJECT) org_xmlvm_runtime_XMLVMArray_createMultiDimensions___java_lang_Class_org_xmlvm_runtime_XMLVMArray(argsArray[0], argsArray[1]);
+ break;
+ case 4:
+ org_xmlvm_runtime_XMLVMArray_fillArray___org_xmlvm_runtime_XMLVMArray_java_lang_Object(argsArray[0], argsArray[1]);
+ break;
+ case 5:
+ result = (JAVA_OBJECT) org_xmlvm_runtime_XMLVMArray_clone__(receiver);
+ break;
+ default:
+ XMLVM_INTERNAL_ERROR();
+ break;
+ }
+ return result;
+}
+
+void __INIT_org_xmlvm_runtime_XMLVMArray()
+{
+ staticInitializerLock(&__TIB_org_xmlvm_runtime_XMLVMArray);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_xmlvm_runtime_XMLVMArray.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_xmlvm_runtime_XMLVMArray.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_xmlvm_runtime_XMLVMArray);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_xmlvm_runtime_XMLVMArray.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_xmlvm_runtime_XMLVMArray.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_xmlvm_runtime_XMLVMArray.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.xmlvm.runtime.XMLVMArray")
+ __INIT_IMPL_org_xmlvm_runtime_XMLVMArray();
+ }
+}
+
+void __INIT_IMPL_org_xmlvm_runtime_XMLVMArray()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_org_xmlvm_runtime_XMLVMArray.newInstanceFunc = __NEW_INSTANCE_org_xmlvm_runtime_XMLVMArray;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_org_xmlvm_runtime_XMLVMArray.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ __TIB_org_xmlvm_runtime_XMLVMArray.vtable[0] = (VTABLE_PTR) &xmlvm_unimplemented_native_method;
+ xmlvm_init_native_org_xmlvm_runtime_XMLVMArray();
+ // Initialize interface information
+ __TIB_org_xmlvm_runtime_XMLVMArray.numImplementedInterfaces = 2;
+ __TIB_org_xmlvm_runtime_XMLVMArray.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Serializable)
+
+ __TIB_org_xmlvm_runtime_XMLVMArray.implementedInterfaces[0][0] = &__TIB_java_io_Serializable;
+
+ XMLVM_CLASS_INIT(java_lang_Cloneable)
+
+ __TIB_org_xmlvm_runtime_XMLVMArray.implementedInterfaces[0][1] = &__TIB_java_lang_Cloneable;
+ // Initialize itable for this class
+ __TIB_org_xmlvm_runtime_XMLVMArray.itableBegin = &__TIB_org_xmlvm_runtime_XMLVMArray.itable[0];
+
+ _STATIC_org_xmlvm_runtime_XMLVMArray_serialVersionUID = -7775139464511217031;
+
+ __TIB_org_xmlvm_runtime_XMLVMArray.declaredFields = &__field_reflection_data[0];
+ __TIB_org_xmlvm_runtime_XMLVMArray.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_org_xmlvm_runtime_XMLVMArray.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_org_xmlvm_runtime_XMLVMArray.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_org_xmlvm_runtime_XMLVMArray.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_org_xmlvm_runtime_XMLVMArray.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_xmlvm_runtime_XMLVMArray.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_xmlvm_runtime_XMLVMArray.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_org_xmlvm_runtime_XMLVMArray = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_xmlvm_runtime_XMLVMArray);
+ __TIB_org_xmlvm_runtime_XMLVMArray.clazz = __CLASS_org_xmlvm_runtime_XMLVMArray;
+ __TIB_org_xmlvm_runtime_XMLVMArray.baseType = JAVA_NULL;
+ __CLASS_org_xmlvm_runtime_XMLVMArray_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_XMLVMArray);
+ __CLASS_org_xmlvm_runtime_XMLVMArray_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_XMLVMArray_1ARRAY);
+ __CLASS_org_xmlvm_runtime_XMLVMArray_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_XMLVMArray_2ARRAY);
+ org_xmlvm_runtime_XMLVMArray___CLINIT_();
+ //XMLVM_BEGIN_WRAPPER[__INIT_org_xmlvm_runtime_XMLVMArray]
+ //XMLVM_END_WRAPPER
+
+ __TIB_org_xmlvm_runtime_XMLVMArray.classInitialized = 1;
+}
+
+void __DELETE_org_xmlvm_runtime_XMLVMArray(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_org_xmlvm_runtime_XMLVMArray]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_XMLVMArray(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ ((org_xmlvm_runtime_XMLVMArray*) me)->fields.org_xmlvm_runtime_XMLVMArray.type_ = (java_lang_Class*) JAVA_NULL;
+ ((org_xmlvm_runtime_XMLVMArray*) me)->fields.org_xmlvm_runtime_XMLVMArray.length_ = 0;
+ ((org_xmlvm_runtime_XMLVMArray*) me)->fields.org_xmlvm_runtime_XMLVMArray.array_ = (java_lang_Object*) JAVA_NULL;
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_XMLVMArray]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_org_xmlvm_runtime_XMLVMArray()
+{ XMLVM_CLASS_INIT(org_xmlvm_runtime_XMLVMArray)
+org_xmlvm_runtime_XMLVMArray* me = (org_xmlvm_runtime_XMLVMArray*) XMLVM_MALLOC(sizeof(org_xmlvm_runtime_XMLVMArray));
+ me->tib = &__TIB_org_xmlvm_runtime_XMLVMArray;
+ __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_XMLVMArray(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_org_xmlvm_runtime_XMLVMArray]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_org_xmlvm_runtime_XMLVMArray()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ return me;
+}
+
+JAVA_LONG org_xmlvm_runtime_XMLVMArray_GET_serialVersionUID()
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_XMLVMArray)
+ return _STATIC_org_xmlvm_runtime_XMLVMArray_serialVersionUID;
+}
+
+void org_xmlvm_runtime_XMLVMArray_PUT_serialVersionUID(JAVA_LONG v)
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_XMLVMArray)
+_STATIC_org_xmlvm_runtime_XMLVMArray_serialVersionUID = v;
+}
+
+//XMLVM_NATIVE[void org_xmlvm_runtime_XMLVMArray_initNativeLayer__()]
+
+void org_xmlvm_runtime_XMLVMArray___INIT____java_lang_Class_int_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3)
+{
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_XMLVMArray___INIT____java_lang_Class_int_java_lang_Object]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.XMLVMArray", "<init>", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ XMLVMElem _r3;
+ _r0.o = me;
+ _r1.o = n1;
+ _r2.i = n2;
+ _r3.o = n3;
+ XMLVM_SOURCE_POSITION("XMLVMArray.java", 64)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_SOURCE_POSITION("XMLVMArray.java", 65)
+ XMLVM_CHECK_NPE(0)
+ ((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.type_ = _r1.o;
+ XMLVM_SOURCE_POSITION("XMLVMArray.java", 66)
+ XMLVM_CHECK_NPE(0)
+ ((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.length_ = _r2.i;
+ XMLVM_SOURCE_POSITION("XMLVMArray.java", 67)
+ XMLVM_CHECK_NPE(0)
+ ((org_xmlvm_runtime_XMLVMArray*) _r0.o)->fields.org_xmlvm_runtime_XMLVMArray.array_ = _r3.o;
+ XMLVM_SOURCE_POSITION("XMLVMArray.java", 68)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT org_xmlvm_runtime_XMLVMArray_createSingleDimension___java_lang_Class_int(JAVA_OBJECT n1, JAVA_INT n2)]
+
+//XMLVM_NATIVE[JAVA_OBJECT org_xmlvm_runtime_XMLVMArray_createSingleDimensionWithData___java_lang_Class_int_java_lang_Object(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3)]
+
+//XMLVM_NATIVE[JAVA_OBJECT org_xmlvm_runtime_XMLVMArray_createMultiDimensions___java_lang_Class_org_xmlvm_runtime_XMLVMArray(JAVA_OBJECT n1, JAVA_OBJECT n2)]
+
+//XMLVM_NATIVE[void org_xmlvm_runtime_XMLVMArray_fillArray___org_xmlvm_runtime_XMLVMArray_java_lang_Object(JAVA_OBJECT n1, JAVA_OBJECT n2)]
+
+//XMLVM_NATIVE[JAVA_OBJECT org_xmlvm_runtime_XMLVMArray_clone__(JAVA_OBJECT me)]
+
+void org_xmlvm_runtime_XMLVMArray___CLINIT_()
+{
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_XMLVMArray___CLINIT___]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.XMLVMArray", "<clinit>", "?")
+ XMLVM_SOURCE_POSITION("XMLVMArray.java", 60)
+ org_xmlvm_runtime_XMLVMArray_initNativeLayer__();
+ XMLVM_SOURCE_POSITION("XMLVMArray.java", 61)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/org_xmlvm_runtime_XMLVMArray.h b/tests/nbody-java/org_xmlvm_runtime_XMLVMArray.h
new file mode 100644
index 00000000..5e8dd856
--- /dev/null
+++ b/tests/nbody-java/org_xmlvm_runtime_XMLVMArray.h
@@ -0,0 +1,72 @@
+#ifndef __ORG_XMLVM_RUNTIME_XMLVMARRAY__
+#define __ORG_XMLVM_RUNTIME_XMLVMARRAY__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_org_xmlvm_runtime_XMLVMArray 0
+// Implemented interfaces:
+#include "java_io_Serializable.h"
+#include "java_lang_Cloneable.h"
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+// Class declarations for org.xmlvm.runtime.XMLVMArray
+XMLVM_DEFINE_CLASS(org_xmlvm_runtime_XMLVMArray, 6, XMLVM_ITABLE_SIZE_org_xmlvm_runtime_XMLVMArray)
+
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMArray;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMArray_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMArray_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMArray_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_org_xmlvm_runtime_XMLVMArray
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_org_xmlvm_runtime_XMLVMArray \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ JAVA_OBJECT type_; \
+ JAVA_INT length_; \
+ JAVA_OBJECT array_; \
+ __ADDITIONAL_INSTANCE_FIELDS_org_xmlvm_runtime_XMLVMArray \
+ } org_xmlvm_runtime_XMLVMArray
+
+struct org_xmlvm_runtime_XMLVMArray {
+ __TIB_DEFINITION_org_xmlvm_runtime_XMLVMArray* tib;
+ struct {
+ __INSTANCE_FIELDS_org_xmlvm_runtime_XMLVMArray;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_XMLVMArray
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_XMLVMArray
+typedef struct org_xmlvm_runtime_XMLVMArray org_xmlvm_runtime_XMLVMArray;
+#endif
+
+#define XMLVM_VTABLE_SIZE_org_xmlvm_runtime_XMLVMArray 6
+#define XMLVM_VTABLE_IDX_org_xmlvm_runtime_XMLVMArray_clone__ 0
+
+void __INIT_org_xmlvm_runtime_XMLVMArray();
+void __INIT_IMPL_org_xmlvm_runtime_XMLVMArray();
+void __DELETE_org_xmlvm_runtime_XMLVMArray(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_XMLVMArray(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_org_xmlvm_runtime_XMLVMArray();
+JAVA_OBJECT __NEW_INSTANCE_org_xmlvm_runtime_XMLVMArray();
+void xmlvm_init_native_org_xmlvm_runtime_XMLVMArray();
+JAVA_LONG org_xmlvm_runtime_XMLVMArray_GET_serialVersionUID();
+void org_xmlvm_runtime_XMLVMArray_PUT_serialVersionUID(JAVA_LONG v);
+void org_xmlvm_runtime_XMLVMArray_initNativeLayer__();
+void org_xmlvm_runtime_XMLVMArray___INIT____java_lang_Class_int_java_lang_Object(JAVA_OBJECT me, JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3);
+JAVA_OBJECT org_xmlvm_runtime_XMLVMArray_createSingleDimension___java_lang_Class_int(JAVA_OBJECT n1, JAVA_INT n2);
+JAVA_OBJECT org_xmlvm_runtime_XMLVMArray_createSingleDimensionWithData___java_lang_Class_int_java_lang_Object(JAVA_OBJECT n1, JAVA_INT n2, JAVA_OBJECT n3);
+JAVA_OBJECT org_xmlvm_runtime_XMLVMArray_createMultiDimensions___java_lang_Class_org_xmlvm_runtime_XMLVMArray(JAVA_OBJECT n1, JAVA_OBJECT n2);
+void org_xmlvm_runtime_XMLVMArray_fillArray___org_xmlvm_runtime_XMLVMArray_java_lang_Object(JAVA_OBJECT n1, JAVA_OBJECT n2);
+// Vtable index: 0
+JAVA_OBJECT org_xmlvm_runtime_XMLVMArray_clone__(JAVA_OBJECT me);
+void org_xmlvm_runtime_XMLVMArray___CLINIT_();
+
+#endif
diff --git a/tests/nbody-java/org_xmlvm_runtime_XMLVMClassLoader.c b/tests/nbody-java/org_xmlvm_runtime_XMLVMClassLoader.c
new file mode 100644
index 00000000..c17cef22
--- /dev/null
+++ b/tests/nbody-java/org_xmlvm_runtime_XMLVMClassLoader.c
@@ -0,0 +1,198 @@
+#include "xmlvm.h"
+#include "java_lang_Class.h"
+#include "java_lang_Object.h"
+#include "java_lang_String.h"
+
+#include "org_xmlvm_runtime_XMLVMClassLoader.h"
+
+#define XMLVM_CURRENT_CLASS_NAME XMLVMClassLoader
+#define XMLVM_CURRENT_PKG_CLASS_NAME org_xmlvm_runtime_XMLVMClassLoader
+
+__TIB_DEFINITION_org_xmlvm_runtime_XMLVMClassLoader __TIB_org_xmlvm_runtime_XMLVMClassLoader = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_xmlvm_runtime_XMLVMClassLoader, // classInitializer
+ "org.xmlvm.runtime.XMLVMClassLoader", // className
+ "org.xmlvm.runtime", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_ClassLoader, // extends
+ sizeof(org_xmlvm_runtime_XMLVMClassLoader), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMClassLoader;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMClassLoader_1ARRAY;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMClassLoader_2ARRAY;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMClassLoader_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_org_xmlvm_runtime_XMLVMClassLoader()
+{
+ staticInitializerLock(&__TIB_org_xmlvm_runtime_XMLVMClassLoader);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_xmlvm_runtime_XMLVMClassLoader.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_xmlvm_runtime_XMLVMClassLoader.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_xmlvm_runtime_XMLVMClassLoader);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_xmlvm_runtime_XMLVMClassLoader.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_xmlvm_runtime_XMLVMClassLoader.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_xmlvm_runtime_XMLVMClassLoader.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.xmlvm.runtime.XMLVMClassLoader")
+ __INIT_IMPL_org_xmlvm_runtime_XMLVMClassLoader();
+ }
+}
+
+void __INIT_IMPL_org_xmlvm_runtime_XMLVMClassLoader()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_ClassLoader)
+ __TIB_org_xmlvm_runtime_XMLVMClassLoader.newInstanceFunc = __NEW_INSTANCE_org_xmlvm_runtime_XMLVMClassLoader;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_org_xmlvm_runtime_XMLVMClassLoader.vtable, __TIB_java_lang_ClassLoader.vtable, sizeof(__TIB_java_lang_ClassLoader.vtable));
+ // Initialize vtable for this class
+ __TIB_org_xmlvm_runtime_XMLVMClassLoader.vtable[6] = (VTABLE_PTR) &org_xmlvm_runtime_XMLVMClassLoader_findClass___java_lang_String;
+ __TIB_org_xmlvm_runtime_XMLVMClassLoader.vtable[7] = (VTABLE_PTR) &org_xmlvm_runtime_XMLVMClassLoader_findResource___java_lang_String;
+ // Initialize interface information
+ __TIB_org_xmlvm_runtime_XMLVMClassLoader.numImplementedInterfaces = 0;
+ __TIB_org_xmlvm_runtime_XMLVMClassLoader.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ __TIB_org_xmlvm_runtime_XMLVMClassLoader.declaredFields = &__field_reflection_data[0];
+ __TIB_org_xmlvm_runtime_XMLVMClassLoader.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_org_xmlvm_runtime_XMLVMClassLoader.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_org_xmlvm_runtime_XMLVMClassLoader.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_org_xmlvm_runtime_XMLVMClassLoader.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_org_xmlvm_runtime_XMLVMClassLoader.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_xmlvm_runtime_XMLVMClassLoader.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_xmlvm_runtime_XMLVMClassLoader.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_org_xmlvm_runtime_XMLVMClassLoader = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_xmlvm_runtime_XMLVMClassLoader);
+ __TIB_org_xmlvm_runtime_XMLVMClassLoader.clazz = __CLASS_org_xmlvm_runtime_XMLVMClassLoader;
+ __TIB_org_xmlvm_runtime_XMLVMClassLoader.baseType = JAVA_NULL;
+ __CLASS_org_xmlvm_runtime_XMLVMClassLoader_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_XMLVMClassLoader);
+ __CLASS_org_xmlvm_runtime_XMLVMClassLoader_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_XMLVMClassLoader_1ARRAY);
+ __CLASS_org_xmlvm_runtime_XMLVMClassLoader_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_XMLVMClassLoader_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_org_xmlvm_runtime_XMLVMClassLoader]
+ //XMLVM_END_WRAPPER
+
+ __TIB_org_xmlvm_runtime_XMLVMClassLoader.classInitialized = 1;
+}
+
+void __DELETE_org_xmlvm_runtime_XMLVMClassLoader(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_org_xmlvm_runtime_XMLVMClassLoader]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_XMLVMClassLoader(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_ClassLoader(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_XMLVMClassLoader]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_org_xmlvm_runtime_XMLVMClassLoader()
+{ XMLVM_CLASS_INIT(org_xmlvm_runtime_XMLVMClassLoader)
+org_xmlvm_runtime_XMLVMClassLoader* me = (org_xmlvm_runtime_XMLVMClassLoader*) XMLVM_MALLOC(sizeof(org_xmlvm_runtime_XMLVMClassLoader));
+ me->tib = &__TIB_org_xmlvm_runtime_XMLVMClassLoader;
+ __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_XMLVMClassLoader(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_org_xmlvm_runtime_XMLVMClassLoader]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_org_xmlvm_runtime_XMLVMClassLoader()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_org_xmlvm_runtime_XMLVMClassLoader();
+ org_xmlvm_runtime_XMLVMClassLoader___INIT___(me);
+ return me;
+}
+
+void org_xmlvm_runtime_XMLVMClassLoader___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_XMLVMClassLoader___INIT___]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.XMLVMClassLoader", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("XMLVMClassLoader.java", 28)
+ XMLVM_CHECK_NPE(0)
+ java_lang_ClassLoader___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_xmlvm_runtime_XMLVMClassLoader_findClass___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_XMLVMClassLoader_findClass___java_lang_String]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.XMLVMClassLoader", "findClass", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("XMLVMClassLoader.java", 35)
+ _r0.o = java_lang_Class_forName___java_lang_String(_r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT org_xmlvm_runtime_XMLVMClassLoader_findResource___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_XMLVMClassLoader_findResource___java_lang_String]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.XMLVMClassLoader", "findResource", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVMElem _r2;
+ _r1.o = me;
+ _r2.o = n1;
+ XMLVM_SOURCE_POSITION("XMLVMClassLoader.java", 44)
+ //java_lang_Object_getClass__[3]
+ XMLVM_CHECK_NPE(1)
+ _r0.o = (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_lang_Object*) _r1.o)->tib->vtable[3])(_r1.o);
+ XMLVM_CHECK_NPE(0)
+ _r0.o = java_lang_Class_getResource___java_lang_String(_r0.o, _r2.o);
+ XMLVM_EXIT_METHOD()
+ return _r0.o;
+ //XMLVM_END_WRAPPER
+}
+
diff --git a/tests/nbody-java/org_xmlvm_runtime_XMLVMClassLoader.h b/tests/nbody-java/org_xmlvm_runtime_XMLVMClassLoader.h
new file mode 100644
index 00000000..137ca7c7
--- /dev/null
+++ b/tests/nbody-java/org_xmlvm_runtime_XMLVMClassLoader.h
@@ -0,0 +1,69 @@
+#ifndef __ORG_XMLVM_RUNTIME_XMLVMCLASSLOADER__
+#define __ORG_XMLVM_RUNTIME_XMLVMCLASSLOADER__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_org_xmlvm_runtime_XMLVMClassLoader 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_ClassLoader.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_lang_Class
+#define XMLVM_FORWARD_DECL_java_lang_Class
+XMLVM_FORWARD_DECL(java_lang_Class)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_Object
+#define XMLVM_FORWARD_DECL_java_lang_Object
+XMLVM_FORWARD_DECL(java_lang_Object)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+// Class declarations for org.xmlvm.runtime.XMLVMClassLoader
+XMLVM_DEFINE_CLASS(org_xmlvm_runtime_XMLVMClassLoader, 8, XMLVM_ITABLE_SIZE_org_xmlvm_runtime_XMLVMClassLoader)
+
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMClassLoader;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMClassLoader_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMClassLoader_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMClassLoader_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_org_xmlvm_runtime_XMLVMClassLoader
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_org_xmlvm_runtime_XMLVMClassLoader \
+ __INSTANCE_FIELDS_java_lang_ClassLoader; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_org_xmlvm_runtime_XMLVMClassLoader \
+ } org_xmlvm_runtime_XMLVMClassLoader
+
+struct org_xmlvm_runtime_XMLVMClassLoader {
+ __TIB_DEFINITION_org_xmlvm_runtime_XMLVMClassLoader* tib;
+ struct {
+ __INSTANCE_FIELDS_org_xmlvm_runtime_XMLVMClassLoader;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_XMLVMClassLoader
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_XMLVMClassLoader
+typedef struct org_xmlvm_runtime_XMLVMClassLoader org_xmlvm_runtime_XMLVMClassLoader;
+#endif
+
+#define XMLVM_VTABLE_SIZE_org_xmlvm_runtime_XMLVMClassLoader 8
+#define XMLVM_VTABLE_IDX_org_xmlvm_runtime_XMLVMClassLoader_findClass___java_lang_String 6
+#define XMLVM_VTABLE_IDX_org_xmlvm_runtime_XMLVMClassLoader_findResource___java_lang_String 7
+
+void __INIT_org_xmlvm_runtime_XMLVMClassLoader();
+void __INIT_IMPL_org_xmlvm_runtime_XMLVMClassLoader();
+void __DELETE_org_xmlvm_runtime_XMLVMClassLoader(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_XMLVMClassLoader(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_org_xmlvm_runtime_XMLVMClassLoader();
+JAVA_OBJECT __NEW_INSTANCE_org_xmlvm_runtime_XMLVMClassLoader();
+void org_xmlvm_runtime_XMLVMClassLoader___INIT___(JAVA_OBJECT me);
+// Vtable index: 6
+JAVA_OBJECT org_xmlvm_runtime_XMLVMClassLoader_findClass___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+// Vtable index: 7
+JAVA_OBJECT org_xmlvm_runtime_XMLVMClassLoader_findResource___java_lang_String(JAVA_OBJECT me, JAVA_OBJECT n1);
+
+#endif
diff --git a/tests/nbody-java/org_xmlvm_runtime_XMLVMOutputStream.c b/tests/nbody-java/org_xmlvm_runtime_XMLVMOutputStream.c
new file mode 100644
index 00000000..ff380356
--- /dev/null
+++ b/tests/nbody-java/org_xmlvm_runtime_XMLVMOutputStream.c
@@ -0,0 +1,189 @@
+#include "xmlvm.h"
+
+#include "org_xmlvm_runtime_XMLVMOutputStream.h"
+
+#define XMLVM_CURRENT_CLASS_NAME XMLVMOutputStream
+#define XMLVM_CURRENT_PKG_CLASS_NAME org_xmlvm_runtime_XMLVMOutputStream
+
+__TIB_DEFINITION_org_xmlvm_runtime_XMLVMOutputStream __TIB_org_xmlvm_runtime_XMLVMOutputStream = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_xmlvm_runtime_XMLVMOutputStream, // classInitializer
+ "org.xmlvm.runtime.XMLVMOutputStream", // className
+ "org.xmlvm.runtime", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_io_OutputStream, // extends
+ sizeof(org_xmlvm_runtime_XMLVMOutputStream), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMOutputStream;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMOutputStream_1ARRAY;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMOutputStream_2ARRAY;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMOutputStream_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_org_xmlvm_runtime_XMLVMOutputStream()
+{
+ staticInitializerLock(&__TIB_org_xmlvm_runtime_XMLVMOutputStream);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_xmlvm_runtime_XMLVMOutputStream.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_xmlvm_runtime_XMLVMOutputStream.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_xmlvm_runtime_XMLVMOutputStream);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_xmlvm_runtime_XMLVMOutputStream.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_xmlvm_runtime_XMLVMOutputStream.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_xmlvm_runtime_XMLVMOutputStream.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.xmlvm.runtime.XMLVMOutputStream")
+ __INIT_IMPL_org_xmlvm_runtime_XMLVMOutputStream();
+ }
+}
+
+void __INIT_IMPL_org_xmlvm_runtime_XMLVMOutputStream()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_io_OutputStream)
+ __TIB_org_xmlvm_runtime_XMLVMOutputStream.newInstanceFunc = __NEW_INSTANCE_org_xmlvm_runtime_XMLVMOutputStream;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_org_xmlvm_runtime_XMLVMOutputStream.vtable, __TIB_java_io_OutputStream.vtable, sizeof(__TIB_java_io_OutputStream.vtable));
+ // Initialize vtable for this class
+ __TIB_org_xmlvm_runtime_XMLVMOutputStream.vtable[11] = (VTABLE_PTR) &org_xmlvm_runtime_XMLVMOutputStream_write___int;
+ // Initialize interface information
+ __TIB_org_xmlvm_runtime_XMLVMOutputStream.numImplementedInterfaces = 2;
+ __TIB_org_xmlvm_runtime_XMLVMOutputStream.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 2);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ XMLVM_CLASS_INIT(java_io_Closeable)
+
+ __TIB_org_xmlvm_runtime_XMLVMOutputStream.implementedInterfaces[0][0] = &__TIB_java_io_Closeable;
+
+ XMLVM_CLASS_INIT(java_io_Flushable)
+
+ __TIB_org_xmlvm_runtime_XMLVMOutputStream.implementedInterfaces[0][1] = &__TIB_java_io_Flushable;
+ // Initialize itable for this class
+ __TIB_org_xmlvm_runtime_XMLVMOutputStream.itableBegin = &__TIB_org_xmlvm_runtime_XMLVMOutputStream.itable[0];
+ __TIB_org_xmlvm_runtime_XMLVMOutputStream.itable[XMLVM_ITABLE_IDX_java_io_Closeable_close__] = __TIB_org_xmlvm_runtime_XMLVMOutputStream.vtable[7];
+ __TIB_org_xmlvm_runtime_XMLVMOutputStream.itable[XMLVM_ITABLE_IDX_java_io_Flushable_flush__] = __TIB_org_xmlvm_runtime_XMLVMOutputStream.vtable[8];
+
+
+ __TIB_org_xmlvm_runtime_XMLVMOutputStream.declaredFields = &__field_reflection_data[0];
+ __TIB_org_xmlvm_runtime_XMLVMOutputStream.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_org_xmlvm_runtime_XMLVMOutputStream.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_org_xmlvm_runtime_XMLVMOutputStream.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_org_xmlvm_runtime_XMLVMOutputStream.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_org_xmlvm_runtime_XMLVMOutputStream.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_xmlvm_runtime_XMLVMOutputStream.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_xmlvm_runtime_XMLVMOutputStream.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_org_xmlvm_runtime_XMLVMOutputStream = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_xmlvm_runtime_XMLVMOutputStream);
+ __TIB_org_xmlvm_runtime_XMLVMOutputStream.clazz = __CLASS_org_xmlvm_runtime_XMLVMOutputStream;
+ __TIB_org_xmlvm_runtime_XMLVMOutputStream.baseType = JAVA_NULL;
+ __CLASS_org_xmlvm_runtime_XMLVMOutputStream_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_XMLVMOutputStream);
+ __CLASS_org_xmlvm_runtime_XMLVMOutputStream_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_XMLVMOutputStream_1ARRAY);
+ __CLASS_org_xmlvm_runtime_XMLVMOutputStream_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_XMLVMOutputStream_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_org_xmlvm_runtime_XMLVMOutputStream]
+ //XMLVM_END_WRAPPER
+
+ __TIB_org_xmlvm_runtime_XMLVMOutputStream.classInitialized = 1;
+}
+
+void __DELETE_org_xmlvm_runtime_XMLVMOutputStream(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_org_xmlvm_runtime_XMLVMOutputStream]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_XMLVMOutputStream(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_io_OutputStream(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_XMLVMOutputStream]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_org_xmlvm_runtime_XMLVMOutputStream()
+{ XMLVM_CLASS_INIT(org_xmlvm_runtime_XMLVMOutputStream)
+org_xmlvm_runtime_XMLVMOutputStream* me = (org_xmlvm_runtime_XMLVMOutputStream*) XMLVM_MALLOC(sizeof(org_xmlvm_runtime_XMLVMOutputStream));
+ me->tib = &__TIB_org_xmlvm_runtime_XMLVMOutputStream;
+ __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_XMLVMOutputStream(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_org_xmlvm_runtime_XMLVMOutputStream]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_org_xmlvm_runtime_XMLVMOutputStream()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_org_xmlvm_runtime_XMLVMOutputStream();
+ org_xmlvm_runtime_XMLVMOutputStream___INIT___(me);
+ return me;
+}
+
+void org_xmlvm_runtime_XMLVMOutputStream___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_XMLVMOutputStream___INIT___]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.XMLVMOutputStream", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("XMLVMOutputStream.java", 25)
+ XMLVM_CHECK_NPE(0)
+ java_io_OutputStream___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void org_xmlvm_runtime_XMLVMOutputStream_write___int(JAVA_OBJECT me, JAVA_INT n1)
+{
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_XMLVMOutputStream_write___int]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.XMLVMOutputStream", "write", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ _r0.o = me;
+ _r1.i = n1;
+ XMLVM_SOURCE_POSITION("XMLVMOutputStream.java", 34)
+ org_xmlvm_runtime_XMLVMOutputStream_nativeWrite___int(_r1.i);
+ XMLVM_SOURCE_POSITION("XMLVMOutputStream.java", 35)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[void org_xmlvm_runtime_XMLVMOutputStream_nativeWrite___int(JAVA_INT n1)]
+
diff --git a/tests/nbody-java/org_xmlvm_runtime_XMLVMOutputStream.h b/tests/nbody-java/org_xmlvm_runtime_XMLVMOutputStream.h
new file mode 100644
index 00000000..3a07066a
--- /dev/null
+++ b/tests/nbody-java/org_xmlvm_runtime_XMLVMOutputStream.h
@@ -0,0 +1,55 @@
+#ifndef __ORG_XMLVM_RUNTIME_XMLVMOUTPUTSTREAM__
+#define __ORG_XMLVM_RUNTIME_XMLVMOUTPUTSTREAM__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_org_xmlvm_runtime_XMLVMOutputStream 2
+// Implemented interfaces:
+// Super Class:
+#include "java_io_OutputStream.h"
+
+// Circular references:
+// Class declarations for org.xmlvm.runtime.XMLVMOutputStream
+XMLVM_DEFINE_CLASS(org_xmlvm_runtime_XMLVMOutputStream, 12, XMLVM_ITABLE_SIZE_org_xmlvm_runtime_XMLVMOutputStream)
+
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMOutputStream;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMOutputStream_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMOutputStream_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMOutputStream_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_org_xmlvm_runtime_XMLVMOutputStream
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_org_xmlvm_runtime_XMLVMOutputStream \
+ __INSTANCE_FIELDS_java_io_OutputStream; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_org_xmlvm_runtime_XMLVMOutputStream \
+ } org_xmlvm_runtime_XMLVMOutputStream
+
+struct org_xmlvm_runtime_XMLVMOutputStream {
+ __TIB_DEFINITION_org_xmlvm_runtime_XMLVMOutputStream* tib;
+ struct {
+ __INSTANCE_FIELDS_org_xmlvm_runtime_XMLVMOutputStream;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_XMLVMOutputStream
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_XMLVMOutputStream
+typedef struct org_xmlvm_runtime_XMLVMOutputStream org_xmlvm_runtime_XMLVMOutputStream;
+#endif
+
+#define XMLVM_VTABLE_SIZE_org_xmlvm_runtime_XMLVMOutputStream 12
+#define XMLVM_VTABLE_IDX_org_xmlvm_runtime_XMLVMOutputStream_write___int 11
+
+void __INIT_org_xmlvm_runtime_XMLVMOutputStream();
+void __INIT_IMPL_org_xmlvm_runtime_XMLVMOutputStream();
+void __DELETE_org_xmlvm_runtime_XMLVMOutputStream(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_XMLVMOutputStream(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_org_xmlvm_runtime_XMLVMOutputStream();
+JAVA_OBJECT __NEW_INSTANCE_org_xmlvm_runtime_XMLVMOutputStream();
+void org_xmlvm_runtime_XMLVMOutputStream___INIT___(JAVA_OBJECT me);
+// Vtable index: 11
+void org_xmlvm_runtime_XMLVMOutputStream_write___int(JAVA_OBJECT me, JAVA_INT n1);
+void org_xmlvm_runtime_XMLVMOutputStream_nativeWrite___int(JAVA_INT n1);
+
+#endif
diff --git a/tests/nbody-java/org_xmlvm_runtime_XMLVMUtil.c b/tests/nbody-java/org_xmlvm_runtime_XMLVMUtil.c
new file mode 100644
index 00000000..4a3f06cd
--- /dev/null
+++ b/tests/nbody-java/org_xmlvm_runtime_XMLVMUtil.c
@@ -0,0 +1,209 @@
+#include "xmlvm.h"
+#include "java_io_PrintStream.h"
+#include "java_lang_String.h"
+#include "java_lang_System.h"
+#include "org_xmlvm_runtime_XMLVMOutputStream.h"
+
+#include "org_xmlvm_runtime_XMLVMUtil.h"
+
+#define XMLVM_CURRENT_CLASS_NAME XMLVMUtil
+#define XMLVM_CURRENT_PKG_CLASS_NAME org_xmlvm_runtime_XMLVMUtil
+
+__TIB_DEFINITION_org_xmlvm_runtime_XMLVMUtil __TIB_org_xmlvm_runtime_XMLVMUtil = {
+ 0, // classInitializationBegan
+ 0, // classInitialized
+ -1, // initializerThreadId
+ __INIT_org_xmlvm_runtime_XMLVMUtil, // classInitializer
+ "org.xmlvm.runtime.XMLVMUtil", // className
+ "org.xmlvm.runtime", // package
+ JAVA_NULL, // enclosingClassName
+ JAVA_NULL, // enclosingMethodName
+ JAVA_NULL, // signature
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object, // extends
+ sizeof(org_xmlvm_runtime_XMLVMUtil), // sizeInstance
+ XMLVM_TYPE_CLASS};
+
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMUtil;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMUtil_1ARRAY;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMUtil_2ARRAY;
+JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMUtil_3ARRAY;
+//XMLVM_BEGIN_IMPLEMENTATION
+//XMLVM_END_IMPLEMENTATION
+
+
+#include "xmlvm-reflection.h"
+
+static XMLVM_FIELD_REFLECTION_DATA __field_reflection_data[] = {
+};
+
+static XMLVM_CONSTRUCTOR_REFLECTION_DATA __constructor_reflection_data[] = {
+};
+
+static JAVA_OBJECT constructor_dispatcher(JAVA_OBJECT constructor, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+static XMLVM_METHOD_REFLECTION_DATA __method_reflection_data[] = {
+};
+
+static JAVA_OBJECT method_dispatcher(JAVA_OBJECT method, JAVA_OBJECT receiver, JAVA_OBJECT arguments)
+{
+ XMLVM_NOT_IMPLEMENTED();
+}
+
+void __INIT_org_xmlvm_runtime_XMLVMUtil()
+{
+ staticInitializerLock(&__TIB_org_xmlvm_runtime_XMLVMUtil);
+
+ // While the static initializer mutex is locked, locally store the value of
+ // whether class initialization began or not
+ int initBegan = __TIB_org_xmlvm_runtime_XMLVMUtil.classInitializationBegan;
+
+ // Whether or not class initialization had already began, it has begun now
+ __TIB_org_xmlvm_runtime_XMLVMUtil.classInitializationBegan = 1;
+
+ staticInitializerUnlock(&__TIB_org_xmlvm_runtime_XMLVMUtil);
+
+ JAVA_LONG curThreadId = (JAVA_LONG)pthread_self();
+ if (initBegan) {
+ if (__TIB_org_xmlvm_runtime_XMLVMUtil.initializerThreadId != curThreadId) {
+ // Busy wait until the other thread finishes initializing this class
+ while (!__TIB_org_xmlvm_runtime_XMLVMUtil.classInitialized) {
+ // do nothing
+ }
+ }
+ } else {
+ __TIB_org_xmlvm_runtime_XMLVMUtil.initializerThreadId = curThreadId;
+ XMLVM_CLASS_USED("org.xmlvm.runtime.XMLVMUtil")
+ __INIT_IMPL_org_xmlvm_runtime_XMLVMUtil();
+ }
+}
+
+void __INIT_IMPL_org_xmlvm_runtime_XMLVMUtil()
+{
+ // Initialize base class if necessary
+ XMLVM_CLASS_INIT(java_lang_Object)
+ __TIB_org_xmlvm_runtime_XMLVMUtil.newInstanceFunc = __NEW_INSTANCE_org_xmlvm_runtime_XMLVMUtil;
+ // Copy vtable from base class
+ XMLVM_MEMCPY(__TIB_org_xmlvm_runtime_XMLVMUtil.vtable, __TIB_java_lang_Object.vtable, sizeof(__TIB_java_lang_Object.vtable));
+ // Initialize vtable for this class
+ // Initialize interface information
+ __TIB_org_xmlvm_runtime_XMLVMUtil.numImplementedInterfaces = 0;
+ __TIB_org_xmlvm_runtime_XMLVMUtil.implementedInterfaces = (__TIB_DEFINITION_TEMPLATE* (*)[1]) XMLVM_MALLOC(sizeof(__TIB_DEFINITION_TEMPLATE*) * 0);
+
+ // Initialize interfaces if necessary and assign tib to implementedInterfaces
+
+ __TIB_org_xmlvm_runtime_XMLVMUtil.declaredFields = &__field_reflection_data[0];
+ __TIB_org_xmlvm_runtime_XMLVMUtil.numDeclaredFields = sizeof(__field_reflection_data) / sizeof(XMLVM_FIELD_REFLECTION_DATA);
+ __TIB_org_xmlvm_runtime_XMLVMUtil.constructorDispatcherFunc = constructor_dispatcher;
+ __TIB_org_xmlvm_runtime_XMLVMUtil.declaredConstructors = &__constructor_reflection_data[0];
+ __TIB_org_xmlvm_runtime_XMLVMUtil.numDeclaredConstructors = sizeof(__constructor_reflection_data) / sizeof(XMLVM_CONSTRUCTOR_REFLECTION_DATA);
+ __TIB_org_xmlvm_runtime_XMLVMUtil.methodDispatcherFunc = method_dispatcher;
+ __TIB_org_xmlvm_runtime_XMLVMUtil.declaredMethods = &__method_reflection_data[0];
+ __TIB_org_xmlvm_runtime_XMLVMUtil.numDeclaredMethods = sizeof(__method_reflection_data) / sizeof(XMLVM_METHOD_REFLECTION_DATA);
+ __CLASS_org_xmlvm_runtime_XMLVMUtil = XMLVM_CREATE_CLASS_OBJECT(&__TIB_org_xmlvm_runtime_XMLVMUtil);
+ __TIB_org_xmlvm_runtime_XMLVMUtil.clazz = __CLASS_org_xmlvm_runtime_XMLVMUtil;
+ __TIB_org_xmlvm_runtime_XMLVMUtil.baseType = JAVA_NULL;
+ __CLASS_org_xmlvm_runtime_XMLVMUtil_1ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_XMLVMUtil);
+ __CLASS_org_xmlvm_runtime_XMLVMUtil_2ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_XMLVMUtil_1ARRAY);
+ __CLASS_org_xmlvm_runtime_XMLVMUtil_3ARRAY = XMLVM_CREATE_ARRAY_CLASS_OBJECT(__CLASS_org_xmlvm_runtime_XMLVMUtil_2ARRAY);
+ //XMLVM_BEGIN_WRAPPER[__INIT_org_xmlvm_runtime_XMLVMUtil]
+ //XMLVM_END_WRAPPER
+
+ __TIB_org_xmlvm_runtime_XMLVMUtil.classInitialized = 1;
+}
+
+void __DELETE_org_xmlvm_runtime_XMLVMUtil(void* me, void* client_data)
+{
+ //XMLVM_BEGIN_WRAPPER[__DELETE_org_xmlvm_runtime_XMLVMUtil]
+ //XMLVM_END_WRAPPER
+}
+
+void __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_XMLVMUtil(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer)
+{
+ __INIT_INSTANCE_MEMBERS_java_lang_Object(me, 0 || derivedClassWillRegisterFinalizer);
+ //XMLVM_BEGIN_WRAPPER[__INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_XMLVMUtil]
+ //XMLVM_END_WRAPPER
+}
+
+JAVA_OBJECT __NEW_org_xmlvm_runtime_XMLVMUtil()
+{ XMLVM_CLASS_INIT(org_xmlvm_runtime_XMLVMUtil)
+org_xmlvm_runtime_XMLVMUtil* me = (org_xmlvm_runtime_XMLVMUtil*) XMLVM_MALLOC(sizeof(org_xmlvm_runtime_XMLVMUtil));
+ me->tib = &__TIB_org_xmlvm_runtime_XMLVMUtil;
+ __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_XMLVMUtil(me, 0);
+ //XMLVM_BEGIN_WRAPPER[__NEW_org_xmlvm_runtime_XMLVMUtil]
+ //XMLVM_END_WRAPPER
+ return me;
+}
+
+JAVA_OBJECT __NEW_INSTANCE_org_xmlvm_runtime_XMLVMUtil()
+{
+ JAVA_OBJECT me = JAVA_NULL;
+ me = __NEW_org_xmlvm_runtime_XMLVMUtil();
+ org_xmlvm_runtime_XMLVMUtil___INIT___(me);
+ return me;
+}
+
+void org_xmlvm_runtime_XMLVMUtil___INIT___(JAVA_OBJECT me)
+{
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_XMLVMUtil___INIT___]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.XMLVMUtil", "<init>", "?")
+ XMLVMElem _r0;
+ _r0.o = me;
+ XMLVM_SOURCE_POSITION("XMLVMUtil.java", 30)
+ XMLVM_CHECK_NPE(0)
+ java_lang_Object___INIT___(_r0.o);
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void org_xmlvm_runtime_XMLVMUtil_init__()
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_XMLVMUtil)
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_XMLVMUtil_init__]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.XMLVMUtil", "init", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVM_SOURCE_POSITION("XMLVMUtil.java", 38)
+ _r0.o = __NEW_java_io_PrintStream();
+ _r1.o = __NEW_org_xmlvm_runtime_XMLVMOutputStream();
+ XMLVM_CHECK_NPE(1)
+ org_xmlvm_runtime_XMLVMOutputStream___INIT___(_r1.o);
+ XMLVM_CHECK_NPE(0)
+ java_io_PrintStream___INIT____java_io_OutputStream(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("XMLVMUtil.java", 39)
+ java_lang_System_setOut___java_io_PrintStream(_r0.o);
+ XMLVM_SOURCE_POSITION("XMLVMUtil.java", 40)
+ java_lang_System_setErr___java_io_PrintStream(_r0.o);
+ XMLVM_SOURCE_POSITION("XMLVMUtil.java", 41)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+void org_xmlvm_runtime_XMLVMUtil_notImplemented__()
+{
+ XMLVM_CLASS_INIT(org_xmlvm_runtime_XMLVMUtil)
+ //XMLVM_BEGIN_WRAPPER[org_xmlvm_runtime_XMLVMUtil_notImplemented__]
+ XMLVM_ENTER_METHOD("org.xmlvm.runtime.XMLVMUtil", "notImplemented", "?")
+ XMLVMElem _r0;
+ XMLVMElem _r1;
+ XMLVM_SOURCE_POSITION("XMLVMUtil.java", 44)
+ _r0.o = java_lang_System_GET_err();
+ // "XMLVMUtil.notImplemented()"
+ _r1.o = xmlvm_create_java_string_from_pool(667);
+ XMLVM_CHECK_NPE(0)
+ java_io_PrintStream_println___java_lang_String(_r0.o, _r1.o);
+ XMLVM_SOURCE_POSITION("XMLVMUtil.java", 45)
+ _r0.i = -1;
+ java_lang_System_exit___int(_r0.i);
+ XMLVM_SOURCE_POSITION("XMLVMUtil.java", 46)
+ XMLVM_EXIT_METHOD()
+ return;
+ //XMLVM_END_WRAPPER
+}
+
+//XMLVM_NATIVE[JAVA_OBJECT org_xmlvm_runtime_XMLVMUtil_getCurrentWorkingDirectory__()]
+
diff --git a/tests/nbody-java/org_xmlvm_runtime_XMLVMUtil.h b/tests/nbody-java/org_xmlvm_runtime_XMLVMUtil.h
new file mode 100644
index 00000000..3d10b169
--- /dev/null
+++ b/tests/nbody-java/org_xmlvm_runtime_XMLVMUtil.h
@@ -0,0 +1,70 @@
+#ifndef __ORG_XMLVM_RUNTIME_XMLVMUTIL__
+#define __ORG_XMLVM_RUNTIME_XMLVMUTIL__
+
+#include "xmlvm.h"
+
+// Preprocessor constants for interfaces:
+#define XMLVM_ITABLE_SIZE_org_xmlvm_runtime_XMLVMUtil 0
+// Implemented interfaces:
+// Super Class:
+#include "java_lang_Object.h"
+
+// Circular references:
+#ifndef XMLVM_FORWARD_DECL_java_io_PrintStream
+#define XMLVM_FORWARD_DECL_java_io_PrintStream
+XMLVM_FORWARD_DECL(java_io_PrintStream)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_String
+#define XMLVM_FORWARD_DECL_java_lang_String
+XMLVM_FORWARD_DECL(java_lang_String)
+#endif
+#ifndef XMLVM_FORWARD_DECL_java_lang_System
+#define XMLVM_FORWARD_DECL_java_lang_System
+XMLVM_FORWARD_DECL(java_lang_System)
+#endif
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_XMLVMOutputStream
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_XMLVMOutputStream
+XMLVM_FORWARD_DECL(org_xmlvm_runtime_XMLVMOutputStream)
+#endif
+// Class declarations for org.xmlvm.runtime.XMLVMUtil
+XMLVM_DEFINE_CLASS(org_xmlvm_runtime_XMLVMUtil, 6, XMLVM_ITABLE_SIZE_org_xmlvm_runtime_XMLVMUtil)
+
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMUtil;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMUtil_1ARRAY;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMUtil_2ARRAY;
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_XMLVMUtil_3ARRAY;
+//XMLVM_BEGIN_DECLARATIONS
+#define __ADDITIONAL_INSTANCE_FIELDS_org_xmlvm_runtime_XMLVMUtil
+//XMLVM_END_DECLARATIONS
+
+#define __INSTANCE_FIELDS_org_xmlvm_runtime_XMLVMUtil \
+ __INSTANCE_FIELDS_java_lang_Object; \
+ struct { \
+ __ADDITIONAL_INSTANCE_FIELDS_org_xmlvm_runtime_XMLVMUtil \
+ } org_xmlvm_runtime_XMLVMUtil
+
+struct org_xmlvm_runtime_XMLVMUtil {
+ __TIB_DEFINITION_org_xmlvm_runtime_XMLVMUtil* tib;
+ struct {
+ __INSTANCE_FIELDS_org_xmlvm_runtime_XMLVMUtil;
+ } fields;
+};
+#ifndef XMLVM_FORWARD_DECL_org_xmlvm_runtime_XMLVMUtil
+#define XMLVM_FORWARD_DECL_org_xmlvm_runtime_XMLVMUtil
+typedef struct org_xmlvm_runtime_XMLVMUtil org_xmlvm_runtime_XMLVMUtil;
+#endif
+
+#define XMLVM_VTABLE_SIZE_org_xmlvm_runtime_XMLVMUtil 6
+
+void __INIT_org_xmlvm_runtime_XMLVMUtil();
+void __INIT_IMPL_org_xmlvm_runtime_XMLVMUtil();
+void __DELETE_org_xmlvm_runtime_XMLVMUtil(void* me, void* client_data);
+void __INIT_INSTANCE_MEMBERS_org_xmlvm_runtime_XMLVMUtil(JAVA_OBJECT me, int derivedClassWillRegisterFinalizer);
+JAVA_OBJECT __NEW_org_xmlvm_runtime_XMLVMUtil();
+JAVA_OBJECT __NEW_INSTANCE_org_xmlvm_runtime_XMLVMUtil();
+void org_xmlvm_runtime_XMLVMUtil___INIT___(JAVA_OBJECT me);
+void org_xmlvm_runtime_XMLVMUtil_init__();
+void org_xmlvm_runtime_XMLVMUtil_notImplemented__();
+JAVA_OBJECT org_xmlvm_runtime_XMLVMUtil_getCurrentWorkingDirectory__();
+
+#endif
diff --git a/tests/nbody-java/uthash.h b/tests/nbody-java/uthash.h
new file mode 100644
index 00000000..ffdc6cd3
--- /dev/null
+++ b/tests/nbody-java/uthash.h
@@ -0,0 +1,904 @@
+/*
+Copyright (c) 2003-2011, Troy D. Hanson http://uthash.sourceforge.net
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#ifndef UTHASH_H
+#define UTHASH_H
+
+#include <string.h> /* memcmp,strlen */
+#include <stddef.h> /* ptrdiff_t */
+#include <stdlib.h> /* exit() */
+
+/* These macros use decltype or the earlier __typeof GNU extension.
+ As decltype is only available in newer compilers (VS2010 or gcc 4.3+
+ when compiling c++ source) this code uses whatever method is needed
+ or, for VS2008 where neither is available, uses casting workarounds. */
+#ifdef _MSC_VER /* MS compiler */
+#if _MSC_VER >= 1600 && defined(__cplusplus) /* VS2010 or newer in C++ mode */
+#define DECLTYPE(x) (decltype(x))
+#else /* VS2008 or older (or VS2010 in C mode) */
+#define NO_DECLTYPE
+#define DECLTYPE(x)
+#endif
+#else /* GNU, Sun and other compilers */
+#define DECLTYPE(x) (__typeof(x))
+#endif
+
+#ifdef NO_DECLTYPE
+#define DECLTYPE_ASSIGN(dst,src) \
+do { \
+ char **_da_dst = (char**)(&(dst)); \
+ *_da_dst = (char*)(src); \
+} while(0)
+#else
+#define DECLTYPE_ASSIGN(dst,src) \
+do { \
+ (dst) = DECLTYPE(dst)(src); \
+} while(0)
+#endif
+
+/* a number of the hash function use uint32_t which isn't defined on win32 */
+#ifdef _MSC_VER
+typedef unsigned int uint32_t;
+typedef unsigned char uint8_t;
+#else
+#include <inttypes.h> /* uint32_t */
+#endif
+
+#define UTHASH_VERSION 1.9.4
+
+#define uthash_fatal(msg) exit(-1) /* fatal error (out of memory,etc) */
+#define uthash_malloc(sz) malloc(sz) /* malloc fcn */
+#define uthash_free(ptr,sz) free(ptr) /* free fcn */
+
+#define uthash_noexpand_fyi(tbl) /* can be defined to log noexpand */
+#define uthash_expand_fyi(tbl) /* can be defined to log expands */
+
+/* initial number of buckets */
+#define HASH_INITIAL_NUM_BUCKETS 32 /* initial number of buckets */
+#define HASH_INITIAL_NUM_BUCKETS_LOG2 5 /* lg2 of initial number of buckets */
+#define HASH_BKT_CAPACITY_THRESH 10 /* expand when bucket count reaches */
+
+/* calculate the element whose hash handle address is hhe */
+#define ELMT_FROM_HH(tbl,hhp) ((void*)(((char*)(hhp)) - ((tbl)->hho)))
+
+#define HASH_FIND(hh,head,keyptr,keylen,out) \
+do { \
+ unsigned _hf_bkt,_hf_hashv; \
+ out=NULL; \
+ if (head) { \
+ HASH_FCN(keyptr,keylen, (head)->hh.tbl->num_buckets, _hf_hashv, _hf_bkt); \
+ if (HASH_BLOOM_TEST((head)->hh.tbl, _hf_hashv)) { \
+ HASH_FIND_IN_BKT((head)->hh.tbl, hh, (head)->hh.tbl->buckets[ _hf_bkt ], \
+ keyptr,keylen,out); \
+ } \
+ } \
+} while (0)
+
+#ifdef HASH_BLOOM
+#define HASH_BLOOM_BITLEN (1ULL << HASH_BLOOM)
+#define HASH_BLOOM_BYTELEN (HASH_BLOOM_BITLEN/8) + ((HASH_BLOOM_BITLEN%8) ? 1:0)
+#define HASH_BLOOM_MAKE(tbl) \
+do { \
+ (tbl)->bloom_nbits = HASH_BLOOM; \
+ (tbl)->bloom_bv = (uint8_t*)uthash_malloc(HASH_BLOOM_BYTELEN); \
+ if (!((tbl)->bloom_bv)) { uthash_fatal( "out of memory"); } \
+ memset((tbl)->bloom_bv, 0, HASH_BLOOM_BYTELEN); \
+ (tbl)->bloom_sig = HASH_BLOOM_SIGNATURE; \
+} while (0);
+
+#define HASH_BLOOM_FREE(tbl) \
+do { \
+ uthash_free((tbl)->bloom_bv, HASH_BLOOM_BYTELEN); \
+} while (0);
+
+#define HASH_BLOOM_BITSET(bv,idx) (bv[(idx)/8] |= (1U << ((idx)%8)))
+#define HASH_BLOOM_BITTEST(bv,idx) (bv[(idx)/8] & (1U << ((idx)%8)))
+
+#define HASH_BLOOM_ADD(tbl,hashv) \
+ HASH_BLOOM_BITSET((tbl)->bloom_bv, (hashv & (uint32_t)((1ULL << (tbl)->bloom_nbits) - 1)))
+
+#define HASH_BLOOM_TEST(tbl,hashv) \
+ HASH_BLOOM_BITTEST((tbl)->bloom_bv, (hashv & (uint32_t)((1ULL << (tbl)->bloom_nbits) - 1)))
+
+#else
+#define HASH_BLOOM_MAKE(tbl)
+#define HASH_BLOOM_FREE(tbl)
+#define HASH_BLOOM_ADD(tbl,hashv)
+#define HASH_BLOOM_TEST(tbl,hashv) (1)
+#endif
+
+#define HASH_MAKE_TABLE(hh,head) \
+do { \
+ (head)->hh.tbl = (UT_hash_table*)uthash_malloc( \
+ sizeof(UT_hash_table)); \
+ if (!((head)->hh.tbl)) { uthash_fatal( "out of memory"); } \
+ memset((head)->hh.tbl, 0, sizeof(UT_hash_table)); \
+ (head)->hh.tbl->tail = &((head)->hh); \
+ (head)->hh.tbl->num_buckets = HASH_INITIAL_NUM_BUCKETS; \
+ (head)->hh.tbl->log2_num_buckets = HASH_INITIAL_NUM_BUCKETS_LOG2; \
+ (head)->hh.tbl->hho = (char*)(&(head)->hh) - (char*)(head); \
+ (head)->hh.tbl->buckets = (UT_hash_bucket*)uthash_malloc( \
+ HASH_INITIAL_NUM_BUCKETS*sizeof(struct UT_hash_bucket)); \
+ if (! (head)->hh.tbl->buckets) { uthash_fatal( "out of memory"); } \
+ memset((head)->hh.tbl->buckets, 0, \
+ HASH_INITIAL_NUM_BUCKETS*sizeof(struct UT_hash_bucket)); \
+ HASH_BLOOM_MAKE((head)->hh.tbl); \
+ (head)->hh.tbl->signature = HASH_SIGNATURE; \
+} while(0)
+
+#define HASH_ADD(hh,head,fieldname,keylen_in,add) \
+ HASH_ADD_KEYPTR(hh,head,&add->fieldname,keylen_in,add)
+
+#define HASH_ADD_KEYPTR(hh,head,keyptr,keylen_in,add) \
+do { \
+ unsigned _ha_bkt; \
+ (add)->hh.next = NULL; \
+ (add)->hh.key = (char*)keyptr; \
+ (add)->hh.keylen = keylen_in; \
+ if (!(head)) { \
+ head = (add); \
+ (head)->hh.prev = NULL; \
+ HASH_MAKE_TABLE(hh,head); \
+ } else { \
+ (head)->hh.tbl->tail->next = (add); \
+ (add)->hh.prev = ELMT_FROM_HH((head)->hh.tbl, (head)->hh.tbl->tail); \
+ (head)->hh.tbl->tail = &((add)->hh); \
+ } \
+ (head)->hh.tbl->num_items++; \
+ (add)->hh.tbl = (head)->hh.tbl; \
+ HASH_FCN(keyptr,keylen_in, (head)->hh.tbl->num_buckets, \
+ (add)->hh.hashv, _ha_bkt); \
+ HASH_ADD_TO_BKT((head)->hh.tbl->buckets[_ha_bkt],&(add)->hh); \
+ HASH_BLOOM_ADD((head)->hh.tbl,(add)->hh.hashv); \
+ HASH_EMIT_KEY(hh,head,keyptr,keylen_in); \
+ HASH_FSCK(hh,head); \
+} while(0)
+
+#define HASH_TO_BKT( hashv, num_bkts, bkt ) \
+do { \
+ bkt = ((hashv) & ((num_bkts) - 1)); \
+} while(0)
+
+/* delete "delptr" from the hash table.
+ * "the usual" patch-up process for the app-order doubly-linked-list.
+ * The use of _hd_hh_del below deserves special explanation.
+ * These used to be expressed using (delptr) but that led to a bug
+ * if someone used the same symbol for the head and deletee, like
+ * HASH_DELETE(hh,users,users);
+ * We want that to work, but by changing the head (users) below
+ * we were forfeiting our ability to further refer to the deletee (users)
+ * in the patch-up process. Solution: use scratch space to
+ * copy the deletee pointer, then the latter references are via that
+ * scratch pointer rather than through the repointed (users) symbol.
+ */
+#define HASH_DELETE(hh,head,delptr) \
+do { \
+ unsigned _hd_bkt; \
+ struct UT_hash_handle *_hd_hh_del; \
+ if ( ((delptr)->hh.prev == NULL) && ((delptr)->hh.next == NULL) ) { \
+ uthash_free((head)->hh.tbl->buckets, \
+ (head)->hh.tbl->num_buckets*sizeof(struct UT_hash_bucket) ); \
+ HASH_BLOOM_FREE((head)->hh.tbl); \
+ uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \
+ head = NULL; \
+ } else { \
+ _hd_hh_del = &((delptr)->hh); \
+ if ((delptr) == ELMT_FROM_HH((head)->hh.tbl,(head)->hh.tbl->tail)) { \
+ (head)->hh.tbl->tail = \
+ (UT_hash_handle*)((char*)((delptr)->hh.prev) + \
+ (head)->hh.tbl->hho); \
+ } \
+ if ((delptr)->hh.prev) { \
+ ((UT_hash_handle*)((char*)((delptr)->hh.prev) + \
+ (head)->hh.tbl->hho))->next = (delptr)->hh.next; \
+ } else { \
+ DECLTYPE_ASSIGN(head,(delptr)->hh.next); \
+ } \
+ if (_hd_hh_del->next) { \
+ ((UT_hash_handle*)((char*)_hd_hh_del->next + \
+ (head)->hh.tbl->hho))->prev = \
+ _hd_hh_del->prev; \
+ } \
+ HASH_TO_BKT( _hd_hh_del->hashv, (head)->hh.tbl->num_buckets, _hd_bkt); \
+ HASH_DEL_IN_BKT(hh,(head)->hh.tbl->buckets[_hd_bkt], _hd_hh_del); \
+ (head)->hh.tbl->num_items--; \
+ } \
+ HASH_FSCK(hh,head); \
+} while (0)
+
+
+/* convenience forms of HASH_FIND/HASH_ADD/HASH_DEL */
+#define HASH_FIND_STR(head,findstr,out) \
+ HASH_FIND(hh,head,findstr,strlen(findstr),out)
+#define HASH_ADD_STR(head,strfield,add) \
+ HASH_ADD(hh,head,strfield,strlen(add->strfield),add)
+#define HASH_FIND_INT(head,findint,out) \
+ HASH_FIND(hh,head,findint,sizeof(int),out)
+#define HASH_ADD_INT(head,intfield,add) \
+ HASH_ADD(hh,head,intfield,sizeof(int),add)
+#define HASH_FIND_PTR(head,findptr,out) \
+ HASH_FIND(hh,head,findptr,sizeof(void *),out)
+#define HASH_ADD_PTR(head,ptrfield,add) \
+ HASH_ADD(hh,head,ptrfield,sizeof(void *),add)
+#define HASH_DEL(head,delptr) \
+ HASH_DELETE(hh,head,delptr)
+
+/* HASH_FSCK checks hash integrity on every add/delete when HASH_DEBUG is defined.
+ * This is for uthash developer only; it compiles away if HASH_DEBUG isn't defined.
+ */
+#ifdef HASH_DEBUG
+#define HASH_OOPS(...) do { fprintf(stderr,__VA_ARGS__); exit(-1); } while (0)
+#define HASH_FSCK(hh,head) \
+do { \
+ unsigned _bkt_i; \
+ unsigned _count, _bkt_count; \
+ char *_prev; \
+ struct UT_hash_handle *_thh; \
+ if (head) { \
+ _count = 0; \
+ for( _bkt_i = 0; _bkt_i < (head)->hh.tbl->num_buckets; _bkt_i++) { \
+ _bkt_count = 0; \
+ _thh = (head)->hh.tbl->buckets[_bkt_i].hh_head; \
+ _prev = NULL; \
+ while (_thh) { \
+ if (_prev != (char*)(_thh->hh_prev)) { \
+ HASH_OOPS("invalid hh_prev %p, actual %p\n", \
+ _thh->hh_prev, _prev ); \
+ } \
+ _bkt_count++; \
+ _prev = (char*)(_thh); \
+ _thh = _thh->hh_next; \
+ } \
+ _count += _bkt_count; \
+ if ((head)->hh.tbl->buckets[_bkt_i].count != _bkt_count) { \
+ HASH_OOPS("invalid bucket count %d, actual %d\n", \
+ (head)->hh.tbl->buckets[_bkt_i].count, _bkt_count); \
+ } \
+ } \
+ if (_count != (head)->hh.tbl->num_items) { \
+ HASH_OOPS("invalid hh item count %d, actual %d\n", \
+ (head)->hh.tbl->num_items, _count ); \
+ } \
+ /* traverse hh in app order; check next/prev integrity, count */ \
+ _count = 0; \
+ _prev = NULL; \
+ _thh = &(head)->hh; \
+ while (_thh) { \
+ _count++; \
+ if (_prev !=(char*)(_thh->prev)) { \
+ HASH_OOPS("invalid prev %p, actual %p\n", \
+ _thh->prev, _prev ); \
+ } \
+ _prev = (char*)ELMT_FROM_HH((head)->hh.tbl, _thh); \
+ _thh = ( _thh->next ? (UT_hash_handle*)((char*)(_thh->next) + \
+ (head)->hh.tbl->hho) : NULL ); \
+ } \
+ if (_count != (head)->hh.tbl->num_items) { \
+ HASH_OOPS("invalid app item count %d, actual %d\n", \
+ (head)->hh.tbl->num_items, _count ); \
+ } \
+ } \
+} while (0)
+#else
+#define HASH_FSCK(hh,head)
+#endif
+
+/* When compiled with -DHASH_EMIT_KEYS, length-prefixed keys are emitted to
+ * the descriptor to which this macro is defined for tuning the hash function.
+ * The app can #include <unistd.h> to get the prototype for write(2). */
+#ifdef HASH_EMIT_KEYS
+#define HASH_EMIT_KEY(hh,head,keyptr,fieldlen) \
+do { \
+ unsigned _klen = fieldlen; \
+ write(HASH_EMIT_KEYS, &_klen, sizeof(_klen)); \
+ write(HASH_EMIT_KEYS, keyptr, fieldlen); \
+} while (0)
+#else
+#define HASH_EMIT_KEY(hh,head,keyptr,fieldlen)
+#endif
+
+/* default to Jenkin's hash unless overridden e.g. DHASH_FUNCTION=HASH_SAX */
+#ifdef HASH_FUNCTION
+#define HASH_FCN HASH_FUNCTION
+#else
+#define HASH_FCN HASH_JEN
+#endif
+
+/* The Bernstein hash function, used in Perl prior to v5.6 */
+#define HASH_BER(key,keylen,num_bkts,hashv,bkt) \
+do { \
+ unsigned _hb_keylen=keylen; \
+ char *_hb_key=(char*)(key); \
+ (hashv) = 0; \
+ while (_hb_keylen--) { (hashv) = ((hashv) * 33) + *_hb_key++; } \
+ bkt = (hashv) & (num_bkts-1); \
+} while (0)
+
+
+/* SAX/FNV/OAT/JEN hash functions are macro variants of those listed at
+ * http://eternallyconfuzzled.com/tuts/algorithms/jsw_tut_hashing.aspx */
+#define HASH_SAX(key,keylen,num_bkts,hashv,bkt) \
+do { \
+ unsigned _sx_i; \
+ char *_hs_key=(char*)(key); \
+ hashv = 0; \
+ for(_sx_i=0; _sx_i < keylen; _sx_i++) \
+ hashv ^= (hashv << 5) + (hashv >> 2) + _hs_key[_sx_i]; \
+ bkt = hashv & (num_bkts-1); \
+} while (0)
+
+#define HASH_FNV(key,keylen,num_bkts,hashv,bkt) \
+do { \
+ unsigned _fn_i; \
+ char *_hf_key=(char*)(key); \
+ hashv = 2166136261UL; \
+ for(_fn_i=0; _fn_i < keylen; _fn_i++) \
+ hashv = (hashv * 16777619) ^ _hf_key[_fn_i]; \
+ bkt = hashv & (num_bkts-1); \
+} while(0);
+
+#define HASH_OAT(key,keylen,num_bkts,hashv,bkt) \
+do { \
+ unsigned _ho_i; \
+ char *_ho_key=(char*)(key); \
+ hashv = 0; \
+ for(_ho_i=0; _ho_i < keylen; _ho_i++) { \
+ hashv += _ho_key[_ho_i]; \
+ hashv += (hashv << 10); \
+ hashv ^= (hashv >> 6); \
+ } \
+ hashv += (hashv << 3); \
+ hashv ^= (hashv >> 11); \
+ hashv += (hashv << 15); \
+ bkt = hashv & (num_bkts-1); \
+} while(0)
+
+#define HASH_JEN_MIX(a,b,c) \
+do { \
+ a -= b; a -= c; a ^= ( c >> 13 ); \
+ b -= c; b -= a; b ^= ( a << 8 ); \
+ c -= a; c -= b; c ^= ( b >> 13 ); \
+ a -= b; a -= c; a ^= ( c >> 12 ); \
+ b -= c; b -= a; b ^= ( a << 16 ); \
+ c -= a; c -= b; c ^= ( b >> 5 ); \
+ a -= b; a -= c; a ^= ( c >> 3 ); \
+ b -= c; b -= a; b ^= ( a << 10 ); \
+ c -= a; c -= b; c ^= ( b >> 15 ); \
+} while (0)
+
+#define HASH_JEN(key,keylen,num_bkts,hashv,bkt) \
+do { \
+ unsigned _hj_i,_hj_j,_hj_k; \
+ char *_hj_key=(char*)(key); \
+ hashv = 0xfeedbeef; \
+ _hj_i = _hj_j = 0x9e3779b9; \
+ _hj_k = keylen; \
+ while (_hj_k >= 12) { \
+ _hj_i += (_hj_key[0] + ( (unsigned)_hj_key[1] << 8 ) \
+ + ( (unsigned)_hj_key[2] << 16 ) \
+ + ( (unsigned)_hj_key[3] << 24 ) ); \
+ _hj_j += (_hj_key[4] + ( (unsigned)_hj_key[5] << 8 ) \
+ + ( (unsigned)_hj_key[6] << 16 ) \
+ + ( (unsigned)_hj_key[7] << 24 ) ); \
+ hashv += (_hj_key[8] + ( (unsigned)_hj_key[9] << 8 ) \
+ + ( (unsigned)_hj_key[10] << 16 ) \
+ + ( (unsigned)_hj_key[11] << 24 ) ); \
+ \
+ HASH_JEN_MIX(_hj_i, _hj_j, hashv); \
+ \
+ _hj_key += 12; \
+ _hj_k -= 12; \
+ } \
+ hashv += keylen; \
+ switch ( _hj_k ) { \
+ case 11: hashv += ( (unsigned)_hj_key[10] << 24 ); \
+ case 10: hashv += ( (unsigned)_hj_key[9] << 16 ); \
+ case 9: hashv += ( (unsigned)_hj_key[8] << 8 ); \
+ case 8: _hj_j += ( (unsigned)_hj_key[7] << 24 ); \
+ case 7: _hj_j += ( (unsigned)_hj_key[6] << 16 ); \
+ case 6: _hj_j += ( (unsigned)_hj_key[5] << 8 ); \
+ case 5: _hj_j += _hj_key[4]; \
+ case 4: _hj_i += ( (unsigned)_hj_key[3] << 24 ); \
+ case 3: _hj_i += ( (unsigned)_hj_key[2] << 16 ); \
+ case 2: _hj_i += ( (unsigned)_hj_key[1] << 8 ); \
+ case 1: _hj_i += _hj_key[0]; \
+ } \
+ HASH_JEN_MIX(_hj_i, _hj_j, hashv); \
+ bkt = hashv & (num_bkts-1); \
+} while(0)
+
+/* The Paul Hsieh hash function */
+#undef get16bits
+#if (defined(__GNUC__) && defined(__i386__)) || defined(__WATCOMC__) \
+ || defined(_MSC_VER) || defined (__BORLANDC__) || defined (__TURBOC__)
+#define get16bits(d) (*((const uint16_t *) (d)))
+#endif
+
+#if !defined (get16bits)
+#define get16bits(d) ((((uint32_t)(((const uint8_t *)(d))[1])) << 8) \
+ +(uint32_t)(((const uint8_t *)(d))[0]) )
+#endif
+#define HASH_SFH(key,keylen,num_bkts,hashv,bkt) \
+do { \
+ char *_sfh_key=(char*)(key); \
+ uint32_t _sfh_tmp, _sfh_len = keylen; \
+ \
+ int _sfh_rem = _sfh_len & 3; \
+ _sfh_len >>= 2; \
+ hashv = 0xcafebabe; \
+ \
+ /* Main loop */ \
+ for (;_sfh_len > 0; _sfh_len--) { \
+ hashv += get16bits (_sfh_key); \
+ _sfh_tmp = (get16bits (_sfh_key+2) << 11) ^ hashv; \
+ hashv = (hashv << 16) ^ _sfh_tmp; \
+ _sfh_key += 2*sizeof (uint16_t); \
+ hashv += hashv >> 11; \
+ } \
+ \
+ /* Handle end cases */ \
+ switch (_sfh_rem) { \
+ case 3: hashv += get16bits (_sfh_key); \
+ hashv ^= hashv << 16; \
+ hashv ^= _sfh_key[sizeof (uint16_t)] << 18; \
+ hashv += hashv >> 11; \
+ break; \
+ case 2: hashv += get16bits (_sfh_key); \
+ hashv ^= hashv << 11; \
+ hashv += hashv >> 17; \
+ break; \
+ case 1: hashv += *_sfh_key; \
+ hashv ^= hashv << 10; \
+ hashv += hashv >> 1; \
+ } \
+ \
+ /* Force "avalanching" of final 127 bits */ \
+ hashv ^= hashv << 3; \
+ hashv += hashv >> 5; \
+ hashv ^= hashv << 4; \
+ hashv += hashv >> 17; \
+ hashv ^= hashv << 25; \
+ hashv += hashv >> 6; \
+ bkt = hashv & (num_bkts-1); \
+} while(0);
+
+#ifdef HASH_USING_NO_STRICT_ALIASING
+/* The MurmurHash exploits some CPU's (x86,x86_64) tolerance for unaligned reads.
+ * For other types of CPU's (e.g. Sparc) an unaligned read causes a bus error.
+ * MurmurHash uses the faster approach only on CPU's where we know it's safe.
+ *
+ * Note the preprocessor built-in defines can be emitted using:
+ *
+ * gcc -m64 -dM -E - < /dev/null (on gcc)
+ * cc -## a.c (where a.c is a simple test file) (Sun Studio)
+ */
+#if (defined(__i386__) || defined(__x86_64__))
+#define MUR_GETBLOCK(p,i) p[i]
+#else /* non intel */
+#define MUR_PLUS0_ALIGNED(p) (((unsigned long)p & 0x3) == 0)
+#define MUR_PLUS1_ALIGNED(p) (((unsigned long)p & 0x3) == 1)
+#define MUR_PLUS2_ALIGNED(p) (((unsigned long)p & 0x3) == 2)
+#define MUR_PLUS3_ALIGNED(p) (((unsigned long)p & 0x3) == 3)
+#define WP(p) ((uint32_t*)((unsigned long)(p) & ~3UL))
+#if (defined(__BIG_ENDIAN__) || defined(SPARC) || defined(__ppc__) || defined(__ppc64__))
+#define MUR_THREE_ONE(p) ((((*WP(p))&0x00ffffff) << 8) | (((*(WP(p)+1))&0xff000000) >> 24))
+#define MUR_TWO_TWO(p) ((((*WP(p))&0x0000ffff) <<16) | (((*(WP(p)+1))&0xffff0000) >> 16))
+#define MUR_ONE_THREE(p) ((((*WP(p))&0x000000ff) <<24) | (((*(WP(p)+1))&0xffffff00) >> 8))
+#else /* assume little endian non-intel */
+#define MUR_THREE_ONE(p) ((((*WP(p))&0xffffff00) >> 8) | (((*(WP(p)+1))&0x000000ff) << 24))
+#define MUR_TWO_TWO(p) ((((*WP(p))&0xffff0000) >>16) | (((*(WP(p)+1))&0x0000ffff) << 16))
+#define MUR_ONE_THREE(p) ((((*WP(p))&0xff000000) >>24) | (((*(WP(p)+1))&0x00ffffff) << 8))
+#endif
+#define MUR_GETBLOCK(p,i) (MUR_PLUS0_ALIGNED(p) ? ((p)[i]) : \
+ (MUR_PLUS1_ALIGNED(p) ? MUR_THREE_ONE(p) : \
+ (MUR_PLUS2_ALIGNED(p) ? MUR_TWO_TWO(p) : \
+ MUR_ONE_THREE(p))))
+#endif
+#define MUR_ROTL32(x,r) (((x) << (r)) | ((x) >> (32 - (r))))
+#define MUR_FMIX(_h) \
+do { \
+ _h ^= _h >> 16; \
+ _h *= 0x85ebca6b; \
+ _h ^= _h >> 13; \
+ _h *= 0xc2b2ae35l; \
+ _h ^= _h >> 16; \
+} while(0)
+
+#define HASH_MUR(key,keylen,num_bkts,hashv,bkt) \
+do { \
+ const uint8_t *_mur_data = (const uint8_t*)(key); \
+ const int _mur_nblocks = (keylen) / 4; \
+ uint32_t _mur_h1 = 0xf88D5353; \
+ uint32_t _mur_c1 = 0xcc9e2d51; \
+ uint32_t _mur_c2 = 0x1b873593; \
+ const uint32_t *_mur_blocks = (const uint32_t*)(_mur_data+_mur_nblocks*4); \
+ int _mur_i; \
+ for(_mur_i = -_mur_nblocks; _mur_i; _mur_i++) { \
+ uint32_t _mur_k1 = MUR_GETBLOCK(_mur_blocks,_mur_i); \
+ _mur_k1 *= _mur_c1; \
+ _mur_k1 = MUR_ROTL32(_mur_k1,15); \
+ _mur_k1 *= _mur_c2; \
+ \
+ _mur_h1 ^= _mur_k1; \
+ _mur_h1 = MUR_ROTL32(_mur_h1,13); \
+ _mur_h1 = _mur_h1*5+0xe6546b64; \
+ } \
+ const uint8_t *_mur_tail = (const uint8_t*)(_mur_data + _mur_nblocks*4); \
+ uint32_t _mur_k1=0; \
+ switch((keylen) & 3) { \
+ case 3: _mur_k1 ^= _mur_tail[2] << 16; \
+ case 2: _mur_k1 ^= _mur_tail[1] << 8; \
+ case 1: _mur_k1 ^= _mur_tail[0]; \
+ _mur_k1 *= _mur_c1; \
+ _mur_k1 = MUR_ROTL32(_mur_k1,15); \
+ _mur_k1 *= _mur_c2; \
+ _mur_h1 ^= _mur_k1; \
+ } \
+ _mur_h1 ^= (keylen); \
+ MUR_FMIX(_mur_h1); \
+ hashv = _mur_h1; \
+ bkt = hashv & (num_bkts-1); \
+} while(0)
+#endif /* HASH_USING_NO_STRICT_ALIASING */
+
+/* key comparison function; return 0 if keys equal */
+#define HASH_KEYCMP(a,b,len) memcmp(a,b,len)
+
+/* iterate over items in a known bucket to find desired item */
+#define HASH_FIND_IN_BKT(tbl,hh,head,keyptr,keylen_in,out) \
+do { \
+ if (head.hh_head) DECLTYPE_ASSIGN(out,ELMT_FROM_HH(tbl,head.hh_head)); \
+ else out=NULL; \
+ while (out) { \
+ if (out->hh.keylen == keylen_in) { \
+ if ((HASH_KEYCMP(out->hh.key,keyptr,keylen_in)) == 0) break; \
+ } \
+ if (out->hh.hh_next) DECLTYPE_ASSIGN(out,ELMT_FROM_HH(tbl,out->hh.hh_next)); \
+ else out = NULL; \
+ } \
+} while(0)
+
+/* add an item to a bucket */
+#define HASH_ADD_TO_BKT(head,addhh) \
+do { \
+ head.count++; \
+ (addhh)->hh_next = head.hh_head; \
+ (addhh)->hh_prev = NULL; \
+ if (head.hh_head) { (head).hh_head->hh_prev = (addhh); } \
+ (head).hh_head=addhh; \
+ if (head.count >= ((head.expand_mult+1) * HASH_BKT_CAPACITY_THRESH) \
+ && (addhh)->tbl->noexpand != 1) { \
+ HASH_EXPAND_BUCKETS((addhh)->tbl); \
+ } \
+} while(0)
+
+/* remove an item from a given bucket */
+#define HASH_DEL_IN_BKT(hh,head,hh_del) \
+ (head).count--; \
+ if ((head).hh_head == hh_del) { \
+ (head).hh_head = hh_del->hh_next; \
+ } \
+ if (hh_del->hh_prev) { \
+ hh_del->hh_prev->hh_next = hh_del->hh_next; \
+ } \
+ if (hh_del->hh_next) { \
+ hh_del->hh_next->hh_prev = hh_del->hh_prev; \
+ }
+
+/* Bucket expansion has the effect of doubling the number of buckets
+ * and redistributing the items into the new buckets. Ideally the
+ * items will distribute more or less evenly into the new buckets
+ * (the extent to which this is true is a measure of the quality of
+ * the hash function as it applies to the key domain).
+ *
+ * With the items distributed into more buckets, the chain length
+ * (item count) in each bucket is reduced. Thus by expanding buckets
+ * the hash keeps a bound on the chain length. This bounded chain
+ * length is the essence of how a hash provides constant time lookup.
+ *
+ * The calculation of tbl->ideal_chain_maxlen below deserves some
+ * explanation. First, keep in mind that we're calculating the ideal
+ * maximum chain length based on the *new* (doubled) bucket count.
+ * In fractions this is just n/b (n=number of items,b=new num buckets).
+ * Since the ideal chain length is an integer, we want to calculate
+ * ceil(n/b). We don't depend on floating point arithmetic in this
+ * hash, so to calculate ceil(n/b) with integers we could write
+ *
+ * ceil(n/b) = (n/b) + ((n%b)?1:0)
+ *
+ * and in fact a previous version of this hash did just that.
+ * But now we have improved things a bit by recognizing that b is
+ * always a power of two. We keep its base 2 log handy (call it lb),
+ * so now we can write this with a bit shift and logical AND:
+ *
+ * ceil(n/b) = (n>>lb) + ( (n & (b-1)) ? 1:0)
+ *
+ */
+#define HASH_EXPAND_BUCKETS(tbl) \
+do { \
+ unsigned _he_bkt; \
+ unsigned _he_bkt_i; \
+ struct UT_hash_handle *_he_thh, *_he_hh_nxt; \
+ UT_hash_bucket *_he_new_buckets, *_he_newbkt; \
+ _he_new_buckets = (UT_hash_bucket*)uthash_malloc( \
+ 2 * tbl->num_buckets * sizeof(struct UT_hash_bucket)); \
+ if (!_he_new_buckets) { uthash_fatal( "out of memory"); } \
+ memset(_he_new_buckets, 0, \
+ 2 * tbl->num_buckets * sizeof(struct UT_hash_bucket)); \
+ tbl->ideal_chain_maxlen = \
+ (tbl->num_items >> (tbl->log2_num_buckets+1)) + \
+ ((tbl->num_items & ((tbl->num_buckets*2)-1)) ? 1 : 0); \
+ tbl->nonideal_items = 0; \
+ for(_he_bkt_i = 0; _he_bkt_i < tbl->num_buckets; _he_bkt_i++) \
+ { \
+ _he_thh = tbl->buckets[ _he_bkt_i ].hh_head; \
+ while (_he_thh) { \
+ _he_hh_nxt = _he_thh->hh_next; \
+ HASH_TO_BKT( _he_thh->hashv, tbl->num_buckets*2, _he_bkt); \
+ _he_newbkt = &(_he_new_buckets[ _he_bkt ]); \
+ if (++(_he_newbkt->count) > tbl->ideal_chain_maxlen) { \
+ tbl->nonideal_items++; \
+ _he_newbkt->expand_mult = _he_newbkt->count / \
+ tbl->ideal_chain_maxlen; \
+ } \
+ _he_thh->hh_prev = NULL; \
+ _he_thh->hh_next = _he_newbkt->hh_head; \
+ if (_he_newbkt->hh_head) _he_newbkt->hh_head->hh_prev = \
+ _he_thh; \
+ _he_newbkt->hh_head = _he_thh; \
+ _he_thh = _he_hh_nxt; \
+ } \
+ } \
+ uthash_free( tbl->buckets, tbl->num_buckets*sizeof(struct UT_hash_bucket) ); \
+ tbl->num_buckets *= 2; \
+ tbl->log2_num_buckets++; \
+ tbl->buckets = _he_new_buckets; \
+ tbl->ineff_expands = (tbl->nonideal_items > (tbl->num_items >> 1)) ? \
+ (tbl->ineff_expands+1) : 0; \
+ if (tbl->ineff_expands > 1) { \
+ tbl->noexpand=1; \
+ uthash_noexpand_fyi(tbl); \
+ } \
+ uthash_expand_fyi(tbl); \
+} while(0)
+
+
+/* This is an adaptation of Simon Tatham's O(n log(n)) mergesort */
+/* Note that HASH_SORT assumes the hash handle name to be hh.
+ * HASH_SRT was added to allow the hash handle name to be passed in. */
+#define HASH_SORT(head,cmpfcn) HASH_SRT(hh,head,cmpfcn)
+#define HASH_SRT(hh,head,cmpfcn) \
+do { \
+ unsigned _hs_i; \
+ unsigned _hs_looping,_hs_nmerges,_hs_insize,_hs_psize,_hs_qsize; \
+ struct UT_hash_handle *_hs_p, *_hs_q, *_hs_e, *_hs_list, *_hs_tail; \
+ if (head) { \
+ _hs_insize = 1; \
+ _hs_looping = 1; \
+ _hs_list = &((head)->hh); \
+ while (_hs_looping) { \
+ _hs_p = _hs_list; \
+ _hs_list = NULL; \
+ _hs_tail = NULL; \
+ _hs_nmerges = 0; \
+ while (_hs_p) { \
+ _hs_nmerges++; \
+ _hs_q = _hs_p; \
+ _hs_psize = 0; \
+ for ( _hs_i = 0; _hs_i < _hs_insize; _hs_i++ ) { \
+ _hs_psize++; \
+ _hs_q = (UT_hash_handle*)((_hs_q->next) ? \
+ ((void*)((char*)(_hs_q->next) + \
+ (head)->hh.tbl->hho)) : NULL); \
+ if (! (_hs_q) ) break; \
+ } \
+ _hs_qsize = _hs_insize; \
+ while ((_hs_psize > 0) || ((_hs_qsize > 0) && _hs_q )) { \
+ if (_hs_psize == 0) { \
+ _hs_e = _hs_q; \
+ _hs_q = (UT_hash_handle*)((_hs_q->next) ? \
+ ((void*)((char*)(_hs_q->next) + \
+ (head)->hh.tbl->hho)) : NULL); \
+ _hs_qsize--; \
+ } else if ( (_hs_qsize == 0) || !(_hs_q) ) { \
+ _hs_e = _hs_p; \
+ _hs_p = (UT_hash_handle*)((_hs_p->next) ? \
+ ((void*)((char*)(_hs_p->next) + \
+ (head)->hh.tbl->hho)) : NULL); \
+ _hs_psize--; \
+ } else if (( \
+ cmpfcn(DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl,_hs_p)), \
+ DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl,_hs_q))) \
+ ) <= 0) { \
+ _hs_e = _hs_p; \
+ _hs_p = (UT_hash_handle*)((_hs_p->next) ? \
+ ((void*)((char*)(_hs_p->next) + \
+ (head)->hh.tbl->hho)) : NULL); \
+ _hs_psize--; \
+ } else { \
+ _hs_e = _hs_q; \
+ _hs_q = (UT_hash_handle*)((_hs_q->next) ? \
+ ((void*)((char*)(_hs_q->next) + \
+ (head)->hh.tbl->hho)) : NULL); \
+ _hs_qsize--; \
+ } \
+ if ( _hs_tail ) { \
+ _hs_tail->next = ((_hs_e) ? \
+ ELMT_FROM_HH((head)->hh.tbl,_hs_e) : NULL); \
+ } else { \
+ _hs_list = _hs_e; \
+ } \
+ _hs_e->prev = ((_hs_tail) ? \
+ ELMT_FROM_HH((head)->hh.tbl,_hs_tail) : NULL); \
+ _hs_tail = _hs_e; \
+ } \
+ _hs_p = _hs_q; \
+ } \
+ _hs_tail->next = NULL; \
+ if ( _hs_nmerges <= 1 ) { \
+ _hs_looping=0; \
+ (head)->hh.tbl->tail = _hs_tail; \
+ DECLTYPE_ASSIGN(head,ELMT_FROM_HH((head)->hh.tbl, _hs_list)); \
+ } \
+ _hs_insize *= 2; \
+ } \
+ HASH_FSCK(hh,head); \
+ } \
+} while (0)
+
+/* This function selects items from one hash into another hash.
+ * The end result is that the selected items have dual presence
+ * in both hashes. There is no copy of the items made; rather
+ * they are added into the new hash through a secondary hash
+ * hash handle that must be present in the structure. */
+#define HASH_SELECT(hh_dst, dst, hh_src, src, cond) \
+do { \
+ unsigned _src_bkt, _dst_bkt; \
+ void *_last_elt=NULL, *_elt; \
+ UT_hash_handle *_src_hh, *_dst_hh, *_last_elt_hh=NULL; \
+ ptrdiff_t _dst_hho = ((char*)(&(dst)->hh_dst) - (char*)(dst)); \
+ if (src) { \
+ for(_src_bkt=0; _src_bkt < (src)->hh_src.tbl->num_buckets; _src_bkt++) { \
+ for(_src_hh = (src)->hh_src.tbl->buckets[_src_bkt].hh_head; \
+ _src_hh; \
+ _src_hh = _src_hh->hh_next) { \
+ _elt = ELMT_FROM_HH((src)->hh_src.tbl, _src_hh); \
+ if (cond(_elt)) { \
+ _dst_hh = (UT_hash_handle*)(((char*)_elt) + _dst_hho); \
+ _dst_hh->key = _src_hh->key; \
+ _dst_hh->keylen = _src_hh->keylen; \
+ _dst_hh->hashv = _src_hh->hashv; \
+ _dst_hh->prev = _last_elt; \
+ _dst_hh->next = NULL; \
+ if (_last_elt_hh) { _last_elt_hh->next = _elt; } \
+ if (!dst) { \
+ DECLTYPE_ASSIGN(dst,_elt); \
+ HASH_MAKE_TABLE(hh_dst,dst); \
+ } else { \
+ _dst_hh->tbl = (dst)->hh_dst.tbl; \
+ } \
+ HASH_TO_BKT(_dst_hh->hashv, _dst_hh->tbl->num_buckets, _dst_bkt); \
+ HASH_ADD_TO_BKT(_dst_hh->tbl->buckets[_dst_bkt],_dst_hh); \
+ (dst)->hh_dst.tbl->num_items++; \
+ _last_elt = _elt; \
+ _last_elt_hh = _dst_hh; \
+ } \
+ } \
+ } \
+ } \
+ HASH_FSCK(hh_dst,dst); \
+} while (0)
+
+#define HASH_CLEAR(hh,head) \
+do { \
+ if (head) { \
+ uthash_free((head)->hh.tbl->buckets, \
+ (head)->hh.tbl->num_buckets*sizeof(struct UT_hash_bucket)); \
+ uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \
+ (head)=NULL; \
+ } \
+} while(0)
+
+#ifdef NO_DECLTYPE
+#define HASH_ITER(hh,head,el,tmp) \
+for((el)=(head), (*(char**)(&(tmp)))=(char*)((head)?(head)->hh.next:NULL); \
+ el; (el)=(tmp),(*(char**)(&(tmp)))=(char*)((tmp)?(tmp)->hh.next:NULL))
+#else
+#define HASH_ITER(hh,head,el,tmp) \
+for((el)=(head),(tmp)=DECLTYPE(el)((head)?(head)->hh.next:NULL); \
+ el; (el)=(tmp),(tmp)=DECLTYPE(el)((tmp)?(tmp)->hh.next:NULL))
+#endif
+
+/* obtain a count of items in the hash */
+#define HASH_COUNT(head) HASH_CNT(hh,head)
+#define HASH_CNT(hh,head) ((head)?((head)->hh.tbl->num_items):0)
+
+typedef struct UT_hash_bucket {
+ struct UT_hash_handle *hh_head;
+ unsigned count;
+
+ /* expand_mult is normally set to 0. In this situation, the max chain length
+ * threshold is enforced at its default value, HASH_BKT_CAPACITY_THRESH. (If
+ * the bucket's chain exceeds this length, bucket expansion is triggered).
+ * However, setting expand_mult to a non-zero value delays bucket expansion
+ * (that would be triggered by additions to this particular bucket)
+ * until its chain length reaches a *multiple* of HASH_BKT_CAPACITY_THRESH.
+ * (The multiplier is simply expand_mult+1). The whole idea of this
+ * multiplier is to reduce bucket expansions, since they are expensive, in
+ * situations where we know that a particular bucket tends to be overused.
+ * It is better to let its chain length grow to a longer yet-still-bounded
+ * value, than to do an O(n) bucket expansion too often.
+ */
+ unsigned expand_mult;
+
+} UT_hash_bucket;
+
+/* random signature used only to find hash tables in external analysis */
+#define HASH_SIGNATURE 0xa0111fe1
+#define HASH_BLOOM_SIGNATURE 0xb12220f2
+
+typedef struct UT_hash_table {
+ UT_hash_bucket *buckets;
+ unsigned num_buckets, log2_num_buckets;
+ unsigned num_items;
+ struct UT_hash_handle *tail; /* tail hh in app order, for fast append */
+ ptrdiff_t hho; /* hash handle offset (byte pos of hash handle in element */
+
+ /* in an ideal situation (all buckets used equally), no bucket would have
+ * more than ceil(#items/#buckets) items. that's the ideal chain length. */
+ unsigned ideal_chain_maxlen;
+
+ /* nonideal_items is the number of items in the hash whose chain position
+ * exceeds the ideal chain maxlen. these items pay the penalty for an uneven
+ * hash distribution; reaching them in a chain traversal takes >ideal steps */
+ unsigned nonideal_items;
+
+ /* ineffective expands occur when a bucket doubling was performed, but
+ * afterward, more than half the items in the hash had nonideal chain
+ * positions. If this happens on two consecutive expansions we inhibit any
+ * further expansion, as it's not helping; this happens when the hash
+ * function isn't a good fit for the key domain. When expansion is inhibited
+ * the hash will still work, albeit no longer in constant time. */
+ unsigned ineff_expands, noexpand;
+
+ uint32_t signature; /* used only to find hash tables in external analysis */
+#ifdef HASH_BLOOM
+ uint32_t bloom_sig; /* used only to test bloom exists in external analysis */
+ uint8_t *bloom_bv;
+ char bloom_nbits;
+#endif
+
+} UT_hash_table;
+
+typedef struct UT_hash_handle {
+ struct UT_hash_table *tbl;
+ void *prev; /* prev element in app order */
+ void *next; /* next element in app order */
+ struct UT_hash_handle *hh_prev; /* previous hh in bucket order */
+ struct UT_hash_handle *hh_next; /* next hh in bucket order */
+ void *key; /* ptr to enclosing struct's key */
+ unsigned keylen; /* enclosing struct's key len */
+ unsigned hashv; /* result of hash-fcn(key) */
+} UT_hash_handle;
+
+#endif /* UTHASH_H */
diff --git a/tests/nbody-java/xmlvm-file.c b/tests/nbody-java/xmlvm-file.c
new file mode 100644
index 00000000..5085d6d2
--- /dev/null
+++ b/tests/nbody-java/xmlvm-file.c
@@ -0,0 +1,314 @@
+
+/*
+ * Copyright (c) 2002-2011 by XMLVM.org
+ *
+ * Project Info: http://www.xmlvm.org
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ * USA.
+ */
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <dirent.h>
+#include <fcntl.h>
+
+#include "xmlvm-hy.h"
+#include "xmlvm-file.h"
+#include "hycomp.h"
+
+
+/**
+ * This will convert all separators to the proper platform separator
+ * and remove duplicates on non POSIX platforms.
+ */
+void ioh_convertToPlatform (char *path)
+{
+ char *pathIndex;
+#if !(DIR_SEPARATOR == '/')
+ size_t length = strlen (path);
+#endif
+
+ /* Convert all separators to the same type */
+ pathIndex = path;
+ while (*pathIndex != '\0')
+ {
+ if ((*pathIndex == '\\' || *pathIndex == '/')
+ && (*pathIndex != DIR_SEPARATOR))
+ *pathIndex = DIR_SEPARATOR;
+ pathIndex++;
+ }
+
+#if !(DIR_SEPARATOR == '/')
+ /* Remove duplicate initial separators */
+ pathIndex = path;
+ while ((*pathIndex != '\0') && (*pathIndex == DIR_SEPARATOR))
+ {
+ pathIndex++;
+ }
+ if ((pathIndex > path) && ((int)length > (pathIndex - path))
+ && (*(pathIndex + 1) == ':'))
+ {
+ /* For Example '////c:/!*' (! added to avoid gcc warning) */
+ size_t newlen = length - (pathIndex - path);
+ memmove (path, pathIndex, newlen);
+ path[newlen] = '\0';
+ }
+ else
+ {
+ if ((pathIndex - path > 3) && ((int)length > (pathIndex - path)))
+ {
+ /* For Example '////serverName/!*' (! added to avoid gcc warning) */
+ size_t newlen = length - (pathIndex - path) + 2;
+ memmove (path, pathIndex - 2, newlen);
+ path[newlen] = '\0';
+ }
+ }
+ /* This will have to handle extra \'s but currently doesn't */
+#endif
+
+}
+
+
+static I_32
+EsTranslateOpenFlags (I_32 flags)
+{
+ I_32 realFlags = 0;
+
+ if (flags & HyOpenAppend)
+ {
+ realFlags |= O_APPEND;
+ }
+ if (flags & HyOpenTruncate)
+ {
+ realFlags |= O_TRUNC;
+ }
+ if (flags & HyOpenCreate)
+ {
+ realFlags |= O_CREAT;
+ }
+ if (flags & HyOpenCreateNew)
+ {
+ realFlags |= O_EXCL | O_CREAT;
+ }
+#ifdef O_SYNC
+ if (flags & HyOpenSync) {
+ realFlags |= O_SYNC;
+ }
+#endif
+ if (flags & HyOpenRead)
+ {
+ if (flags & HyOpenWrite)
+ {
+ return (O_RDWR | realFlags);
+ }
+ return (O_RDONLY | realFlags);
+ }
+ if (flags & HyOpenWrite)
+ {
+ return (O_WRONLY | realFlags);
+ }
+ return -1;
+}
+
+
+static I_32 findError (I_32 errorCode)
+{
+ switch (errorCode)
+ {
+ case EACCES:
+ case EPERM:
+ return HYPORT_ERROR_FILE_NOPERMISSION;
+ case ENAMETOOLONG:
+ return HYPORT_ERROR_FILE_NAMETOOLONG;
+ case ENOENT:
+ return HYPORT_ERROR_FILE_NOENT;
+ case ENOTDIR:
+ return HYPORT_ERROR_FILE_NOTDIR;
+ case ELOOP:
+ return HYPORT_ERROR_FILE_LOOP;
+
+ case EBADF:
+ return HYPORT_ERROR_FILE_BADF;
+ case EEXIST:
+ return HYPORT_ERROR_FILE_EXIST;
+ case ENOSPC:
+ case EFBIG:
+ return HYPORT_ERROR_FILE_DISKFULL;
+ default:
+ return HYPORT_ERROR_FILE_OPFAILED;
+ }
+}
+
+
+
+I_32 hyfile_close (IDATA fd)
+{
+
+#if (FD_BIAS != 0)
+ if (fd < FD_BIAS) {
+ /* Cannot close STD streams, and no other FD's should exist <FD_BIAS */
+ return -1;
+ }
+#endif
+
+ return close ((int) (fd - FD_BIAS));
+}
+
+
+
+IDATA hyfile_open (const char *path, I_32 flags, I_32 mode)
+{
+ struct stat buffer;
+ I_32 fd;
+ I_32 realFlags = EsTranslateOpenFlags (flags);
+ I_32 fdflags;
+
+ // Trc_PRT_file_open_Entry (path, flags, mode);
+
+ if (realFlags == -1)
+ {
+ // Trc_PRT_file_open_Exit1 (flags);
+ hyerror_set_last_error(EINVAL, findError(EINVAL));
+ return -1;
+ }
+
+ if ( ( flags&HyOpenRead && !(flags&HyOpenWrite) ) && !stat (path, &buffer))
+ {
+ if (S_ISDIR (buffer.st_mode))
+ {
+ hyerror_set_last_error_with_message(findError(EEXIST), "Is a directory");
+ // Trc_PRT_file_open_Exit4 ();
+ return -1;
+ }
+ }
+
+ fd = open (path, realFlags, mode);
+
+ if (-1 == fd)
+ {
+ // Trc_PRT_file_open_Exit2 (errno, findError (errno));
+ int rc = errno;
+ hyerror_set_last_error(rc, findError(rc));
+ return -1;
+ }
+
+ /* Tag this descriptor as being non-inheritable */
+ fdflags = fcntl (fd, F_GETFD, 0);
+ fcntl (fd, F_SETFD, fdflags | FD_CLOEXEC);
+
+ fd += FD_BIAS;
+ // Trc_PRT_file_open_Exit (fd);
+ return (IDATA) fd;
+}
+
+
+
+IDATA hyfile_read (IDATA fd, void *buf, IDATA nbytes)
+{
+ IDATA result;
+ if (nbytes == 0)
+ {
+ return 0;
+ }
+
+#ifdef ZOS
+ if (fd == HYPORT_TTY_IN) {
+ result = fread(buf, sizeof(char), nbytes, stdin);
+ } else if (fd < FD_BIAS) {
+ /* Cannot read from STDOUT/ERR, and no other FD's should exist <FD_BIAS */
+ return -1;
+ } else
+#endif /* ZOS */
+ {
+ result = read ((int) (fd - FD_BIAS), buf, nbytes);
+ }
+
+ if (result == 0)
+ {
+ return -1;
+ }
+ else
+ {
+ return result;
+ }
+}
+
+
+
+I_64 hyfile_seek (IDATA inFD, I_64 offset, I_32 whence)
+{
+ int fd = (int)inFD;
+ off_t localOffset = (off_t) offset;
+
+ if ((whence < HySeekSet) || (whence > HySeekEnd))
+ {
+ return -1;
+ }
+
+ /* If file offsets are 32 bit, truncate the seek to that range */
+ if (sizeof (off_t) < sizeof (I_64))
+ {
+ if (offset > 0x7FFFFFFF)
+ {
+ localOffset = 0x7FFFFFFF;
+ }
+ else if (offset < -0x7FFFFFFF)
+ {
+ localOffset = -0x7FFFFFFF;
+ }
+ }
+
+#if (FD_BIAS != 0)
+ if (fd < FD_BIAS) {
+ /* Cannot seek on STD streams, and no other FD's should exist <FD_BIAS */
+ return -1;
+ }
+#endif
+
+ return (I_64) lseek ((int) (fd - FD_BIAS), localOffset, whence);
+}
+
+
+
+IDATA hyfile_write (IDATA fd, const void *buf, IDATA nbytes)
+{
+ IDATA rc = 0;
+
+#ifdef ZOS
+ if (fd == HYPORT_TTY_OUT) {
+ rc = fwrite(buf, sizeof(char), nbytes, stdout);
+ } else if (fd == HYPORT_TTY_ERR) {
+ rc = fwrite(buf, sizeof(char), nbytes, stderr);
+ } else if (fd < FD_BIAS) {
+ /* Cannot fsync STDIN, and no other FD's should exist <FD_BIAS */
+ return -1;
+ } else
+#endif /* ZOS */
+ {
+ /* write will just do the right thing for HYPORT_TTY_OUT and HYPORT_TTY_ERR */
+ rc = write ((int) (fd - FD_BIAS), buf, nbytes);
+ }
+
+ if (rc == -1)
+ {
+ int rc = errno;
+ return hyerror_set_last_error(rc, findError(rc));
+ }
+
+ return rc;
+}
diff --git a/tests/nbody-java/xmlvm-file.h b/tests/nbody-java/xmlvm-file.h
new file mode 100644
index 00000000..15fc1cd3
--- /dev/null
+++ b/tests/nbody-java/xmlvm-file.h
@@ -0,0 +1,74 @@
+
+/*
+ * Copyright (c) 2002-2011 by XMLVM.org
+ *
+ * Project Info: http://www.xmlvm.org
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ * USA.
+ */
+
+#ifndef __XMLVM_FILE_H__
+
+#define __XMLVM_FILE_H__
+
+#include "xmlvm.h"
+
+#ifdef ZOS
+#define FD_BIAS 1000
+#undef fwrite
+#undef fread
+#else
+#define FD_BIAS 0
+#endif /* ZOS */
+
+#define HyMaxPath 1024
+
+#define org_apache_harmony_luni_platform_IFileSystem_SHARED_LOCK_TYPE 1L
+#define org_apache_harmony_luni_platform_IFileSystem_EXCLUSIVE_LOCK_TYPE 2L
+#define org_apache_harmony_luni_platform_IFileSystem_SEEK_SET 1L
+#define org_apache_harmony_luni_platform_IFileSystem_SEEK_CUR 2L
+#define org_apache_harmony_luni_platform_IFileSystem_SEEK_END 4L
+#define org_apache_harmony_luni_platform_IFileSystem_O_RDONLY 0L
+#define org_apache_harmony_luni_platform_IFileSystem_O_WRONLY 1L
+#define org_apache_harmony_luni_platform_IFileSystem_O_RDWR 16L
+#define org_apache_harmony_luni_platform_IFileSystem_O_RDWRSYNC 32L
+#define org_apache_harmony_luni_platform_IFileSystem_O_APPEND 256L
+#define org_apache_harmony_luni_platform_IFileSystem_O_CREAT 4096L
+#define org_apache_harmony_luni_platform_IFileSystem_O_EXCL 65536L
+#define org_apache_harmony_luni_platform_IFileSystem_O_NOCTTY 1048576L
+#define org_apache_harmony_luni_platform_IFileSystem_O_NONBLOCK 16777216L
+#define org_apache_harmony_luni_platform_IFileSystem_O_TRUNC 268435456L
+
+#define HyOpenRead 1 /* Values for HyFileOpen */
+#define HyOpenWrite 2
+#define HyOpenCreate 4
+#define HyOpenTruncate 8
+#define HyOpenAppend 16
+#define HyOpenText 32
+#define HyOpenCreateNew 64 /* Use this flag with HyOpenCreate, if this flag is specified then trying to create an existing file will fail */
+#define HyOpenSync 128
+#define HyIsDir 0 /* Return values for HyFileAttr */
+#define HyIsFile 1
+
+
+void ioh_convertToPlatform (char *path);
+IDATA hyfile_open (const char *path, I_32 flags, I_32 mode);
+IDATA hyfile_read (IDATA fd, void *buf, IDATA nbytes);
+I_64 hyfile_seek (IDATA inFD, I_64 offset, I_32 whence);
+IDATA hyfile_write (IDATA fd, const void *buf, IDATA nbytes);
+
+
+#endif
diff --git a/tests/nbody-java/xmlvm-hy.c b/tests/nbody-java/xmlvm-hy.c
new file mode 100644
index 00000000..dfb04a24
--- /dev/null
+++ b/tests/nbody-java/xmlvm-hy.c
@@ -0,0 +1,255 @@
+
+/*
+ * Copyright (c) 2002-2011 by XMLVM.org
+ *
+ * Project Info: http://www.xmlvm.org
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ * USA.
+ */
+
+#include "xmlvm.h"
+#include "xmlvm-hy.h"
+
+
+const char* errorMessage (I_32 errorCode)
+{
+ PortlibPTBuffers_t ptBuffers;
+
+ ptBuffers = hyport_tls_peek ();
+ if (0 == ptBuffers->errorMessageBufferSize)
+ {
+ ptBuffers->errorMessageBuffer = XMLVM_ATOMIC_MALLOC(HYERROR_DEFAULT_BUFFER_SIZE);
+ if (NULL == ptBuffers->errorMessageBuffer)
+ {
+ return "";
+ }
+ ptBuffers->errorMessageBufferSize = HYERROR_DEFAULT_BUFFER_SIZE;
+ }
+
+ /* Copy from OS to ptBuffers */
+#if !defined(ZOS)
+ strerror_r(errorCode,
+ ptBuffers->errorMessageBuffer, ptBuffers->errorMessageBufferSize);
+#else
+ /* Do not have strerror_r on z/OS so use port library function instead */
+ portLibrary->str_printf(portLibrary, ptBuffers->errorMessageBuffer, ptBuffers->errorMessageBufferSize, strerror(errorCode));
+#endif /* ZOS */
+ ptBuffers->errorMessageBuffer[ptBuffers->errorMessageBufferSize - 1] = '\0';
+ return ptBuffers->errorMessageBuffer;
+}
+
+
+static const char* swapMessageBuffer (PortlibPTBuffers_t ptBuffers, const char *message)
+{
+ char *tempBuffer = ptBuffers->reportedMessageBuffer;
+ U_32 tempBufferSize = ptBuffers->reportedMessageBufferSize;
+
+ if (message == NULL)
+ {
+ return "";
+ }
+
+ /* Can't swap unknown message buffer */
+ if (message != ptBuffers->errorMessageBuffer)
+ {
+ return message;
+ }
+
+ /* Save reported information */
+ ptBuffers->reportedErrorCode = ptBuffers->portableErrorCode;
+ ptBuffers->reportedMessageBuffer = ptBuffers->errorMessageBuffer;
+ ptBuffers->reportedMessageBufferSize = ptBuffers->errorMessageBufferSize;
+
+ if (tempBufferSize > 0)
+ {
+ tempBuffer[0] = '\0';
+ }
+
+ /* Clear pending fields ready for next error */
+ ptBuffers->portableErrorCode = 0;
+ ptBuffers->errorMessageBuffer = tempBuffer;
+ ptBuffers->errorMessageBufferSize = tempBufferSize;
+
+ return ptBuffers->reportedMessageBuffer;
+}
+
+
+void* hyport_tls_get ()
+{
+ java_lang_Thread* curThread = (java_lang_Thread*) java_lang_Thread_currentThread__();
+ if (curThread->fields.java_lang_Thread.ptBuffers_ == JAVA_NULL) {
+ curThread->fields.java_lang_Thread.ptBuffers_ = XMLVM_MALLOC(sizeof(PortlibPTBuffers_struct));
+ XMLVM_BZERO(curThread->fields.java_lang_Thread.ptBuffers_, sizeof(PortlibPTBuffers_struct));
+ }
+
+ return curThread->fields.java_lang_Thread.ptBuffers_;
+}
+
+
+void* hyport_tls_peek ()
+{
+ java_lang_Thread* curThread = (java_lang_Thread*) java_lang_Thread_currentThread__();
+ return curThread->fields.java_lang_Thread.ptBuffers_;
+}
+
+
+const char* hyerror_last_error_message ()
+{
+ PortlibPTBuffers_t ptBuffers;
+
+ /* Was an error saved ? */
+ ptBuffers = hyport_tls_peek ();
+ if (NULL == ptBuffers)
+ {
+ return "";
+ }
+
+ /* New error ? */
+ if (ptBuffers->portableErrorCode != 0)
+ {
+ const char *message = NULL;
+
+ /* Customized message stored ? */
+ if (ptBuffers->errorMessageBufferSize > 0)
+ {
+ if ('\0' != ptBuffers->errorMessageBuffer[0])
+ {
+ message = ptBuffers->errorMessageBuffer;
+ }
+ }
+
+ /* Call a helper to get the last message from the OS. */
+ if (message == NULL)
+ {
+ message = errorMessage (ptBuffers->platformErrorCode);
+ }
+
+ /* Avoid overwrite by internal portlib errors */
+ return swapMessageBuffer (ptBuffers, message);
+ }
+
+ /* Previous message stored ? */
+ if (ptBuffers->reportedMessageBufferSize > 0)
+ {
+ if ('\0' != ptBuffers->reportedMessageBuffer[0])
+ {
+ return ptBuffers->reportedMessageBuffer;
+ }
+ }
+
+ /* No error. */
+ return "";
+}
+
+
+I_32 hyerror_last_error_number ()
+{
+ PortlibPTBuffers_t ptBuffers;
+
+ /* get the buffers, return failure if not present */
+ ptBuffers = hyport_tls_peek ();
+ if (NULL == ptBuffers)
+ {
+ return 0;
+ }
+
+ /* New error ? */
+ if (ptBuffers->portableErrorCode != 0)
+ {
+ return ptBuffers->portableErrorCode;
+ }
+ else
+ {
+ return ptBuffers->reportedErrorCode;
+ }
+}
+
+
+I_32 hyerror_set_last_error (I_32 platformCode, I_32 portableCode)
+{
+ PortlibPTBuffers_t ptBuffers;
+
+ /* get the buffers, allocate if necessary.
+ * Silently return if not present, what else would the caller do anyway?
+ */
+ ptBuffers = hyport_tls_get ();
+ if (NULL == ptBuffers)
+ {
+ return portableCode;
+ }
+
+ /* Save the last error */
+ ptBuffers->platformErrorCode = platformCode;
+ ptBuffers->portableErrorCode = portableCode;
+
+ /* Overwrite any customized messages stored */
+ if (ptBuffers->errorMessageBufferSize > 0)
+ {
+ ptBuffers->errorMessageBuffer[0] = '\0';
+ }
+
+ return portableCode;
+}
+
+
+I_32 hyerror_set_last_error_with_message (I_32 portableCode, const char *errorMessage)
+{
+ PortlibPTBuffers_t ptBuffers;
+ U_32 requiredSize;
+
+ /* get the buffers, allocate if necessary.
+ * Silently return if not present, what else would the caller do anyway?
+ */
+ ptBuffers = hyport_tls_get ();
+ if (NULL == ptBuffers)
+ {
+ return portableCode;
+ }
+
+ /* Save the last error */
+ ptBuffers->platformErrorCode = -1;
+ ptBuffers->portableErrorCode = portableCode;
+
+ /* Store the message, allocate a bigger buffer if required. Keep the old buffer around
+ * just in case memory can not be allocated
+ */
+ requiredSize = strlen (errorMessage) + 1;
+ requiredSize =
+ requiredSize <
+ HYERROR_DEFAULT_BUFFER_SIZE ? HYERROR_DEFAULT_BUFFER_SIZE : requiredSize;
+ if (requiredSize > ptBuffers->errorMessageBufferSize)
+ {
+ char *newBuffer = XMLVM_ATOMIC_MALLOC(requiredSize);
+ if (NULL != newBuffer)
+ {
+ if (ptBuffers->errorMessageBuffer != NULL)
+ {
+ XMLVM_FREE(ptBuffers->errorMessageBuffer);
+ }
+ ptBuffers->errorMessageBuffer = newBuffer;
+ ptBuffers->errorMessageBufferSize = requiredSize;
+ }
+ }
+
+ /* Save the message */
+ if (ptBuffers->errorMessageBufferSize > 0)
+ {
+ sprintf(ptBuffers->errorMessageBuffer, "%s", errorMessage);
+ ptBuffers->errorMessageBuffer[ptBuffers->errorMessageBufferSize - 1] = '\0';
+ }
+
+ return portableCode;
+}
diff --git a/tests/nbody-java/xmlvm-hy.h b/tests/nbody-java/xmlvm-hy.h
new file mode 100644
index 00000000..843a2753
--- /dev/null
+++ b/tests/nbody-java/xmlvm-hy.h
@@ -0,0 +1,121 @@
+/*
+ * Copyright (c) 2002-2011 by XMLVM.org
+ *
+ * Project Info: http://www.xmlvm.org
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ * USA.
+ */
+
+#ifndef __XMLVM_HY_H__
+
+#define __XMLVM_HY_H__
+
+#ifdef __APPLE__
+#define MACOSX
+#endif
+
+#include "xmlvm.h"
+#include "hycomp.h"
+#include "hysock.h"
+#include "hysocket.h"
+
+
+#define HYERROR_DEFAULT_BUFFER_SIZE 256 /**< default customized error message size if we need to create one */
+
+#if defined(__linux__)
+#define DIR_SEPARATOR '/'
+#endif
+
+
+typedef struct PortlibPTBuffers_struct
+{
+ I_32 platformErrorCode; /**< error code as reported by the OS */
+ I_32 portableErrorCode; /**< error code translated to portable format by application */
+ char *errorMessageBuffer; /**< last saved error message, either customized or from OS */
+ U_32 errorMessageBufferSize; /**< error message buffer size */
+ I_32 reportedErrorCode; /**< last reported error code */
+ char *reportedMessageBuffer; /**< last reported error message, either customized or from OS */
+ U_32 reportedMessageBufferSize; /**< reported message buffer size */
+ hyfdset_t fdset;
+
+#if HOSTENT_DATA_R||GLIBC_R||OTHER_R||NO_R
+ OSHOSTENT hostent;
+#endif
+
+#if HOSTENT_DATA_R
+ OSHOSTENT_DATA *hostent_data;
+#elif GLIBC_R || OTHER_R || NO_R
+ int gethostBufferSize;
+ char *gethostBuffer;
+#endif /* HOSTENT_DATA_R */
+
+} PortlibPTBuffers_struct;
+
+typedef struct PortlibPTBuffers_struct *PortlibPTBuffers_t;
+
+
+typedef pthread_mutex_t MUTEX;
+
+/* MUTEX_INIT */
+#define MUTEX_INIT(mutex) (pthread_mutex_init(&(mutex), NULL) == 0)
+
+/* MUTEX_DESTROY */
+#define MUTEX_DESTROY(mutex) pthread_mutex_destroy(&(mutex))
+
+/* MUTEX_ENTER */
+#define MUTEX_ENTER(mutex) pthread_mutex_lock(&(mutex))
+
+/*
+ * MUTEX_TRY_ENTER
+ * returns 0 on success
+ */
+#define MUTEX_TRY_ENTER(mutex) pthread_mutex_trylock(&(mutex))
+
+/* MUTEX_EXIT */
+#define MUTEX_EXIT(mutex) pthread_mutex_unlock(&(mutex))
+
+
+#if defined(SEEK_SET)
+#define HySeekSet SEEK_SET /* Values for HyFileSeek */
+#else
+#define HySeekSet 0
+#endif
+
+#if defined(SEEK_CUR)
+#define HySeekCur SEEK_CUR
+#else
+#define HySeekCur 1
+#endif
+
+#if defined(SEEK_END)
+#define HySeekEnd SEEK_END
+#else
+#define HySeekEnd 2
+#endif
+
+
+typedef JAVA_INT jsize;
+
+
+void* hyport_tls_get ();
+void* hyport_tls_peek ();
+const char* hyerror_last_error_message ();
+I_32 hyerror_last_error_number ();
+I_32 hyerror_set_last_error (I_32 platformCode, I_32 portableCode);
+I_32 hyerror_set_last_error_with_message (I_32 portableCode, const char *errorMessage);
+
+
+#endif
diff --git a/tests/nbody-java/xmlvm-number.c b/tests/nbody-java/xmlvm-number.c
new file mode 100644
index 00000000..ae496d54
--- /dev/null
+++ b/tests/nbody-java/xmlvm-number.c
@@ -0,0 +1,327 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * cbigint.c has been adapted for xmlvm
+ */
+#include "xmlvm-number.h"
+
+
+U_32
+simpleMultiplyHighPrecision (U_64 * arg1, IDATA length, U_64 arg2)
+{
+ /* assumes arg2 only holds 32 bits of information */
+ U_64 product;
+ IDATA index;
+
+ index = 0;
+ product = 0;
+
+ do
+ {
+ product =
+ HIGH_IN_U64 (product) + arg2 * LOW_U32_FROM_PTR (arg1 + index);
+ LOW_U32_FROM_PTR (arg1 + index) = LOW_U32_FROM_VAR (product);
+ product =
+ HIGH_IN_U64 (product) + arg2 * HIGH_U32_FROM_PTR (arg1 + index);
+ HIGH_U32_FROM_PTR (arg1 + index) = LOW_U32_FROM_VAR (product);
+ }
+ while (++index < length);
+
+ return HIGH_U32_FROM_VAR (product);
+}
+
+void simpleShiftLeftHighPrecision (U_64 * arg1, IDATA length, IDATA arg2)
+{
+ /* assumes length > 0 */
+ IDATA index, offset;
+ if (arg2 >= 64)
+ {
+ offset = arg2 >> 6;
+ index = length;
+
+ while (--index - offset >= 0)
+ arg1[index] = arg1[index - offset];
+ do
+ {
+ arg1[index] = 0;
+ }
+ while (--index >= 0);
+
+ arg2 &= 0x3F;
+ }
+
+ if (arg2 == 0)
+ return;
+ while (--length > 0)
+ {
+ arg1[length] = arg1[length] << arg2 | arg1[length - 1] >> (64 - arg2);
+ }
+ *arg1 <<= arg2;
+}
+
+
+U_64 simpleMultiplyHighPrecision64 (U_64 * arg1, IDATA length, U_64 arg2)
+{
+ U_64 intermediate, *pArg1, carry1, carry2, prod1, prod2, sum;
+ IDATA index;
+ U_32 buf32;
+
+ index = 0;
+ intermediate = 0;
+ pArg1 = arg1 + index;
+ carry1 = carry2 = 0;
+
+ do
+ {
+ if ((*pArg1 != 0) || (intermediate != 0))
+ {
+ prod1 =
+ (U_64) LOW_U32_FROM_VAR (arg2) * (U_64) LOW_U32_FROM_PTR (pArg1);
+ sum = intermediate + prod1;
+ if ((sum < prod1) || (sum < intermediate))
+ {
+ carry1 = 1;
+ }
+ else
+ {
+ carry1 = 0;
+ }
+ prod1 =
+ (U_64) LOW_U32_FROM_VAR (arg2) * (U_64) HIGH_U32_FROM_PTR (pArg1);
+ prod2 =
+ (U_64) HIGH_U32_FROM_VAR (arg2) * (U_64) LOW_U32_FROM_PTR (pArg1);
+ intermediate = carry2 + HIGH_IN_U64 (sum) + prod1 + prod2;
+ if ((intermediate < prod1) || (intermediate < prod2))
+ {
+ carry2 = 1;
+ }
+ else
+ {
+ carry2 = 0;
+ }
+ LOW_U32_FROM_PTR (pArg1) = LOW_U32_FROM_VAR (sum);
+ buf32 = HIGH_U32_FROM_PTR (pArg1);
+ HIGH_U32_FROM_PTR (pArg1) = LOW_U32_FROM_VAR (intermediate);
+ intermediate = carry1 + HIGH_IN_U64 (intermediate)
+ + (U_64) HIGH_U32_FROM_VAR (arg2) * (U_64) buf32;
+ }
+ pArg1++;
+ }
+ while (++index < length);
+ return intermediate;
+}
+
+U_32 simpleAppendDecimalDigitHighPrecision (U_64 * arg1, IDATA length, U_64 digit)
+{
+ /* assumes digit is less than 32 bits */
+ U_64 arg;
+ IDATA index = 0;
+
+ digit <<= 32;
+ do
+ {
+ arg = LOW_IN_U64 (arg1[index]);
+ digit = HIGH_IN_U64 (digit) + TIMES_TEN (arg);
+ LOW_U32_FROM_PTR (arg1 + index) = LOW_U32_FROM_VAR (digit);
+
+ arg = HIGH_IN_U64 (arg1[index]);
+ digit = HIGH_IN_U64 (digit) + TIMES_TEN (arg);
+ HIGH_U32_FROM_PTR (arg1 + index) = LOW_U32_FROM_VAR (digit);
+ }
+ while (++index < length);
+
+ return HIGH_U32_FROM_VAR (digit);
+}
+
+IDATA timesTenToTheEHighPrecision (U_64 * result, IDATA length, JAVA_INT e)
+{
+ /* assumes result can hold value */
+ U_64 overflow;
+ int exp10 = e;
+
+ if (e == 0)
+ return length;
+
+ while (exp10 >= 19)
+ {
+ overflow = simpleMultiplyHighPrecision64 (result, length, TEN_E19);
+ if (overflow)
+ result[length++] = overflow;
+ exp10 -= 19;
+ }
+ while (exp10 >= 9)
+ {
+ overflow = simpleMultiplyHighPrecision (result, length, TEN_E9);
+ if (overflow)
+ result[length++] = overflow;
+ exp10 -= 9;
+ }
+ if (exp10 == 0)
+ return length;
+ else if (exp10 == 1)
+ {
+ overflow = simpleAppendDecimalDigitHighPrecision (result, length, 0);
+ if (overflow)
+ result[length++] = overflow;
+ }
+ else if (exp10 == 2)
+ {
+ overflow = simpleAppendDecimalDigitHighPrecision (result, length, 0);
+ if (overflow)
+ result[length++] = overflow;
+ overflow = simpleAppendDecimalDigitHighPrecision (result, length, 0);
+ if (overflow)
+ result[length++] = overflow;
+ }
+ else if (exp10 == 3)
+ {
+ overflow = simpleMultiplyHighPrecision (result, length, TEN_E3);
+ if (overflow)
+ result[length++] = overflow;
+ }
+ else if (exp10 == 4)
+ {
+ overflow = simpleMultiplyHighPrecision (result, length, TEN_E4);
+ if (overflow)
+ result[length++] = overflow;
+ }
+ else if (exp10 == 5)
+ {
+ overflow = simpleMultiplyHighPrecision (result, length, TEN_E5);
+ if (overflow)
+ result[length++] = overflow;
+ }
+ else if (exp10 == 6)
+ {
+ overflow = simpleMultiplyHighPrecision (result, length, TEN_E6);
+ if (overflow)
+ result[length++] = overflow;
+ }
+ else if (exp10 == 7)
+ {
+ overflow = simpleMultiplyHighPrecision (result, length, TEN_E7);
+ if (overflow)
+ result[length++] = overflow;
+ }
+ else if (exp10 == 8)
+ {
+ overflow = simpleMultiplyHighPrecision (result, length, TEN_E8);
+ if (overflow)
+ result[length++] = overflow;
+ }
+ return length;
+}
+
+IDATA addHighPrecision (U_64 * arg1, IDATA length1, U_64 * arg2, IDATA length2)
+{
+
+ U_64 temp1, temp2, temp3; /* temporary variables to help the SH-4, and gcc */
+ U_64 carry;
+ IDATA index;
+
+ if (length1 == 0 || length2 == 0)
+ {
+ return 0;
+ }
+ else if (length1 < length2)
+ {
+ length2 = length1;
+ }
+
+ carry = 0;
+ index = 0;
+ do
+ {
+ temp1 = arg1[index];
+ temp2 = arg2[index];
+ temp3 = temp1 + temp2;
+ arg1[index] = temp3 + carry;
+ if (arg2[index] < arg1[index])
+ carry = 0;
+ else if (arg2[index] != arg1[index])
+ carry = 1;
+ }
+ while (++index < length2);
+ if (!carry)
+ return 0;
+ else if (index == length1)
+ return 1;
+
+ while (++arg1[index] == 0 && ++index < length1);
+
+ return (IDATA) index == length1;
+}
+
+IDATA
+compareHighPrecision (U_64 * arg1, IDATA length1, U_64 * arg2, IDATA length2)
+{
+ while (--length1 >= 0 && arg1[length1] == 0);
+ while (--length2 >= 0 && arg2[length2] == 0);
+
+ if (length1 > length2)
+ return 1;
+ else if (length1 < length2)
+ return -1;
+ else if (length1 > -1)
+ {
+ do
+ {
+ if (arg1[length1] > arg2[length1])
+ return 1;
+ else if (arg1[length1] < arg2[length1])
+ return -1;
+ }
+ while (--length1 >= 0);
+ }
+
+ return 0;
+}
+
+IDATA
+simpleAddHighPrecision (U_64 * arg1, IDATA length, U_64 arg2)
+{
+ /* assumes length > 0 */
+ IDATA index = 1;
+
+ *arg1 += arg2;
+ if (arg2 <= *arg1)
+ return 0;
+ else if (length == 1)
+ return 1;
+
+ while (++arg1[index] == 0 && ++index < length);
+
+ return (IDATA) index == length;
+}
+
+void
+subtractHighPrecision (U_64 * arg1, IDATA length1, U_64 * arg2, IDATA length2)
+{
+ /* assumes arg1 > arg2 */
+ IDATA index;
+ for (index = 0; index < length1; ++index)
+ arg1[index] = ~arg1[index];
+ simpleAddHighPrecision (arg1, length1, 1);
+
+ while (length2 > 0 && arg2[length2 - 1] == 0)
+ --length2;
+
+ addHighPrecision (arg1, length1, arg2, length2);
+
+ for (index = 0; index < length1; ++index)
+ arg1[index] = ~arg1[index];
+ simpleAddHighPrecision (arg1, length1, 1);
+}
diff --git a/tests/nbody-java/xmlvm-number.h b/tests/nbody-java/xmlvm-number.h
new file mode 100644
index 00000000..b8164987
--- /dev/null
+++ b/tests/nbody-java/xmlvm-number.h
@@ -0,0 +1,105 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * cbigint.c has been adapted for xmlvm
+ */
+#ifndef __XMLVM_NUMBER_H__
+#define __XMLVM_NUMBER_H__
+
+#include <string.h>
+#include <math.h>
+#include "xmlvm-hy.h"
+#include "hycomp.h"
+
+#define LONG_LO_OFFSET 0
+#define LONG_HI_OFFSET 1
+
+#define LOW_U32_FROM_LONG64_PTR(long64ptr) (((U64U32DBL *)(long64ptr))->u32val[LONG_LO_OFFSET])
+#define HIGH_U32_FROM_LONG64_PTR(long64ptr) (((U64U32DBL *)(long64ptr))->u32val[LONG_HI_OFFSET])
+#define LOW_U32_FROM_VAR(u64) LOW_U32_FROM_LONG64_PTR(&(u64))
+#define LOW_U32_FROM_PTR(u64ptr) LOW_U32_FROM_LONG64_PTR(u64ptr)
+#define HIGH_U32_FROM_VAR(u64) HIGH_U32_FROM_LONG64_PTR(&(u64))
+#define HIGH_U32_FROM_PTR(u64ptr) HIGH_U32_FROM_LONG64_PTR(u64ptr)
+
+
+#define HIGH_IN_U64(u64) ((u64) >> 32)
+#if defined(USE_LL)
+#define LOW_IN_U64(u64) ((u64) & 0x00000000FFFFFFFFLL)
+#else
+#if defined(USE_L)
+#define LOW_IN_U64(u64) ((u64) & 0x00000000FFFFFFFFL)
+#else
+#define LOW_IN_U64(u64) ((u64) & 0x00000000FFFFFFFF)
+#endif /* USE_L */
+#endif /* USE_LL */
+
+typedef union u64u32dbl_tag {
+ U_64 u64val;
+ U_32 u32val[2];
+ I_32 i32val[2];
+ double dval;
+} U64U32DBL;
+
+#if defined(USE_LL)
+#define TEN_E1 (0xALL)
+#define TEN_E2 (0x64LL)
+#define TEN_E3 (0x3E8LL)
+#define TEN_E4 (0x2710LL)
+#define TEN_E5 (0x186A0LL)
+#define TEN_E6 (0xF4240LL)
+#define TEN_E7 (0x989680LL)
+#define TEN_E8 (0x5F5E100LL)
+#define TEN_E9 (0x3B9ACA00LL)
+#define TEN_E19 (0x8AC7230489E80000LL)
+#else
+#if defined(USE_L)
+#define TEN_E1 (0xAL)
+#define TEN_E2 (0x64L)
+#define TEN_E3 (0x3E8L)
+#define TEN_E4 (0x2710L)
+#define TEN_E5 (0x186A0L)
+#define TEN_E6 (0xF4240L)
+#define TEN_E7 (0x989680L)
+#define TEN_E8 (0x5F5E100L)
+#define TEN_E9 (0x3B9ACA00L)
+#define TEN_E19 (0x8AC7230489E80000L)
+#else
+#define TEN_E1 (0xA)
+#define TEN_E2 (0x64)
+#define TEN_E3 (0x3E8)
+#define TEN_E4 (0x2710)
+#define TEN_E5 (0x186A0)
+#define TEN_E6 (0xF4240)
+#define TEN_E7 (0x989680)
+#define TEN_E8 (0x5F5E100)
+#define TEN_E9 (0x3B9ACA00)
+#define TEN_E19 (0x8AC7230489E80000)
+#endif /* USE_L */
+#endif /* USE_LL */
+
+#define TIMES_TEN(x) (((x) << 3) + ((x) << 1))
+
+U_32 simpleMultiplyHighPrecision (U_64 * arg1, IDATA length, U_64 arg2);
+void simpleShiftLeftHighPrecision (U_64 * arg1, IDATA length, IDATA arg2);
+U_64 simpleMultiplyHighPrecision64 (U_64 * arg1, IDATA length, U_64 arg2);
+U_32 simpleAppendDecimalDigitHighPrecision (U_64 * arg1, IDATA length, U_64 digit);
+IDATA timesTenToTheEHighPrecision (U_64 * result, IDATA length, JAVA_INT e);
+IDATA addHighPrecision (U_64 * arg1, IDATA length1, U_64 * arg2, IDATA length2);
+IDATA compareHighPrecision (U_64 * arg1, IDATA length1, U_64 * arg2, IDATA length2);
+IDATA simpleAddHighPrecision (U_64 * arg1, IDATA length, U_64 arg2);
+void subtractHighPrecision (U_64 * arg1, IDATA length1, U_64 * arg2, IDATA length2);
+
+#endif
diff --git a/tests/nbody-java/xmlvm-reflection.h b/tests/nbody-java/xmlvm-reflection.h
new file mode 100644
index 00000000..ac445d7b
--- /dev/null
+++ b/tests/nbody-java/xmlvm-reflection.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2002-2011 by XMLVM.org
+ *
+ * Project Info: http://www.xmlvm.org
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ * USA.
+ */
+
+#include "org_xmlvm_runtime_RedTypeMarker.h"
+#include "java_lang_reflect_Constructor.h"
+#include "java_lang_reflect_Method.h"
+#include "java_lang_String.h"
+#include "java_lang_Byte.h"
+#include "java_lang_Boolean.h"
+#include "java_lang_Character.h"
+#include "java_lang_Short.h"
+#include "java_lang_Integer.h"
+#include "java_lang_Float.h"
+#include "java_lang_Long.h"
+#include "java_lang_Double.h"
diff --git a/tests/nbody-java/xmlvm-sock.c b/tests/nbody-java/xmlvm-sock.c
new file mode 100644
index 00000000..e4e80394
--- /dev/null
+++ b/tests/nbody-java/xmlvm-sock.c
@@ -0,0 +1,1255 @@
+/*
+ * Copyright (c) 2002-2011 by XMLVM.org
+ *
+ * Project Info: http://www.xmlvm.org
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ * USA.
+ */
+
+#include <fcntl.h>
+#include <errno.h>
+#include <sys/poll.h>
+//#include <sys/types.h>
+//#include <sys/socket.h>
+//#include "java_io_FileDescriptor.h"
+//#include "java_net_SocketException.h"
+//#include "java_lang_Thread.h"
+
+#include "xmlvm.h"
+#include "xmlvm-hy.h"
+#include "xmlvm-sock.h"
+
+#include "java_lang_String.h"
+#include "java_io_FileDescriptor.h"
+#include "java_net_InetAddress.h"
+#include "java_net_Inet6Address.h"
+
+
+#define MAX_RETRIES 50
+#define INVALID_SOCKET (hysocket_t) -1
+
+#if NO_R
+/*use a mutex if the gethostbyaddr, gethostbyname calls are not threadsafe*/
+MUTEX hostentLock = PTHREAD_MUTEX_INITIALIZER;
+#endif /*NO_R */
+
+
+
+const char* hysock_error_message ()
+{
+ return hyerror_last_error_message ();
+}
+
+
+char* netLookupErrorString (I_32 anErrorNum)
+{
+ switch (anErrorNum)
+ {
+ case HYPORT_ERROR_SOCKET_BADSOCKET:
+ return "Bad socket";
+ case HYPORT_ERROR_SOCKET_NOTINITIALIZED:
+ return "Socket library uninitialized";
+ case HYPORT_ERROR_SOCKET_BADAF:
+ return "Bad address family";
+ case HYPORT_ERROR_SOCKET_BADPROTO:
+ return "Bad protocol";
+ case HYPORT_ERROR_SOCKET_BADTYPE:
+ return "Bad type";
+ case HYPORT_ERROR_SOCKET_SYSTEMBUSY:
+ return "System busy handling requests";
+ case HYPORT_ERROR_SOCKET_SYSTEMFULL:
+ return "Too many sockets allocated";
+ case HYPORT_ERROR_SOCKET_NOTCONNECTED:
+ return "Socket is not connected";
+ case HYPORT_ERROR_SOCKET_INTERRUPTED:
+ return "The call was cancelled";
+ case HYPORT_ERROR_SOCKET_TIMEOUT:
+ return "The operation timed out";
+ case HYPORT_ERROR_SOCKET_CONNRESET:
+ return "The connection was reset";
+ case HYPORT_ERROR_SOCKET_WOULDBLOCK:
+ return "The socket is marked as nonblocking operation would block";
+ case HYPORT_ERROR_SOCKET_ADDRNOTAVAIL:
+ return "The address is not available";
+ case HYPORT_ERROR_SOCKET_ADDRINUSE:
+ return "The address is already in use";
+ case HYPORT_ERROR_SOCKET_NOTBOUND:
+ return "The socket is not bound";
+ case HYPORT_ERROR_SOCKET_UNKNOWNSOCKET:
+ return "Resolution of the FileDescriptor to socket failed";
+ case HYPORT_ERROR_SOCKET_INVALIDTIMEOUT:
+ return "The specified timeout is invalid";
+ case HYPORT_ERROR_SOCKET_FDSETFULL:
+ return "Unable to create an FDSET";
+ case HYPORT_ERROR_SOCKET_TIMEVALFULL:
+ return "Unable to create a TIMEVAL";
+ case HYPORT_ERROR_SOCKET_REMSOCKSHUTDOWN:
+ return "The remote socket has shutdown gracefully";
+ case HYPORT_ERROR_SOCKET_NOTLISTENING:
+ return "Listen() was not invoked prior to accept()";
+ case HYPORT_ERROR_SOCKET_NOTSTREAMSOCK:
+ return "The socket does not support connection-oriented service";
+ case HYPORT_ERROR_SOCKET_ALREADYBOUND:
+ return "The socket is already bound to an address";
+ case HYPORT_ERROR_SOCKET_NBWITHLINGER:
+ return "The socket is marked non-blocking & SO_LINGER is non-zero";
+ case HYPORT_ERROR_SOCKET_ISCONNECTED:
+ return "The socket is already connected";
+ case HYPORT_ERROR_SOCKET_NOBUFFERS:
+ return "No buffer space is available";
+ case HYPORT_ERROR_SOCKET_HOSTNOTFOUND:
+ return "Authoritative Answer Host not found";
+ case HYPORT_ERROR_SOCKET_NODATA:
+ return "Valid name, no data record of requested type";
+ case HYPORT_ERROR_SOCKET_BOUNDORCONN:
+ return "The socket has not been bound or is already connected";
+ case HYPORT_ERROR_SOCKET_OPNOTSUPP:
+ return "The socket does not support the operation";
+ case HYPORT_ERROR_SOCKET_OPTUNSUPP:
+ return "The socket option is not supported";
+ case HYPORT_ERROR_SOCKET_OPTARGSINVALID:
+ return "The socket option arguments are invalid";
+ case HYPORT_ERROR_SOCKET_SOCKLEVELINVALID:
+ return "The socket level is invalid";
+ case HYPORT_ERROR_SOCKET_TIMEOUTFAILURE:
+ return "The timeout operation failed";
+ case HYPORT_ERROR_SOCKET_SOCKADDRALLOCFAIL:
+ return "Failed to allocate address structure";
+ case HYPORT_ERROR_SOCKET_FDSET_SIZEBAD:
+ return "The calculated maximum size of the file descriptor set is bad";
+ case HYPORT_ERROR_SOCKET_UNKNOWNFLAG:
+ return "The flag is unknown";
+ case HYPORT_ERROR_SOCKET_MSGSIZE:
+ return "The datagram was too big to fit the specified buffer, so truncated";
+ case HYPORT_ERROR_SOCKET_NORECOVERY:
+ return "The operation failed with no recovery possible";
+ case HYPORT_ERROR_SOCKET_ARGSINVALID:
+ return "The arguments are invalid";
+ case HYPORT_ERROR_SOCKET_BADDESC:
+ return "The socket argument is not a valid file descriptor";
+ case HYPORT_ERROR_SOCKET_NOTSOCK:
+ return "The socket argument is not a socket";
+ case HYPORT_ERROR_SOCKET_HOSTENTALLOCFAIL:
+ return "Unable to allocate the hostent structure";
+ case HYPORT_ERROR_SOCKET_TIMEVALALLOCFAIL:
+ return "Unable to allocate the timeval structure";
+ case HYPORT_ERROR_SOCKET_LINGERALLOCFAIL:
+ return "Unable to allocate the linger structure";
+ case HYPORT_ERROR_SOCKET_IPMREQALLOCFAIL:
+ return "Unable to allocate the ipmreq structure";
+ case HYPORT_ERROR_SOCKET_FDSETALLOCFAIL:
+ return "Unable to allocate the fdset structure";
+ case HYPORT_ERROR_SOCKET_CONNECTION_REFUSED:
+ return "Connection refused";
+ case HYPORT_ERROR_FILE_LOCKED:
+ return "File has been locked by another process";
+
+ default:
+ return (char *) hysock_error_message ();
+ }
+}
+
+
+static I_32 findError (I_32 errorCode)
+{
+ switch (errorCode)
+ {
+ case HYPORT_ERROR_SOCKET_UNIX_EBADF:
+ return HYPORT_ERROR_SOCKET_BADDESC;
+ case HYPORT_ERROR_SOCKET_UNIX_ENOBUFS:
+ return HYPORT_ERROR_SOCKET_NOBUFFERS;
+ case HYPORT_ERROR_SOCKET_UNIX_EOPNOTSUP:
+ return HYPORT_ERROR_SOCKET_OPNOTSUPP;
+ case HYPORT_ERROR_SOCKET_UNIX_ENOPROTOOPT:
+ return HYPORT_ERROR_SOCKET_OPTUNSUPP;
+ case HYPORT_ERROR_SOCKET_UNIX_EINVAL:
+ return HYPORT_ERROR_SOCKET_SOCKLEVELINVALID;
+ case HYPORT_ERROR_SOCKET_UNIX_ENOTSOCK:
+ return HYPORT_ERROR_SOCKET_NOTSOCK;
+ case HYPORT_ERROR_SOCKET_UNIX_EINTR:
+ return HYPORT_ERROR_SOCKET_INTERRUPTED;
+ case HYPORT_ERROR_SOCKET_UNIX_ENOTCONN:
+ return HYPORT_ERROR_SOCKET_NOTCONNECTED;
+ case HYPORT_ERROR_SOCKET_UNIX_EAFNOSUPPORT:
+ return HYPORT_ERROR_SOCKET_BADAF;
+ /* note: HYPORT_ERROR_SOCKET_UNIX_ECONNRESET not included because it has the same
+ * value as HYPORT_ERROR_SOCKET_UNIX_CONNRESET and they both map to HYPORT_ERROR_SOCKET_CONNRESET */
+ case HYPORT_ERROR_SOCKET_UNIX_CONNRESET:
+ return HYPORT_ERROR_SOCKET_CONNRESET;
+ case HYPORT_ERROR_SOCKET_UNIX_EAGAIN:
+ return HYPORT_ERROR_SOCKET_WOULDBLOCK;
+ case HYPORT_ERROR_SOCKET_UNIX_EPROTONOSUPPORT:
+ return HYPORT_ERROR_SOCKET_BADPROTO;
+ case HYPORT_ERROR_SOCKET_UNIX_EFAULT:
+ return HYPORT_ERROR_SOCKET_ARGSINVALID;
+ case HYPORT_ERROR_SOCKET_UNIX_ETIMEDOUT:
+ return HYPORT_ERROR_SOCKET_TIMEOUT;
+ case HYPORT_ERROR_SOCKET_UNIX_CONNREFUSED:
+ return HYPORT_ERROR_SOCKET_CONNECTION_REFUSED;
+ case HYPORT_ERROR_SOCKET_UNIX_ENETUNREACH:
+ return HYPORT_ERROR_SOCKET_ENETUNREACH;
+ case HYPORT_ERROR_SOCKET_UNIX_EACCES:
+ return HYPORT_ERROR_SOCKET_EACCES;
+ default:
+ return HYPORT_ERROR_SOCKET_OPFAILED;
+ }
+}
+
+
+int harmony_supports_ipv6()
+{
+ return 0;
+}
+
+
+int preferIPv4Stack()
+{
+ return 1;
+}
+
+
+int preferIPv6Addresses()
+{
+ return 0;
+}
+
+
+static socklen_t getAddrLength(hysockaddr_t addr)
+{
+ return
+#if defined(IPv6_FUNCTION_SUPPORT)
+ ((OSSOCKADDR *) & addr->addr)->sin_family == OS_AF_INET6 ?
+ sizeof(OSSOCKADDR_IN6) :
+#endif
+ sizeof(OSSOCKADDR);
+}
+
+
+U_16 hysock_htons(U_16 port)
+{
+ return htons(port);
+}
+
+
+U_16 hysock_ntohs (U_16 val)
+{
+ return ntohs (val);
+}
+
+
+
+I_32 hysock_socketIsValid (hysocket_t handle)
+{
+ return ((handle != NULL) && (handle != INVALID_SOCKET));
+}
+
+
+U_16 hysock_sockaddr_port (hysockaddr_t handle)
+{
+ if (((OSSOCKADDR *) & handle->addr)->sin_family == OS_AF_INET4)
+ {
+ return ((OSSOCKADDR *) & handle->addr)->sin_port;
+ }
+#if defined(IPv6_FUNCTION_SUPPORT)
+ else
+ {
+ return ((OSSOCKADDR_IN6 *) & handle->addr)->sin6_port;
+ }
+#endif
+
+}
+
+void setJavaIoFileDescriptorContents (JAVA_OBJECT fd, void *value)
+{
+ ((java_io_FileDescriptor*) fd)->fields.java_io_FileDescriptor.descriptor_ = (JAVA_ULONG) value;
+}
+
+void* getJavaIoFileDescriptorContentsAsAPointer (JAVA_OBJECT fd)
+{
+ return (void*) ((java_io_FileDescriptor*) fd)->fields.java_io_FileDescriptor.descriptor_;
+}
+
+
+void netGetJavaNetInetAddressValue (JAVA_OBJECT anInetAddress, U_8* buffer, U_32* length)
+{
+ org_xmlvm_runtime_XMLVMArray* byte_array = ((java_net_InetAddress*) anInetAddress)->fields.java_net_InetAddress.ipaddress_;
+ *length = byte_array->fields.org_xmlvm_runtime_XMLVMArray.length_;
+ XMLVM_MEMCPY(buffer, byte_array->fields.org_xmlvm_runtime_XMLVMArray.array_, *length);
+}
+
+
+void netGetJavaNetInetAddressScopeId (JAVA_OBJECT anInetAddress, U_32* scope_id)
+{
+ if (XMLVM_ISA(anInetAddress, __CLASS_java_net_Inet6Address)) {
+ java_net_Inet6Address* addr = (java_net_Inet6Address*) anInetAddress;
+ *scope_id = addr->fields.java_net_Inet6Address.scope_id_;
+ }
+ else {
+ *scope_id = 0;
+ }
+}
+
+
+I_32 netGetSockAddr (JAVA_OBJECT fileDescriptor, hysockaddr_t sockaddrP, JAVA_BOOLEAN preferIPv6Addresses)
+{
+ I_32 result = 0;
+ hysocket_t socketP;
+ U_8 ipAddr[HYSOCK_INADDR6_LEN];
+ memset (ipAddr, 0, HYSOCK_INADDR6_LEN);
+
+ socketP = getJavaIoFileDescriptorContentsAsAPointer (fileDescriptor);
+ if (!hysock_socketIsValid (socketP))
+ {
+ return HYPORT_ERROR_SOCKET_UNKNOWNSOCKET;
+ }
+ else
+ {
+ if (preferIPv6Addresses)
+ {
+ hysock_sockaddr_init6 (sockaddrP, ipAddr, HYSOCK_INADDR6_LEN,
+ HYADDR_FAMILY_UNSPEC, 0, 0, 0, socketP);
+ result = hysock_getsockname (socketP, sockaddrP);
+ }
+ else
+ {
+ hysock_sockaddr_init6 (sockaddrP, ipAddr, HYSOCK_INADDR_LEN,
+ HYADDR_FAMILY_AFINET4, 0, 0, 0, socketP);
+ result = hysock_getsockname (socketP, sockaddrP);
+ }
+ return result;
+ }
+}
+
+
+I_32 map_addr_family_Hy_to_OS (I_32 addr_family)
+{
+ switch (addr_family)
+ {
+ case HYADDR_FAMILY_AFINET4:
+ return OS_AF_INET4;
+ case HYADDR_FAMILY_AFINET6:
+ return OS_AF_INET6;
+ }
+ return OS_AF_UNSPEC;
+}
+
+
+static I_32 copy_hostent (OSHOSTENT * source, PortlibPTBuffers_t * ptBuffers)
+{
+ int h_len = strlen (source->h_name);
+ int total = 0;
+ int i = 0;
+ char *buffer;
+ OSHOSTENT *dest = &(*ptBuffers)->hostent;
+ /* add trailing NULL, and round off to nearest pointer size */
+ h_len = (h_len + 1 + sizeof (void *)) & ~(sizeof (void *) - 1);
+ while (source->h_addr_list[i])
+ i++;
+ total = h_len + ((i + 2) * sizeof (void *)) + (i * sizeof (U_32));
+ if (!(*ptBuffers)->gethostBuffer || (*ptBuffers)->gethostBufferSize < total)
+ {
+ (*ptBuffers)->gethostBuffer = XMLVM_ATOMIC_MALLOC(total);
+ if (!(*ptBuffers)->gethostBuffer)
+ {
+ return HYPORT_ERROR_SOCKET_SYSTEMFULL;
+ }
+ (*ptBuffers)->gethostBufferSize = total;
+ }
+ buffer = (*ptBuffers)->gethostBuffer;
+ dest->h_name = buffer;
+ strcpy (buffer, source->h_name);
+ buffer += h_len;
+ dest->h_aliases = (void *) buffer;
+ *((void **) buffer) = NULL;
+ buffer += sizeof (void *);
+ dest->h_addrtype = source->h_addrtype;
+ dest->h_length = source->h_length;
+ dest->h_addr_list = (void *) buffer;
+ buffer += (i + 1) * sizeof (void *);
+ i = 0;
+ while (source->h_addr_list[i])
+ {
+ dest->h_addr_list[i] = (void *) buffer;
+ *((U_32 *) buffer) = *((U_32 *) source->h_addr_list[i]);
+ buffer += sizeof (U_32);
+ i++;
+ }
+ dest->h_addr_list[i] = NULL;
+
+ return 0;
+}
+
+
+JAVA_OBJECT newJavaByteArray (JAVA_ARRAY_BYTE* bytes, JAVA_INT length)
+{
+ JAVA_OBJECT result = XMLVMArray_createSingleDimensionWithData(__CLASS_byte_1ARRAY, (int) length, bytes);
+ return result;
+}
+
+
+JAVA_OBJECT newJavaNetInetAddressGenericBS (JAVA_ARRAY_BYTE* address, U_32 length,
+ const char* hostName, U_32 scope_id)
+{
+ org_xmlvm_runtime_XMLVMArray* byte_array;
+ java_lang_String* aString;
+ BOOLEAN isAnyAddress = 1;
+ static JAVA_ARRAY_BYTE IPv4ANY[4] = { 0, 0, 0, 0 };
+ static JAVA_ARRAY_BYTE IPv6ANY[16] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+ U_32 i = 0;
+ JAVA_OBJECT result = JAVA_NULL;
+
+ aString = xmlvm_create_java_string(hostName);
+
+ /* check if the address being returned is the any address. If so we need to check the prefer flags to see how it should be returned
+ (either as IPv4 Any or IPv6 ANY) */
+
+ if (harmony_supports_ipv6 ())
+ {
+ /* Figure out if it is the any address */
+ for (i = 0; i < length; i++)
+ {
+ if (address[i] != 0)
+ {
+ isAnyAddress = 0;
+ break;
+ }
+ }
+ }
+ else
+ {
+ /* just do what we used to do without checking */
+ isAnyAddress = 0;
+ }
+
+ /* If it is the any address then set up to return appropriately based on the flags */
+ if (isAnyAddress)
+ {
+ if ((!preferIPv4Stack ()) && (preferIPv6Addresses ()))
+ {
+ if ((byte_array =
+ newJavaByteArray (IPv6ANY, sizeof (IPv6ANY))) == NULL)
+ {
+ return NULL;
+ }
+ }
+ else
+ {
+ if ((byte_array =
+ newJavaByteArray (IPv4ANY, sizeof (IPv4ANY))) == NULL)
+ {
+ return NULL;
+ }
+ }
+ }
+ else
+ {
+ /* not any so just set up to return the address normally */
+ if ((byte_array = newJavaByteArray (address, length)) == NULL)
+ {
+ return NULL;
+ }
+ }
+
+ if (harmony_supports_ipv6 ())
+ {
+#ifdef SUPPORTS_SCOPED_GETBYADDR
+ if (scope_id != 0) {
+ result = java_net_InetAddress_getByAddress___java_lang_String_byte_1ARRAY_int(aString, byte_array, scope_id);
+ }
+ else {
+#endif
+ result = java_net_InetAddress_getByAddress___java_lang_String_byte_1ARRAY(aString, byte_array);
+
+#ifdef SUPPORTS_SCOPED_GETBYADDR
+ }
+#endif
+
+ }
+ else
+ {
+ result = __NEW_java_net_InetAddress();
+ java_net_InetAddress___INIT____byte_1ARRAY_java_lang_String(result, byte_array, aString);
+ //return result;
+ }
+
+ return result;
+}
+
+
+
+I_32 hysock_socket (hysocket_t * handle, I_32 family, I_32 socktype, I_32 protocol)
+{
+ I_32 rc = 0;
+ int sock;
+
+ /* initialize return hysocket_t to invalid socket */
+ *handle = INVALID_SOCKET;
+
+ if (protocol != HYSOCK_DEFPROTOCOL)
+ {
+ rc = HYPORT_ERROR_SOCKET_BADPROTO;
+ }
+ else if ((socktype != HYSOCK_STREAM) && (socktype != HYSOCK_DGRAM))
+ {
+ rc = HYPORT_ERROR_SOCKET_BADTYPE;
+ }
+ else if (family != HYADDR_FAMILY_AFINET6 && family != HYADDR_FAMILY_AFINET4
+ && family != HYADDR_FAMILY_UNSPEC)
+ {
+ rc = HYPORT_ERROR_SOCKET_BADAF;
+ }
+
+ if (rc == 0)
+ {
+
+#if defined(IPv6_FUNCTION_SUPPORT)
+ if (family != HYADDR_FAMILY_AFINET4)
+ {
+ family = HYADDR_FAMILY_AFINET6;
+ sock =
+ socket (AF_INET6,
+ ((socktype == HYSOCK_STREAM) ? SOCK_STREAM : SOCK_DGRAM),
+ 0);
+ if (sock < 0)
+ {
+ rc = errno;
+ HYSOCKDEBUG ("<socket failed, err=%d>\n", rc);
+ return portLibrary->error_set_last_error (portLibrary, rc,
+ findError (rc));
+ }
+ }
+ else
+ {
+#endif
+
+ sock =
+ socket (AF_INET,
+ ((socktype == HYSOCK_STREAM) ? SOCK_STREAM : SOCK_DGRAM),
+ 0);
+
+ if (sock < 0)
+ {
+ rc = errno;
+ return hyerror_set_last_error(rc, findError(rc));
+ }
+
+#if defined(IPv6_FUNCTION_SUPPORT)
+ }
+#endif
+
+ }
+
+ if (rc == 0)
+ {
+ /*Tag this descriptor as being non-inheritable */
+ I_32 fdflags = fcntl (sock, F_GETFD, 0);
+ fcntl (sock, F_SETFD, fdflags | FD_CLOEXEC);
+
+ /* set up the socket structure */
+ *handle = XMLVM_ATOMIC_MALLOC(sizeof (struct hysocket_struct));
+
+#if (defined(VALIDATE_ALLOCATIONS))
+ if (*handle == NULL)
+ {
+ close (sock);
+ *handle = INVALID_SOCKET;
+ return HYPORT_ERROR_SOCKET_NOBUFFERS;
+ }
+#endif
+
+ (*handle)->sock = sock;
+ (*handle)->family = family;
+ }
+ return rc;
+}
+
+
+I_32 hysock_sockaddr_init6 (hysockaddr_t handle, U_8 * addr, I_32 addrlength,
+ I_16 family, U_16 nPort, U_32 flowinfo, U_32 scope_id,
+ hysocket_t sock)
+{
+ OSSOCKADDR *sockaddr;
+#if defined(IPv6_FUNCTION_SUPPORT)
+ OSSOCKADDR_IN6 *sockaddr_6;
+#endif
+
+ XMLVM_BZERO(handle, sizeof (struct hysockaddr_struct));
+
+ if (family == HYADDR_FAMILY_AFINET4)
+ {
+#if defined(IPv6_FUNCTION_SUPPORT)
+ if (hysock_socketIsValid (portLibrary, sock) &&
+ (((struct hysocket_struct *) sock)->family ==
+ HYADDR_FAMILY_AFINET6))
+ {
+ /* to talk IPv4 on an IPv6 socket we need to map the IPv4 address to an IPv6 format. If mapAddress is true then we do this */
+ sockaddr_6 = (OSSOCKADDR_IN6 *) & handle->addr;
+ memset (sockaddr_6->sin6_addr.s6_addr, 0, 16);
+ memcpy (&(sockaddr_6->sin6_addr.s6_addr[12]), addr, addrlength);
+ /* do a check if it is the any address. we know the top 4 bytes of sockaddr_6->sin6_addr.s6_addr are 0's as we just cleared the,
+ so we use them to do the check */
+ if (memcmp (sockaddr_6->sin6_addr.s6_addr, addr, addrlength) != 0)
+ {
+ /* if it is the any address then use the IPv6 any address */
+ sockaddr_6->sin6_addr.s6_addr[10] = 0xFF;
+ sockaddr_6->sin6_addr.s6_addr[11] = 0xFF;
+ }
+ sockaddr_6->sin6_port = nPort;
+ sockaddr_6->sin6_family = OS_AF_INET6;
+ sockaddr_6->sin6_scope_id = scope_id;
+ sockaddr_6->sin6_flowinfo = htonl (flowinfo);
+#if defined(FREEBSD)
+ sockaddr_6->sin6_len = sizeof(OSSOCKADDR_IN6);
+#endif
+ }
+ else
+ {
+#endif
+
+ /* just initialize the IPv4 address as is as it will be used with an IPv4 Socket */
+ sockaddr = (OSSOCKADDR *) & handle->addr;
+ XMLVM_MEMCPY (&sockaddr->sin_addr.s_addr, addr, addrlength);
+ sockaddr->sin_port = nPort;
+ sockaddr->sin_family = OS_AF_INET4;
+#if defined(FREEBSD)
+ sockaddr->sin_len = sizeof(OSSOCKADDR);
+#endif
+
+#if defined(IPv6_FUNCTION_SUPPORT)
+ }
+#endif
+
+ }
+#if defined(IPv6_FUNCTION_SUPPORT)
+ else if (family == HYADDR_FAMILY_AFINET6)
+ {
+ sockaddr_6 = (OSSOCKADDR_IN6 *) & handle->addr;
+ memcpy (&sockaddr_6->sin6_addr.s6_addr, addr, addrlength);
+ sockaddr_6->sin6_port = nPort;
+ sockaddr_6->sin6_family = OS_AF_INET6;
+ sockaddr_6->sin6_scope_id = scope_id;
+ sockaddr_6->sin6_flowinfo = htonl (flowinfo);
+#if defined(SIN6_LEN)
+ sockaddr_6->sin6_len = sizeof(OSSOCKADDR_IN6);
+#endif
+ }
+#endif
+
+ else
+ {
+ sockaddr = (OSSOCKADDR *) & handle->addr;
+ memcpy (&sockaddr->sin_addr.s_addr, addr, HYSOCK_INADDR_LEN);
+ sockaddr->sin_port = nPort;
+ sockaddr->sin_family = map_addr_family_Hy_to_OS (family);
+#if defined(FREEBSD)
+ sockaddr->sin_len = sizeof(OSSOCKADDR);
+#endif
+ }
+
+ return 0;
+}
+
+
+I_32 hysock_getnameinfo (hysockaddr_t in_addr, I_32 sockaddr_size, char *name,
+ I_32 name_length, int flags)
+{
+
+ /* If we have the IPv6 functions available we will call them, otherwise we'll call the IPv4 function */
+#if defined(IPv6_FUNCTION_SUPPORT)
+ int rc = 0;
+ rc =
+ getnameinfo ((OSADDR *) & in_addr->addr, sizeof (in_addr->addr), name,
+ name_length, NULL, 0, flags);
+ if (rc != 0)
+ {
+ rc = errno;
+ HYSOCKDEBUG ("<gethostbyaddr failed, err=%d>\n", rc);
+ return portLibrary->error_set_last_error (portLibrary, rc,
+ findError (rc));
+ }
+ return 0;
+#else /* IPv6_FUNCTION_SUPPORT */
+#if !HOSTENT_DATA_R
+ OSHOSTENT *result;
+#endif
+
+#if GLIBC_R||OTHER_R
+ BOOLEAN allocBuffer = FALSE;
+#endif
+ int herr = 0;
+ int i = 0;
+ int rc = 0;
+ int length;
+ OSSOCKADDR *addr;
+#if HOSTENT_DATA_R||GLIBC_R||OTHER_R||NO_R
+ PortlibPTBuffers_t ptBuffers;
+#endif /* HOSTENT_DATA_R || GLIBC_R || OTHER_R || NO_R */
+ addr = (OSSOCKADDR *) & in_addr->addr;
+ if (addr->sin_family == OS_AF_INET4)
+ {
+ length = 4;
+ }
+ else
+ {
+ length = 16;
+ }
+#if HOSTENT_DATA_R||GLIBC_R||OTHER_R||NO_R
+ ptBuffers = hyport_tls_get ();
+ if (NULL == ptBuffers)
+ {
+ return HYPORT_ERROR_SOCKET_SYSTEMFULL;
+ }
+#define hostentBuffer (&ptBuffers->hostent)
+#endif /* HOSTENT_DATA_R || GLIBC_R || OTHER_R || NO_R */
+ /* one of several threadsafe gethostbyaddr calls must be made depending on the current platform */
+ /* if there is a transient error (HYPORT_ERROR_SOCKET_UNIX_TRYAGAIN), try making the call again */
+ for (i = 0; i < MAX_RETRIES; i++)
+ {
+#if HOSTENT_DATA_R
+#define dataBuffer (ptBuffers->hostent_data)
+ if (!dataBuffer)
+ {
+ dataBuffer =
+ portLibrary->mem_allocate_memory (portLibrary,
+ sizeof (OSHOSTENT_DATA));
+ if (!dataBuffer)
+ {
+ return HYPORT_ERROR_SOCKET_SYSTEMFULL;
+ }
+ }
+ herr =
+ gethostbyaddr_r (&addr->sin_addr, length, addr->sin_family,
+ hostentBuffer, dataBuffer);
+#undef dataBuffer
+#elif ORIGINAL_R || NO_R
+#if NO_R
+ MUTEX_ENTER (hostentLock);
+#endif
+ result = gethostbyaddr (&addr->sin_addr, length, addr->sin_family);
+#if NO_R
+ if (result)
+ {
+ herr = copy_hostent (result, &ptBuffers);
+ }
+ MUTEX_EXIT (hostentLock);
+ if (herr != 0)
+ {
+ return herr;
+ }
+#endif
+ herr = h_errno;
+#elif GLIBC_R || OTHER_R
+#define buffer (ptBuffers->gethostBuffer)
+#define bufferSize (ptBuffers->gethostBufferSize)
+ if (!buffer)
+ {
+ bufferSize = GET_HOST_BUFFER_SIZE;
+ }
+ while (TRUE)
+ {
+ if (allocBuffer == TRUE || !buffer)
+ {
+ /* The buffer is allocated bufferSize + EXTRA_SPACE, while gethostby*_r is only aware of bufferSize
+ * because there seems to be a bug on Linux 386 where gethostbyname_r writes past the end of the
+ * buffer. This bug has not been observed on other platforms, but EXTRA_SPACE is added anyway as a precaution.*/
+ buffer = XMLVM_ATOMIC_MALLOC(bufferSize + EXTRA_SPACE);
+ if (!buffer)
+ {
+ return HYPORT_ERROR_SOCKET_SYSTEMFULL;
+ }
+ allocBuffer = FALSE;
+ }
+#if GLIBC_R
+ gethostbyaddr_r ((char *) &addr->sin_addr, length, addr->sin_family,
+ hostentBuffer, buffer, bufferSize, &result, &herr);
+#elif OTHER_R
+ result =
+ gethostbyaddr_r ((char *) &addr->sin_addr, length,
+ addr->sin_family, hostentBuffer, buffer,
+ bufferSize, &herr);
+#endif /* GLIBC_R */
+ /* allocate more space if the buffer is too small */
+ if (errno == ERANGE || herr == ERANGE)
+ {
+ XMLVM_FREE(buffer);
+ bufferSize *= 2;
+ allocBuffer = TRUE;
+ }
+ else
+ {
+ break;
+ }
+ }
+#undef buffer
+#undef bufferSize
+#endif
+ if (herr != HYPORT_ERROR_SOCKET_UNIX_TRYAGAIN)
+ {
+ break;
+ }
+ }
+#if HOSTENT_DATA_R
+ if (herr != 0)
+ {
+ herr = h_errno;
+ HYSOCKDEBUGH ("<gethostbyaddr failed, err=%d>\n", herr);
+ return portLibrary->error_set_last_error (portLibrary, herr,
+ findHostError (herr));
+ }
+#else
+ if (result == NULL)
+ {
+ HYSOCKDEBUGH ("<gethostbyaddr failed, err=%d>\n", herr);
+ return hyerror_set_last_error(herr, findError(herr));
+ }
+#endif
+ else
+ {
+ memset (name, 0, sizeof (char) * name_length);
+#if HOSTENT_DATA_R||NO_R
+ strcpy (name, hostentBuffer->h_name);
+#else
+ strcpy (name, result->h_name);
+#endif
+ }
+#if HOSTENT_DATA_R||GLIBC_R||OTHER_R
+#undef hostentBuffer
+#endif /*HOSTENT_DATA_R || GLIBC_R || OTHER_R */
+ return 0;
+#endif /* IPv6_FUNCTION_SUPPORT */
+
+}
+
+
+I_32 hysock_bind (hysocket_t sock, hysockaddr_t addr)
+{
+ I_32 rc = 0;
+ I_32 length = getAddrLength(addr);
+
+ if (bind
+ (SOCKET_CAST (sock), (struct sockaddr *) &addr->addr, length) < 0)
+ {
+ rc = errno;
+ rc = hyerror_set_last_error(rc, HYPORT_ERROR_SOCKET_ADDRNOTAVAIL);
+ }
+ return rc;
+}
+
+
+I_32 hysock_getsockname (hysocket_t handle, hysockaddr_t addrHandle)
+{
+ socklen_t addrlen = sizeof (addrHandle->addr);
+#ifndef XMLVM_ASM_JS
+ if (getsockname
+ (SOCKET_CAST (handle), (struct sockaddr *) &addrHandle->addr,
+ &addrlen) != 0)
+ {
+ I_32 err = errno;
+ return hyerror_set_last_error(err, findError(err));
+ }
+#endif
+ return 0;
+}
+
+
+I_32 hysock_connect (hysocket_t sock, hysockaddr_t addr)
+{
+ I_32 rc = 0;
+ I_32 length = getAddrLength(addr);
+
+ if (connect
+ (SOCKET_CAST (sock), (struct sockaddr *) &addr->addr, length) < 0)
+ {
+ rc = errno;
+ rc = hyerror_set_last_error(rc, HYPORT_ERROR_SOCKET_OPFAILED);
+ }
+ return rc;
+}
+
+
+I_32 hysock_write (hysocket_t sock, U_8 * buf, I_32 nbyte, I_32 flags)
+{
+ I_32 bytesSent = 0;
+
+ bytesSent = send (SOCKET_CAST (sock), buf, nbyte, flags);
+
+ if (-1 == bytesSent)
+ {
+ I_32 err = errno;
+ return hyerror_set_last_error(err, findError(err));
+ }
+ else
+ {
+ return bytesSent;
+ }
+}
+
+
+I_32 hysock_read (hysocket_t sock, U_8 * buf, I_32 nbyte, I_32 flags)
+{
+ I_32 bytesRec = 0;
+
+ bytesRec = recv (SOCKET_CAST (sock), buf, nbyte, flags);
+ if (-1 == bytesRec) {
+ I_32 err = errno;
+ return hyerror_set_last_error(err, findError(err));
+ } else {
+ return bytesRec;
+ }
+}
+
+
+I_32 hysock_close (hysocket_t * sock)
+{
+ I_32 rc = 0;
+
+ if (*sock == INVALID_SOCKET) {
+ return hyerror_set_last_error(HYPORT_ERROR_SOCKET_UNIX_EBADF, HYPORT_ERROR_SOCKET_BADSOCKET);
+ }
+
+ if (close (SOCKET_CAST (*sock)) < 0) {
+ rc = errno;
+ rc = hyerror_set_last_error(rc, HYPORT_ERROR_SOCKET_BADSOCKET);
+ }
+
+ *sock = INVALID_SOCKET;
+ return rc;
+}
+
+
+
+I_32 hysock_listen (hysocket_t sock, I_32 backlog)
+{
+ I_32 rc = 0;
+
+ if (listen (SOCKET_CAST (sock), backlog) < 0)
+ {
+ rc = errno;
+ HYSOCKDEBUG ("<listen failed, err=%d>\n", rc);
+ rc = hyerror_set_last_error(rc, HYPORT_ERROR_SOCKET_OPFAILED);
+ }
+ return rc;
+}
+
+
+I_32 hysock_accept (hysocket_t serverSock, hysockaddr_t addrHandle, hysocket_t * sockHandle)
+{
+
+
+#if defined(LINUX)
+#define ACCEPTCAST (socklen_t *)
+#else
+#define ACCEPTCAST
+#endif
+
+ I_32 rc = 0;
+ int sc;
+ socklen_t fromlen = sizeof (addrHandle->addr);
+
+ *sockHandle = INVALID_SOCKET;
+
+ sc =
+ accept (SOCKET_CAST (serverSock), (struct sockaddr *) &addrHandle->addr,
+ ACCEPTCAST & fromlen);
+ if (sc < 0)
+ {
+ rc = hyerror_set_last_error(rc, HYPORT_ERROR_SOCKET_ADDRNOTAVAIL);
+ }
+
+ if (rc == 0)
+ {
+ //*sockHandle = portLibrary->mem_allocate_memory (portLibrary, sizeof (struct hysocket_struct));
+ *sockHandle = XMLVM_ATOMIC_MALLOC(sizeof (struct hysocket_struct));
+#if (defined(VALIDATE_ALLOCATIONS))
+ if (*sockHandle == NULL)
+ {
+ close (sc);
+ *sockHandle = INVALID_SOCKET;
+ return HYPORT_ERROR_SOCKET_NOBUFFERS;
+ }
+#endif
+
+ SOCKET_CAST (*sockHandle) = sc;
+ (*sockHandle)->family = serverSock->family;
+ }
+ return rc;
+}
+
+
+
+I_32 hysock_timeval_init (U_32 secTime, U_32 uSecTime, hytimeval_t timeP)
+{
+ memset (timeP, 0, sizeof (struct hytimeval_struct));
+ timeP->time.tv_sec = secTime;
+ timeP->time.tv_usec = uSecTime;
+
+ return 0;
+}
+
+
+
+I_32 hysock_fdset_init (hysocket_t socketP)
+{
+ PortlibPTBuffers_t ptBuffers;
+ hyfdset_t fdset;
+
+ ptBuffers = hyport_tls_get ();
+ if (NULL == ptBuffers)
+ {
+ return HYPORT_ERROR_SOCKET_SYSTEMFULL;
+ }
+
+ if (NULL == ptBuffers->fdset)
+ {
+ ptBuffers->fdset = XMLVM_ATOMIC_MALLOC(sizeof (struct hyfdset_struct));
+
+ if (NULL == ptBuffers->fdset)
+ {
+ return HYPORT_ERROR_SOCKET_SYSTEMFULL;
+ }
+ }
+ fdset = ptBuffers->fdset;
+ memset (fdset, 0, sizeof (struct hyfdset_struct));
+
+ FD_ZERO (&fdset->handle);
+ FD_SET (SOCKET_CAST (socketP), &fdset->handle);
+ return 0;
+}
+
+I_32 hysock_fdset_size (hysocket_t handle)
+{
+ return SOCKET_CAST (handle) + 1;
+}
+
+
+I_32 hysock_select (I_32 nfds, hyfdset_t readfds, hyfdset_t writefds, hyfdset_t exceptfds, hytimeval_t timeout)
+{
+ I_32 rc = 0;
+ I_32 result = 0;
+
+ if (nfds >= FD_SETSIZE) {
+ rc = hyerror_set_last_error(rc, HYPORT_ERROR_SOCKET_UNIX_EINVAL);
+ return -1;
+ }
+ result = select (nfds,
+ readfds == NULL ? NULL : &readfds->handle,
+ writefds == NULL ? NULL : &writefds->handle,
+ exceptfds == NULL ? NULL : &exceptfds->handle,
+ timeout == NULL ? NULL : &timeout->time);
+
+ if (result == -1) {
+ HYSOCKDEBUG ("<select failed, err=%d>\n", errno);
+
+ if (errno == EINTR) {
+ rc = hyerror_set_last_error(rc, HYPORT_ERROR_SOCKET_INTERRUPTED);
+
+ }
+ else {
+ rc = hyerror_set_last_error(rc, HYPORT_ERROR_SOCKET_OPFAILED);
+ }
+ }
+ else {
+ if (result) {
+ rc = result;
+ }
+ else {
+ rc = HYPORT_ERROR_SOCKET_TIMEOUT;
+ }
+ }
+ return rc;
+}
+
+
+I_32 hysock_select_read (hysocket_t hysocketP, I_32 secTime, I_32 uSecTime, BOOLEAN accept)
+{
+ // Current implementation uses poll() system routine since select()
+ // has issues if fd_num is greater than FD_SETSIZE. See HARMONY-4077.
+
+ int poll_timeout;
+ I_32 result = 0;
+ I_32 rc = 0;
+ struct pollfd my_pollfd;
+
+ my_pollfd.fd = SOCKET_CAST(hysocketP);
+ my_pollfd.events = POLLIN | POLLPRI;
+ my_pollfd.revents = 0;
+ poll_timeout = TO_MILLIS(secTime, uSecTime);
+
+ result = poll(&my_pollfd, 1, poll_timeout);
+
+ if (result == -1) {
+ HYSOCKDEBUG ("<poll failed, err=%d>\n", errno);
+
+ if (errno == EINTR) {
+ rc = hyerror_set_last_error(rc, HYPORT_ERROR_SOCKET_INTERRUPTED);
+ } else {
+ rc = hyerror_set_last_error(rc, HYPORT_ERROR_SOCKET_OPFAILED);
+ }
+ } else {
+ if (result || poll_timeout == 0) {
+ rc = result;
+ } else {
+ rc = HYPORT_ERROR_SOCKET_TIMEOUT;
+ }
+ }
+
+ return rc;
+}
+
+
+
+
+
+
+I_32
+platformSocketLevel (I_32 portableSocketLevel)
+{
+ switch (portableSocketLevel)
+ {
+ case HY_SOL_SOCKET:
+ return OS_SOL_SOCKET;
+ case HY_IPPROTO_TCP:
+ return OS_IPPROTO_TCP;
+ case HY_IPPROTO_IP:
+ return OS_IPPROTO_IP;
+#if defined(IPv6_FUNCTION_SUPPORT)
+ case HY_IPPROTO_IPV6:
+ return OS_IPPROTO_IPV6;
+#endif
+
+ }
+ return HYPORT_ERROR_SOCKET_SOCKLEVELINVALID;
+}
+
+
+
+
+I_32
+platformSocketOption (I_32 portableSocketOption)
+{
+ switch (portableSocketOption)
+ {
+ case HY_SO_LINGER:
+ return OS_SO_LINGER;
+ case HY_SO_KEEPALIVE:
+ return OS_SO_KEEPALIVE;
+ case HY_TCP_NODELAY:
+ return OS_TCP_NODELAY;
+ case HY_MCAST_TTL:
+ return OS_MCAST_TTL;
+ case HY_MCAST_ADD_MEMBERSHIP:
+ return OS_MCAST_ADD_MEMBERSHIP;
+ case HY_MCAST_DROP_MEMBERSHIP:
+ return OS_MCAST_DROP_MEMBERSHIP;
+ case HY_MCAST_INTERFACE:
+ return OS_MCAST_INTERFACE;
+ case HY_SO_REUSEADDR:
+ return OS_SO_REUSEADDR;
+ case HY_SO_SNDBUF:
+ return OS_SO_SNDBUF;
+ case HY_SO_RCVBUF:
+ return OS_SO_RCVBUF;
+ case HY_SO_BROADCAST:
+ return OS_SO_BROADCAST;
+
+ case HY_SO_OOBINLINE:
+ return OS_SO_OOBINLINE;
+ case HY_IP_MULTICAST_LOOP:
+ return OS_MCAST_LOOP;
+ case HY_IP_TOS:
+ return OS_IP_TOS;
+#if defined(IPv6_FUNCTION_SUPPORT)
+ case HY_MCAST_INTERFACE_2:
+ return OS_MCAST_INTERFACE_2;
+ case HY_IPV6_ADD_MEMBERSHIP:
+ return OS_IPV6_ADD_MEMBERSHIP;
+ case HY_IPV6_DROP_MEMBERSHIP:
+ return OS_IPV6_DROP_MEMBERSHIP;
+#endif
+
+ }
+ return HYPORT_ERROR_SOCKET_OPTUNSUPP;
+}
+
+
+
+I_32 hysock_setopt_bool (hysocket_t socketP, I_32 optlevel, I_32 optname, BOOLEAN * optval)
+{
+ I_32 platformLevel = platformSocketLevel (optlevel);
+ I_32 platformOption = platformSocketOption (optname);
+ socklen_t optlen = sizeof (*optval);
+ U_8 uCharOptval = *optval;
+
+ if (0 > platformLevel)
+ {
+ return platformLevel;
+ }
+ if (0 > platformOption)
+ {
+ return platformOption;
+ }
+
+ if (OS_MCAST_LOOP == platformOption)
+ {
+ /* most options are set using an 32 bit int which matches the definition of BOOLEAN. Howerver, for unix
+ platforms this option is set with a unsighed char. Some platforms accept both but some such as AIX
+ and false return an EINVAL if we try to set with an int instead of a unsigned char. For windows platforms
+ the spec indicates that it is set with a DWORD which seems to match the BOOLEAN. Therefore since this
+ is a platform specific case for a boolean option we handle it as a special case within this method */
+ if (0 !=
+ setsockopt (SOCKET_CAST (socketP), platformLevel, platformOption,
+ &uCharOptval, sizeof (uCharOptval)))
+ {
+ I_32 err = errno;
+ HYSOCKDEBUG ("<setsockopt (for bool) failed, err=%d>\n", err);
+ return hyerror_set_last_error(err, findError (err));
+ }
+ }
+ else
+ {
+ if (0 !=
+ setsockopt (SOCKET_CAST (socketP), platformLevel, platformOption,
+ (void *) optval, optlen))
+ {
+ I_32 err = errno;
+ HYSOCKDEBUG ("<setsockopt (for bool) failed, err=%d>\n", err);
+ return hyerror_set_last_error(err, findError (err));
+ }
+ }
+
+#if defined(IPV6_FUNCTION_SUPPORT)
+ /* there separate socket options for IPv4/IPv6 for ttl, the IPv6 one also needs to be set */
+ if (platformOption == IP_MULTICAST_LOOP)
+ {
+ platformLevel = IPPROTO_IPV6;
+ platformOption = IPV6_MULTICAST_LOOP;
+ if (0 !=
+ setsockopt (SOCKET_CAST (socketP), platformLevel, platformOption,
+ (void *) optval, optlen))
+ {
+ HYSOCKDEBUG ("<setsockopt (for bool) failed, err=%d>\n");
+ return hyerror_set_last_error(err, findError (errno));
+ }
+ }
+#endif
+
+ return 0;
+}
+
+void throwJavaNetSocketException (I_32 errorNumber)
+{
+ XMLVM_THROW_WITH_CSTRING(java_net_SocketException, netLookupErrorString(errorNumber))
+}
diff --git a/tests/nbody-java/xmlvm-sock.h b/tests/nbody-java/xmlvm-sock.h
new file mode 100644
index 00000000..eab770cf
--- /dev/null
+++ b/tests/nbody-java/xmlvm-sock.h
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2002-2011 by XMLVM.org
+ *
+ * Project Info: http://www.xmlvm.org
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ * USA.
+ */
+
+
+#include "hysock.h"
+
+
+#ifndef __XMLVM_SOCK_H__
+#define __XMLVM_SOCK_H__
+
+/* socket structure flags */
+#define SOCKET_IPV4_OPEN_MASK '\x1' /* 00000001 */
+#define SOCKET_IPV6_OPEN_MASK '\x2' /* 00000010 */
+#define SOCKET_BOTH_OPEN_MASK '\x3' /* 00000011 */
+#define SOCKET_USE_IPV4_MASK '\x4' /* 00000100 - this tells which one to pick when doing an operation */
+
+int harmony_supports_ipv6();
+int preferIPv4Stack();
+int preferIPv6Addresses();
+
+char* netLookupErrorString (I_32 anErrorNum);
+U_16 hysock_htons(U_16 port);
+U_16 hysock_ntohs (U_16 val);
+I_32 hysock_socketIsValid (hysocket_t handle);
+U_16 hysock_sockaddr_port (hysockaddr_t handle);
+void setJavaIoFileDescriptorContents (JAVA_OBJECT fd, void *value);
+void* getJavaIoFileDescriptorContentsAsAPointer (JAVA_OBJECT fd);
+void netGetJavaNetInetAddressValue (JAVA_OBJECT anInetAddress, U_8* buffer, U_32* length);
+void netGetJavaNetInetAddressScopeId (JAVA_OBJECT anInetAddress, U_32* scope_id);
+I_32 netGetSockAddr (JAVA_OBJECT fileDescriptor, hysockaddr_t sockaddrP, JAVA_BOOLEAN preferIPv6Addresses);
+JAVA_OBJECT newJavaNetInetAddressGenericBS (JAVA_ARRAY_BYTE* address, U_32 length, const char* hostName, U_32 scope_id);
+I_32 hysock_socket (hysocket_t * handle, I_32 family, I_32 socktype, I_32 protocol);
+I_32 hysock_sockaddr_init6 (hysockaddr_t handle, U_8 * addr, I_32 addrlength, I_16 family, U_16 nPort, U_32 flowinfo, U_32 scope_id, hysocket_t sock);
+I_32 hysock_getnameinfo (hysockaddr_t in_addr, I_32 sockaddr_size, char *name, I_32 name_length, int flags);
+I_32 hysock_bind (hysocket_t sock, hysockaddr_t addr);
+I_32 hysock_getsockname (hysocket_t handle, hysockaddr_t addrHandle);
+I_32 hysock_connect (hysocket_t sock, hysockaddr_t addr);
+I_32 hysock_write (hysocket_t sock, U_8 * buf, I_32 nbyte, I_32 flags);
+I_32 hysock_read (hysocket_t sock, U_8 * buf, I_32 nbyte, I_32 flags);
+I_32 hysock_close (hysocket_t * sock);
+I_32 hysock_listen (hysocket_t sock, I_32 backlog);
+I_32 hysock_accept (hysocket_t serverSock, hysockaddr_t addrHandle, hysocket_t * sockHandle);
+I_32 hysock_timeval_init (U_32 secTime, U_32 uSecTime, hytimeval_t timeP);
+I_32 hysock_select_read (hysocket_t hysocketP, I_32 secTime, I_32 uSecTime, BOOLEAN accept);
+I_32 hysock_fdset_init (hysocket_t socketP);
+I_32 hysock_fdset_size (hysocket_t handle);
+I_32 hysock_select (I_32 nfds, hyfdset_t readfds, hyfdset_t writefds, hyfdset_t exceptfds, hytimeval_t timeout);
+I_32 platformSocketLevel (I_32 portableSocketLevel);
+I_32 platformSocketOption (I_32 portableSocketOption);
+I_32 hysock_setopt_bool (hysocket_t socketP, I_32 optlevel, I_32 optname, BOOLEAN * optval);
+
+void throwJavaNetSocketException (I_32 errorNumber);
+
+#endif
diff --git a/tests/nbody-java/xmlvm-tib-list.c b/tests/nbody-java/xmlvm-tib-list.c
new file mode 100644
index 00000000..780c6f8a
--- /dev/null
+++ b/tests/nbody-java/xmlvm-tib-list.c
@@ -0,0 +1,345 @@
+// Generated by AugmentedCOutputProcess. Do not edit!
+
+#include "xmlvm.h"
+
+#include "java_lang_StackTraceElement.h"
+#include "java_lang_Boolean.h"
+#include "java_net_BindException.h"
+#include "java_lang_reflect_Array.h"
+#include "java_util_AbstractMap.h"
+#include "java_io_ObjectStreamException.h"
+#include "java_lang_Float.h"
+#include "nbody_NBodySystem.h"
+#include "java_lang_CharSequence.h"
+#include "org_xmlvm_runtime_FinalizerNotifier_1.h"
+#include "java_io_ObjectStreamField.h"
+#include "java_lang_NoSuchFieldException.h"
+#include "java_util_Locale.h"
+#include "java_lang_Throwable.h"
+#include "java_lang_Class.h"
+#include "java_lang_reflect_AnnotatedElement.h"
+#include "java_nio_charset_spi_CharsetProvider.h"
+#include "org_xmlvm_runtime_XMLVMArray.h"
+#include "java_io_Serializable.h"
+#include "java_util_LinkedList_Link.h"
+#include "java_lang_AbstractStringBuilder.h"
+#include "java_util_LinkedList.h"
+#include "java_util_Map_Entry.h"
+#include "org_apache_harmony_luni_platform_INetworkSystem.h"
+#include "java_net_InetAddress.h"
+#include "java_lang_Object.h"
+#include "java_nio_BufferFactory.h"
+#include "org_apache_harmony_luni_platform_OSNetworkSystem.h"
+#include "java_util_List.h"
+#include "java_util_Collections_EmptyMap.h"
+#include "java_security_Permission.h"
+#include "java_nio_charset_CharsetEncoder.h"
+#include "org_xmlvm_runtime_Condition.h"
+#include "org_xmlvm_runtime_XMLVMOutputStream.h"
+#include "java_lang_reflect_InvocationHandler.h"
+#include "java_util_AbstractSet.h"
+#include "org_xmlvm_runtime_Mutex.h"
+#include "org_apache_harmony_luni_util_NumberConverter.h"
+#include "java_lang_Number.h"
+#include "java_lang_ref_ReferenceQueue.h"
+#include "java_util_Comparator.h"
+#include "java_util_AbstractCollection.h"
+#include "java_net_SocketException.h"
+#include "java_lang_Long_valueOfCache.h"
+#include "java_lang_Appendable.h"
+#include "org_apache_harmony_luni_platform_OSFileSystem.h"
+#include "java_nio_Buffer.h"
+#include "org_xmlvm_runtime_FinalizerNotifier.h"
+#include "java_lang_reflect_AccessibleObject.h"
+#include "java_nio_ReadWriteCharArrayBuffer.h"
+#include "java_util_Enumeration.h"
+#include "java_lang_reflect_Constructor.h"
+#include "java_util_Properties.h"
+#include "java_lang_Runnable.h"
+#include "java_security_AccessController.h"
+#include "org_apache_harmony_luni_util_FloatingPointParser.h"
+#include "java_nio_HeapByteBuffer.h"
+#include "java_io_IOException.h"
+#include "java_util_HashMap.h"
+#include "java_lang_reflect_Member.h"
+#include "org_apache_harmony_luni_internal_nls_Messages.h"
+#include "java_lang_Character.h"
+#include "java_util_Set.h"
+#include "java_nio_CharBuffer.h"
+#include "java_util_ArrayList.h"
+#include "java_io_InvalidObjectException.h"
+#include "java_security_BasicPermission.h"
+#include "java_lang_Readable.h"
+#include "java_util_Hashtable.h"
+#include "java_lang_String.h"
+#include "java_util_Dictionary.h"
+#include "java_nio_charset_CoderResult.h"
+#include "org_apache_harmony_niochar_CharsetProviderImpl_1.h"
+#include "org_apache_harmony_niochar_CharsetProviderImpl.h"
+#include "java_util_Hashtable_Entry.h"
+#include "java_lang_ref_WeakReference.h"
+#include "java_util_WeakHashMap.h"
+#include "java_util_AbstractSequentialList.h"
+#include "java_util_StringTokenizer.h"
+#include "java_lang_String_CaseInsensitiveComparator.h"
+#include "java_lang_reflect_Modifier.h"
+#include "java_lang_ThreadGroup.h"
+#include "java_lang_ClassNotFoundException.h"
+#include "org_xmlvm_runtime_XMLVMUtil.h"
+#include "java_nio_ReadWriteHeapByteBuffer.h"
+#include "java_util_PropertyPermission.h"
+#include "java_lang_Long.h"
+#include "java_lang_reflect_Field.h"
+#include "java_io_InterruptedIOException.h"
+#include "org_apache_harmony_luni_platform_OSMemory.h"
+#include "java_util_Collections_SynchronizedMap.h"
+#include "java_lang_reflect_GenericDeclaration.h"
+#include "java_lang_System.h"
+#include "java_lang_RuntimePermission.h"
+#include "java_lang_Comparable.h"
+#include "java_lang_Thread_UncaughtExceptionHandler.h"
+#include "java_io_FilterOutputStream.h"
+#include "java_lang_Double.h"
+#include "java_lang_ThreadGroup_ChildrenGroupsLock.h"
+#include "org_apache_harmony_niochar_charset_UTF_8_Decoder.h"
+#include "java_util_Hashtable_1.h"
+#include "java_nio_charset_CodingErrorAction.h"
+#include "java_nio_charset_Charset.h"
+#include "java_nio_CharArrayBuffer.h"
+#include "java_util_Hashtable_2.h"
+#include "java_lang_IndexOutOfBoundsException.h"
+#include "java_lang_Integer.h"
+#include "java_lang_Short.h"
+#include "java_util_Collections_EmptyList.h"
+#include "java_net_ConnectException.h"
+#include "java_nio_ByteBuffer.h"
+#include "java_util_WeakHashMap_Entry.h"
+#include "java_security_Guard.h"
+#include "java_lang_reflect_Type.h"
+#include "java_util_Iterator.h"
+#include "org_apache_harmony_luni_platform_Endianness.h"
+#include "java_nio_charset_CharsetDecoder.h"
+#include "org_apache_harmony_luni_util_PriviAction.h"
+#include "java_lang_Iterable.h"
+#include "java_io_File.h"
+#include "java_lang_Byte.h"
+#include "java_security_PrivilegedAction.h"
+#include "java_util_RandomAccess.h"
+#include "java_util_AbstractList.h"
+#include "org_apache_harmony_luni_platform_IMemorySystem.h"
+#include "java_lang_Math.h"
+#include "java_util_Deque.h"
+#include "org_apache_harmony_luni_util_Util.h"
+#include "java_util_Map.h"
+#include "java_lang_SecurityManager.h"
+#include "java_lang_Runtime.h"
+#include "org_xmlvm_runtime_RedTypeMarker.h"
+#include "java_lang_reflect_Method.h"
+#include "java_lang_Thread.h"
+#include "java_lang_ref_Reference.h"
+#include "java_lang_StringBuilder.h"
+#include "java_util_Collections.h"
+#include "java_io_PrintStream.h"
+#include "java_net_UnknownHostException.h"
+#include "java_util_Collections_EmptySet.h"
+#include "nbody_nbody.h"
+#include "org_apache_harmony_niochar_charset_UTF_8_Encoder.h"
+#include "org_xmlvm_runtime_XMLVMClassLoader.h"
+#include "java_util_Collection.h"
+#include "nbody_Body.h"
+#include "java_lang_Thread_State.h"
+#include "java_io_Closeable.h"
+#include "java_lang_ThreadGroup_ChildrenThreadsLock.h"
+#include "java_io_InvalidClassException.h"
+#include "java_lang_Object_AddedMembers.h"
+#include "org_apache_harmony_luni_platform_IFileSystem.h"
+#include "java_lang_Cloneable.h"
+#include "java_lang_ClassLoader.h"
+#include "java_util_HashMap_Entry.h"
+#include "java_net_Inet6Address.h"
+#include "java_util_MapEntry.h"
+#include "java_lang_Exception.h"
+#include "java_lang_RuntimeException.h"
+#include "java_util_HashSet.h"
+#include "java_io_Flushable.h"
+#include "java_lang_NullPointerException.h"
+#include "java_nio_charset_Charset_2.h"
+#include "java_io_FileDescriptor.h"
+#include "java_nio_charset_Charset_1.h"
+#include "java_io_OutputStream.h"
+#include "org_apache_harmony_niochar_charset_UTF_8.h"
+#include "java_lang_Enum.h"
+#include "java_util_Queue.h"
+
+__TIB_DEFINITION_TEMPLATE* __xmlvm_tib_list[] = {
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_StackTraceElement,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Boolean,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_net_BindException,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_reflect_Array,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_AbstractMap,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_io_ObjectStreamException,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Float,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_nbody_NBodySystem,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_CharSequence,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_xmlvm_runtime_FinalizerNotifier_1,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_io_ObjectStreamField,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_NoSuchFieldException,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_Locale,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Throwable,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Class,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_reflect_AnnotatedElement,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_charset_spi_CharsetProvider,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_xmlvm_runtime_XMLVMArray,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_io_Serializable,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_LinkedList_Link,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_AbstractStringBuilder,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_LinkedList,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_Map_Entry,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_apache_harmony_luni_platform_INetworkSystem,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_net_InetAddress,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_BufferFactory,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_apache_harmony_luni_platform_OSNetworkSystem,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_List,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_Collections_EmptyMap,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_security_Permission,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_charset_CharsetEncoder,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_xmlvm_runtime_Condition,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_xmlvm_runtime_XMLVMOutputStream,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_reflect_InvocationHandler,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_AbstractSet,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_xmlvm_runtime_Mutex,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_apache_harmony_luni_util_NumberConverter,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Number,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_ref_ReferenceQueue,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_Comparator,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_AbstractCollection,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_net_SocketException,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Long_valueOfCache,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Appendable,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_apache_harmony_luni_platform_OSFileSystem,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_Buffer,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_xmlvm_runtime_FinalizerNotifier,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_reflect_AccessibleObject,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_ReadWriteCharArrayBuffer,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_Enumeration,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_reflect_Constructor,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_Properties,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Runnable,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_security_AccessController,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_apache_harmony_luni_util_FloatingPointParser,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_HeapByteBuffer,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_io_IOException,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_HashMap,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_reflect_Member,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_apache_harmony_luni_internal_nls_Messages,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Character,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_Set,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_CharBuffer,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_ArrayList,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_io_InvalidObjectException,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_security_BasicPermission,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Readable,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_Hashtable,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_String,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_Dictionary,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_charset_CoderResult,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_apache_harmony_niochar_CharsetProviderImpl_1,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_apache_harmony_niochar_CharsetProviderImpl,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_Hashtable_Entry,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_ref_WeakReference,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_WeakHashMap,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_AbstractSequentialList,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_StringTokenizer,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_String_CaseInsensitiveComparator,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_reflect_Modifier,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_ThreadGroup,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_ClassNotFoundException,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_xmlvm_runtime_XMLVMUtil,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_ReadWriteHeapByteBuffer,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_PropertyPermission,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Long,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_reflect_Field,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_io_InterruptedIOException,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_apache_harmony_luni_platform_OSMemory,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_Collections_SynchronizedMap,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_reflect_GenericDeclaration,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_System,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_RuntimePermission,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Comparable,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Thread_UncaughtExceptionHandler,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_io_FilterOutputStream,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Double,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_ThreadGroup_ChildrenGroupsLock,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_apache_harmony_niochar_charset_UTF_8_Decoder,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_Hashtable_1,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_charset_CodingErrorAction,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_charset_Charset,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_CharArrayBuffer,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_Hashtable_2,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_IndexOutOfBoundsException,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Integer,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Short,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_Collections_EmptyList,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_net_ConnectException,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_ByteBuffer,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_WeakHashMap_Entry,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_security_Guard,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_reflect_Type,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_Iterator,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_apache_harmony_luni_platform_Endianness,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_charset_CharsetDecoder,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_apache_harmony_luni_util_PriviAction,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Iterable,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_io_File,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Byte,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_security_PrivilegedAction,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_RandomAccess,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_AbstractList,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_apache_harmony_luni_platform_IMemorySystem,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Math,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_Deque,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_apache_harmony_luni_util_Util,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_Map,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_SecurityManager,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Runtime,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_xmlvm_runtime_RedTypeMarker,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_reflect_Method,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Thread,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_ref_Reference,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_StringBuilder,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_Collections,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_io_PrintStream,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_net_UnknownHostException,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_Collections_EmptySet,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_nbody_nbody,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_apache_harmony_niochar_charset_UTF_8_Encoder,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_xmlvm_runtime_XMLVMClassLoader,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_Collection,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_nbody_Body,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Thread_State,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_io_Closeable,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_ThreadGroup_ChildrenThreadsLock,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_io_InvalidClassException,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Object_AddedMembers,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_apache_harmony_luni_platform_IFileSystem,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Cloneable,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_ClassLoader,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_HashMap_Entry,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_net_Inet6Address,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_MapEntry,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Exception,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_RuntimeException,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_HashSet,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_io_Flushable,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_NullPointerException,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_charset_Charset_2,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_io_FileDescriptor,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_nio_charset_Charset_1,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_io_OutputStream,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_org_apache_harmony_niochar_charset_UTF_8,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_lang_Enum,
+ (__TIB_DEFINITION_TEMPLATE*) &__TIB_java_util_Queue,
+};
+
+int __xmlvm_num_tib = sizeof(__xmlvm_tib_list) / sizeof(__TIB_DEFINITION_TEMPLATE*);
diff --git a/tests/nbody-java/xmlvm-util.c b/tests/nbody-java/xmlvm-util.c
new file mode 100644
index 00000000..c879ad70
--- /dev/null
+++ b/tests/nbody-java/xmlvm-util.c
@@ -0,0 +1,220 @@
+/*
+ * Copyright (c) 2002-2011 by XMLVM.org
+ *
+ * Project Info: http://www.xmlvm.org
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ * USA.
+ */
+
+#include "xmlvm-util.h"
+#include "java_util_ArrayList.h"
+#include "java_util_HashSet.h"
+#include "java_util_HashMap.h"
+#include "java_util_Map_Entry.h"
+
+
+/**** ArrayList Utilities ********************************************************************/
+JAVA_OBJECT XMLVMUtil_NEW_ArrayList()
+{
+ JAVA_OBJECT obj = __NEW_java_util_ArrayList();
+ java_util_ArrayList___INIT___(obj);
+ return obj;
+}
+
+JAVA_INT XMLVMUtil_ArrayList_size(JAVA_OBJECT me)
+{
+#ifdef XMLVM_VTABLE_IDX_java_util_ArrayList_size__
+ return (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_ArrayList*) me)->
+ tib->vtable[XMLVM_VTABLE_IDX_java_util_ArrayList_size__])(me);
+#else
+ return java_util_ArrayList_size__(me);
+#endif
+}
+
+JAVA_BOOLEAN XMLVMUtil_ArrayList_add(JAVA_OBJECT me, JAVA_OBJECT obj)
+{
+#ifdef XMLVM_VTABLE_IDX_java_util_ArrayList_add___java_lang_Object
+ return (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_ArrayList*) me)->
+ tib->vtable[XMLVM_VTABLE_IDX_java_util_ArrayList_add___java_lang_Object])(me, obj);
+#else
+ return java_util_ArrayList_add___java_lang_Object(me, obj);
+#endif
+}
+
+void XMLVMUtil_ArrayList_addAt(JAVA_OBJECT me, JAVA_INT index, JAVA_OBJECT obj)
+{
+#ifdef XMLVM_VTABLE_IDX_java_util_ArrayList_add___int_java_lang_Object
+ (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_INT, JAVA_OBJECT)) ((java_util_ArrayList*) me)->
+ tib->vtable[XMLVM_VTABLE_IDX_java_util_ArrayList_add___int_java_lang_Object])(me, index, obj);
+#else
+ java_util_ArrayList_add___int_java_lang_Object(me, index, obj);
+#endif
+}
+
+JAVA_OBJECT XMLVMUtil_ArrayList_get(JAVA_OBJECT me, JAVA_INT idx)
+{
+#ifdef XMLVM_VTABLE_IDX_java_util_ArrayList_get___int
+ return (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_INT)) ((java_util_ArrayList*) me)->
+ tib->vtable[XMLVM_VTABLE_IDX_java_util_ArrayList_get___int])(me, idx);
+#else
+ return java_util_ArrayList_get___int(me, idx);
+#endif
+}
+
+JAVA_BOOLEAN XMLVMUtil_ArrayList_remove(JAVA_OBJECT me, JAVA_OBJECT obj)
+{
+#ifdef XMLVM_VTABLE_IDX_java_util_ArrayList_remove___java_lang_Object
+ return (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_ArrayList*) me)->
+ tib->vtable[XMLVM_VTABLE_IDX_java_util_ArrayList_remove___java_lang_Object])(me, obj);
+#else
+ return java_util_ArrayList_remove___java_lang_Object(me, obj);
+#endif
+}
+
+JAVA_INT XMLVMUtil_ArrayList_indexOf(JAVA_OBJECT me, JAVA_OBJECT obj)
+{
+#ifdef XMLVM_VTABLE_IDX_java_util_ArrayList_indexOf___java_lang_Object
+ return (*(JAVA_INT (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_ArrayList*) me)->
+ tib->vtable[XMLVM_VTABLE_IDX_java_util_ArrayList_indexOf___java_lang_Object])(me, obj);
+#else
+ return java_util_ArrayList_indexOf___java_lang_Object(me, obj);
+#endif
+}
+
+/**** HashSet Utilities ********************************************************************/
+JAVA_OBJECT XMLVMUtil_NEW_HashSet()
+{
+ JAVA_OBJECT obj = __NEW_java_util_HashSet();
+ java_util_HashSet___INIT___(obj);
+ return obj;
+}
+
+JAVA_BOOLEAN XMLVMUtil_HashSet_add(JAVA_OBJECT me, JAVA_OBJECT obj)
+{
+#ifdef XMLVM_VTABLE_IDX_java_util_HashSet_add___java_lang_Object
+ return (*(JAVA_BOOLEAN (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_HashSet*) me)->
+ tib->vtable[XMLVM_VTABLE_IDX_java_util_HashSet_add___java_lang_Object])(me, obj);
+#else
+ return java_util_HashSet_add___java_lang_Object(me, obj);
+#endif
+}
+
+JAVA_INT XMLVMUtil_HashSet_iterator(JAVA_OBJECT me)
+{
+#ifdef XMLVM_VTABLE_IDX_java_util_HashSet_iterator__
+ return (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_HashSet*) me)->
+ tib->vtable[XMLVM_ITABLE_IDX_java_util_Set_iterator__])(me);
+#else
+ return java_util_HashSet_iterator__(me);
+#endif
+}
+
+JAVA_INT XMLVMUtil_Iterator_hasNext(JAVA_OBJECT me)
+{
+#ifdef XMLVM_VTABLE_IDX_java_util_Iterator_hasNext__
+ return (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_Iterator*) me)->
+ tib->vtable[XMLVM_VTABLE_IDX_java_util_Iterator_hasNext__])(me);
+#endif
+}
+
+JAVA_INT XMLVMUtil_Iterator_next(JAVA_OBJECT me)
+{
+#ifdef XMLVM_VTABLE_IDX_java_util_Iterator_next__
+ return (*(JAVA_INT (*)(JAVA_OBJECT)) ((java_util_Iterator*) me)->
+ tib->vtable[XMLVM_VTABLE_IDX_java_util_Iterator_next__])(me);
+#endif
+}
+
+/**** HashMap Utilities ********************************************************************/
+JAVA_OBJECT XMLVMUtil_NEW_HashMap()
+{
+ JAVA_OBJECT obj = __NEW_java_util_HashMap();
+ java_util_HashMap___INIT___(obj);
+ return obj;
+}
+
+JAVA_OBJECT XMLVMUtil_HashMap_put(JAVA_OBJECT me, JAVA_OBJECT key, JAVA_OBJECT value)
+{
+#ifdef XMLVM_VTABLE_IDX_java_util_HashMap_put___java_lang_Object_java_lang_Object
+ return (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT, JAVA_OBJECT)) ((java_util_HashMap*) me)->
+ tib->vtable[XMLVM_VTABLE_IDX_java_util_HashMap_put___java_lang_Object_java_lang_Object])(me, key, value);
+#else
+ return java_util_HashMap_put___java_lang_Object_java_lang_Object(me, key, value);
+#endif
+}
+
+JAVA_OBJECT XMLVMUtil_HashMap_get(JAVA_OBJECT me, JAVA_OBJECT key)
+{
+#ifdef XMLVM_VTABLE_IDX_java_util_HashMap_get___java_lang_Object
+ return (*(JAVA_OBJECT (*)(JAVA_OBJECT, JAVA_OBJECT)) ((java_util_HashMap*) me)->
+ tib->vtable[XMLVM_VTABLE_IDX_java_util_HashMap_get___java_lang_Object])(me, key);
+#else
+ return java_util_HashMap_get___java_lang_Object(me, key);
+#endif
+}
+
+JAVA_OBJECT XMLVMUtil_HashMap_entrySet(JAVA_OBJECT me)
+{
+#ifdef XMLVM_VTABLE_IDX_java_util_HashMap_entrySet__
+ return (*(JAVA_OBJECT (*)(JAVA_OBJECT)) ((java_util_HashMap*) me)->
+ tib->vtable[XMLVM_VTABLE_IDX_java_util_HashMap_entrySet__])(me);
+#else
+ return java_util_HashMap_entrySet__(me);
+#endif
+}
+
+JAVA_OBJECT XMLVMUtil_MapEntry_getKey(JAVA_OBJECT me)
+{
+ return (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*) me)->
+ tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getKey__])(me);
+}
+
+JAVA_OBJECT XMLVMUtil_MapEntry_getValue(JAVA_OBJECT me)
+{
+ return (*(JAVA_OBJECT (*)(JAVA_OBJECT)) *(((java_lang_Object*) me)->
+ tib->itableBegin)[XMLVM_ITABLE_IDX_java_util_Map_Entry_getValue__])(me);
+}
+
+
+/**** ConstantStringPool Utilities ************************************************************/
+static JAVA_OBJECT stringPool = JAVA_NULL;
+
+JAVA_OBJECT XMLVMUtil_getFromStringPool(JAVA_OBJECT str)
+{
+ if (stringPool == JAVA_NULL) {
+ stringPool = XMLVMUtil_NEW_ArrayList();
+ }
+ JAVA_INT i = XMLVMUtil_ArrayList_indexOf(stringPool, str);
+ if (i == -1) {
+ XMLVMUtil_ArrayList_add(stringPool, str);
+ return str;
+ }
+ return XMLVMUtil_ArrayList_get(stringPool, i);
+}
+
+
+/**** Misc Utilities **********************************************************************/
+
+char* XMLVMUtil_convertFromByteArray(JAVA_OBJECT byteArray) {
+ org_xmlvm_runtime_XMLVMArray* a = byteArray;
+ char* data = (char*) a->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ int length = a->fields.org_xmlvm_runtime_XMLVMArray.length_;
+ char* buf = XMLVM_ATOMIC_MALLOC(length + 1);
+ XMLVM_MEMCPY(buf, data, length);
+ buf[length] = '\0';
+ return buf;
+}
+
diff --git a/tests/nbody-java/xmlvm-util.h b/tests/nbody-java/xmlvm-util.h
new file mode 100644
index 00000000..df64a0d1
--- /dev/null
+++ b/tests/nbody-java/xmlvm-util.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2002-2011 by XMLVM.org
+ *
+ * Project Info: http://www.xmlvm.org
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ * USA.
+ */
+
+#ifndef __XMLVM_UTIL_H__
+#define __XMLVM_UTIL_H__
+
+#include "xmlvm.h"
+
+JAVA_OBJECT XMLVMUtil_NEW_ArrayList();
+JAVA_INT XMLVMUtil_ArrayList_size(JAVA_OBJECT me);
+JAVA_BOOLEAN XMLVMUtil_ArrayList_add(JAVA_OBJECT me, JAVA_OBJECT obj);
+void XMLVMUtil_ArrayList_addAt(JAVA_OBJECT me, JAVA_INT index, JAVA_OBJECT obj);
+JAVA_OBJECT XMLVMUtil_ArrayList_get(JAVA_OBJECT me, JAVA_INT idx);
+JAVA_BOOLEAN XMLVMUtil_ArrayList_remove(JAVA_OBJECT me, JAVA_OBJECT obj);
+JAVA_INT XMLVMUtil_ArrayList_indexOf(JAVA_OBJECT me, JAVA_OBJECT obj);
+
+JAVA_OBJECT XMLVMUtil_NEW_HashSet();
+JAVA_BOOLEAN XMLVMUtil_HashSet_add(JAVA_OBJECT me, JAVA_OBJECT obj);
+
+JAVA_OBJECT XMLVMUtil_NEW_HashMap();
+JAVA_OBJECT XMLVMUtil_HashMap_put(JAVA_OBJECT me, JAVA_OBJECT key, JAVA_OBJECT value);
+JAVA_OBJECT XMLVMUtil_HashMap_get(JAVA_OBJECT me, JAVA_OBJECT key);
+
+JAVA_OBJECT XMLVMUtil_getFromStringPool(JAVA_OBJECT str);
+
+char* XMLVMUtil_convertFromByteArray(JAVA_OBJECT byteArray);
+
+#endif
diff --git a/tests/nbody-java/xmlvm.c b/tests/nbody-java/xmlvm.c
new file mode 100644
index 00000000..35e04d16
--- /dev/null
+++ b/tests/nbody-java/xmlvm.c
@@ -0,0 +1,565 @@
+/*
+ * Copyright (c) 2002-2011 by XMLVM.org
+ *
+ * Project Info: http://www.xmlvm.org
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ * USA.
+ */
+
+#include "xmlvm.h"
+#include "xmlvm-util.h"
+#include "java_lang_System.h"
+#include "java_lang_Class.h"
+#include "java_lang_String.h"
+#include "java_lang_Throwable.h"
+#include "org_xmlvm_runtime_FinalizerNotifier.h"
+#include "org_xmlvm_runtime_XMLVMUtil.h"
+#include <stdio.h>
+#include <string.h>
+
+
+XMLVM_STATIC_INITIALIZER_CONTROLLER* staticInitializerController;
+
+// This exception value is only used for the main thread.
+// Since a call to Thread.currentThread() contains try-catch blocks, this must
+// be defined before the "main" java.lang.Thread is defined.
+XMLVM_JMP_BUF xmlvm_exception_env_main_thread;
+
+
+#ifdef XMLVM_ENABLE_STACK_TRACES
+
+
+#include "uthash.h"
+
+#define HASH_ADD_JAVA_LONG(head,javalongfield,add) \
+ HASH_ADD(hh,head,javalongfield,sizeof(JAVA_LONG),add)
+#define HASH_FIND_JAVA_LONG(head,findjavalong,out) \
+ HASH_FIND(hh,head,findjavalong,sizeof(JAVA_LONG),out)
+
+// A map of type UTHash with a key of JAVA_LONG and value of JAVA_OBJECT
+struct hash_struct {
+ JAVA_LONG key;
+ JAVA_OBJECT value;
+ UT_hash_handle hh; // makes this structure hashable
+};
+
+
+// Map of thread id to its stack trace
+struct hash_struct** threadToStackTraceMapPtr;
+
+
+#endif
+
+
+void xmlvm_init()
+{
+#ifdef XMLVM_ENABLE_STACK_TRACES
+ threadToStackTraceMapPtr = malloc(sizeof(struct hash_struct**));
+ struct hash_struct* map = NULL; // This must be set to NULL according to the UTHash documentation
+ *threadToStackTraceMapPtr = map;
+
+ JAVA_LONG nativeThreadId = (JAVA_LONG) pthread_self();
+ createStackForNewThread(nativeThreadId);
+#endif
+
+#ifndef XMLVM_NO_GC
+//#ifdef DEBUG
+// setenv("GC_PRINT_STATS", "1", 1);
+//#endif
+ GC_INIT();
+ GC_enable_incremental();
+#endif
+
+ staticInitializerController = XMLVM_MALLOC(sizeof(XMLVM_STATIC_INITIALIZER_CONTROLLER));
+ staticInitializerController->initMutex = XMLVM_MALLOC(sizeof(pthread_mutex_t));
+ if (0 != pthread_mutex_init(staticInitializerController->initMutex, NULL)) {
+ XMLVM_ERROR("Error initializing static initializer mutex", __FILE__, __FUNCTION__, __LINE__);
+ }
+
+ __INIT_org_xmlvm_runtime_XMLVMArray();
+ java_lang_Class_initNativeLayer__();
+ __INIT_java_lang_System();
+ org_xmlvm_runtime_XMLVMUtil_init__();
+ /*
+ * The implementation of the constant pool makes use of cross-compiled Java data structures.
+ * During initialization of the VM done up to this point there are some circular dependencies
+ * between class initializers of various classes and the constant pool that lead to some
+ * inconsistencies. The easiest way to fix this is to clear the constant pool cache.
+ */
+ xmlvm_clear_constant_pool_cache();
+
+#ifndef XMLVM_NO_GC
+#ifndef EMSCRIPTEN
+ GC_finalize_on_demand = 1;
+ GC_java_finalization = 1;
+ java_lang_Thread* finalizerThread = (java_lang_Thread*) org_xmlvm_runtime_FinalizerNotifier_startFinalizerThread__();
+ GC_finalizer_notifier = org_xmlvm_runtime_FinalizerNotifier_finalizerNotifier__;
+#endif
+#endif
+
+ reference_array = XMLVMUtil_NEW_ArrayList();
+}
+
+void xmlvm_destroy(java_lang_Thread* mainThread)
+{
+#ifdef EMSCRIPTEN
+ return; // Let the JS engine handle clean up
+#endif
+
+ java_lang_Thread_threadTerminating__(mainThread);
+
+#ifdef XMLVM_ENABLE_STACK_TRACES
+ JAVA_LONG nativeThreadId = (JAVA_LONG) pthread_self();
+ destroyStackForExitingThread(nativeThreadId);
+#endif
+
+ // Unregister the current thread. Only an explicitly registered
+ // thread (i.e. for which GC_register_my_thread() returns GC_SUCCESS)
+ // is allowed (and required) to call this function. (As a special
+ // exception, it is also allowed to once unregister the main thread.)
+#ifndef XMLVM_NO_GC
+ GC_unregister_my_thread();
+#endif
+
+ // Call pthread_exit(0) so that the main thread does not terminate until
+ // the other threads have finished
+ pthread_exit(0);
+}
+
+/**
+ * Lock a mutex. If an error occurs, terminate the program.
+ */
+static void lockOrExit(char* className, pthread_mutex_t* mut)
+{
+ int result = pthread_mutex_lock(mut);
+ if (0 != result) {
+ printf("Error locking mutex in %s: %i\n", className, result);
+ exit(1);
+ }
+// else { printf("SUCCESSFUL mutex lock in %s\n", className); }
+}
+
+/**
+ * Unlock a mutex. If an error occurs, terminate the program.
+ */
+static void unlockOrExit(char* className, pthread_mutex_t* mut)
+{
+ int result = pthread_mutex_unlock(mut);
+ if (0 != result) {
+ printf("Error unlocking mutex in %s: %i\n", className, result);
+ exit(1);
+ }
+// else { printf("SUCCESSFUL mutex unlock in %s\n", className); }
+}
+
+/**
+ * Lock the static initializer mutex.
+ */
+void staticInitializerLock(void* tibDefinition)
+{
+ char* className = ((struct __TIB_DEFINITION_TEMPLATE*)tibDefinition)->className;
+ lockOrExit(className, staticInitializerController->initMutex);
+}
+
+/**
+ * Unlock the static initializer mutex.
+ */
+void staticInitializerUnlock(void* tibDefinition)
+{
+ char* className = ((struct __TIB_DEFINITION_TEMPLATE*)tibDefinition)->className;
+ unlockOrExit(className, staticInitializerController->initMutex);
+}
+
+int xmlvm_java_string_cmp(JAVA_OBJECT s1, const char* s2)
+{
+ java_lang_String* str = (java_lang_String*) s1;
+ JAVA_INT len = str->fields.java_lang_String.count_;
+ if (len != strlen(s2)) {
+ return 0;
+ }
+ JAVA_INT offset = str->fields.java_lang_String.offset_;
+ org_xmlvm_runtime_XMLVMArray* value = (org_xmlvm_runtime_XMLVMArray*) str->fields.java_lang_String.value_;
+ JAVA_ARRAY_CHAR* valueArray = (JAVA_ARRAY_CHAR*) value->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ for (int i = 0; i < len; i++) {
+ if (valueArray[i + offset] != s2[i]) {
+ return 0;
+ }
+ }
+ return 1;
+}
+
+const char* xmlvm_java_string_to_const_char(JAVA_OBJECT s)
+{
+ if (s == JAVA_NULL) {
+ return "null";
+ }
+ java_lang_String* str = (java_lang_String*) s;
+ JAVA_INT len = str->fields.java_lang_String.count_;
+ char* cs = XMLVM_ATOMIC_MALLOC(len + 1);
+ JAVA_INT offset = str->fields.java_lang_String.offset_;
+ org_xmlvm_runtime_XMLVMArray* value = (org_xmlvm_runtime_XMLVMArray*) str->fields.java_lang_String.value_;
+ JAVA_ARRAY_CHAR* valueArray = (JAVA_ARRAY_CHAR*) value->fields.org_xmlvm_runtime_XMLVMArray.array_;
+ int i = 0;
+ for (i = 0; i < len; i++) {
+ cs[i] = valueArray[i + offset];
+ }
+ cs[i] = '\0';
+ return cs;
+}
+
+JAVA_OBJECT xmlvm_create_java_string(const char* s)
+{
+ java_lang_String* str = __NEW_java_lang_String();
+ org_xmlvm_runtime_XMLVMArray* charArray = XMLVMArray_createFromString(s);
+ java_lang_String___INIT____char_1ARRAY(str, charArray);
+ return XMLVMUtil_getFromStringPool(str);
+}
+
+JAVA_OBJECT xmlvm_create_java_string_array(int count, const char **s)
+{
+ JAVA_OBJECT javaStrings[count];
+ for (int i = 0; i < count; i++) {
+ javaStrings[i] = xmlvm_create_java_string(s[i]);
+ }
+ JAVA_OBJECT javaStringArray = XMLVMArray_createSingleDimension(__CLASS_java_lang_String, count);
+ XMLVMArray_fillArray(javaStringArray, javaStrings);
+ return javaStringArray;
+}
+
+static JAVA_OBJECT* stringConstants = JAVA_NULL;
+
+JAVA_OBJECT xmlvm_create_java_string_from_pool(int pool_id)
+{
+ if (stringConstants == JAVA_NULL) {
+ // TODO: use XMLVM_ATOMIC_MALLOC?
+ stringConstants = XMLVM_MALLOC(xmlvm_constant_pool_size * sizeof(JAVA_OBJECT));
+ XMLVM_BZERO(stringConstants, xmlvm_constant_pool_size * sizeof(JAVA_OBJECT));
+ }
+ if (stringConstants[pool_id] != JAVA_NULL) {
+ return stringConstants[pool_id];
+ }
+ java_lang_String* str = __NEW_java_lang_String();
+ org_xmlvm_runtime_XMLVMArray* charArray = XMLVMArray_createSingleDimensionWithData(__CLASS_char,
+ xmlvm_constant_pool_length[pool_id],
+ (JAVA_OBJECT) xmlvm_constant_pool_data[pool_id]);
+ java_lang_String___INIT____char_1ARRAY(str, charArray);
+ JAVA_OBJECT poolStr = XMLVMUtil_getFromStringPool(str);
+ stringConstants[pool_id] = poolStr;
+ return poolStr;
+}
+
+void xmlvm_clear_constant_pool_cache()
+{
+ XMLVM_BZERO(stringConstants, xmlvm_constant_pool_size * sizeof(JAVA_OBJECT));
+}
+
+
+//---------------------------------------------------------------------------------------------
+// XMLVMClass
+
+JAVA_OBJECT XMLVM_CREATE_CLASS_OBJECT(void* tib)
+{
+ JAVA_OBJECT clazz = __NEW_java_lang_Class();
+ java_lang_Class___INIT____java_lang_Object(clazz, tib);
+ return clazz;
+}
+
+
+JAVA_OBJECT XMLVM_CREATE_ARRAY_CLASS_OBJECT(JAVA_OBJECT baseType)
+{
+ __TIB_DEFINITION_org_xmlvm_runtime_XMLVMArray* tib = XMLVM_MALLOC(sizeof(__TIB_DEFINITION_org_xmlvm_runtime_XMLVMArray));
+ XMLVM_MEMCPY(tib, &__TIB_org_xmlvm_runtime_XMLVMArray, sizeof(__TIB_DEFINITION_org_xmlvm_runtime_XMLVMArray));
+ tib->flags = XMLVM_TYPE_ARRAY;
+ tib->baseType = baseType;
+ tib->arrayType = JAVA_NULL;
+ JAVA_OBJECT clazz = __NEW_java_lang_Class();
+ java_lang_Class___INIT____java_lang_Object(clazz, tib);
+ tib->clazz = clazz;
+ // Set the arrayType in in baseType to this newly created array type class
+ java_lang_Class* baseTypeClass = (java_lang_Class*) baseType;
+ __TIB_DEFINITION_TEMPLATE* baseTypeTIB = (__TIB_DEFINITION_TEMPLATE*) baseTypeClass->fields.java_lang_Class.tib_;
+ baseTypeTIB->arrayType = clazz;
+ return clazz;
+}
+
+
+int XMLVM_ISA(JAVA_OBJECT obj, JAVA_OBJECT clazz)
+{
+ if (obj == JAVA_NULL) {
+ return 0;
+ }
+
+ int dimension_tib1 = 0;
+ int dimension_tib2 = 0;
+ __TIB_DEFINITION_TEMPLATE* tib1 = (__TIB_DEFINITION_TEMPLATE*) ((java_lang_Object*) obj)->tib;
+ __TIB_DEFINITION_TEMPLATE* tib2 = (__TIB_DEFINITION_TEMPLATE*) ((java_lang_Class*) clazz)->fields.java_lang_Class.tib_;
+
+ if (tib1 == &__TIB_org_xmlvm_runtime_XMLVMArray) {
+ java_lang_Class* clazz = ((org_xmlvm_runtime_XMLVMArray*) obj)->fields.org_xmlvm_runtime_XMLVMArray.type_;
+ tib1 = clazz->fields.java_lang_Class.tib_;
+ }
+
+ while (tib1->baseType != JAVA_NULL) {
+ tib1 = ((java_lang_Class*) tib1->baseType)->fields.java_lang_Class.tib_;
+ dimension_tib1++;
+ }
+
+ while (tib2->baseType != JAVA_NULL) {
+ tib2 = ((java_lang_Class*) tib2->baseType)->fields.java_lang_Class.tib_;
+ dimension_tib2++;
+ }
+
+ if (dimension_tib1 < dimension_tib2) {
+ return 0;
+ }
+
+ while (tib1 != JAVA_NULL) {
+ if (tib1 == tib2) {
+ return 1;
+ }
+ // Check all implemented interfaces
+ int i;
+ for (i = 0; i < tib1->numImplementedInterfaces; i++) {
+ if (tib1->implementedInterfaces[0][i] == tib2) {
+ return 1;
+ }
+ }
+ tib1 = tib1->extends;
+ }
+ return 0;
+}
+
+//---------------------------------------------------------------------------------------------
+// Stack traces
+
+#ifdef XMLVM_ENABLE_STACK_TRACES
+
+void createStackForNewThread(JAVA_LONG threadId)
+{
+ struct hash_struct *s = malloc(sizeof(struct hash_struct));
+ s->key = threadId;
+
+ XMLVM_STACK_TRACE_CURRENT* newStack = malloc(sizeof(XMLVM_STACK_TRACE_CURRENT));
+ newStack->stackSize = 0;
+ newStack->topOfStack = NULL;
+
+ s->value = newStack;
+ HASH_ADD_JAVA_LONG((struct hash_struct *)*threadToStackTraceMapPtr, key, s);
+}
+
+void destroyStackForExitingThread(JAVA_LONG threadId)
+{
+ struct hash_struct *s;
+ HASH_FIND_JAVA_LONG((struct hash_struct *)*threadToStackTraceMapPtr, &threadId, s);
+ if (s == NULL) {
+ printf("ERROR: Unable to destroy stack trace for exiting thread!\n");
+ exit(-1);
+ } else {
+ HASH_DEL((struct hash_struct *)*threadToStackTraceMapPtr, s);
+ free(s->value);
+ free(s);
+ }
+}
+
+XMLVM_STACK_TRACE_CURRENT* getCurrentStackTrace()
+{
+ JAVA_LONG currentThreadId = (JAVA_LONG)pthread_self();
+ struct hash_struct *s;
+ HASH_FIND_JAVA_LONG((struct hash_struct *)*threadToStackTraceMapPtr, &currentThreadId, s);
+ if (s == NULL) {
+ printf("ERROR: Unable to find stack trace for current thread!\n");
+ exit(-1);
+ }
+ return (XMLVM_STACK_TRACE_CURRENT*)s->value;
+}
+
+void xmlvmEnterMethod(XMLVM_STACK_TRACE_CURRENT* threadStack, const char* className, const char* methodName, const char* fileName)
+{
+ //printf("Entering method %s\n", className);
+
+ XMLVM_STACK_TRACE_ELEMENT* newLocationElement = malloc(sizeof(XMLVM_STACK_TRACE_ELEMENT));
+ newLocationElement->className = className;
+ newLocationElement->methodName = methodName;
+ newLocationElement->fileName = fileName;
+ newLocationElement->lineNumber = -2;
+
+ XMLVM_STACK_TRACE_LINK* link = malloc(sizeof(XMLVM_STACK_TRACE_LINK));
+ link->nextLink = threadStack->topOfStack;
+ if (threadStack->topOfStack != NULL) {
+ link->element = threadStack->topOfStack->currentLocation;
+ }
+ link->currentLocation = newLocationElement;
+
+ // Push what was the current location onto the stack and set the new current location
+ threadStack->stackSize++;
+ threadStack->topOfStack = link;
+}
+
+void xmlvmSourcePosition(XMLVM_STACK_TRACE_CURRENT* threadStack, const char* fileName, int lineNumber)
+{
+ //printf("Source position update %i\n", lineNumber);
+
+ threadStack->topOfStack->currentLocation->fileName = fileName;
+ threadStack->topOfStack->currentLocation->lineNumber = lineNumber;
+}
+
+void xmlvmExitMethod(XMLVM_STACK_TRACE_CURRENT* threadStack)
+{
+ //printf("Exiting method\n");
+
+ XMLVM_STACK_TRACE_LINK* linkToDestroy = threadStack->topOfStack;
+ threadStack->topOfStack = linkToDestroy->nextLink;
+ threadStack->stackSize--;
+
+ free(linkToDestroy->currentLocation);
+ free(linkToDestroy);
+}
+
+void xmlvmUnwindException(XMLVM_STACK_TRACE_CURRENT* threadStack, int unwindToStackSize)
+{
+ while (unwindToStackSize + 1 < threadStack->stackSize) {
+ //printf("Unwinding stack after catching an exception: %i > %i\n", unwindToStackSize, threadStack->stackSize);
+ xmlvmExitMethod(threadStack);
+ }
+}
+
+#endif
+
+
+#ifdef XMLVM_ENABLE_CLASS_LOGGING
+//---------------------------------------------------------------------------------------------
+// Reflection/Class Usage logging
+
+FILE *logFile = 0;
+int useLogging = 1;
+
+void xmlvmClassUsed(const char *prefix, const char *className) {
+ if (useLogging && (logFile == 0)) {
+ logFile = fopen("touched_classes.txt", "w");
+ }
+ if (useLogging && (logFile != 0)) {
+ fprintf(logFile, "%s:%s\n", prefix, className);
+ } else {
+ useLogging = 0; // Failed to open file, so stop
+ }
+}
+
+#endif
+
+//---------------------------------------------------------------------------------------------
+// XMLVMArray
+
+
+JAVA_OBJECT XMLVMArray_createSingleDimension(JAVA_OBJECT type, JAVA_INT size)
+{
+ return org_xmlvm_runtime_XMLVMArray_createSingleDimension___java_lang_Class_int(type, size);
+}
+
+JAVA_OBJECT XMLVMArray_createSingleDimensionWithData(JAVA_OBJECT type, JAVA_INT size, JAVA_OBJECT data)
+{
+ return org_xmlvm_runtime_XMLVMArray_createSingleDimensionWithData___java_lang_Class_int_java_lang_Object(type, size, data);
+}
+
+
+JAVA_OBJECT XMLVMArray_createMultiDimensions(JAVA_OBJECT type, JAVA_OBJECT dimensions)
+{
+ return org_xmlvm_runtime_XMLVMArray_createMultiDimensions___java_lang_Class_org_xmlvm_runtime_XMLVMArray(type, dimensions);
+}
+
+JAVA_OBJECT XMLVMArray_createFromString(const char* str)
+{
+ int len = strlen(str);
+ int size = len * sizeof(JAVA_ARRAY_CHAR);
+ int i;
+ JAVA_ARRAY_CHAR* data = XMLVM_ATOMIC_MALLOC(size);
+ for (i = 0; i < len; i++) {
+ data[i] = *str++;
+ }
+ return XMLVMArray_createSingleDimensionWithData(__CLASS_char, len, data);
+}
+
+void XMLVMArray_fillArray(JAVA_OBJECT array, void* data)
+{
+ org_xmlvm_runtime_XMLVMArray_fillArray___org_xmlvm_runtime_XMLVMArray_java_lang_Object(array, data);
+}
+
+int XMLVMArray_count(JAVA_OBJECT array)
+{
+ org_xmlvm_runtime_XMLVMArray* a = (org_xmlvm_runtime_XMLVMArray*) array;
+ return a->fields.org_xmlvm_runtime_XMLVMArray.length_;
+}
+
+void xmlvm_unhandled_exception()
+{
+ java_lang_Thread* curThread;
+ curThread = (java_lang_Thread*) java_lang_Thread_currentThread__();
+ JAVA_OBJECT exception = curThread->fields.java_lang_Thread.xmlvmException_;
+
+ JAVA_OBJECT thread_name;
+#ifdef XMLVM_VTABLE_IDX_java_lang_Thread_getName__
+ thread_name = ((Func_OO) ((java_lang_Thread*) curThread)->tib->vtable[XMLVM_VTABLE_IDX_java_lang_Thread_getName__])(curThread);
+#else
+ thread_name = java_lang_Thread_getName__(curThread);
+#endif
+
+#ifdef XMLVM_ENABLE_STACK_TRACES
+
+ printf("Exception in thread \"%s\" ",
+ xmlvm_java_string_to_const_char(thread_name));
+ java_lang_Throwable_printStackTrace__(exception);
+
+#else
+
+ JAVA_OBJECT message;
+#ifdef XMLVM_VTABLE_IDX_java_lang_Throwable_getMessage__
+ message = ((Func_OO) ((java_lang_Throwable*) exception)->tib->vtable[XMLVM_VTABLE_IDX_java_lang_Throwable_getMessage__])(exception);
+#else
+ message = java_lang_Throwable_getMessage__(exception);
+#endif
+
+ JAVA_OBJECT exception_class;
+#ifdef XMLVM_VTABLE_IDX_java_lang_Object_getClass__
+ exception_class = ((Func_OO) ((java_lang_Object*) exception)->tib->vtable[XMLVM_VTABLE_IDX_java_lang_Object_getClass__])(exception);
+#else
+ exception_class = java_lang_Object_getClass__(exception);
+#endif
+
+ JAVA_OBJECT class_name;
+#ifdef XMLVM_VTABLE_IDX_java_lang_Class_getName__
+ class_name = ((Func_OO) ((java_lang_Class*) exception_class)->tib->vtable[XMLVM_VTABLE_IDX_java_lang_Class_getName__])(exception_class);
+#else
+ class_name = java_lang_Class_getName__(exception_class);
+#endif
+
+ printf("Exception in thread \"%s\" %s: %s\n",
+ xmlvm_java_string_to_const_char(thread_name),
+ xmlvm_java_string_to_const_char(class_name),
+ xmlvm_java_string_to_const_char(message));
+
+#endif
+}
+
+void xmlvm_unimplemented_native_method()
+{
+ XMLVM_ERROR("Unimplemented native method", __FILE__, __FUNCTION__, __LINE__);
+}
+
+void XMLVM_ERROR(const char* msg, const char* file, const char* function, int line)
+{
+ printf("XMLVM Error: %s: (%s):%s:%d\n", msg, function, file, line);
+ exit(-1);
+}
+
diff --git a/tests/nbody-java/xmlvm.h b/tests/nbody-java/xmlvm.h
new file mode 100644
index 00000000..0d931565
--- /dev/null
+++ b/tests/nbody-java/xmlvm.h
@@ -0,0 +1,574 @@
+/*
+ * Copyright (c) 2002-2011 by XMLVM.org
+ *
+ * Project Info: http://www.xmlvm.org
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ * USA.
+ */
+
+#ifndef __XMLVM_H__
+#define __XMLVM_H__
+
+#ifdef EMSCRIPTEN
+// Workaround definitions for Emscripten
+// TODO: Determine if different solution is needed
+
+#define POLLPRI 0
+#define IP_MULTICAST_IF 32
+#define IP_MULTICAST_TTL 33
+#define IP_MULTICAST_LOOP 34
+#define IP_ADD_MEMBERSHIP 35
+#define IP_DROP_MEMBERSHIP 36
+#define SO_OOBINLINE 0
+
+#ifndef __linux__
+#define __linux__
+#endif
+
+#endif
+
+#ifdef __linux__
+#define LINUX
+#endif
+
+#include <math.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <setjmp.h>
+#include <pthread.h>
+#if __OBJC__ || MACOS
+#include <libkern/OSAtomic.h>
+#endif
+
+#if __OBJC__ || MACOS
+#define XMLVM_SPINLOCK_T OSSpinLock
+#define XMLVM_SPINLOCK_INIT(spin) spin = 0
+#define XMLVM_SPINLOCK_LOCK(spin) OSSpinLockLock(&spin)
+#define XMLVM_SPINLOCK_UNLOCK(spin) OSSpinLockUnlock(&spin)
+#else
+#define XMLVM_SPINLOCK_T pthread_spinlock_t
+#define XMLVM_SPINLOCK_INIT(spin) pthread_spin_init(&spin, 0)
+#define XMLVM_SPINLOCK_LOCK(spin) pthread_spin_lock(&spin)
+#define XMLVM_SPINLOCK_UNLOCK(spin) pthread_spin_unlock(&spin)
+#endif
+
+#ifdef DEBUG
+
+#define XMLVM_ENABLE_STACK_TRACES
+#define XMLVM_ENABLE_NPE_CHECK
+#define XMLVM_ENABLE_ARRAY_BOUNDS_CHECK
+
+#endif
+
+#ifdef XMLVM_NO_GC
+
+#define XMLVM_MALLOC(size) malloc(size)
+#define XMLVM_ATOMIC_MALLOC(size) malloc(size)
+#define XMLVM_FREE(pointer) free(pointer)
+#define XMLVM_FINALIZE(me, func)
+#define XMLVM_WEAK_REF(ptr)
+
+#else
+
+#include "gc.h"
+
+#define XMLVM_MALLOC(size) GC_MALLOC(size)
+#define XMLVM_ATOMIC_MALLOC(size) GC_MALLOC_ATOMIC(size)
+#define XMLVM_FREE(pointer) GC_FREE(pointer)
+#define XMLVM_FINALIZE(me, func) GC_REGISTER_FINALIZER_NO_ORDER((void *)me, func, (void *)NULL, (GC_finalization_proc *)0, (void * *)0);
+//#define XMLVM_WEAK_REF(ptr) GC_register_disappearing_link(ptr)
+#define XMLVM_WEAK_REF(ptr)
+
+#endif
+
+
+#define XMLVM_BZERO(pointer, size) memset((pointer), 0, size)
+#define XMLVM_MEMCPY(dest, src, size) memcpy(dest, src, size)
+#define XMLVM_OFFSETOF(type, field) ((unsigned long) &(((type *) 0)->field))
+
+
+#define XMLVM_CLASS_INIT(class) \
+ if (!__TIB_ ##class.classInitialized) __INIT_ ##class();
+
+#define XMLVM_FORWARD_DECL(class) \
+ JAVA_OBJECT __NEW_ ##class(); \
+ struct class; \
+ typedef struct class class; \
+ extern JAVA_OBJECT __CLASS_ ##class;
+
+
+void staticInitializerLock(void* tibDefinition);
+void staticInitializerUnlock(void* tibDefinition);
+
+typedef struct XMLVM_STATIC_INITIALIZER_CONTROLLER {
+ pthread_mutex_t* initMutex; // a mutex locked while statically initalizing a class or classes
+} XMLVM_STATIC_INITIALIZER_CONTROLLER;
+
+typedef void JAVA_VOID;
+typedef int JAVA_BOOLEAN;
+typedef int JAVA_CHAR;
+typedef int JAVA_BYTE;
+typedef int JAVA_SHORT;
+typedef int JAVA_INT;
+typedef unsigned int JAVA_UINT;
+typedef long long JAVA_LONG;
+typedef unsigned long long JAVA_ULONG;
+typedef float JAVA_FLOAT;
+typedef double JAVA_DOUBLE;
+typedef void* JAVA_OBJECT;
+
+//TODO which values should we use for Double.INFINITY?
+#define Infinity INFINITY
+#define NaN NAN
+
+typedef char JAVA_ARRAY_BYTE;
+typedef char JAVA_ARRAY_BOOLEAN;
+typedef unsigned short JAVA_ARRAY_CHAR;
+typedef short JAVA_ARRAY_SHORT;
+typedef int JAVA_ARRAY_INT;
+typedef long long JAVA_ARRAY_LONG;
+typedef float JAVA_ARRAY_FLOAT;
+typedef double JAVA_ARRAY_DOUBLE;
+typedef JAVA_OBJECT JAVA_ARRAY_OBJECT;
+
+
+typedef union {
+ JAVA_OBJECT o;
+ JAVA_INT i;
+ JAVA_FLOAT f;
+ JAVA_DOUBLE d;
+ JAVA_LONG l;
+} XMLVMElem;
+
+
+extern const JAVA_ARRAY_CHAR* xmlvm_constant_pool_data[];
+extern const JAVA_INT xmlvm_constant_pool_length[];
+extern int xmlvm_constant_pool_size;
+
+#define JAVA_NULL ((JAVA_OBJECT) 0)
+
+typedef void (*VTABLE_PTR)();
+typedef void (*Func_V)();
+typedef void (*Func_VO)(JAVA_OBJECT o1);
+typedef void (*Func_VOO)(JAVA_OBJECT o1, JAVA_OBJECT o2);
+typedef void (*Func_VOOO)(JAVA_OBJECT o1, JAVA_OBJECT o2, JAVA_OBJECT o3);
+typedef void (*Func_VOOOO)(JAVA_OBJECT o1, JAVA_OBJECT o2, JAVA_OBJECT o3, JAVA_OBJECT o4);
+typedef void (*Func_VOOOOO)(JAVA_OBJECT o1, JAVA_OBJECT o2, JAVA_OBJECT o3, JAVA_OBJECT o4, JAVA_OBJECT o5);
+typedef void (*Func_VOOOOOO)(JAVA_OBJECT o1, JAVA_OBJECT o2, JAVA_OBJECT o3, JAVA_OBJECT o4, JAVA_OBJECT o5, JAVA_OBJECT o6);
+typedef void (*Func_VOB)(JAVA_OBJECT o1, JAVA_BOOLEAN o3);
+typedef void (*Func_VOI)(JAVA_OBJECT o1, JAVA_INT i1);
+typedef void (*Func_VOOB)(JAVA_OBJECT o1, JAVA_OBJECT o2, JAVA_BOOLEAN o3);
+typedef void (*Func_VOOI)(JAVA_OBJECT o1, JAVA_OBJECT o2, JAVA_INT o3);
+typedef void (*Func_VOID)(JAVA_OBJECT o1, JAVA_INT i1, JAVA_DOUBLE d1);
+
+typedef JAVA_BOOLEAN (*Func_BOI)(JAVA_OBJECT o1, JAVA_INT i1);
+
+typedef JAVA_OBJECT (*Func_O)();
+typedef JAVA_OBJECT (*Func_OO)(JAVA_OBJECT o1);
+typedef JAVA_OBJECT (*Func_OOO)(JAVA_OBJECT o1, JAVA_OBJECT o2);
+typedef JAVA_OBJECT (*Func_OOOO)(JAVA_OBJECT o1, JAVA_OBJECT o2, JAVA_OBJECT o3);
+typedef JAVA_FLOAT (*Func_FOOO)(JAVA_OBJECT o1, JAVA_OBJECT o2, JAVA_OBJECT o3);
+typedef JAVA_INT (*Func_IO)(JAVA_OBJECT o1);
+typedef JAVA_INT (*Func_IOO)(JAVA_OBJECT o1, JAVA_OBJECT o2);
+typedef JAVA_INT (*Func_IOI)(JAVA_OBJECT o1, JAVA_INT i1);
+typedef JAVA_INT (*Func_IOOI)(JAVA_OBJECT o1, JAVA_OBJECT o2, JAVA_INT i1);
+typedef JAVA_OBJECT (*Func_OOOI)(JAVA_OBJECT o1, JAVA_OBJECT o2, JAVA_INT i1);
+typedef JAVA_OBJECT (*Func_OOII)(JAVA_OBJECT o1, JAVA_INT i1, JAVA_INT i2);
+typedef JAVA_BOOLEAN (*Func_BO)(JAVA_OBJECT o1);
+typedef JAVA_BOOLEAN (*Func_BOO)(JAVA_OBJECT o1, JAVA_OBJECT o2);
+typedef JAVA_BOOLEAN (*Func_BOOO)(JAVA_OBJECT o1, JAVA_OBJECT o2, JAVA_OBJECT o3);
+typedef JAVA_BOOLEAN (*Func_BOOOO)(JAVA_OBJECT o1, JAVA_OBJECT o2, JAVA_OBJECT o3, JAVA_OBJECT o4);
+typedef JAVA_BOOLEAN (*Func_BOOOOO)(JAVA_OBJECT o1, JAVA_OBJECT o2, JAVA_OBJECT o3, JAVA_OBJECT o4, JAVA_OBJECT o5);
+typedef JAVA_BOOLEAN (*Func_BOOOI)(JAVA_OBJECT o1, JAVA_OBJECT o2, JAVA_OBJECT o3, JAVA_INT o4);
+typedef void (*Func_VOOIO)(JAVA_OBJECT o1, JAVA_OBJECT o2, JAVA_INT i1, JAVA_OBJECT o3);
+
+#define java_lang_reflect_Modifier_PUBLIC 1
+#define java_lang_reflect_Modifier_PRIVATE 2
+#define java_lang_reflect_Modifier_PROTECTED 4
+#define java_lang_reflect_Modifier_STATIC 8
+#define java_lang_reflect_Modifier_FINAL 16
+#define java_lang_reflect_Modifier_SYNCHRONIZED 32
+#define java_lang_reflect_Modifier_VOLATILE 64
+#define java_lang_reflect_Modifier_TRANSIENT 128
+#define java_lang_reflect_Modifier_NATIVE 256
+#define java_lang_reflect_Modifier_INTERFACE 512
+#define java_lang_reflect_Modifier_ABSTRACT 1024
+#define java_lang_reflect_Modifier_STRICT 2048
+#define java_lang_reflect_Modifier_BRIDGE 64
+#define java_lang_reflect_Modifier_VARARGS 128
+#define java_lang_reflect_Modifier_SYNTHETIC 4096
+#define java_lang_reflect_Modifier_ANNOTATION 8192
+#define java_lang_reflect_Modifier_ENUM 16384
+
+typedef struct {
+ const char* name;
+ JAVA_OBJECT* type;
+ JAVA_INT modifiers;
+ JAVA_INT offset;
+ JAVA_OBJECT* address;
+ const char* signature;
+ JAVA_OBJECT annotations; // XMLVMArray(byte)
+} XMLVM_FIELD_REFLECTION_DATA;
+
+typedef struct {
+ JAVA_OBJECT** parameterTypes;
+ int numParameterTypes;
+ JAVA_OBJECT* checkedExceptions;
+ int numCheckedExceptions;
+ int modifiers;
+ const char* signature;
+ JAVA_OBJECT annotations;
+ JAVA_OBJECT parameterAnnotations;
+} XMLVM_CONSTRUCTOR_REFLECTION_DATA;
+
+typedef struct {
+ const char* name;
+ JAVA_OBJECT** parameterTypes;
+ int numParameterTypes;
+ JAVA_OBJECT* checkedExceptions;
+ int numCheckedExceptions;
+ int modifiers;
+ const char* signature;
+ JAVA_OBJECT annotations;
+ JAVA_OBJECT parameterAnnotations;
+} XMLVM_METHOD_REFLECTION_DATA;
+
+#define XMLVM_TYPE_CLASS 1
+#define XMLVM_TYPE_INTERFACE 2
+#define XMLVM_TYPE_ENUM 4
+#define XMLVM_TYPE_PRIMITIVE 8
+#define XMLVM_TYPE_ARRAY 16
+
+#define XMLVM_DEFINE_CLASS(name, vtableSize, itableSize) \
+typedef struct __TIB_DEFINITION_##name { \
+ int classInitializationBegan; \
+ int classInitialized; \
+ JAVA_LONG initializerThreadId; \
+ Func_V classInitializer; \
+ const char* className; \
+ const char* packageName; \
+ const char* enclosingClassName; \
+ const char* enclosingMethodName; \
+ const char* signature; \
+ struct __TIB_DEFINITION_TEMPLATE* extends; \
+ int sizeInstance; \
+ int flags; \
+ JAVA_OBJECT clazz; \
+ JAVA_OBJECT baseType; \
+ JAVA_OBJECT arrayType; \
+ XMLVM_FIELD_REFLECTION_DATA* declaredFields; \
+ int numDeclaredFields; \
+ XMLVM_CONSTRUCTOR_REFLECTION_DATA* declaredConstructors; \
+ int numDeclaredConstructors; \
+ Func_OOO constructorDispatcherFunc; \
+ XMLVM_METHOD_REFLECTION_DATA* declaredMethods; \
+ int numDeclaredMethods; \
+ Func_OOOO methodDispatcherFunc; \
+ Func_O newInstanceFunc; \
+ int numInterfaces; \
+ struct __TIB_DEFINITION_TEMPLATE* (*interfaces)[1]; \
+ int numImplementedInterfaces; \
+ struct __TIB_DEFINITION_TEMPLATE* (*implementedInterfaces)[1]; \
+ VTABLE_PTR* itableBegin; \
+ VTABLE_PTR vtable[vtableSize]; \
+ VTABLE_PTR itable[itableSize]; \
+} __TIB_DEFINITION_##name; \
+\
+extern __TIB_DEFINITION_##name __TIB_##name;
+
+XMLVM_DEFINE_CLASS(TEMPLATE, 0, 0)
+
+int XMLVM_ISA(JAVA_OBJECT obj, JAVA_OBJECT clazz);
+int xmlvm_java_string_cmp(JAVA_OBJECT s1, const char* s2);
+const char* xmlvm_java_string_to_const_char(JAVA_OBJECT s);
+JAVA_OBJECT xmlvm_create_java_string(const char* s);
+JAVA_OBJECT xmlvm_create_java_string_array(int count, const char **s);
+JAVA_OBJECT xmlvm_create_java_string_from_pool(int pool_id);
+void xmlvm_clear_constant_pool_cache();
+
+#define XMLVM_SIZE_OF_OBJECT_VTABLE 11
+
+
+//---------------------------------------------------------------------------------------------
+// XMLVMClass
+
+// Generated by AugmentedCOutputProcess in file xmlvm-tib-list.c and used in Class.forName()
+extern __TIB_DEFINITION_TEMPLATE* __xmlvm_tib_list[];
+extern int __xmlvm_num_tib;
+
+extern JAVA_OBJECT __CLASS_boolean;
+extern JAVA_OBJECT __CLASS_byte;
+extern JAVA_OBJECT __CLASS_char;
+extern JAVA_OBJECT __CLASS_short;
+extern JAVA_OBJECT __CLASS_int;
+extern JAVA_OBJECT __CLASS_long;
+extern JAVA_OBJECT __CLASS_float;
+extern JAVA_OBJECT __CLASS_double;
+extern JAVA_OBJECT __CLASS_void;
+
+extern JAVA_OBJECT __CLASS_boolean_1ARRAY;
+extern JAVA_OBJECT __CLASS_byte_1ARRAY;
+extern JAVA_OBJECT __CLASS_char_1ARRAY;
+extern JAVA_OBJECT __CLASS_short_1ARRAY;
+extern JAVA_OBJECT __CLASS_int_1ARRAY;
+extern JAVA_OBJECT __CLASS_long_1ARRAY;
+extern JAVA_OBJECT __CLASS_float_1ARRAY;
+extern JAVA_OBJECT __CLASS_double_1ARRAY;
+
+extern JAVA_OBJECT __CLASS_boolean_2ARRAY;
+extern JAVA_OBJECT __CLASS_byte_2ARRAY;
+extern JAVA_OBJECT __CLASS_char_2ARRAY;
+extern JAVA_OBJECT __CLASS_short_2ARRAY;
+extern JAVA_OBJECT __CLASS_int_2ARRAY;
+extern JAVA_OBJECT __CLASS_long_2ARRAY;
+extern JAVA_OBJECT __CLASS_float_2ARRAY;
+extern JAVA_OBJECT __CLASS_double_2ARRAY;
+
+extern JAVA_OBJECT __CLASS_boolean_3ARRAY;
+extern JAVA_OBJECT __CLASS_byte_3ARRAY;
+extern JAVA_OBJECT __CLASS_char_3ARRAY;
+extern JAVA_OBJECT __CLASS_short_3ARRAY;
+extern JAVA_OBJECT __CLASS_int_3ARRAY;
+extern JAVA_OBJECT __CLASS_long_3ARRAY;
+extern JAVA_OBJECT __CLASS_float_3ARRAY;
+extern JAVA_OBJECT __CLASS_double_3ARRAY;
+
+JAVA_OBJECT XMLVM_CREATE_CLASS_OBJECT(void* tib);
+JAVA_OBJECT XMLVM_CREATE_ARRAY_CLASS_OBJECT(JAVA_OBJECT baseType);
+
+extern JAVA_OBJECT __CLASS_org_xmlvm_runtime_RedTypeMarker;
+
+
+//---------------------------------------------------------------------------------------------
+// XMLVMArray
+
+JAVA_OBJECT XMLVMArray_createSingleDimension(JAVA_OBJECT type, int size);
+JAVA_OBJECT XMLVMArray_createSingleDimensionWithData(JAVA_OBJECT type, int size, void* data);
+JAVA_OBJECT XMLVMArray_createMultiDimensions(JAVA_OBJECT type, JAVA_OBJECT dimensions);
+JAVA_OBJECT XMLVMArray_createFromString(const char* str);
+void XMLVMArray_fillArray(JAVA_OBJECT array, void* data);
+JAVA_INT XMLVMArray_count(JAVA_OBJECT array);
+
+XMLVM_DEFINE_CLASS(boolean, XMLVM_SIZE_OF_OBJECT_VTABLE, 0)
+XMLVM_DEFINE_CLASS(byte, XMLVM_SIZE_OF_OBJECT_VTABLE, 0)
+XMLVM_DEFINE_CLASS(char, XMLVM_SIZE_OF_OBJECT_VTABLE, 0)
+XMLVM_DEFINE_CLASS(short, XMLVM_SIZE_OF_OBJECT_VTABLE, 0)
+XMLVM_DEFINE_CLASS(int, XMLVM_SIZE_OF_OBJECT_VTABLE, 0)
+XMLVM_DEFINE_CLASS(long, XMLVM_SIZE_OF_OBJECT_VTABLE, 0)
+XMLVM_DEFINE_CLASS(float, XMLVM_SIZE_OF_OBJECT_VTABLE, 0)
+XMLVM_DEFINE_CLASS(double, XMLVM_SIZE_OF_OBJECT_VTABLE, 0)
+XMLVM_DEFINE_CLASS(void, XMLVM_SIZE_OF_OBJECT_VTABLE, 0)
+
+void __INIT_boolean();
+void __INIT_byte();
+void __INIT_char();
+void __INIT_short();
+void __INIT_int();
+void __INIT_long();
+void __INIT_float();
+void __INIT_double();
+void __INIT_void();
+
+XMLVM_DEFINE_CLASS(java_lang_Object_ARRAYTYPE, XMLVM_SIZE_OF_OBJECT_VTABLE, 0)
+XMLVM_DEFINE_CLASS(boolean_ARRAYTYPE, XMLVM_SIZE_OF_OBJECT_VTABLE, 0)
+XMLVM_DEFINE_CLASS(byte_ARRAYTYPE, XMLVM_SIZE_OF_OBJECT_VTABLE, 0)
+XMLVM_DEFINE_CLASS(char_ARRAYTYPE, XMLVM_SIZE_OF_OBJECT_VTABLE, 0)
+XMLVM_DEFINE_CLASS(short_ARRAYTYPE, XMLVM_SIZE_OF_OBJECT_VTABLE, 0)
+XMLVM_DEFINE_CLASS(int_ARRAYTYPE, XMLVM_SIZE_OF_OBJECT_VTABLE, 0)
+XMLVM_DEFINE_CLASS(long_ARRAYTYPE, XMLVM_SIZE_OF_OBJECT_VTABLE, 0)
+XMLVM_DEFINE_CLASS(float_ARRAYTYPE, XMLVM_SIZE_OF_OBJECT_VTABLE, 0)
+XMLVM_DEFINE_CLASS(double_ARRAYTYPE, XMLVM_SIZE_OF_OBJECT_VTABLE, 0)
+
+#include "org_xmlvm_runtime_XMLVMArray.h"
+#include "java_lang_Thread.h"
+
+#define XMLVM_JMP_BUF jmp_buf
+
+#ifndef XMLVM_ASM_JS
+#define XMLVM_SETJMP(env) setjmp(env)
+#define XMLVM_LONGJMP(env) longjmp(env, 0)
+#else
+#define XMLVM_SETJMP(env) 0
+#define XMLVM_LONGJMP(env)
+#endif
+
+// This exception value is only used for the main thread.
+// Since a call to Thread.currentThread() contains try-catch blocks, this must
+// be defined before the "main" java.lang.Thread is defined.
+extern XMLVM_JMP_BUF xmlvm_exception_env_main_thread;
+
+#define XMLVM_NOT_IMPLEMENTED() XMLVM_ERROR("Not implemented", __FILE__, __FUNCTION__, __LINE__)
+#define XMLVM_UNIMPLEMENTED_NATIVE_METHOD() XMLVM_ERROR("Unimplemented native method", __FILE__, __FUNCTION__, __LINE__)
+#define XMLVM_INTERNAL_ERROR() XMLVM_ERROR("Internal error", __FILE__, __FUNCTION__, __LINE__)
+#define XMLVM_RED_CLASS_DEPENDENCY() XMLVM_ERROR("Unsatisfied red class dependency", __FILE__, __FUNCTION__, __LINE__)
+
+void xmlvm_unimplemented_native_method();
+void xmlvm_unhandled_exception();
+void XMLVM_ERROR(const char* msg, const char* file, const char* function, int line);
+
+
+//---------------------------------------------------------------------------------------------
+// Stack traces
+
+
+#ifdef XMLVM_ENABLE_STACK_TRACES
+
+typedef struct XMLVM_STACK_TRACE_ELEMENT {
+ char* className;
+ char* methodName;
+ char* fileName;
+ int lineNumber;
+} XMLVM_STACK_TRACE_ELEMENT;
+
+typedef struct XMLVM_STACK_TRACE_LINK {
+ // "struct" is needed here since the typedef is not yet declared.
+ struct XMLVM_STACK_TRACE_LINK* nextLink;
+ XMLVM_STACK_TRACE_ELEMENT* element;
+ XMLVM_STACK_TRACE_ELEMENT* currentLocation;
+} XMLVM_STACK_TRACE_LINK;
+
+typedef struct XMLVM_STACK_TRACE_CURRENT {
+ int stackSize;
+ XMLVM_STACK_TRACE_LINK* topOfStack;
+} XMLVM_STACK_TRACE_CURRENT;
+
+#define XMLVM_ENTER_METHOD(className, methodName, fileName) \
+ XMLVM_STACK_TRACE_CURRENT* threadStack = getCurrentStackTrace(); \
+ int threadStackSize = threadStack->stackSize; \
+ xmlvmEnterMethod(threadStack, className, methodName, fileName);
+#define XMLVM_SOURCE_POSITION(fileName, lineNumber) \
+ xmlvmSourcePosition(threadStack, fileName, lineNumber);
+#define XMLVM_EXIT_METHOD() \
+ xmlvmExitMethod(threadStack);
+#define XMLVM_UNWIND_EXCEPTION() \
+ xmlvmUnwindException(threadStack, threadStackSize);
+
+void createStackForNewThread(JAVA_LONG threadId);
+void destroyStackForExitingThread(JAVA_LONG threadId);
+XMLVM_STACK_TRACE_CURRENT* getCurrentStackTrace();
+void xmlvmEnterMethod(XMLVM_STACK_TRACE_CURRENT* threadStack, const char* className, const char* methodName, const char* fileName);
+void xmlvmSourcePosition(XMLVM_STACK_TRACE_CURRENT* threadStack, const char* fileName, int lineNumber);
+void xmlvmExitMethod(XMLVM_STACK_TRACE_CURRENT* threadStack);
+void xmlvmUnwindException(XMLVM_STACK_TRACE_CURRENT* threadStack, int unwindToStackSize);
+
+#else
+
+#define XMLVM_ENTER_METHOD(className, methodName, fileName)
+#define XMLVM_SOURCE_POSITION(fileName, lineNumber)
+#define XMLVM_EXIT_METHOD()
+#define XMLVM_UNWIND_EXCEPTION()
+
+#endif
+
+//---------------------------------------------------------------------------------------------
+// Reflection logging
+
+#ifdef XMLVM_ENABLE_CLASS_LOGGING
+
+void xmlvmClassUsed(const char *prefix, const char *className);
+
+#define XMLVM_REFLECTION_USED(className) \
+ xmlvmClassUsed("R", className);
+
+#define XMLVM_CLASS_USED(className) \
+ xmlvmClassUsed("C", className);
+
+#else
+
+#define XMLVM_REFLECTION_USED(className)
+#define XMLVM_CLASS_USED(className)
+
+#endif
+
+
+//---------------------------------------------------------------------------------------------
+#define XMLVM_TRY_BEGIN(uniqueId) \
+ volatile XMLVM_JMP_BUF local_env_##uniqueId; \
+ volatile java_lang_Thread* curThread_##uniqueId = (java_lang_Thread*)java_lang_Thread_currentThread__(); \
+ XMLVM_MEMCPY(local_env_##uniqueId, curThread_##uniqueId->fields.java_lang_Thread.xmlvmExceptionEnv_, sizeof(XMLVM_JMP_BUF)); \
+ if (!XMLVM_SETJMP(curThread_##uniqueId->fields.java_lang_Thread.xmlvmExceptionEnv_)) {
+#define XMLVM_TRY_END }
+#define XMLVM_CATCH_BEGIN(uniqueId) \
+ else { \
+ XMLVM_UNWIND_EXCEPTION() \
+ XMLVM_MEMCPY(curThread_##uniqueId->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_##uniqueId, sizeof(XMLVM_JMP_BUF));
+#define XMLVM_CATCH_SPECIFIC(uniqueId, type, target) \
+ if (!__TIB_##type.classInitialized) __INIT_##type(); \
+ if (XMLVM_ISA(curThread_##uniqueId->fields.java_lang_Thread.xmlvmException_, __CLASS_##type)) goto label##target;
+#define XMLVM_CATCH_END(uniqueId) \
+ XMLVM_LONGJMP(curThread_##uniqueId->fields.java_lang_Thread.xmlvmExceptionEnv_); \
+ }
+#define XMLVM_RESTORE_EXCEPTION_ENV(uniqueId) \
+ XMLVM_MEMCPY(curThread_##uniqueId->fields.java_lang_Thread.xmlvmExceptionEnv_, local_env_##uniqueId, sizeof(XMLVM_JMP_BUF));
+
+// Throw an exception that has already been initialized and constructed
+#define XMLVM_THROW_CUSTOM(exception) { \
+ java_lang_Thread* macroCurThread = (java_lang_Thread*)java_lang_Thread_currentThread__(); \
+ macroCurThread->fields.java_lang_Thread.xmlvmException_ = exception; \
+ XMLVM_LONGJMP(macroCurThread->fields.java_lang_Thread.xmlvmExceptionEnv_); \
+ }
+// Throw an exception which is automatically constructed with the default constructor
+#define XMLVM_THROW(exceptionType) { \
+ java_lang_Thread* macroCurThread = (java_lang_Thread*)java_lang_Thread_currentThread__(); \
+ macroCurThread->fields.java_lang_Thread.xmlvmException_ = __NEW_##exceptionType(); \
+ exceptionType##___INIT___(macroCurThread->fields.java_lang_Thread.xmlvmException_); \
+ XMLVM_LONGJMP(macroCurThread->fields.java_lang_Thread.xmlvmExceptionEnv_); \
+ }
+// Throw an exception which is automatically constructed with a String parameter derived from the C String
+#define XMLVM_THROW_WITH_CSTRING(exceptionType, errorMsg) { \
+ java_lang_Thread* macroCurThread = (java_lang_Thread*)java_lang_Thread_currentThread__(); \
+ macroCurThread->fields.java_lang_Thread.xmlvmException_ = __NEW_##exceptionType(); \
+ exceptionType##___INIT____java_lang_String(macroCurThread->fields.java_lang_Thread.xmlvmException_, xmlvm_create_java_string(errorMsg)); \
+ XMLVM_LONGJMP(macroCurThread->fields.java_lang_Thread.xmlvmExceptionEnv_); \
+ }
+
+#ifdef XMLVM_ENABLE_NPE_CHECK
+
+#define XMLVM_CHECK_NPE(register) \
+ if (_r##register.o == JAVA_NULL) { \
+ XMLVM_THROW(java_lang_NullPointerException) \
+ }
+
+#else
+
+#define XMLVM_CHECK_NPE(register)
+
+#endif // XMLVM_ENABLE_NPE_CHECK
+
+
+#ifdef XMLVM_ENABLE_ARRAY_BOUNDS_CHECK
+
+#define XMLVM_CHECK_ARRAY_BOUNDS(arr, idx) \
+ if ((idx < 0) || (idx >= ((org_xmlvm_runtime_XMLVMArray*) arr)->fields.org_xmlvm_runtime_XMLVMArray.length_)) { \
+ XMLVM_THROW(java_lang_ArrayIndexOutOfBoundsException) \
+ }
+
+#else
+
+#define XMLVM_CHECK_ARRAY_BOUNDS(arr, idx)
+
+#endif // XMLVM_ENABLE_ARRAY_BOUNDS_CHECK
+
+
+void xmlvm_init();
+void xmlvm_destroy(java_lang_Thread* mainThread);
+
+// A list of Java instances which are currently referenced by non-C types.
+// This is used to avoid premature garbage collection.
+JAVA_OBJECT reference_array;
+
+#endif
diff --git a/tests/runner.py b/tests/runner.py
index 0d8878c3..6db4609e 100755
--- a/tests/runner.py
+++ b/tests/runner.py
@@ -291,7 +291,7 @@ process(sys.argv[1])
out = open(stdout, 'r').read()
err = open(stderr, 'r').read()
if engine == SPIDERMONKEY_ENGINE and Settings.ASM_JS:
- if 'Successfully compiled asm.js code' in err and 'asm.js link error' not in err:
+ if 'successfully compiled asm.js code' in err and 'asm.js link error' not in err:
print >> sys.stderr, "[was asm.js'ified]"
elif 'asm.js' in err: # if no asm.js error, then not an odin build
raise Exception("did NOT asm.js'ify")
@@ -447,6 +447,8 @@ process(sys.argv[1])
sys.argv = map(lambda arg: arg if not arg.startswith('test_') else 'default.' + arg, sys.argv)
+test_modes = ['default', 'o1', 'o2', 'asm1', 'asm2', 'asm2g', 'asm2x86', 's_0_0', 's_0_1', 's_1_0', 's_1_1']
+
test_index = 0
if 'benchmark' not in str(sys.argv) and 'sanity' not in str(sys.argv) and 'browser' not in str(sys.argv):
@@ -454,10 +456,10 @@ if 'benchmark' not in str(sys.argv) and 'sanity' not in str(sys.argv) and 'brows
print "Running Emscripten tests..."
- if len(sys.argv) == 2 and 'ALL.' in sys.argv[1]:
+ if len(sys.argv) == 2 and sys.argv[1].startswith('ALL.'):
ignore, test = sys.argv[1].split('.')
print 'Running all test modes on test "%s"' % test
- sys.argv = [sys.argv[0], 'default.'+test, 'o1.'+test, 'o2.'+test, 'asm1.'+test, 'asm2.'+test, 'asm2g.'+test, 'asm2le32.'+test, 's_0_0.'+test, 's_0_1.'+test, 's_1_0.'+test, 's_1_1.'+test]
+ sys.argv = [sys.argv[0]] + map(lambda mode: mode+'.'+test, test_modes)
class T(RunnerCore): # Short name, to make it more fun to use manually on the commandline
## Does a complete test - builds, runs, checks output, etc.
@@ -509,7 +511,7 @@ if 'benchmark' not in str(sys.argv) and 'sanity' not in str(sys.argv) and 'brows
post_build=None) # post_build was already done in ll_to_js, this do_run call is just to test the output
def is_le32(self):
- return 'le32-unknown-nacl' in COMPILER_OPTS or self.env.get('EMCC_LLVM_TARGET') == 'le32-unknown-nacl'
+ return not ('i386-pc-linux-gnu' in COMPILER_OPTS or self.env.get('EMCC_LLVM_TARGET') == 'i386-pc-linux-gnu')
def test_hello_world(self):
src = '''
@@ -3309,10 +3311,10 @@ Exiting setjmp function, level: 0, prev_jmp: -1
#include <stdio.h>
int
- main(void) {
- float (*fn)(float) = &sqrtf;
- float (*fn2)(float) = &fabsf;
- float (*fn3)(float) = &erff;
+ main(int argc, char **argv) {
+ float (*fn)(float) = argc != 12 ? &sqrtf : &fabsf;
+ float (*fn2)(float) = argc != 13 ? &fabsf : &sqrtf;
+ float (*fn3)(float) = argc != 14 ? &erff : &fabsf;
printf("fn2(-5) = %d, fn(10) = %.2f, erf(10) = %.2f\\n", (int)fn2(-5), fn(10), fn3(10));
return 0;
}
@@ -5618,7 +5620,7 @@ at function.:blag
open(path_from_root('tests', 'printf', 'output_i64_1.txt'), 'r').read()]
self.do_run(src, expected)
- def test_printf_types(self):
+ def test_printf_2(self):
src = r'''
#include <stdio.h>
@@ -5631,11 +5633,12 @@ at function.:blag
double d = 6.6;
printf("%c,%hd,%d,%lld,%.1f,%.1llf\n", c, s, i, l, f, d);
+ printf("%#x,%#x\n", 1, 0);
return 0;
}
'''
- self.do_run(src, '1,2,3,4,5.5,6.6\n')
+ self.do_run(src, '1,2,3,4,5.5,6.6\n0x1,0\n')
def test_vprintf(self):
src = r'''
@@ -6039,6 +6042,40 @@ Pass: 0.000012 0.000012''')
'''
self.do_run(src, '''0:173,16 1:16,173 2:183,173 3:17,287 4:98,123''')
+ def test_sscanf_other_whitespace(self):
+ Settings.SAFE_HEAP = 0 # use i16s in printf
+
+ src = r'''
+ #include<stdio.h>
+
+ int main() {
+ short int x;
+ short int y;
+
+ const char* buffer[] = {
+ "\t2\t3\t", /* TAB - horizontal tab */
+ "\t\t5\t\t7\t\t",
+ "\n11\n13\n", /* LF - line feed */
+ "\n\n17\n\n19\n\n",
+ "\v23\v29\v", /* VT - vertical tab */
+ "\v\v31\v\v37\v\v",
+ "\f41\f43\f", /* FF - form feed */
+ "\f\f47\f\f53\f\f",
+ "\r59\r61\r", /* CR - carrage return */
+ "\r\r67\r\r71\r\r"
+ };
+
+ for (int i=0; i<10; ++i) {
+ x = 0; y = 0;
+ sscanf(buffer[i], " %d %d ", &x, &y);
+ printf("%d, %d, ", x, y);
+ }
+
+ return 0;
+ }
+ '''
+ self.do_run(src, '''2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, ''')
+
def test_sscanf_3(self):
# i64
if not Settings.USE_TYPED_ARRAYS == 2: return self.skip('64-bit sscanf only supported in ta2')
@@ -7390,6 +7427,10 @@ extern "C" {
src = open(path_from_root('tests', 'fasta.cpp'), 'r').read()
self.do_run(src, j, [str(i)], lambda x, err: x.replace('\n', '*'), no_build=i>1)
+ def test_whets(self):
+ if not Settings.ASM_JS: return self.skip('mainly a test for asm validation here')
+ self.do_run(open(path_from_root('tests', 'whets.cpp')).read(), 'Single Precision C Whetstone Benchmark')
+
def test_dlmalloc(self):
if self.emcc_args is None: self.emcc_args = [] # dlmalloc auto-inclusion is only done if we use emcc
@@ -7828,15 +7869,29 @@ def process(filename):
Settings.SAFE_HEAP_LINES = ['btVoronoiSimplexSolver.h:40', 'btVoronoiSimplexSolver.h:41',
'btVoronoiSimplexSolver.h:42', 'btVoronoiSimplexSolver.h:43']
- self.do_run(open(path_from_root('tests', 'bullet', 'Demos', 'HelloWorld', 'HelloWorld.cpp'), 'r').read(),
- [open(path_from_root('tests', 'bullet', 'output.txt'), 'r').read(), # different roundings
- open(path_from_root('tests', 'bullet', 'output2.txt'), 'r').read(),
- open(path_from_root('tests', 'bullet', 'output3.txt'), 'r').read()],
- libraries=self.get_library('bullet', [os.path.join('src', '.libs', 'libBulletDynamics.a'),
- os.path.join('src', '.libs', 'libBulletCollision.a'),
- os.path.join('src', '.libs', 'libLinearMath.a')],
- configure_args=['--disable-demos','--disable-dependency-tracking']),
- includes=[path_from_root('tests', 'bullet', 'src')])
+ def test():
+ self.do_run(open(path_from_root('tests', 'bullet', 'Demos', 'HelloWorld', 'HelloWorld.cpp'), 'r').read(),
+ [open(path_from_root('tests', 'bullet', 'output.txt'), 'r').read(), # different roundings
+ open(path_from_root('tests', 'bullet', 'output2.txt'), 'r').read(),
+ open(path_from_root('tests', 'bullet', 'output3.txt'), 'r').read()],
+ libraries=self.get_library('bullet', [os.path.join('src', '.libs', 'libBulletDynamics.a'),
+ os.path.join('src', '.libs', 'libBulletCollision.a'),
+ os.path.join('src', '.libs', 'libLinearMath.a')],
+ configure_args=['--disable-demos','--disable-dependency-tracking']),
+ includes=[path_from_root('tests', 'bullet', 'src')])
+ test()
+
+ assert 'asm2g' in test_modes
+ if self.run_name == 'asm2g':
+ # Test forced alignment
+ print >> sys.stderr, 'testing FORCE_ALIGNED_MEMORY'
+ old = open('src.cpp.o.js').read()
+ Settings.FORCE_ALIGNED_MEMORY = 1
+ test()
+ new = open('src.cpp.o.js').read()
+ print len(old), len(new), old.count('tempBigInt'), new.count('tempBigInt')
+ assert len(old) > len(new)
+ assert old.count('tempBigInt') > new.count('tempBigInt')
def test_poppler(self):
if self.emcc_args is None: return self.skip('very slow, we only do this in emcc runs')
@@ -9265,6 +9320,7 @@ finalizing 3 (global == 0)
def make_run(fullname, name=-1, compiler=-1, llvm_opts=0, embetter=0, quantum_size=0, typed_arrays=0, emcc_args=None, env='{}'):
exec('''
class %s(T):
+ run_name = '%s'
env = %s
def tearDown(self):
@@ -9329,7 +9385,7 @@ class %s(T):
Building.pick_llvm_opts(3)
TT = %s
-''' % (fullname, env, fullname, fullname, compiler, str(emcc_args), llvm_opts, embetter, quantum_size, typed_arrays, fullname))
+''' % (fullname, fullname, env, fullname, fullname, compiler, str(emcc_args), llvm_opts, embetter, quantum_size, typed_arrays, fullname))
return TT
# Make one run with the defaults
@@ -9345,7 +9401,7 @@ TT = %s
exec('asm1 = make_run("asm1", compiler=CLANG, emcc_args=["-O1", "-s", "CHECK_HEAP_ALIGN=1"])')
exec('asm2 = make_run("asm2", compiler=CLANG, emcc_args=["-O2"])')
exec('asm2g = make_run("asm2g", compiler=CLANG, emcc_args=["-O2", "-g", "-s", "ASSERTIONS=1", "--memory-init-file", "1"])')
- exec('''asm2le32 = make_run("asm2le32", compiler=CLANG, emcc_args=["-O2", "-g", "-s", "CHECK_HEAP_ALIGN=1"], env='{"EMCC_LLVM_TARGET": "le32-unknown-nacl"}')''')
+ exec('''asm2x86 = make_run("asm2x86", compiler=CLANG, emcc_args=["-O2", "-g", "-s", "CHECK_HEAP_ALIGN=1"], env='{"EMCC_LLVM_TARGET": "i386-pc-linux-gnu"}')''')
# Make custom runs with various options
for compiler, quantum, embetter, typed_arrays, llvm_opts in [
@@ -12525,7 +12581,16 @@ elif 'benchmark' in str(sys.argv):
print ' JavaScript: mean: %.3f (+-%.3f) secs median: %.3f range: %.3f-%.3f (noise: %3.3f%%) (%d runs)' % (mean, std, median, min(times), max(times), 100*std/mean, reps)
print ' Native : mean: %.3f (+-%.3f) secs median: %.3f range: %.3f-%.3f (noise: %3.3f%%) JS is %.2f X slower' % (mean_native, std_native, median_native, min(native_times), max(native_times), 100*std_native/mean_native, final)
- def do_benchmark(self, name, src, args=[], expected_output='FAIL', emcc_args=[], native_args=[], shared_args=[], force_c=False, reps=TEST_REPS):
+ def do_benchmark(self, name, src, expected_output='FAIL', args=[], emcc_args=[], native_args=[], shared_args=[], force_c=False, reps=TEST_REPS):
+ # standard arguments for timing:
+ # 0: no runtime, just startup
+ # 1: very little runtime
+ # 2: 0.5 seconds
+ # 3: 1 second
+ # 4: 5 seconds
+ # 5: 10 seconds
+ args = args or ['3']
+
dirname = self.get_dir()
filename = os.path.join(dirname, name + '.c' + ('' if force_c else 'pp'))
f = open(filename, 'w')
@@ -12549,7 +12614,8 @@ elif 'benchmark' in str(sys.argv):
for i in range(reps):
start = time.time()
js_output = run_js(final_filename, engine=JS_ENGINE, args=args, stderr=PIPE, full_output=True)
- if i == 0 and 'Successfully compiled asm.js code' in js_output:
+
+ if i == 0 and 'successfully compiled asm.js code' in js_output:
if 'asm.js link error' not in js_output:
print "[%s was asm.js'ified]" % name
curr = time.time()-start
@@ -12614,7 +12680,7 @@ elif 'benchmark' in str(sys.argv):
return 0;
}
'''
- self.do_benchmark('primes', src, [], 'lastprime: 3043739.')
+ self.do_benchmark('primes', src, 'lastprime: 3043739.')
def test_memops(self):
src = '''
@@ -12647,7 +12713,7 @@ elif 'benchmark' in str(sys.argv):
return 0;
}
'''
- self.do_benchmark('memops', src, [], 'final: 400.')
+ self.do_benchmark('memops', src, 'final: 400.')
def zzztest_files(self):
src = r'''
@@ -12690,7 +12756,7 @@ elif 'benchmark' in str(sys.argv):
return 0;
}
'''
- self.do_benchmark(src, [], 'ok')
+ self.do_benchmark(src, 'ok')
def test_copy(self):
src = r'''
@@ -12744,7 +12810,7 @@ elif 'benchmark' in str(sys.argv):
return 0;
}
'''
- self.do_benchmark('copy', src, [], 'sum:2836\n')
+ self.do_benchmark('copy', src, 'sum:2836\n')
def test_fannkuch(self):
src = open(path_from_root('tests', 'fannkuch.cpp'), 'r').read().replace(
@@ -12764,7 +12830,7 @@ elif 'benchmark' in str(sys.argv):
'''
)
assert 'switch(arg)' in src
- self.do_benchmark('fannkuch', src, [], 'Pfannkuchen(11) = 51.')
+ self.do_benchmark('fannkuch', src, 'Pfannkuchen(11) = 51.')
def test_corrections(self):
src = r'''
@@ -12797,7 +12863,7 @@ elif 'benchmark' in str(sys.argv):
return 0;
}
'''
- self.do_benchmark('corrections', src, [], 'final: 40006013:10225.', emcc_args=['-s', 'CORRECT_SIGNS=1', '-s', 'CORRECT_OVERFLOWS=1', '-s', 'CORRECT_ROUNDINGS=1'])
+ self.do_benchmark('corrections', src, 'final: 40006013:10225.', emcc_args=['-s', 'CORRECT_SIGNS=1', '-s', 'CORRECT_OVERFLOWS=1', '-s', 'CORRECT_ROUNDINGS=1'])
def fasta(self, name, double_rep, emcc_args=[]):
src = open(path_from_root('tests', 'fasta.cpp'), 'r').read().replace('double', double_rep)
@@ -12815,7 +12881,7 @@ elif 'benchmark' in str(sys.argv):
}
''')
assert 'switch(arg)' in src
- self.do_benchmark('fasta', src, [], '''GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA\nTCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT\nAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG\nGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG\nCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT\nGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA\nGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA\nTTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG\nAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA\nGCCTGGGCGA''')
+ self.do_benchmark('fasta', src, '''GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA\nTCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT\nAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG\nGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG\nCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT\nGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA\nGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA\nTTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG\nAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA\nGCCTGGGCGA''')
def test_fasta_float(self):
self.fasta('fasta_float', 'float')
@@ -12828,11 +12894,11 @@ elif 'benchmark' in str(sys.argv):
def test_skinning(self):
src = open(path_from_root('tests', 'skinning_test_no_simd.cpp'), 'r').read()
- self.do_benchmark('skinning', src, [], 'blah=0.000000')
+ self.do_benchmark('skinning', src, 'blah=0.000000')
def test_life(self):
src = open(path_from_root('tests', 'life.c'), 'r').read()
- self.do_benchmark('life', src, [], '''--------------------------------
+ self.do_benchmark('life', src, '''--------------------------------
[][] [] []
[][] [][] [] []
[][] [] []
@@ -12867,13 +12933,19 @@ elif 'benchmark' in str(sys.argv):
[] [][] [][][]
--------------------------------''', shared_args=['-std=c99'], force_c=True)
+ def test_nbody_java(self): # tests xmlvm compiled java, including bitcasts of doubles, i64 math, etc.
+ args = [path_from_root('tests', 'nbody-java', x) for x in os.listdir(path_from_root('tests', 'nbody-java')) if x.endswith('.c')] + \
+ ['-I' + path_from_root('tests', 'nbody-java')]
+ self.do_benchmark('nbody_java', '', '''Time(s)''',
+ force_c=True, emcc_args=args + ['-s', 'PRECISE_I64_MATH=1', '--llvm-lto', '0'], native_args=args + ['-lgc', '-std=c99', '-target', 'x86_64-pc-linux-gnu', '-lm'])
+
def test_zlib(self):
src = open(path_from_root('tests', 'zlib', 'benchmark.c'), 'r').read()
emcc_args = self.get_library('zlib', os.path.join('libz.a'), make_args=['libz.a']) + \
['-I' + path_from_root('tests', 'zlib')]
native_args = self.get_library('zlib_native', os.path.join('libz.a'), make_args=['libz.a'], native=True) + \
['-I' + path_from_root('tests', 'zlib')]
- self.do_benchmark('zlib', src, [], '''sizes: 100000,25906
+ self.do_benchmark('zlib', src, '''sizes: 100000,25906
ok.
''',
force_c=True, emcc_args=emcc_args, native_args=native_args)
@@ -12887,7 +12959,7 @@ ok.
emcc_args = js_lib + ['-I' + path_from_root('tests', 'box2d')]
native_args = native_lib + ['-I' + path_from_root('tests', 'box2d')]
- self.do_benchmark('box2d', src, [], 'frame averages', emcc_args=emcc_args, native_args=native_args)
+ self.do_benchmark('box2d', src, 'frame averages', emcc_args=emcc_args, native_args=native_args)
def test_zzz_bullet(self): # Called thus so it runs late in the alphabetical cycle... it is long
src = open(path_from_root('tests', 'bullet', 'Demos', 'Benchmarks', 'BenchmarkDemo.cpp'), 'r').read() + \
@@ -12909,7 +12981,7 @@ ok.
native_args = native_lib + ['-I' + path_from_root('tests', 'bullet', 'src'),
'-I' + path_from_root('tests', 'bullet', 'Demos', 'Benchmarks')]
- self.do_benchmark('bullet', src, [], '\nok.\n', emcc_args=emcc_args, native_args=native_args)
+ self.do_benchmark('bullet', src, '\nok.\n', emcc_args=emcc_args, native_args=native_args)
elif 'sanity' in str(sys.argv):
@@ -13413,8 +13485,17 @@ if __name__ == '__main__':
arg = sys.argv[i]
if arg.startswith('skip:'):
which = arg.split('skip:')[1]
- print >> sys.stderr, 'will skip "%s"' % which
- exec(which + ' = RunnerCore.skipme')
+ if which.startswith('ALL.'):
+ ignore, test = which.split('.')
+ which = map(lambda mode: mode+'.'+test, test_modes)
+ else:
+ which = [which]
+
+ print >> sys.stderr, ','.join(which)
+ for test in which:
+ print >> sys.stderr, 'will skip "%s"' % test
+ exec(test + ' = RunnerCore.skipme')
+
sys.argv[i] = ''
sys.argv = filter(lambda arg: arg, sys.argv)
diff --git a/tests/sdl_alloctext.c b/tests/sdl_alloctext.c
index 0ee75f07..3def2b28 100644
--- a/tests/sdl_alloctext.c
+++ b/tests/sdl_alloctext.c
@@ -1,9 +1,8 @@
#include <stdio.h>
-#include <stdlib.h>
#include <SDL.h>
#include <SDL_ttf.h>
-int main(int argc, char **argv)
+int main()
{
int result = 0;
@@ -12,9 +11,6 @@ int main(int argc, char **argv)
TTF_Font *font = TTF_OpenFont("myfont.ttf", 40);
- if (argc == 12) font = (TTF_Font*)malloc(1024);
- if (argc % 3) free(font);
-
int i = 0;
while (i < 200)
{
diff --git a/tests/whets.cpp b/tests/whets.cpp
new file mode 100644
index 00000000..437b292b
--- /dev/null
+++ b/tests/whets.cpp
@@ -0,0 +1,622 @@
+/* gcc whets.c cpuidc64.o cpuida64.o -m64 -lrt -lc -lm -o whet
+*
+* XXX modified by emscripten to be slower, to not slow down test runner
+*
+* Document: Whets.c
+* File Group: Classic Benchmarks
+* Creation Date: 6 November 1996
+* Revision Date: 6 November 2010 Ubuntu Version for PCs
+*
+* Title: Whetstone Benchmark in C/C++
+* Keywords: WHETSTONE BENCHMARK PERFORMANCE MIPS
+* MWIPS MFLOPS
+*
+* Abstract: C or C++ version of Whetstone one of the
+* Classic Numeric Benchmarks with example
+* results on P3 to P6 based PCs.
+*
+* Contributor: roy@roylongbottom.org.uk
+*
+************************************************************
+*
+* C/C++ Whetstone Benchmark Single or Double Precision
+*
+* Original concept Brian Wichmann NPL 1960's
+* Original author Harold Curnow CCTA 1972
+* Self timing versions Roy Longbottom CCTA 1978/87
+* Optimisation control Bangor University 1987/90
+* C/C++ Version Roy Longbottom 1996
+* Compatibility & timers Al Aburto 1996
+*
+************************************************************
+*
+* Official version approved by:
+*
+* Harold Curnow 100421.1615@compuserve.com
+*
+* Happy 25th birthday Whetstone, 21 November 1997
+*
+************************************************************
+*
+* The program normally runs for about 100 seconds
+* (adjustable in main - variable duration). This time
+* is necessary because of poor PC clock resolution.
+* The original concept included such things as a given
+* number of subroutine calls and divides which may be
+* changed by optimisation. For comparison purposes the
+* compiler and level of optimisation should be identified.
+*
+* This version is set to run for 10 seconds using high
+* resolution timer.
+*
+************************************************************
+*
+* The original benchmark had a single variable I which
+* controlled the running time. Constants with values up
+* to 899 were multiplied by I to control the number
+* passes for each loop. It was found that large values
+* of I could overflow index registers so an extra outer
+* loop with a second variable J was added.
+*
+* Self timing versions were produced during the early
+* days. The 1978 changes supplied timings of individual
+* loops and these were used later to produce MFLOPS and
+* MOPS ratings.
+*
+* 1987 changes converted the benchmark to Fortran 77
+* standards and removed redundant IF statements and
+* loops to leave the 8 active loops N1 to N8. Procedure
+* P3 was changed to use global variables to avoid over-
+* optimisation with the first two statements changed from
+* X1=X and Y1=Y to X=Y and Y=Z. A self time calibrating
+* version for PCs was also produced, the facility being
+* incorporated in this version.
+*
+* This version has changes to avoid worse than expected
+* speed ratings, due to underflow, and facilities to show
+* that consistent numeric output is produced with varying
+* optimisation levels or versions in different languages.
+*
+* Some of the procedures produce ever decreasing numbers.
+* To avoid problems, variables T and T1 have been changed
+* from 0.499975 and 0.50025 to 0.49999975 and 0.50000025.
+*
+* Each section now has its own double loop. Inner loops
+* are run 100 times the loop constants. Calibration
+* determines the number of outer loop passes. The
+* numeric results produced in the main output are for
+* one pass on the outer loop. As underflow problems were
+* still likely on a processor 100 times faster than a 100
+* MHz Pentium, three sections have T=1.0-T inserted in the
+* outer loop to avoid the problem. The two loops avoid
+* index register overflows.
+*
+* The first section is run ten times longer than required
+* for accuracy in calculating MFLOPS. This time is divided
+* by ten for inclusion in the MWIPS calculations.
+*
+* Early version has facilities for typing in details of
+* the particular run, appended to file whets.txt along
+* with the results. This version attemps to obtain these
+* automatically.
+*
+* 2010 Section 4 modified slightly to avoid over optimisation
+* by GCC compiler
+*
+* Roy Longbottom roy@roylongbottom.org.uk
+*
+************************************************************
+*
+* Whetstone benchmark results, further details of the
+* benchmarks and history are available from:
+*
+* http://www.roylongbottom.org.uk/whetstone%20results.htm
+* http://www.roylongbottom.org.uk/whetstone.htm
+*
+************************************************************
+*
+* Source code is available in C/C++, Fortran, Basic and
+* Visual Basic in the same format as this version. Pre-
+* compiled versions for PCs are also available via C++.
+* These comprise optimised and non-optimised versions
+* for DOS, Windows and NT. See:
+*
+* http://www.roylongbottom.org.uk/whetstone%20results.htm
+*
+************************************************************
+*
+* Example of initial calibration display (Pentium 100 MHz)
+*
+* Single Precision C/C++ Whetstone Benchmark
+*
+* Calibrate
+* 0.17 Seconds 1 Passes (x 100)
+* 0.77 Seconds 5 Passes (x 100)
+* 3.70 Seconds 25 Passes (x 100)
+*
+* Use 676 passes (x 100)
+*
+* 676 passes are used for an approximate duration of 100
+* seconds, providing an initial estimate of a speed rating
+* of 67.6 MWIPS.
+*
+* This is followed by the table of results as below.
+
+* Whetstone Single Precision Benchmark in C/C++
+*
+* Loop content Result MFLOPS MOPS Seconds
+*
+* N1 floating point -1.12475025653839100 19.971 0.274
+* N2 floating point -1.12274754047393800 11.822 3.240
+* N3 if then else 1.00000000000000000 11.659 2.530
+* N4 fixed point 12.00000000000000000 13.962 6.430
+* N5 sin,cos etc. 0.49904659390449520 2.097 11.310
+* N6 floating point 0.99999988079071040 3.360 45.750
+* N7 assignments 3.00000000000000000 2.415 21.810
+* N8 exp,sqrt etc. 0.75110864639282230 1.206 8.790
+*
+* MWIPS 28.462 100.134
+*
+* Note different numeric results to single precision. Slight variations
+* are normal with different compilers and sometimes optimisation levels.
+*
+**************************************************************************/
+
+#define _CRT_SECURE_NO_WARNINGS 1
+#ifdef WIN32
+#include <Windows.h>
+#else
+#include <sys/time.h>
+#endif
+
+#include <math.h> /* for sin, exp etc. */
+#include <stdio.h> /* standard I/O */
+#include <string.h> /* for strcpy - 3 occurrences */
+#include <stdlib.h> /* for exit - 1 occurrence */
+#include <time.h>
+
+/* #include "cpuidh.h" */
+
+/*PRECISION PRECISION PRECISION PRECISION PRECISION PRECISION PRECISION*/
+
+/* #define DP */
+
+#ifdef DP
+#define SPDP double
+#define Precision "Double"
+#else
+#define SPDP float
+#define Precision "Single"
+#endif
+
+#define opt "Opt 3 64 Bit"
+
+void whetstones(long xtra, long x100, int calibrate);
+void pa(SPDP e[4], SPDP t, SPDP t2);
+void po(SPDP e1[4], long j, long k, long l);
+void p3(SPDP *x, SPDP *y, SPDP *z, SPDP t, SPDP t1, SPDP t2);
+void pout(char title[22], float ops, int type, SPDP checknum,
+ SPDP time, int calibrate, int section);
+
+
+static SPDP loop_time[9];
+static SPDP loop_mops[9];
+static SPDP loop_mflops[9];
+static SPDP TimeUsed;
+static SPDP mwips;
+static char headings[9][18];
+static SPDP Check;
+static SPDP results[9];
+
+/* this is truly rank, but it's minimally invasive, and lifted in part from the STREAM scores */
+
+static double secs;
+
+#ifndef WIN32
+
+double mysecond()
+{
+ struct timeval tp;
+ struct timezone tzp;
+ int i;
+
+ i = gettimeofday(&tp,&tzp);
+ return ( (double) tp.tv_sec + (double) tp.tv_usec * 1.e-6 );
+}
+#else
+
+double mysecond()
+{
+ static LARGE_INTEGER freq = {0};
+ LARGE_INTEGER count = {0};
+ if(freq.QuadPart == 0LL) {
+ QueryPerformanceFrequency(&freq);
+ }
+ QueryPerformanceCounter(&count);
+ return (double)count.QuadPart / (double)freq.QuadPart;
+}
+
+#endif
+
+void start_time()
+{
+ secs = mysecond();
+}
+
+void end_time()
+{
+ secs = mysecond() - secs;
+}
+
+int main(int argc, char *argv[])
+{
+ int count = 1, calibrate = 1;
+ long xtra = 1;
+ int section;
+ long x100 = 1;
+ int duration = 1;
+ char compiler[80], options[256], general[10][80] = {" "};
+ char endit[80];
+ int i;
+
+ printf("\n");
+ printf("##########################################\n");
+ {
+ time_t t;
+ char timeday[30];
+ t = time(NULL);
+ sprintf(timeday, "%s", asctime(localtime(&t)));
+
+ printf("%s Precision C Whetstone Benchmark %s, %s\n", Precision, opt, timeday);
+ }
+
+ printf("Calibrate\n");
+ do
+ {
+ TimeUsed=0;
+
+ whetstones(xtra,x100,calibrate);
+
+ printf("%11.2f Seconds %10.0lf Passes (x 100)\n",
+ TimeUsed,(SPDP)(xtra));
+ calibrate++;
+ count--;
+
+ if (TimeUsed > 2.0)
+ {
+ count = 0;
+ }
+ else
+ {
+ xtra = xtra * 5;
+ }
+ }
+
+ while (count > 0);
+
+ if (TimeUsed > 0) xtra = (long)((SPDP)(duration * xtra) / TimeUsed);
+ if (xtra < 1) xtra = 1;
+
+ calibrate = 0;
+
+ printf("\nUse %d passes (x 100)\n", (int)xtra);
+
+ printf("\n %s Precision C/C++ Whetstone Benchmark",Precision);
+
+#ifdef PRECOMP
+ printf("\n Compiler %s", precompiler);
+ printf("\n Options %s\n", preoptions);
+#else
+ printf("\n");
+#endif
+
+ printf("\nLoop content Result MFLOPS "
+ " MOPS Seconds\n\n");
+
+ TimeUsed=0;
+ whetstones(xtra,x100,calibrate);
+
+ printf("\nMWIPS ");
+ if (TimeUsed>0)
+ {
+ mwips=(float)(xtra) * (float)(x100) / (10 * TimeUsed);
+ }
+ else
+ {
+ mwips = 0;
+ }
+
+ printf("%39.3f%19.3f\n\n",mwips,TimeUsed);
+
+ if (Check == 0) printf("Wrong answer ");
+
+ printf ("\n");
+ printf ("A new results file, whets.txt, will have been created in the same\n");
+ printf ("directory as the .EXE files, if one did not already exist.\n\n");
+
+ return 0;
+}
+
+void whetstones(long xtra, long x100, int calibrate)
+{
+
+ long n1,n2,n3,n4,n5,n6,n7,n8,i,ix,n1mult;
+ SPDP x,y,z;
+ long j,k,l;
+ SPDP e1[4];
+
+ SPDP t = 0.49999975;
+ SPDP t0 = t;
+ SPDP t1 = 0.50000025;
+ SPDP t2 = 2.0;
+
+ Check=0.0;
+
+ n1 = 1*x100;
+ n2 = 1*x100;
+ n3 = 3*x100;
+ n4 = 2*x100;
+ n5 = 3*x100;
+ n6 = 8*x100;
+ n7 = 6*x100;
+ n8 = 9*x100;
+ n1mult = 1;
+
+ /* Section 1, Array elements */
+
+ e1[0] = 1.0;
+ e1[1] = -1.0;
+ e1[2] = -1.0;
+ e1[3] = -1.0;
+ start_time();
+ {
+ for (ix=0; ix<xtra; ix++)
+ {
+ for(i=0; i<n1*n1mult; i++)
+ {
+ e1[0] = (e1[0] + e1[1] + e1[2] - e1[3]) * t;
+ e1[1] = (e1[0] + e1[1] - e1[2] + e1[3]) * t;
+ e1[2] = (e1[0] - e1[1] + e1[2] + e1[3]) * t;
+ e1[3] = (-e1[0] + e1[1] + e1[2] + e1[3]) * t;
+ }
+ t = 1.0 - t;
+ }
+ t = t0;
+ }
+ end_time();
+ secs = secs/(SPDP)(n1mult);
+ pout("N1 floating point\0",(float)(n1*16)*(float)(xtra),
+ 1,e1[3],secs,calibrate,1);
+
+ /* Section 2, Array as parameter */
+
+ start_time();
+ {
+ for (ix=0; ix<xtra; ix++)
+ {
+ for(i=0; i<n2; i++)
+ {
+ pa(e1,t,t2);
+ }
+ t = 1.0 - t;
+ }
+ t = t0;
+ }
+ end_time();
+ pout("N2 floating point\0",(float)(n2*96)*(float)(xtra),
+ 1,e1[3],secs,calibrate,2);
+
+ /* Section 3, Conditional jumps */
+ j = 1;
+ start_time();
+ {
+ for (ix=0; ix<xtra; ix++)
+ {
+ for(i=0; i<n3; i++)
+ {
+ if(j==1) j = 2;
+ else j = 3;
+ if(j>2) j = 0;
+ else j = 1;
+ if(j<1) j = 1;
+ else j = 0;
+ }
+ }
+ }
+ end_time();
+ pout("N3 if then else \0",(float)(n3*3)*(float)(xtra),
+ 2,(SPDP)(j),secs,calibrate,3);
+
+ /* Section 4, Integer arithmetic */
+ j = 1;
+ k = 2;
+ l = 3;
+ e1[0] = 0.0;
+ e1[1] = 0.0;
+ start_time();
+ {
+ for (ix=0; ix<xtra; ix++)
+ {
+ for(i=0; i<n4; i++)
+ {
+ j = j *(k-j)*(l-k);
+ k = l * k - (l-j) * k;
+ l = (l-k) * (k+j);
+ e1[l-2] = e1[l-2] + j + k + l;
+ e1[k-2] = e1[k-2] + j * k * l;
+ // was e1[l-2] = j + k + l; and e1[k-2] = j * k * l;
+ }
+ }
+ }
+ end_time();
+ x = (e1[0]+e1[1])/(SPDP)n4/(SPDP)xtra; // was x = e1[0]+e1[1];
+ pout("N4 fixed point \0",(float)(n4*15)*(float)(xtra),
+ 2,x,secs,calibrate,4);
+
+ /* Section 5, Trig functions */
+ x = 0.5;
+ y = 0.5;
+ start_time();
+ {
+ for (ix=0; ix<xtra; ix++)
+ {
+ for(i=1; i<n5; i++)
+ {
+ x = t*atan(t2*sin(x)*cos(x)/(cos(x+y)+cos(x-y)-1.0));
+ y = t*atan(t2*sin(y)*cos(y)/(cos(x+y)+cos(x-y)-1.0));
+ }
+ t = 1.0 - t;
+ }
+ t = t0;
+ }
+ end_time();
+ pout("N5 sin,cos etc. \0",(float)(n5*26)*(float)(xtra),
+ 2,y,secs,calibrate,5);
+
+
+ /* Section 6, Procedure calls */
+ x = 1.0;
+
+ y = 1.0;
+ z = 1.0;
+ start_time();
+ {
+ for (ix=0; ix<xtra; ix++)
+ {
+ for(i=0; i<n6; i++)
+ {
+ p3(&x,&y,&z,t,t1,t2);
+ }
+ }
+ }
+ end_time();
+ pout("N6 floating point\0",(float)(n6*6)*(float)(xtra),
+ 1,z,secs,calibrate,6);
+
+ /* Section 7, Array refrences */
+ j = 0;
+ k = 1;
+ l = 2;
+ e1[0] = 1.0;
+ e1[1] = 2.0;
+ e1[2] = 3.0;
+ start_time();
+ {
+ for (ix=0; ix<xtra; ix++)
+ {
+ for(i=0;i<n7;i++)
+ {
+ po(e1,j,k,l);
+ }
+ }
+ }
+ end_time();
+ pout("N7 assignments \0",(float)(n7*3)*(float)(xtra),
+ 2,e1[2],secs,calibrate,7);
+
+ /* Section 8, Standard functions */
+ x = 0.75;
+ start_time();
+ {
+ for (ix=0; ix<xtra; ix++)
+ {
+ for(i=0; i<n8; i++)
+ {
+ x = sqrt(exp(log(x)/t1));
+ }
+ }
+ }
+ end_time();
+ pout("N8 exp,sqrt etc. \0",(float)(n8*4)*(float)(xtra),
+ 2,x,secs,calibrate,8);
+
+ return;
+}
+
+
+void pa(SPDP e[4], SPDP t, SPDP t2)
+{
+ long j;
+ for(j=0;j<6;j++)
+ {
+ e[0] = (e[0]+e[1]+e[2]-e[3])*t;
+ e[1] = (e[0]+e[1]-e[2]+e[3])*t;
+ e[2] = (e[0]-e[1]+e[2]+e[3])*t;
+ e[3] = (-e[0]+e[1]+e[2]+e[3])/t2;
+ }
+
+ return;
+}
+
+void po(SPDP e1[4], long j, long k, long l)
+{
+ e1[j] = e1[k];
+ e1[k] = e1[l];
+ e1[l] = e1[j];
+ return;
+}
+
+void p3(SPDP *x, SPDP *y, SPDP *z, SPDP t, SPDP t1, SPDP t2)
+{
+ *x = *y;
+ *y = *z;
+ *x = t * (*x + *y);
+ *y = t1 * (*x + *y);
+ *z = (*x + *y)/t2;
+ return;
+}
+
+
+void pout(char title[18], float ops, int type, SPDP checknum,
+ SPDP time, int calibrate, int section)
+{
+ SPDP mops,mflops;
+
+ Check = Check + checknum;
+ loop_time[section] = time;
+ strcpy (headings[section],title);
+ TimeUsed = TimeUsed + time;
+ if (calibrate == 1)
+
+ {
+ results[section] = checknum;
+ }
+ if (calibrate == 0)
+ {
+ printf("%s %24.17f ",headings[section],results[section]);
+
+ if (type == 1)
+ {
+ if (time>0)
+ {
+ mflops = ops/(1000000L*time);
+ }
+ else
+ {
+ mflops = 0;
+ }
+ loop_mops[section] = 99999;
+ loop_mflops[section] = mflops;
+ printf(" %9.3f %9.3f\n",
+ loop_mflops[section], loop_time[section]);
+ }
+ else
+ {
+ if (time>0)
+ {
+ mops = ops/(1000000L*time);
+ }
+ else
+ {
+ mops = 0;
+ }
+ loop_mops[section] = mops;
+ loop_mflops[section] = 0;
+ printf(" %9.3f%9.3f\n",
+ loop_mops[section], loop_time[section]);
+ }
+ }
+
+ return;
+}
+
diff --git a/third_party/lzma.js/lzip/config.status b/third_party/lzma.js/lzip/config.status
deleted file mode 100755
index 610b2a05..00000000
--- a/third_party/lzma.js/lzip/config.status
+++ /dev/null
@@ -1,8 +0,0 @@
-#! /bin/sh
-# This file was generated automatically by configure. Do not edit.
-# Run this file to recreate the current configuration.
-#
-# This script is free software: you have unlimited permission
-# to copy, distribute and modify it.
-
-exec /bin/sh ./configure --no-create
diff --git a/tools/eliminator/asm-eliminator-test-output.js b/tools/eliminator/asm-eliminator-test-output.js
index e477c320..b519cdf9 100644
--- a/tools/eliminator/asm-eliminator-test-output.js
+++ b/tools/eliminator/asm-eliminator-test-output.js
@@ -123,4 +123,14 @@ function switchy() {
continue;
}
}
+function confuusion() {
+ var i = +0, j = +0;
+ func1(+i);
+ j = i;
+ func2(+j);
+}
+function tempDouble(a) {
+ a = +a;
+ f(a * a);
+}
diff --git a/tools/eliminator/asm-eliminator-test.js b/tools/eliminator/asm-eliminator-test.js
index acc07edb..ff67af47 100644
--- a/tools/eliminator/asm-eliminator-test.js
+++ b/tools/eliminator/asm-eliminator-test.js
@@ -156,5 +156,19 @@ function switchy() {
continue;
}
}
-// EMSCRIPTEN_GENERATED_FUNCTIONS: ["asm", "__Z11printResultPiS_j", "_segment_holding", "__ZN5identC2EiPKcPci", "_vec2Length", "exc", "label"]
+function confuusion() {
+ var i = +0;
+ func1(+i);
+ var j = i; // add this var in the middle. should show up with right type later, auto-inferred from i's type
+ func2(+j);
+}
+function tempDouble(a) {
+ a = +a;
+ var x = +0, y = +0;
+ // CastAway can leave things like this as variables no longer needed. We need to identify that x's value has no side effects so it can be completely cleaned up
+ x = (HEAP32[((tempDoublePtr)>>2)]=((HEAP32[(($_sroa_0_0__idx1)>>2)])|0),HEAP32[(((tempDoublePtr)+(4))>>2)]=((HEAP32[((($_sroa_0_0__idx1)+(4))>>2)])|0),(+(HEAPF64[(tempDoublePtr)>>3])));
+ y = a*a;
+ f(y);
+}
+// EMSCRIPTEN_GENERATED_FUNCTIONS: ["asm", "__Z11printResultPiS_j", "_segment_holding", "__ZN5identC2EiPKcPci", "_vec2Length", "exc", "label", "confuusion", "tempDouble"]
diff --git a/tools/js-optimizer.js b/tools/js-optimizer.js
index b82d23d3..56ff971c 100644
--- a/tools/js-optimizer.js
+++ b/tools/js-optimizer.js
@@ -1392,7 +1392,12 @@ function normalizeAsm(func) {
var name = v[0];
var value = v[1];
if (!(name in data.vars)) {
- data.vars[name] = detectAsmCoercion(value);
+ if (value[0] != 'name') {
+ data.vars[name] = detectAsmCoercion(value); // detect by coercion
+ } else {
+ var origin = value[1];
+ data.vars[name] = data.vars[origin] || ASM_INT; // detect by origin variable, or assume int for non-locals
+ }
}
}
unVarify(node[1], node);
@@ -1837,13 +1842,22 @@ function eliminate(ast, memSafe) {
potentials[name] = 1;
} else if (uses[name] == 0 && (!definitions[name] || definitions[name] <= 1)) { // no uses, no def or 1 def (cannot operate on phis, and the llvm optimizer will remove unneeded phis anyhow)
var hasSideEffects = false;
- if (values[name]) {
- traverse(values[name], function(node, type) {
- if (!(type in NODES_WITHOUT_ELIMINATION_SIDE_EFFECTS)) {
- hasSideEffects = true; // cannot remove this unused variable, constructing it has side effects
- return true;
- }
- });
+ var value = values[name];
+ if (value) {
+ // TODO: merge with other side effect code
+ // First, pattern-match
+ // (HEAP32[((tempDoublePtr)>>2)]=((HEAP32[(($_sroa_0_0__idx1)>>2)])|0),HEAP32[(((tempDoublePtr)+(4))>>2)]=((HEAP32[((($_sroa_0_0__idx1)+(4))>>2)])|0),(+(HEAPF64[(tempDoublePtr)>>3])))
+ // which has no side effects and is the special form of converting double to i64.
+ if (!(value[0] == 'seq' && value[1][0] == 'assign' && value[1][2][0] == 'sub' && value[1][2][2][0] == 'binary' && value[1][2][2][1] == '>>' &&
+ value[1][2][2][2][0] == 'name' && value[1][2][2][2][1] == 'tempDoublePtr')) {
+ // If not that, then traverse and scan normally.
+ traverse(value, function(node, type) {
+ if (!(type in NODES_WITHOUT_ELIMINATION_SIDE_EFFECTS)) {
+ hasSideEffects = true; // cannot remove this unused variable, constructing it has side effects
+ return true;
+ }
+ });
+ }
}
if (!hasSideEffects) {
varsToRemove[name] = !definitions[name] ? 2 : 1; // remove it normally
diff --git a/tools/shared.py b/tools/shared.py
index 2bd219a9..cc056074 100644
--- a/tools/shared.py
+++ b/tools/shared.py
@@ -295,7 +295,7 @@ def check_node_version():
# we re-check sanity when the settings are changed)
# We also re-check sanity and clear the cache when the version changes
-EMSCRIPTEN_VERSION = '1.4.2'
+EMSCRIPTEN_VERSION = '1.4.3'
def generate_sanity():
return EMSCRIPTEN_VERSION + '|' + get_llvm_target()
@@ -495,7 +495,7 @@ except:
# Target choice. Must be synced with src/settings.js (TARGET_*)
def get_llvm_target():
- return os.environ.get('EMCC_LLVM_TARGET') or 'i386-pc-linux-gnu' # 'le32-unknown-nacl'
+ return os.environ.get('EMCC_LLVM_TARGET') or 'le32-unknown-nacl' # 'i386-pc-linux-gnu'
LLVM_TARGET = get_llvm_target()
try:
@@ -509,6 +509,9 @@ COMPILER_OPTS = COMPILER_OPTS + ['-m32', '-U__i386__', '-U__i386', '-Ui386',
'-D__IEEE_LITTLE_ENDIAN', '-fno-math-errno', '-fno-threadsafe-statics',
'-target', LLVM_TARGET]
+if LLVM_TARGET == 'le32-unknown-nacl':
+ COMPILER_OPTS += ['-U__native_client__', '-U__pnacl__', '-U__ELF__'] # The nacl target is originally used for Google Native Client. Emscripten is not NaCl, so remove the platform #define, when using their triple.
+
USE_EMSDK = not os.environ.get('EMMAKEN_NO_SDK')
if USE_EMSDK:
@@ -675,6 +678,7 @@ class Settings:
Settings.RELOOP = 1
if opt_level >= 3:
# Aside from these, -O3 also runs closure compiler and llvm lto
+ Settings.FORCE_ALIGNED_MEMORY = 1
Settings.DOUBLE_MODE = 0
Settings.PRECISE_I64_MATH = 0
if noisy: logging.warning('Applying some potentially unsafe optimizations! (Use -O2 if this fails.)')