aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-05-08 16:06:26 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-05-08 16:06:26 -0700
commit693682fc225e60c9c335ee910fb3c8bb5cf85470 (patch)
treeb2c1285adf65b68a7b20aa231c4c5665966b2c18
parentb41b535aeac53740dec416f617378ec4e4e382ce (diff)
add nbody-java code
-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.c1041
-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.c270
-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
386 files changed, 159126 insertions, 0 deletions
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..4e41c9fa
--- /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
+{
+ OSIPMREQ 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..b10e85e5
--- /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 & 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..fc6339bc
--- /dev/null
+++ b/tests/nbody-java/native_org_apache_harmony_luni_platform_OSNetworkSystem.c
@@ -0,0 +1,1041 @@
+
+#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;
+ struct timezone tzp;
+
+ gettimeofday (&tp, &tzp);
+ 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..b6fa9695
--- /dev/null
+++ b/tests/nbody-java/nbody_nbody.c
@@ -0,0 +1,270 @@
+#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[])
+{
+ 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