From: michi Date: Thu, 16 Aug 2007 10:05:34 +0000 (+0000) Subject: * src/native/llni.h: Added macros for array handling. X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=commitdiff_plain;h=d70e11353693c830f485424adde3ceff0ed30327;hp=2090797791ee83e7d36d6d517f6aec1ce21b3507;p=cacao.git * src/native/llni.h: Added macros for array handling. * src/vm/global.h: Added typedefs for array handles. Renamed array types. Use LLNI macros for array access and adapted to above changes: * src/vm/access.c * src/vm/jit/arm/emit.c * src/vm/jit/arm/codegen.c * src/vm/jit/powerpc/emit.c * src/vm/jit/powerpc/codegen.c * src/vm/jit/sparc64/emit.c * src/vm/jit/sparc64/codegen.c * src/vm/jit/alpha/emit.c * src/vm/jit/alpha/codegen.c * src/vm/jit/s390/emit.c * src/vm/jit/s390/codegen.c * src/vm/jit/mips/emit.c * src/vm/jit/mips/codegen.c * src/vm/jit/m68k/emit.c * src/vm/jit/m68k/codegen.c * src/vm/jit/powerpc64/emit.c * src/vm/jit/powerpc64/codegen.c * src/vm/jit/i386/emit.c * src/vm/jit/i386/codegen.c * src/vm/jit/x86_64/emit.c * src/vm/jit/x86_64/codegen.c * src/vm/jit/stacktrace.c * src/vm/jit/stacktrace.h * src/vm/builtin.c * src/vm/string.c * src/vm/builtin.h * src/vm/exceptions.c * src/vm/vm.c * src/vm/stringlocal.h * src/vm/vm.h * src/native/jni.c * src/native/vm/java_lang_ClassLoader.c * src/native/vm/java_lang_reflect_Constructor.h * src/native/vm/java_lang_ClassLoader.h * src/native/vm/java_lang_Class.c * src/native/vm/gnu/gnu_java_lang_management_VMThreadMXBeanImpl.c * src/native/vm/gnu/java_security_VMAccessController.c * src/native/vm/gnu/java_lang_VMClassLoader.c * src/native/vm/gnu/java_lang_management_VMManagementFactory.c * src/native/vm/gnu/java_lang_VMClass.c * src/native/vm/gnu/gnu_java_lang_management_VMRuntimeMXBeanImpl.c * src/native/vm/gnu/sun_reflect_ConstantPool.c * src/native/vm/gnu/java_lang_reflect_Method.c * src/native/vm/gnu/gnu_classpath_VMStackWalker.c * src/native/vm/gnu/java_lang_VMSystem.c * src/native/vm/gnu/java_lang_reflect_Constructor.c * src/native/vm/gnu/java_lang_VMThrowable.c * src/native/vm/java_lang_Class.h * src/native/vm/sun_misc_Unsafe.c * src/native/vm/sun/jvm.c * src/native/vm/reflect.c * src/native/vm/java_lang_reflect_Method.c * src/native/vm/reflect.h * src/native/vm/java_lang_reflect_Constructor.c * src/native/vm/java_lang_reflect_Method.h * src/native/jni.h * src/vmcore/class.c * src/vmcore/class.h * src/vmcore/method.c * src/vmcore/method.h * src/vmcore/linker.c * src/cacaoh/headers.h * src/cacaoh/dummy.c * src/cacaoh/headers.c --- diff --git a/src/cacaoh/dummy.c b/src/cacaoh/dummy.c index 061d1e699..b73599689 100644 --- a/src/cacaoh/dummy.c +++ b/src/cacaoh/dummy.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: dummy.c 8315 2007-08-15 22:49:20Z panzi $ + $Id: dummy.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -123,14 +123,14 @@ java_handle_t *builtin_new(classinfo *c) return NULL; } -java_objectarray *builtin_anewarray(int32_t size, classinfo *componentclass) +java_handle_objectarray_t *builtin_anewarray(int32_t size, classinfo *componentclass) { abort(); return NULL; } -java_bytearray *builtin_newarray_byte(int32_t size) +java_handle_bytearray_t *builtin_newarray_byte(int32_t size) { abort(); @@ -592,7 +592,7 @@ classinfo * resolve_classref_or_classinfo_eager(classref_or_classinfo cls, /* stacktrace *****************************************************************/ -java_objectarray *stacktrace_getClassContext() +java_handle_objectarray_t *stacktrace_getClassContext() { return NULL; } diff --git a/src/cacaoh/headers.c b/src/cacaoh/headers.c index 2e597df29..2dccb9855 100644 --- a/src/cacaoh/headers.c +++ b/src/cacaoh/headers.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: headers.c 8295 2007-08-11 17:57:24Z michi $ + $Id: headers.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -174,24 +174,24 @@ static char *printtype(char *utf_ptr) fprintf(file, "double"); break; case '[': - addoutputsize ( sizeof(java_arrayheader*) ); + addoutputsize ( sizeof(java_array_t*) ); switch (utf_nextu2(&utf_ptr)) { - case 'I': fprintf (file, "java_intarray*"); break; - case 'J': fprintf (file, "java_longarray*"); break; - case 'Z': fprintf (file, "java_booleanarray*"); break; - case 'B': fprintf (file, "java_bytearray*"); break; - case 'S': fprintf (file, "java_shortarray*"); break; - case 'C': fprintf (file, "java_chararray*"); break; - case 'F': fprintf (file, "java_floatarray*"); break; - case 'D': fprintf (file, "java_doublearray*"); break; + case 'I': fprintf (file, "java_intarray_t*"); break; + case 'J': fprintf (file, "java_longarray_t*"); break; + case 'Z': fprintf (file, "java_booleanarray_t*"); break; + case 'B': fprintf (file, "java_bytearray_t*"); break; + case 'S': fprintf (file, "java_shortarray_t*"); break; + case 'C': fprintf (file, "java_chararray_t*"); break; + case 'F': fprintf (file, "java_floatarray_t*"); break; + case 'D': fprintf (file, "java_doublearray_t*"); break; - case '[': fprintf(file, "java_objectarray*"); + case '[': fprintf(file, "java_objectarray_t*"); while ((c = utf_nextu2(&utf_ptr)) == '['); if (c == 'L') while (utf_nextu2(&utf_ptr) != ';'); break; - case 'L': fprintf(file, "java_objectarray*"); + case 'L': fprintf(file, "java_objectarray_t*"); while (utf_nextu2(&utf_ptr) != ';'); break; default: diff --git a/src/cacaoh/headers.h b/src/cacaoh/headers.h index a404eff6b..16ef7adb6 100644 --- a/src/cacaoh/headers.h +++ b/src/cacaoh/headers.h @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: headers.h 8295 2007-08-11 17:57:24Z michi $ + $Id: headers.h 8318 2007-08-16 10:05:34Z michi $ */ @@ -42,7 +42,6 @@ /* export variables ***********************************************************/ -#warning object or handle??? extern java_object_t *_exceptionptr; extern chain *nativemethod_chain; extern chain *nativeclass_chain; diff --git a/src/native/jni.c b/src/native/jni.c index 4f0157988..aa7dbe6b6 100644 --- a/src/native/jni.c +++ b/src/native/jni.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: jni.c 8312 2007-08-15 22:10:22Z twisti $ + $Id: jni.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -763,7 +763,7 @@ static void _Jv_jni_CallVoidMethodA(java_handle_t *o, vftbl_t *vftbl, *******************************************************************************/ java_handle_t *_Jv_jni_invokeNative(methodinfo *m, java_handle_t *o, - java_objectarray *params) + java_handle_objectarray_t *params) { methodinfo *resm; java_handle_t *ro; @@ -799,7 +799,7 @@ java_handle_t *_Jv_jni_invokeNative(methodinfo *m, java_handle_t *o, /* check if we got the right number of arguments */ if (((params == NULL) && (paramcount != 0)) || - (params && (params->header.size != paramcount))) + (params && (LLNI_array_size(params) != paramcount))) { exceptions_throw_illegalargumentexception(); return NULL; @@ -2611,9 +2611,9 @@ void _Jv_JNI_SetStaticObjectField(JNIEnv *env, jclass clazz, jfieldID fieldID, jstring _Jv_JNI_NewString(JNIEnv *env, const jchar *buf, jsize len) { - java_lang_String *s; - java_chararray *a; - u4 i; + java_lang_String *s; + java_handle_chararray_t *a; + u4 i; STATISTICS(jniinvokation()); @@ -2626,7 +2626,7 @@ jstring _Jv_JNI_NewString(JNIEnv *env, const jchar *buf, jsize len) /* copy text */ for (i = 0; i < len; i++) - a->data[i] = buf[i]; + LLNI_array_direct(a, i) = buf[i]; LLNI_field_set_ref(s, value , a); LLNI_field_set_val(s, offset, 0); @@ -2664,10 +2664,12 @@ jsize _Jv_JNI_GetStringLength(JNIEnv *env, jstring str) u2 *javastring_tou2(jstring so) { - java_lang_String *s; - java_chararray *a; - u2 *stringbuffer; - u4 i; + java_lang_String *s; + java_handle_chararray_t *a; + u2 *stringbuffer; + u4 i; + int32_t count; + int32_t offset; STATISTICS(jniinvokation()); @@ -2681,14 +2683,17 @@ u2 *javastring_tou2(jstring so) if (!a) return NULL; + LLNI_field_get_val(s, count, count); + LLNI_field_get_val(s, offset, offset); + /* allocate memory */ - stringbuffer = MNEW(u2, LLNI_field_direct(s, count) + 1); + stringbuffer = MNEW(u2, count + 1); /* copy text */ - for (i = 0; i < LLNI_field_direct(s, count); i++) - stringbuffer[i] = a->data[LLNI_field_direct(s, offset) + i]; + for (i = 0; i < count; i++) + stringbuffer[i] = LLNI_array_direct(a, offset + i); /* terminate string */ @@ -2773,14 +2778,14 @@ jstring _Jv_JNI_NewStringUTF(JNIEnv *env, const char *bytes) jsize _Jv_JNI_GetStringUTFLength(JNIEnv *env, jstring string) { - java_lang_String *s; + java_lang_String *s; s4 length; TRACEJNICALLS("_Jv_JNI_GetStringUTFLength(env=%p, string=%p)", env, string); s = (java_lang_String *) string; - length = u2_utflength(LLNI_field_direct(s, value)->data, LLNI_field_direct(s, count)); + length = u2_utflength(LLNI_field_direct(s, value)->data, LLNI_field_direct(s, count)); return length; } @@ -2844,13 +2849,16 @@ void _Jv_JNI_ReleaseStringUTFChars(JNIEnv *env, jstring string, const char *utf) jsize _Jv_JNI_GetArrayLength(JNIEnv *env, jarray array) { - java_arrayheader *a; + java_handle_t *a; + jsize size; STATISTICS(jniinvokation()); - a = (java_arrayheader *) array; + a = (java_handle_t *) array; + + size = LLNI_array_size(a); - return a->size; + return size; } @@ -2864,10 +2872,10 @@ jsize _Jv_JNI_GetArrayLength(JNIEnv *env, jarray array) jobjectArray _Jv_JNI_NewObjectArray(JNIEnv *env, jsize length, jclass elementClass, jobject initialElement) { - classinfo *c; - java_handle_t *o; - java_objectarray *oa; - s4 i; + classinfo *c; + java_handle_t *o; + java_handle_objectarray_t *oa; + s4 i; STATISTICS(jniinvokation()); @@ -2887,7 +2895,7 @@ jobjectArray _Jv_JNI_NewObjectArray(JNIEnv *env, jsize length, /* set all elements to initialElement */ for (i = 0; i < length; i++) - oa->data[i] = o; + LLNI_objectarray_element_set(oa, i, o); return (jobjectArray) _Jv_JNI_NewLocalRef(env, (jobject) oa); } @@ -2896,19 +2904,19 @@ jobjectArray _Jv_JNI_NewObjectArray(JNIEnv *env, jsize length, jobject _Jv_JNI_GetObjectArrayElement(JNIEnv *env, jobjectArray array, jsize index) { - java_objectarray *oa; - java_handle_t *o; + java_handle_objectarray_t *oa; + java_handle_t *o; STATISTICS(jniinvokation()); - oa = (java_objectarray *) array; + oa = (java_handle_objectarray_t *) array; - if (index >= oa->header.size) { + if (index >= LLNI_array_size(oa)) { exceptions_throw_arrayindexoutofboundsexception(); return NULL; } - o = oa->data[index]; + LLNI_objectarray_element_get(oa, index, o); return _Jv_JNI_NewLocalRef(env, (jobject) o); } @@ -2917,15 +2925,15 @@ jobject _Jv_JNI_GetObjectArrayElement(JNIEnv *env, jobjectArray array, void _Jv_JNI_SetObjectArrayElement(JNIEnv *env, jobjectArray array, jsize index, jobject val) { - java_objectarray *oa; - java_handle_t *o; + java_handle_objectarray_t *oa; + java_handle_t *o; STATISTICS(jniinvokation()); - oa = (java_objectarray *) array; + oa = (java_handle_objectarray_t *) array; o = (java_handle_t *) val; - if (index >= oa->header.size) { + if (index >= LLNI_array_size(oa)) { exceptions_throw_arrayindexoutofboundsexception(); return; } @@ -2936,14 +2944,14 @@ void _Jv_JNI_SetObjectArrayElement(JNIEnv *env, jobjectArray array, if (!builtin_canstore(oa, o)) return; - oa->data[index] = o; + LLNI_objectarray_element_set(oa, index, o); } #define JNI_NEW_ARRAY(name, type, intern) \ type _Jv_JNI_New##name##Array(JNIEnv *env, jsize len) \ { \ - java_##intern##array *a; \ + java_handle_##intern##array_t *a; \ \ STATISTICS(jniinvokation()); \ \ @@ -2977,16 +2985,16 @@ JNI_NEW_ARRAY(Double, jdoubleArray, double) type *_Jv_JNI_Get##name##ArrayElements(JNIEnv *env, type##Array array, \ jboolean *isCopy) \ { \ - java_##intern##array *a; \ + java_handle_##intern##array_t *a; \ \ STATISTICS(jniinvokation()); \ \ - a = (java_##intern##array *) array; \ + a = (java_handle_##intern##array_t *) array; \ \ if (isCopy) \ *isCopy = JNI_FALSE; \ \ - return a->data; \ + return LLNI_array_data(a); \ } JNI_GET_ARRAY_ELEMENTS(Boolean, jboolean, boolean) @@ -3010,30 +3018,30 @@ JNI_GET_ARRAY_ELEMENTS(Double, jdouble, double) *******************************************************************************/ -#define JNI_RELEASE_ARRAY_ELEMENTS(name, type, intern, intern2) \ -void _Jv_JNI_Release##name##ArrayElements(JNIEnv *env, type##Array array, \ - type *elems, jint mode) \ -{ \ - java_##intern##array *a; \ - \ - STATISTICS(jniinvokation()); \ - \ - a = (java_##intern##array *) array; \ - \ - if (elems != a->data) { \ - switch (mode) { \ - case JNI_COMMIT: \ - MCOPY(a->data, elems, intern2, a->header.size); \ - break; \ - case 0: \ - MCOPY(a->data, elems, intern2, a->header.size); \ - /* XXX TWISTI how should it be freed? */ \ - break; \ - case JNI_ABORT: \ - /* XXX TWISTI how should it be freed? */ \ - break; \ - } \ - } \ +#define JNI_RELEASE_ARRAY_ELEMENTS(name, type, intern, intern2) \ +void _Jv_JNI_Release##name##ArrayElements(JNIEnv *env, type##Array array, \ + type *elems, jint mode) \ +{ \ + java_handle_##intern##array_t *a; \ + \ + STATISTICS(jniinvokation()); \ + \ + a = (java_handle_##intern##array_t *) array; \ + \ + if (elems != LLNI_array_data(a)) { \ + switch (mode) { \ + case JNI_COMMIT: \ + MCOPY(LLNI_array_data(a), elems, intern2, LLNI_array_size(a)); \ + break; \ + case 0: \ + MCOPY(LLNI_array_data(a), elems, intern2, LLNI_array_size(a)); \ + /* XXX TWISTI how should it be freed? */ \ + break; \ + case JNI_ABORT: \ + /* XXX TWISTI how should it be freed? */ \ + break; \ + } \ + } \ } JNI_RELEASE_ARRAY_ELEMENTS(Boolean, jboolean, boolean, u1) @@ -3053,20 +3061,20 @@ JNI_RELEASE_ARRAY_ELEMENTS(Double, jdouble, double, double) *******************************************************************************/ -#define JNI_GET_ARRAY_REGION(name, type, intern, intern2) \ -void _Jv_JNI_Get##name##ArrayRegion(JNIEnv *env, type##Array array, \ - jsize start, jsize len, type *buf) \ -{ \ - java_##intern##array *a; \ - \ - STATISTICS(jniinvokation()); \ - \ - a = (java_##intern##array *) array; \ - \ - if ((start < 0) || (len < 0) || (start + len > a->header.size)) \ - exceptions_throw_arrayindexoutofboundsexception(); \ - else \ - MCOPY(buf, &a->data[start], intern2, len); \ +#define JNI_GET_ARRAY_REGION(name, type, intern, intern2) \ +void _Jv_JNI_Get##name##ArrayRegion(JNIEnv *env, type##Array array, \ + jsize start, jsize len, type *buf) \ +{ \ + java_handle_##intern##array_t *a; \ + \ + STATISTICS(jniinvokation()); \ + \ + a = (java_handle_##intern##array_t *) array; \ + \ + if ((start < 0) || (len < 0) || (start + len > LLNI_array_size(a))) \ + exceptions_throw_arrayindexoutofboundsexception(); \ + else \ + MCOPY(buf, &LLNI_array_direct(a, start), intern2, len); \ } JNI_GET_ARRAY_REGION(Boolean, jboolean, boolean, u1) @@ -3090,16 +3098,16 @@ JNI_GET_ARRAY_REGION(Double, jdouble, double, double) void _Jv_JNI_Set##name##ArrayRegion(JNIEnv *env, type##Array array, \ jsize start, jsize len, const type *buf) \ { \ - java_##intern##array *a; \ + java_handle_##intern##array_t *a; \ \ STATISTICS(jniinvokation()); \ \ - a = (java_##intern##array *) array; \ + a = (java_handle_##intern##array_t *) array; \ \ - if ((start < 0) || (len < 0) || (start + len > a->header.size)) \ + if ((start < 0) || (len < 0) || (start + len > LLNI_array_size(a))) \ exceptions_throw_arrayindexoutofboundsexception(); \ else \ - MCOPY(&a->data[start], buf, intern2, len); \ + MCOPY(&LLNI_array_direct(a, start), buf, intern2, len); \ } JNI_SET_ARRAY_REGION(Boolean, jboolean, boolean, u1) @@ -3248,8 +3256,8 @@ jint _Jv_JNI_GetJavaVM(JNIEnv *env, JavaVM **vm) void _Jv_JNI_GetStringRegion(JNIEnv* env, jstring str, jsize start, jsize len, jchar *buf) { - java_lang_String *s; - java_chararray *ca; + java_lang_String *s; + java_handle_chararray_t *ca; STATISTICS(jniinvokation()); @@ -3262,7 +3270,7 @@ void _Jv_JNI_GetStringRegion(JNIEnv* env, jstring str, jsize start, jsize len, return; } - MCOPY(buf, &ca->data[start], u2, len); + MCOPY(buf, &LLNI_array_direct(ca, start), u2, len); } @@ -3279,23 +3287,26 @@ void _Jv_JNI_GetStringRegion(JNIEnv* env, jstring str, jsize start, jsize len, void _Jv_JNI_GetStringUTFRegion(JNIEnv* env, jstring str, jsize start, jsize len, char *buf) { - java_lang_String *s; - java_chararray *ca; - s4 i; + java_lang_String *s; + java_handle_chararray_t *ca; + s4 i; + int32_t count; + int32_t offset; TRACEJNICALLS("_Jv_JNI_GetStringUTFRegion(env=%p, str=%p, start=%d, len=%d, buf=%p)", env, str, start, len, buf); s = (java_lang_String *) str; LLNI_field_get_ref(s, value, ca); + LLNI_field_get_val(s, count, count); + LLNI_field_get_val(s, offset, offset); - if ((start < 0) || (len < 0) || (start > LLNI_field_direct(s, count)) || - (start + len > LLNI_field_direct(s, count))) { + if ((start < 0) || (len < 0) || (start > count) || (start + len > count)) { exceptions_throw_stringindexoutofboundsexception(); return; } for (i = 0; i < len; i++) - buf[i] = ca->data[LLNI_field_direct(s, offset) + start + i]; + buf[i] = LLNI_array_direct(ca, offset + start + i); buf[i] = '\0'; } @@ -3310,10 +3321,10 @@ void _Jv_JNI_GetStringUTFRegion(JNIEnv* env, jstring str, jsize start, void *_Jv_JNI_GetPrimitiveArrayCritical(JNIEnv *env, jarray array, jboolean *isCopy) { - java_bytearray *ba; - jbyte *bp; + java_handle_bytearray_t *ba; + jbyte *bp; - ba = (java_bytearray *) array; + ba = (java_handle_bytearray_t *) array; /* do the same as Kaffe does */ diff --git a/src/native/jni.h b/src/native/jni.h index e295b00f1..9dacaf72c 100644 --- a/src/native/jni.h +++ b/src/native/jni.h @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: jni.h 8297 2007-08-12 00:02:48Z michi $ + $Id: jni.h 8318 2007-08-16 10:05:34Z michi $ */ @@ -112,7 +112,7 @@ struct hashtable_global_ref_entry { bool jni_init(void); java_handle_t *_Jv_jni_invokeNative(methodinfo *m, java_handle_t *o, - java_objectarray *params); + java_handle_objectarray_t *params); #endif /* _JNI_H */ diff --git a/src/native/llni.h b/src/native/llni.h index c97204a85..9fe598993 100644 --- a/src/native/llni.h +++ b/src/native/llni.h @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: llni.h 8313 2007-08-15 22:11:35Z twisti $ + $Id: llni.h 8318 2007-08-16 10:05:34Z michi $ */ @@ -76,6 +76,23 @@ #define LLNI_field_direct(obj, field) ((obj)->field) +#define LLNI_vftbl_direct(obj) (((java_handle_t *) (obj))->vftbl) + +#define LLNI_array_direct(arr, index) ((arr)->data[(index)]) + +#define LLNI_array_data(arr) ((arr)->data) + +#define LLNI_array_size(arr) ((java_array_t *) (arr))->size + +/* XXX document me */ + +#define LLNI_objectarray_element_set(arr, index, reference) \ + LLNI_array_direct(arr, index) = reference + +#define LLNI_objectarray_element_get(arr, index, variable) \ + (variable) = (java_handle_t *) LLNI_array_direct(arr, index) + + #endif /* _LLNI_H */ diff --git a/src/native/vm/gnu/gnu_classpath_VMStackWalker.c b/src/native/vm/gnu/gnu_classpath_VMStackWalker.c index 5e800e07d..d7c5175bc 100644 --- a/src/native/vm/gnu/gnu_classpath_VMStackWalker.c +++ b/src/native/vm/gnu/gnu_classpath_VMStackWalker.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: gnu_classpath_VMStackWalker.c 8295 2007-08-11 17:57:24Z michi $ + $Id: gnu_classpath_VMStackWalker.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -30,6 +30,7 @@ #include "config.h" #include "native/jni.h" +#include "native/llni.h" #include "native/native.h" #include "native/include/java_lang_Class.h" @@ -76,9 +77,9 @@ void _Jv_gnu_classpath_VMStackWalker_init(void) * Method: getClassContext * Signature: ()[Ljava/lang/Class; */ -JNIEXPORT java_objectarray* JNICALL Java_gnu_classpath_VMStackWalker_getClassContext(JNIEnv *env, jclass clazz) +JNIEXPORT java_handle_objectarray_t* JNICALL Java_gnu_classpath_VMStackWalker_getClassContext(JNIEnv *env, jclass clazz) { - java_objectarray *oa; + java_handle_objectarray_t *oa; oa = stacktrace_getClassContext(); @@ -93,17 +94,20 @@ JNIEXPORT java_objectarray* JNICALL Java_gnu_classpath_VMStackWalker_getClassCon */ JNIEXPORT java_lang_Class* JNICALL Java_gnu_classpath_VMStackWalker_getCallingClass(JNIEnv *env, jclass clazz) { - java_objectarray *oa; + java_handle_objectarray_t *oa; + java_handle_t *o; oa = stacktrace_getClassContext(); if (oa == NULL) return NULL; - if (oa->header.size < 2) + if (LLNI_array_size(oa) < 2) return NULL; - return (java_lang_Class *) oa->data[1]; + LLNI_objectarray_element_get(oa, 1, o); + + return (java_lang_Class *) o; } @@ -114,19 +118,19 @@ JNIEXPORT java_lang_Class* JNICALL Java_gnu_classpath_VMStackWalker_getCallingCl */ JNIEXPORT java_lang_ClassLoader* JNICALL Java_gnu_classpath_VMStackWalker_getCallingClassLoader(JNIEnv *env, jclass clazz) { - java_objectarray *oa; - classinfo *c; - classloader *cl; + java_handle_objectarray_t *oa; + classinfo *c; + classloader *cl; oa = stacktrace_getClassContext(); if (oa == NULL) return NULL; - if (oa->header.size < 2) + if (LLNI_array_size(oa) < 2) return NULL; - c = (classinfo *) oa->data[1]; + c = (classinfo *) LLNI_array_direct(oa, 1); cl = c->classloader; return (java_lang_ClassLoader *) cl; @@ -140,18 +144,18 @@ JNIEXPORT java_lang_ClassLoader* JNICALL Java_gnu_classpath_VMStackWalker_getCal */ JNIEXPORT java_lang_ClassLoader* JNICALL Java_gnu_classpath_VMStackWalker_firstNonNullClassLoader(JNIEnv *env, jclass clazz) { - java_objectarray *oa; - classinfo *c; - classloader *cl; - s4 i; + java_handle_objectarray_t *oa; + classinfo *c; + classloader *cl; + s4 i; oa = stacktrace_getClassContext(); if (oa == NULL) return NULL; - for (i = 0; i < oa->header.size; i++) { - c = (classinfo *) oa->data[i]; + for (i = 0; i < LLNI_array_size(oa); i++) { + c = (classinfo *) LLNI_array_direct(oa, i); cl = c->classloader; if (cl != NULL) diff --git a/src/native/vm/gnu/gnu_java_lang_management_VMRuntimeMXBeanImpl.c b/src/native/vm/gnu/gnu_java_lang_management_VMRuntimeMXBeanImpl.c index 990e7d960..6bf92015d 100644 --- a/src/native/vm/gnu/gnu_java_lang_management_VMRuntimeMXBeanImpl.c +++ b/src/native/vm/gnu/gnu_java_lang_management_VMRuntimeMXBeanImpl.c @@ -73,7 +73,7 @@ void _Jv_gnu_java_lang_management_VMRuntimeMXBeanImpl_init(void) * Method: getInputArguments * Signature: ()[Ljava/lang/String; */ -JNIEXPORT java_objectarray* JNICALL Java_gnu_java_lang_management_VMRuntimeMXBeanImpl_getInputArguments(JNIEnv *env, jclass clazz) +JNIEXPORT java_handle_objectarray_t* JNICALL Java_gnu_java_lang_management_VMRuntimeMXBeanImpl_getInputArguments(JNIEnv *env, jclass clazz) { log_println("Java_gnu_java_lang_management_VMRuntimeMXBeanImpl_getInputArguments: IMPLEMENT ME!"); diff --git a/src/native/vm/gnu/gnu_java_lang_management_VMThreadMXBeanImpl.c b/src/native/vm/gnu/gnu_java_lang_management_VMThreadMXBeanImpl.c index 44047f27c..fc7c2a2d7 100644 --- a/src/native/vm/gnu/gnu_java_lang_management_VMThreadMXBeanImpl.c +++ b/src/native/vm/gnu/gnu_java_lang_management_VMThreadMXBeanImpl.c @@ -85,7 +85,7 @@ void _Jv_gnu_java_lang_management_VMThreadMXBeanImpl_init(void) * Method: findMonitorDeadlockedThreads * Signature: ()[J */ -JNIEXPORT java_longarray* JNICALL Java_gnu_java_lang_management_VMThreadMXBeanImpl_findMonitorDeadlockedThreads(JNIEnv *env, jclass clazz) +JNIEXPORT java_handle_longarray_t* JNICALL Java_gnu_java_lang_management_VMThreadMXBeanImpl_findMonitorDeadlockedThreads(JNIEnv *env, jclass clazz) { log_println("Java_gnu_java_lang_management_VMThreadMXBeanImpl_findMonitorDeadlockedThreads: IMPLEMENT ME!"); diff --git a/src/native/vm/gnu/java_lang_VMClass.c b/src/native/vm/gnu/java_lang_VMClass.c index 60f893237..723d9a6a0 100644 --- a/src/native/vm/gnu/java_lang_VMClass.c +++ b/src/native/vm/gnu/java_lang_VMClass.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: java_lang_VMClass.c 8249 2007-07-31 12:59:03Z panzi $ + $Id: java_lang_VMClass.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -168,7 +168,7 @@ JNIEXPORT java_lang_Class* JNICALL Java_java_lang_VMClass_getSuperclass(JNIEnv * * Method: getInterfaces * Signature: (Ljava/lang/Class;)[Ljava/lang/Class; */ -JNIEXPORT java_objectarray* JNICALL Java_java_lang_VMClass_getInterfaces(JNIEnv *env, jclass clazz, java_lang_Class *klass) +JNIEXPORT java_handle_objectarray_t* JNICALL Java_java_lang_VMClass_getInterfaces(JNIEnv *env, jclass clazz, java_lang_Class *klass) { return _Jv_java_lang_Class_getInterfaces(klass); } @@ -212,7 +212,7 @@ JNIEXPORT java_lang_Class* JNICALL Java_java_lang_VMClass_getDeclaringClass(JNIE * Method: getDeclaredClasses * Signature: (Ljava/lang/Class;Z)[Ljava/lang/Class; */ -JNIEXPORT java_objectarray* JNICALL Java_java_lang_VMClass_getDeclaredClasses(JNIEnv *env, jclass clazz, java_lang_Class *klass, s4 publicOnly) +JNIEXPORT java_handle_objectarray_t* JNICALL Java_java_lang_VMClass_getDeclaredClasses(JNIEnv *env, jclass clazz, java_lang_Class *klass, s4 publicOnly) { return _Jv_java_lang_Class_getDeclaredClasses(klass, publicOnly); } @@ -223,7 +223,7 @@ JNIEXPORT java_objectarray* JNICALL Java_java_lang_VMClass_getDeclaredClasses(JN * Method: getDeclaredFields * Signature: (Ljava/lang/Class;Z)[Ljava/lang/reflect/Field; */ -JNIEXPORT java_objectarray* JNICALL Java_java_lang_VMClass_getDeclaredFields(JNIEnv *env, jclass clazz, java_lang_Class *klass, s4 publicOnly) +JNIEXPORT java_handle_objectarray_t* JNICALL Java_java_lang_VMClass_getDeclaredFields(JNIEnv *env, jclass clazz, java_lang_Class *klass, s4 publicOnly) { return _Jv_java_lang_Class_getDeclaredFields(klass, publicOnly); } @@ -234,7 +234,7 @@ JNIEXPORT java_objectarray* JNICALL Java_java_lang_VMClass_getDeclaredFields(JNI * Method: getDeclaredMethods * Signature: (Ljava/lang/Class;Z)[Ljava/lang/reflect/Method; */ -JNIEXPORT java_objectarray* JNICALL Java_java_lang_VMClass_getDeclaredMethods(JNIEnv *env, jclass clazz, java_lang_Class *klass, s4 publicOnly) +JNIEXPORT java_handle_objectarray_t* JNICALL Java_java_lang_VMClass_getDeclaredMethods(JNIEnv *env, jclass clazz, java_lang_Class *klass, s4 publicOnly) { return _Jv_java_lang_Class_getDeclaredMethods(klass, publicOnly); } @@ -245,7 +245,7 @@ JNIEXPORT java_objectarray* JNICALL Java_java_lang_VMClass_getDeclaredMethods(JN * Method: getDeclaredConstructors * Signature: (Ljava/lang/Class;Z)[Ljava/lang/reflect/Constructor; */ -JNIEXPORT java_objectarray* JNICALL Java_java_lang_VMClass_getDeclaredConstructors(JNIEnv *env, jclass clazz, java_lang_Class *klass, s4 publicOnly) +JNIEXPORT java_handle_objectarray_t* JNICALL Java_java_lang_VMClass_getDeclaredConstructors(JNIEnv *env, jclass clazz, java_lang_Class *klass, s4 publicOnly) { return _Jv_java_lang_Class_getDeclaredConstructors(klass, publicOnly); } @@ -301,7 +301,7 @@ JNIEXPORT void JNICALL Java_java_lang_VMClass_throwException(JNIEnv *env, jclass * Method: getDeclaredAnnotations * Signature: (Ljava/lang/Class;)[Ljava/lang/annotation/Annotation; */ -JNIEXPORT java_objectarray* JNICALL Java_java_lang_VMClass_getDeclaredAnnotations(JNIEnv *env, jclass clazz, java_lang_Class* klass) +JNIEXPORT java_handle_objectarray_t* JNICALL Java_java_lang_VMClass_getDeclaredAnnotations(JNIEnv *env, jclass clazz, java_lang_Class* klass) { return _Jv_java_lang_Class_getDeclaredAnnotations(klass); } diff --git a/src/native/vm/gnu/java_lang_VMClassLoader.c b/src/native/vm/gnu/java_lang_VMClassLoader.c index cad477724..59832c0ef 100644 --- a/src/native/vm/gnu/java_lang_VMClassLoader.c +++ b/src/native/vm/gnu/java_lang_VMClassLoader.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: java_lang_VMClassLoader.c 8295 2007-08-11 17:57:24Z michi $ + $Id: java_lang_VMClassLoader.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -106,7 +106,7 @@ void _Jv_java_lang_VMClassLoader_init(void) * Method: defineClass * Signature: (Ljava/lang/ClassLoader;Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class; */ -JNIEXPORT java_lang_Class* JNICALL Java_java_lang_VMClassLoader_defineClass(JNIEnv *env, jclass clazz, java_lang_ClassLoader *cl, java_lang_String *name, java_bytearray *data, s4 offset, s4 len, java_security_ProtectionDomain *pd) +JNIEXPORT java_lang_Class* JNICALL Java_java_lang_VMClassLoader_defineClass(JNIEnv *env, jclass clazz, java_lang_ClassLoader *cl, java_lang_String *name, java_handle_bytearray_t *data, s4 offset, s4 len, java_security_ProtectionDomain *pd) { return _Jv_java_lang_ClassLoader_defineClass(cl, name, data, offset, len, pd); } diff --git a/src/native/vm/gnu/java_lang_VMSystem.c b/src/native/vm/gnu/java_lang_VMSystem.c index 6155a62a1..6a65631c3 100644 --- a/src/native/vm/gnu/java_lang_VMSystem.c +++ b/src/native/vm/gnu/java_lang_VMSystem.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: java_lang_VMSystem.c 7910 2007-05-16 08:02:52Z twisti $ + $Id: java_lang_VMSystem.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -76,8 +76,8 @@ void _Jv_java_lang_VMSystem_init(void) */ JNIEXPORT void JNICALL Java_java_lang_VMSystem_arraycopy(JNIEnv *env, jclass clazz, java_lang_Object *src, s4 srcStart, java_lang_Object *dest, s4 destStart, s4 len) { - (void) builtin_arraycopy((java_arrayheader *) src, srcStart, - (java_arrayheader *) dest, destStart, len); + (void) builtin_arraycopy((java_handle_t *) src, srcStart, + (java_handle_t *) dest, destStart, len); } diff --git a/src/native/vm/gnu/java_lang_VMThrowable.c b/src/native/vm/gnu/java_lang_VMThrowable.c index e7a2427eb..e7d282e59 100644 --- a/src/native/vm/gnu/java_lang_VMThrowable.c +++ b/src/native/vm/gnu/java_lang_VMThrowable.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: java_lang_VMThrowable.c 8295 2007-08-11 17:57:24Z michi $ + $Id: java_lang_VMThrowable.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -112,7 +112,7 @@ JNIEXPORT java_lang_VMThrowable* JNICALL Java_java_lang_VMThrowable_fillInStackT * Method: getStackTrace * Signature: (Ljava/lang/Throwable;)[Ljava/lang/StackTraceElement; */ -JNIEXPORT java_objectarray* JNICALL Java_java_lang_VMThrowable_getStackTrace(JNIEnv *env, java_lang_VMThrowable *this, java_lang_Throwable *t) +JNIEXPORT java_handle_objectarray_t* JNICALL Java_java_lang_VMThrowable_getStackTrace(JNIEnv *env, java_lang_VMThrowable *this, java_lang_Throwable *t) { stacktracecontainer *stc; stacktracebuffer *stb; @@ -125,7 +125,7 @@ JNIEXPORT java_objectarray* JNICALL Java_java_lang_VMThrowable_getStackTrace(JNI bool leftexceptionclass; methodinfo *m; - java_objectarray *oa; + java_handle_objectarray_t *oa; s4 oalength; java_lang_StackTraceElement *o; java_lang_String *filename; @@ -263,7 +263,7 @@ JNIEXPORT java_objectarray* JNICALL Java_java_lang_VMThrowable_getStackTrace(JNI LLNI_field_set_ref(o, methodName , (java_lang_String *) javastring_new(ste->method->name)); LLNI_field_set_val(o, isNative , (ste->method->flags & ACC_NATIVE) ? 1 : 0); - oa->data[i] = o; + LLNI_objectarray_element_set(oa, i, o); } return oa; diff --git a/src/native/vm/gnu/java_lang_management_VMManagementFactory.c b/src/native/vm/gnu/java_lang_management_VMManagementFactory.c index e4e78fa0b..1e0f4eceb 100644 --- a/src/native/vm/gnu/java_lang_management_VMManagementFactory.c +++ b/src/native/vm/gnu/java_lang_management_VMManagementFactory.c @@ -75,9 +75,9 @@ void _Jv_java_lang_management_VMManagementFactory_init(void) * Method: getMemoryPoolNames * Signature: ()[Ljava/lang/String; */ -JNIEXPORT java_objectarray* JNICALL Java_java_lang_management_VMManagementFactory_getMemoryPoolNames(JNIEnv *env, jclass clazz) +JNIEXPORT java_handle_objectarray_t* JNICALL Java_java_lang_management_VMManagementFactory_getMemoryPoolNames(JNIEnv *env, jclass clazz) { - java_objectarray *oa; + java_handle_objectarray_t *oa; log_println("Java_java_lang_management_VMManagementFactory_getMemoryPoolNames: IMPLEMENT ME!"); @@ -92,9 +92,9 @@ JNIEXPORT java_objectarray* JNICALL Java_java_lang_management_VMManagementFactor * Method: getMemoryManagerNames * Signature: ()[Ljava/lang/String; */ -JNIEXPORT java_objectarray* JNICALL Java_java_lang_management_VMManagementFactory_getMemoryManagerNames(JNIEnv *env, jclass clazz) +JNIEXPORT java_handle_objectarray_t* JNICALL Java_java_lang_management_VMManagementFactory_getMemoryManagerNames(JNIEnv *env, jclass clazz) { - java_objectarray *oa; + java_handle_objectarray_t *oa; log_println("Java_java_lang_management_VMManagementFactory_getMemoryManagerNames: IMPLEMENT ME!"); @@ -109,9 +109,9 @@ JNIEXPORT java_objectarray* JNICALL Java_java_lang_management_VMManagementFactor * Method: getGarbageCollectorNames * Signature: ()[Ljava/lang/String; */ -JNIEXPORT java_objectarray* JNICALL Java_java_lang_management_VMManagementFactory_getGarbageCollectorNames(JNIEnv *env, jclass clazz) +JNIEXPORT java_handle_objectarray_t* JNICALL Java_java_lang_management_VMManagementFactory_getGarbageCollectorNames(JNIEnv *env, jclass clazz) { - java_objectarray *oa; + java_handle_objectarray_t *oa; log_println("Java_java_lang_management_VMManagementFactory_getGarbageCollectorNames: IMPLEMENT ME!"); diff --git a/src/native/vm/gnu/java_lang_reflect_Constructor.c b/src/native/vm/gnu/java_lang_reflect_Constructor.c index 98d57ba81..605a2b9ae 100644 --- a/src/native/vm/gnu/java_lang_reflect_Constructor.c +++ b/src/native/vm/gnu/java_lang_reflect_Constructor.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: java_lang_reflect_Constructor.c 8311 2007-08-15 17:03:40Z panzi $ + $Id: java_lang_reflect_Constructor.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -94,7 +94,7 @@ void _Jv_java_lang_reflect_Constructor_init(void) * Method: constructNative * Signature: ([Ljava/lang/Object;Ljava/lang/Class;I)Ljava/lang/Object; */ -JNIEXPORT java_lang_Object* JNICALL Java_java_lang_reflect_Constructor_constructNative(JNIEnv *env, java_lang_reflect_Constructor *this, java_objectarray *args, java_lang_Class *declaringClass, s4 slot) +JNIEXPORT java_lang_Object* JNICALL Java_java_lang_reflect_Constructor_constructNative(JNIEnv *env, java_lang_reflect_Constructor *this, java_handle_objectarray_t *args, java_lang_Class *declaringClass, s4 slot) { /* just to be sure */ @@ -143,7 +143,7 @@ JNIEXPORT struct java_util_Map* JNICALL Java_java_lang_reflect_Constructor_decla * Method: getParameterAnnotations * Signature: ()[[Ljava/lang/annotation/Annotation; */ -JNIEXPORT java_objectarray* JNICALL Java_java_lang_reflect_Constructor_getParameterAnnotations(JNIEnv *env, struct java_lang_reflect_Constructor* this) +JNIEXPORT java_handle_objectarray_t* JNICALL Java_java_lang_reflect_Constructor_getParameterAnnotations(JNIEnv *env, struct java_lang_reflect_Constructor* this) { java_handle_t *o = (java_handle_t*)this; java_bytearray *parameterAnnotations = NULL; diff --git a/src/native/vm/gnu/java_lang_reflect_Method.c b/src/native/vm/gnu/java_lang_reflect_Method.c index e105ea1a0..700219363 100644 --- a/src/native/vm/gnu/java_lang_reflect_Method.c +++ b/src/native/vm/gnu/java_lang_reflect_Method.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: java_lang_reflect_Method.c 8311 2007-08-15 17:03:40Z panzi $ + $Id: java_lang_reflect_Method.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -144,7 +144,7 @@ JNIEXPORT java_lang_Class* JNICALL Java_java_lang_reflect_Method_getReturnType(J * Method: getParameterTypes * Signature: ()[Ljava/lang/Class; */ -JNIEXPORT java_objectarray* JNICALL Java_java_lang_reflect_Method_getParameterTypes(JNIEnv *env, java_lang_reflect_Method *this) +JNIEXPORT java_handle_objectarray_t* JNICALL Java_java_lang_reflect_Method_getParameterTypes(JNIEnv *env, java_lang_reflect_Method *this) { classinfo *c; methodinfo *m; @@ -163,7 +163,7 @@ JNIEXPORT java_objectarray* JNICALL Java_java_lang_reflect_Method_getParameterTy * Method: getExceptionTypes * Signature: ()[Ljava/lang/Class; */ -JNIEXPORT java_objectarray* JNICALL Java_java_lang_reflect_Method_getExceptionTypes(JNIEnv *env, java_lang_reflect_Method *this) +JNIEXPORT java_handle_objectarray_t* JNICALL Java_java_lang_reflect_Method_getExceptionTypes(JNIEnv *env, java_lang_reflect_Method *this) { classinfo *c; methodinfo *m; @@ -182,7 +182,7 @@ JNIEXPORT java_objectarray* JNICALL Java_java_lang_reflect_Method_getExceptionTy * Method: invokeNative * Signature: (Ljava/lang/Object;[Ljava/lang/Object;Ljava/lang/Class;I)Ljava/lang/Object; */ -JNIEXPORT java_lang_Object* JNICALL Java_java_lang_reflect_Method_invokeNative(JNIEnv *env, java_lang_reflect_Method *this, java_lang_Object *o, java_objectarray *args, java_lang_Class *clazz, s4 slot) +JNIEXPORT java_lang_Object* JNICALL Java_java_lang_reflect_Method_invokeNative(JNIEnv *env, java_lang_reflect_Method *this, java_lang_Object *o, java_handle_objectarray_t *args, java_lang_Class *clazz, s4 slot) { /* just to be sure */ @@ -320,7 +320,7 @@ JNIEXPORT struct java_util_Map* JNICALL Java_java_lang_reflect_Method_declaredAn * Method: getParameterAnnotations * Signature: ()[[Ljava/lang/annotation/Annotation; */ -JNIEXPORT java_objectarray* JNICALL Java_java_lang_reflect_Method_getParameterAnnotations(JNIEnv *env, struct java_lang_reflect_Method* this) +JNIEXPORT java_handle_objectarray_t* JNICALL Java_java_lang_reflect_Method_getParameterAnnotations(JNIEnv *env, struct java_lang_reflect_Method* this) { java_handle_t *o = (java_handle_t*)this; java_bytearray *parameterAnnotations = NULL; diff --git a/src/native/vm/gnu/java_security_VMAccessController.c b/src/native/vm/gnu/java_security_VMAccessController.c index 47dfe6cdf..615c7109a 100644 --- a/src/native/vm/gnu/java_security_VMAccessController.c +++ b/src/native/vm/gnu/java_security_VMAccessController.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: java_security_VMAccessController.c 7910 2007-05-16 08:02:52Z twisti $ + $Id: java_security_VMAccessController.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -71,7 +71,7 @@ void _Jv_java_security_VMAccessController_init(void) * Method: getStack * Signature: ()[[Ljava/lang/Object; */ -JNIEXPORT java_objectarray* JNICALL Java_java_security_VMAccessController_getStack(JNIEnv *env, jclass clazz) +JNIEXPORT java_handle_objectarray_t* JNICALL Java_java_security_VMAccessController_getStack(JNIEnv *env, jclass clazz) { return stacktrace_getStack(); } diff --git a/src/native/vm/gnu/sun_reflect_ConstantPool.c b/src/native/vm/gnu/sun_reflect_ConstantPool.c index b104710e2..b607fe2e7 100644 --- a/src/native/vm/gnu/sun_reflect_ConstantPool.c +++ b/src/native/vm/gnu/sun_reflect_ConstantPool.c @@ -257,7 +257,7 @@ JNIEXPORT struct java_lang_reflect_Field* JNICALL Java_sun_reflect_ConstantPool_ * Method: getMemberRefInfoAt0 * Signature: (Ljava/lang/Object;I)[Ljava/lang/String; */ -JNIEXPORT java_objectarray* JNICALL Java_sun_reflect_ConstantPool_getMemberRefInfoAt0(JNIEnv *env, struct sun_reflect_ConstantPool* this, struct java_lang_Object* jcpool, int32_t index) +JNIEXPORT java_handle_objectarray_t* JNICALL Java_sun_reflect_ConstantPool_getMemberRefInfoAt0(JNIEnv *env, struct sun_reflect_ConstantPool* this, struct java_lang_Object* jcpool, int32_t index) { log_println("Java_sun_reflect_ConstantPool_getMemberRefInfoAt0: jcpool=%p, index=%d, IMPLEMENT ME!", jcpool, index); return NULL; diff --git a/src/native/vm/java_lang_Class.c b/src/native/vm/java_lang_Class.c index e9cf29d42..d2555d3d4 100644 --- a/src/native/vm/java_lang_Class.c +++ b/src/native/vm/java_lang_Class.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: java_lang_Class.c 8311 2007-08-15 17:03:40Z panzi $ + $Id: java_lang_Class.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -96,7 +96,7 @@ java_lang_String *_Jv_java_lang_Class_getName(java_lang_Class *klass) { classinfo *c; java_lang_String *s; - java_chararray *ca; + java_chararray_t *ca; u4 i; c = (classinfo *) klass; @@ -112,9 +112,9 @@ java_lang_String *_Jv_java_lang_Class_getName(java_lang_Class *klass) LLNI_field_get_ref(s, value, ca); - for (i = 0; i < ca->header.size; i++) { - if (ca->data[i] == '/') - ca->data[i] = '.'; + for (i = 0; i < LLNI_array_size(ca); i++) { + if (LLNI_array_direct(ca, i) == '/') + LLNI_array_direct(ca, i) = '.'; } return s; @@ -300,10 +300,10 @@ java_lang_Class *_Jv_java_lang_Class_getSuperclass(java_lang_Class *klass) * Method: getInterfaces * Signature: ()[Ljava/lang/Class; */ -java_objectarray *_Jv_java_lang_Class_getInterfaces(java_lang_Class *klass) +java_handle_objectarray_t *_Jv_java_lang_Class_getInterfaces(java_lang_Class *klass) { - classinfo *c; - java_objectarray *oa; + classinfo *c; + java_handle_objectarray_t *oa; c = (classinfo *) klass; @@ -414,10 +414,10 @@ java_lang_Class *_Jv_java_lang_Class_getDeclaringClass(java_lang_Class *klass) * Method: getDeclaredClasses * Signature: (Z)[Ljava/lang/Class; */ -java_objectarray *_Jv_java_lang_Class_getDeclaredClasses(java_lang_Class *klass, s4 publicOnly) +java_handle_objectarray_t *_Jv_java_lang_Class_getDeclaredClasses(java_lang_Class *klass, s4 publicOnly) { - classinfo *c; - java_objectarray *oa; + classinfo *c; + java_handle_objectarray_t *oa; c = (classinfo *) klass; @@ -432,12 +432,12 @@ java_objectarray *_Jv_java_lang_Class_getDeclaredClasses(java_lang_Class *klass, * Method: getDeclaredFields * Signature: (Z)[Ljava/lang/reflect/Field; */ -java_objectarray *_Jv_java_lang_Class_getDeclaredFields(java_lang_Class *klass, s4 publicOnly) +java_handle_objectarray_t *_Jv_java_lang_Class_getDeclaredFields(java_lang_Class *klass, s4 publicOnly) { - classinfo *c; - java_objectarray *oa; /* result: array of field-objects */ - fieldinfo *f; - java_lang_reflect_Field *rf; + classinfo *c; + java_handle_objectarray_t *oa; /* result: array of field-objects */ + fieldinfo *f; + java_lang_reflect_Field *rf; s4 public_fields; /* number of elements in field-array */ s4 pos; s4 i; @@ -469,7 +469,8 @@ java_objectarray *_Jv_java_lang_Class_getDeclaredFields(java_lang_Class *klass, /* store object into array */ - oa->data[pos++] = rf; + pos++; + LLNI_objectarray_element_set(oa, pos, rf); } } @@ -482,12 +483,12 @@ java_objectarray *_Jv_java_lang_Class_getDeclaredFields(java_lang_Class *klass, * Method: getDeclaredMethods * Signature: (Z)[Ljava/lang/reflect/Method; */ -java_objectarray *_Jv_java_lang_Class_getDeclaredMethods(java_lang_Class *klass, s4 publicOnly) +java_handle_objectarray_t *_Jv_java_lang_Class_getDeclaredMethods(java_lang_Class *klass, s4 publicOnly) { - classinfo *c; - java_lang_reflect_Method *rm; - java_objectarray *oa; /* result: array of Method-objects */ - methodinfo *m; /* the current method to be represented */ + classinfo *c; + java_lang_reflect_Method *rm; + java_handle_objectarray_t *oa; /* result: array of Method-objects */ + methodinfo *m; /* the current method to be represented */ s4 public_methods; /* number of public methods of the class */ s4 pos; s4 i; @@ -532,7 +533,8 @@ java_objectarray *_Jv_java_lang_Class_getDeclaredMethods(java_lang_Class *klass, /* store object into array */ - oa->data[pos++] = rm; + pos++; + LLNI_objectarray_element_set(oa, pos, rm); } } @@ -545,11 +547,11 @@ java_objectarray *_Jv_java_lang_Class_getDeclaredMethods(java_lang_Class *klass, * Method: getDeclaredConstructors * Signature: (Z)[Ljava/lang/reflect/Constructor; */ -java_objectarray *_Jv_java_lang_Class_getDeclaredConstructors(java_lang_Class *klass, s4 publicOnly) +java_handle_objectarray_t *_Jv_java_lang_Class_getDeclaredConstructors(java_lang_Class *klass, s4 publicOnly) { classinfo *c; methodinfo *m; /* the current method to be represented */ - java_objectarray *oa; /* result: array of Method-objects */ + java_handle_objectarray_t *oa; /* result: array of Method-objects */ java_lang_reflect_Constructor *rc; s4 public_methods; /* number of public methods of the class */ s4 pos; @@ -583,7 +585,8 @@ java_objectarray *_Jv_java_lang_Class_getDeclaredConstructors(java_lang_Class *k /* store object into array */ - oa->data[pos++] = rc; + pos++; + LLNI_objectarray_element_set(oa, pos, rc); } } @@ -646,13 +649,13 @@ void _Jv_java_lang_Class_throwException(java_lang_Throwable *t) * Method: getDeclaredAnnotations * Signature: (Ljava/lang/Class;)[Ljava/lang/annotation/Annotation; */ -java_objectarray *_Jv_java_lang_Class_getDeclaredAnnotations(java_lang_Class* klass) +java_handle_objectarray_t *_Jv_java_lang_Class_getDeclaredAnnotations(java_lang_Class* klass) { classinfo *c = (classinfo*)klass; static methodinfo *m_parseAnnotationsIntoArray = NULL; utf *utf_parseAnnotationsIntoArray = NULL; utf *utf_desc = NULL; - java_bytearray *annotations = NULL; + java_handle_bytearray_t *annotations = NULL; sun_reflect_ConstantPool *constantPool = NULL; uint32_t size = 0; java_lang_Object *constantPoolOop = (java_lang_Object*)klass; @@ -712,7 +715,7 @@ java_objectarray *_Jv_java_lang_Class_getDeclaredAnnotations(java_lang_Class* kl } } - return (java_objectarray*)vm_call_method( + return (java_handle_objectarray_t*)vm_call_method( m_parseAnnotationsIntoArray, NULL, annotations, constantPool, klass); } diff --git a/src/native/vm/java_lang_Class.h b/src/native/vm/java_lang_Class.h index 4d9896e7f..759d9421c 100644 --- a/src/native/vm/java_lang_Class.h +++ b/src/native/vm/java_lang_Class.h @@ -67,14 +67,14 @@ JNIEXPORT int32_t JNICALL _Jv_java_lang_Class_isInterface(JNIEnv *env, java #if defined(ENABLE_JAVASE) s4 _Jv_java_lang_Class_isPrimitive(java_lang_Class *klass); java_lang_Class *_Jv_java_lang_Class_getSuperclass(java_lang_Class *klass); -java_objectarray *_Jv_java_lang_Class_getInterfaces(java_lang_Class *klass); +java_handle_objectarray_t *_Jv_java_lang_Class_getInterfaces(java_lang_Class *klass); java_lang_Class *_Jv_java_lang_Class_getComponentType(java_lang_Class *klass); s4 _Jv_java_lang_Class_getModifiers(java_lang_Class *klass, s4 ignoreInnerClassesAttrib); java_lang_Class *_Jv_java_lang_Class_getDeclaringClass(java_lang_Class *klass); -java_objectarray *_Jv_java_lang_Class_getDeclaredClasses(java_lang_Class *klass, s4 publicOnly); -java_objectarray *_Jv_java_lang_Class_getDeclaredFields(java_lang_Class *klass, s4 publicOnly); -java_objectarray *_Jv_java_lang_Class_getDeclaredMethods(java_lang_Class *klass, s4 publicOnly); -java_objectarray *_Jv_java_lang_Class_getDeclaredConstructors(java_lang_Class *klass, s4 publicOnly); +java_handle_objectarray_t *_Jv_java_lang_Class_getDeclaredClasses(java_lang_Class *klass, s4 publicOnly); +java_handle_objectarray_t *_Jv_java_lang_Class_getDeclaredFields(java_lang_Class *klass, s4 publicOnly); +java_handle_objectarray_t *_Jv_java_lang_Class_getDeclaredMethods(java_lang_Class *klass, s4 publicOnly); +java_handle_objectarray_t *_Jv_java_lang_Class_getDeclaredConstructors(java_lang_Class *klass, s4 publicOnly); java_lang_ClassLoader *_Jv_java_lang_Class_getClassLoader(java_lang_Class *klass); #endif @@ -84,7 +84,7 @@ JNIEXPORT int32_t JNICALL _Jv_java_lang_Class_isArray(JNIEnv *env, java_lan void _Jv_java_lang_Class_throwException(java_lang_Throwable *t); #if defined(WITH_CLASSPATH_GNU) && defined(ENABLE_ANNOTATIONS) -java_objectarray *_Jv_java_lang_Class_getDeclaredAnnotations(java_lang_Class* klass); +java_handle_objectarray_t *_Jv_java_lang_Class_getDeclaredAnnotations(java_lang_Class* klass); #endif java_lang_Class *_Jv_java_lang_Class_getEnclosingClass(java_lang_Class *klass); diff --git a/src/native/vm/java_lang_ClassLoader.c b/src/native/vm/java_lang_ClassLoader.c index d51687bd9..78e3c8321 100644 --- a/src/native/vm/java_lang_ClassLoader.c +++ b/src/native/vm/java_lang_ClassLoader.c @@ -74,7 +74,7 @@ * Method: defineClass * Signature: (Ljava/lang/ClassLoader;Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class; */ -java_lang_Class *_Jv_java_lang_ClassLoader_defineClass(java_lang_ClassLoader *cl, java_lang_String *name, java_bytearray *data, s4 offset, s4 len, java_security_ProtectionDomain *pd) +java_lang_Class *_Jv_java_lang_ClassLoader_defineClass(java_lang_ClassLoader *cl, java_lang_String *name, java_handle_bytearray_t *data, s4 offset, s4 len, java_security_ProtectionDomain *pd) { classloader *loader; utf *utfname; @@ -97,7 +97,7 @@ java_lang_Class *_Jv_java_lang_ClassLoader_defineClass(java_lang_ClassLoader *cl /* check the indexes passed */ - if ((offset < 0) || (len < 0) || ((offset + len) > data->header.size)) { + if ((offset < 0) || (len < 0) || ((offset + len) > LLNI_array_size(data))) { exceptions_throw_arrayindexoutofboundsexception(); return NULL; } diff --git a/src/native/vm/java_lang_ClassLoader.h b/src/native/vm/java_lang_ClassLoader.h index 0127dd3d4..33364bbe1 100644 --- a/src/native/vm/java_lang_ClassLoader.h +++ b/src/native/vm/java_lang_ClassLoader.h @@ -50,7 +50,7 @@ /* function prototypes ********************************************************/ #if defined(ENABLE_JAVASE) -java_lang_Class *_Jv_java_lang_ClassLoader_defineClass(java_lang_ClassLoader *cl, java_lang_String *name, java_bytearray *data, s4 offset, s4 len, java_security_ProtectionDomain *pd); +java_lang_Class *_Jv_java_lang_ClassLoader_defineClass(java_lang_ClassLoader *cl, java_lang_String *name, java_handle_bytearray_t *data, s4 offset, s4 len, java_security_ProtectionDomain *pd); #endif #endif /* _JV_JAVA_LANG_CLASSLOADER_H */ diff --git a/src/native/vm/java_lang_reflect_Constructor.c b/src/native/vm/java_lang_reflect_Constructor.c index 583f5f253..efbe31d3f 100644 --- a/src/native/vm/java_lang_reflect_Constructor.c +++ b/src/native/vm/java_lang_reflect_Constructor.c @@ -87,7 +87,7 @@ s4 _Jv_java_lang_reflect_Constructor_getModifiers(JNIEnv *env, java_lang_reflect * Method: getParameterTypes * Signature: ()[Ljava/lang/Class; */ -java_objectarray *_Jv_java_lang_reflect_Constructor_getParameterTypes(JNIEnv *env, java_lang_reflect_Constructor *this) +java_handle_objectarray_t *_Jv_java_lang_reflect_Constructor_getParameterTypes(JNIEnv *env, java_lang_reflect_Constructor *this) { classinfo *c; methodinfo *m; @@ -106,7 +106,7 @@ java_objectarray *_Jv_java_lang_reflect_Constructor_getParameterTypes(JNIEnv *en * Method: getExceptionTypes * Signature: ()[Ljava/lang/Class; */ -java_objectarray *_Jv_java_lang_reflect_Constructor_getExceptionTypes(JNIEnv *env, java_lang_reflect_Constructor *this) +java_handle_objectarray_t *_Jv_java_lang_reflect_Constructor_getExceptionTypes(JNIEnv *env, java_lang_reflect_Constructor *this) { classinfo *c; methodinfo *m; @@ -125,7 +125,7 @@ java_objectarray *_Jv_java_lang_reflect_Constructor_getExceptionTypes(JNIEnv *en * Method: newInstance * Signature: ([Ljava/lang/Object;)Ljava/lang/Object; */ -java_lang_Object *_Jv_java_lang_reflect_Constructor_newInstance(JNIEnv *env, java_lang_reflect_Constructor *this, java_objectarray *args) +java_lang_Object *_Jv_java_lang_reflect_Constructor_newInstance(JNIEnv *env, java_lang_reflect_Constructor *this, java_handle_objectarray_t *args) { classinfo *c; methodinfo *m; diff --git a/src/native/vm/java_lang_reflect_Constructor.h b/src/native/vm/java_lang_reflect_Constructor.h index e1967b15b..5aa26bd44 100644 --- a/src/native/vm/java_lang_reflect_Constructor.h +++ b/src/native/vm/java_lang_reflect_Constructor.h @@ -42,11 +42,11 @@ /* function prototypes ********************************************************/ -s4 _Jv_java_lang_reflect_Constructor_getModifiers(JNIEnv *env, java_lang_reflect_Constructor *this); -java_objectarray *_Jv_java_lang_reflect_Constructor_getParameterTypes(JNIEnv *env, java_lang_reflect_Constructor *this); -java_objectarray *_Jv_java_lang_reflect_Constructor_getExceptionTypes(JNIEnv *env, java_lang_reflect_Constructor *this); -java_lang_Object *_Jv_java_lang_reflect_Constructor_newInstance(JNIEnv *env, java_lang_reflect_Constructor *this, java_objectarray *args); -java_lang_String *_Jv_java_lang_reflect_Constructor_getSignature(JNIEnv *env, java_lang_reflect_Constructor *this); +s4 _Jv_java_lang_reflect_Constructor_getModifiers(JNIEnv *env, java_lang_reflect_Constructor *this); +java_handle_objectarray_t *_Jv_java_lang_reflect_Constructor_getParameterTypes(JNIEnv *env, java_lang_reflect_Constructor *this); +java_handle_objectarray_t *_Jv_java_lang_reflect_Constructor_getExceptionTypes(JNIEnv *env, java_lang_reflect_Constructor *this); +java_lang_Object *_Jv_java_lang_reflect_Constructor_newInstance(JNIEnv *env, java_lang_reflect_Constructor *this, java_handle_objectarray_t *args); +java_lang_String *_Jv_java_lang_reflect_Constructor_getSignature(JNIEnv *env, java_lang_reflect_Constructor *this); #endif /* _JV_JAVA_LANG_REFLECT_CONSTRUCTOR_H */ diff --git a/src/native/vm/java_lang_reflect_Method.c b/src/native/vm/java_lang_reflect_Method.c index 7e48c32e9..b532a520f 100644 --- a/src/native/vm/java_lang_reflect_Method.c +++ b/src/native/vm/java_lang_reflect_Method.c @@ -54,7 +54,7 @@ * Method: invoke * Signature: (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; */ -java_lang_Object *_Jv_java_lang_reflect_Method_invoke(java_lang_reflect_Method *this, java_lang_Object *o, java_objectarray *args) +java_lang_Object *_Jv_java_lang_reflect_Method_invoke(java_lang_reflect_Method *this, java_lang_Object *o, java_handle_objectarray_t *args) { classinfo *c; methodinfo *m; diff --git a/src/native/vm/java_lang_reflect_Method.h b/src/native/vm/java_lang_reflect_Method.h index 516591bc8..85fa518fb 100644 --- a/src/native/vm/java_lang_reflect_Method.h +++ b/src/native/vm/java_lang_reflect_Method.h @@ -45,7 +45,7 @@ /* function prototypes ********************************************************/ -java_lang_Object *_Jv_java_lang_reflect_Method_invoke(java_lang_reflect_Method *this, java_lang_Object *o, java_objectarray *args); +java_lang_Object *_Jv_java_lang_reflect_Method_invoke(java_lang_reflect_Method *this, java_lang_Object *o, java_handle_objectarray_t *args); #endif /* _JV_JAVA_LANG_REFLECT_METHOD_H */ diff --git a/src/native/vm/reflect.c b/src/native/vm/reflect.c index fa761268f..4d31f365c 100644 --- a/src/native/vm/reflect.c +++ b/src/native/vm/reflect.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: reflect.c 8315 2007-08-15 22:49:20Z panzi $ + $Id: reflect.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -83,8 +83,8 @@ java_lang_reflect_Constructor *reflect_constructor_new(methodinfo *m) java_handle_t *o; java_lang_reflect_Constructor *rc; int32_t slot; - java_bytearray *annotations = NULL; - java_bytearray *parameterAnnotations = NULL; + java_handle_bytearray_t *annotations = NULL; + java_handle_bytearray_t *parameterAnnotations = NULL; /* get declaring class */ @@ -154,7 +154,7 @@ java_lang_reflect_Field *reflect_field_new(fieldinfo *f) java_handle_t *o; java_lang_reflect_Field *rf; int32_t slot; - java_bytearray *annotations = NULL; + java_handle_bytearray_t *annotations = NULL; /* get declaring class */ @@ -227,9 +227,9 @@ java_lang_reflect_Method *reflect_method_new(methodinfo *m) java_handle_t *o; java_lang_reflect_Method *rm; int32_t slot; - java_bytearray *annotations = NULL; - java_bytearray *parameterAnnotations = NULL; - java_bytearray *annotationDefault = NULL; + java_handle_bytearray_t *annotations = NULL; + java_handle_bytearray_t *parameterAnnotations = NULL; + java_handle_bytearray_t *annotationDefault = NULL; /* get declaring class */ @@ -312,9 +312,9 @@ java_lang_reflect_Method *reflect_method_new(methodinfo *m) *******************************************************************************/ struct java_util_Map* reflect_get_declaredannotatios( - java_bytearray *annotations, - java_lang_Class *declaringClass, - classinfo *referer) + java_handle_bytearray_t *annotations, + java_lang_Class *declaringClass, + classinfo *referer) { static methodinfo *m_parseAnnotations = NULL; utf *utf_parseAnnotations = NULL; @@ -370,7 +370,7 @@ struct java_util_Map* reflect_get_declaredannotatios( *******************************************************************************/ -java_objectarray* reflect_get_parameterannotations( +java_handle_objectarray_t* reflect_get_parameterannotations( java_handle_t *parameterAnnotations, int32_t slot, java_lang_Class *declaringClass, @@ -452,7 +452,7 @@ java_objectarray* reflect_get_parameterannotations( } } - return (java_objectarray*)vm_call_method( + return (java_handle_objectarray_t*)vm_call_method( m_parseParameterAnnotations, NULL, parameterAnnotations, constantPool, declaringClass, numParameters); } diff --git a/src/native/vm/reflect.h b/src/native/vm/reflect.h index 1fa2f7d39..589a3bc9a 100644 --- a/src/native/vm/reflect.h +++ b/src/native/vm/reflect.h @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: reflect.h 8305 2007-08-15 13:49:26Z panzi $ + $Id: reflect.h 8318 2007-08-16 10:05:34Z michi $ */ @@ -66,11 +66,11 @@ java_lang_reflect_Method *reflect_method_new(methodinfo *m); #if defined(WITH_CLASSPATH_GNU) && defined(ENABLE_ANNOTATIONS) struct java_util_Map* reflect_get_declaredannotatios( - java_bytearray *annotations, - java_lang_Class *declaringClass, - classinfo *referer); + java_handle_bytearray_t *annotations, + java_lang_Class *declaringClass, + classinfo *referer); -java_objectarray* reflect_get_parameterannotations( +java_handle_objectarray_t* reflect_get_parameterannotations( java_handle_t *parameterAnnotations, int32_t slot, java_lang_Class *declaringClass, diff --git a/src/native/vm/sun/jvm.c b/src/native/vm/sun/jvm.c index a70044cee..0e9b011d6 100644 --- a/src/native/vm/sun/jvm.c +++ b/src/native/vm/sun/jvm.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: jvm.c 8311 2007-08-15 17:03:40Z panzi $ + $Id: jvm.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -231,11 +231,11 @@ jlong JVM_NanoTime(JNIEnv *env, jclass ignored) void JVM_ArrayCopy(JNIEnv *env, jclass ignored, jobject src, jint src_pos, jobject dst, jint dst_pos, jint length) { - java_arrayheader *s; - java_arrayheader *d; + java_handle_t *s; + java_handle_t *d; - s = (java_arrayheader *) src; - d = (java_arrayheader *) dst; + s = (java_handle_t *) src; + d = (java_handle_t *) dst; #if PRINTJVM log_println("JVM_ArrayCopy: src=%p, src_pos=%d, dst=%p, dst_pos=%d, length=%d", src, src_pos, dst, dst_pos, length); @@ -631,7 +631,7 @@ char* JVM_NativePath(char* path) jclass JVM_GetCallerClass(JNIEnv* env, int depth) { - java_objectarray *oa; + java_handle_objectarray_t *oa; #if PRINTJVM log_println("JVM_GetCallerClass: depth=%d", depth); @@ -759,8 +759,8 @@ jstring JVM_GetClassName(JNIEnv *env, jclass cls) jobjectArray JVM_GetClassInterfaces(JNIEnv *env, jclass cls) { - classinfo *c; - java_objectarray *oa; + classinfo *c; + java_handle_objectarray_t *oa; TRACEJVMCALLS("JVM_GetClassInterfaces(env=%p, cls=%p)", env, cls); @@ -971,8 +971,8 @@ jint JVM_GetClassModifiers(JNIEnv *env, jclass cls) jobjectArray JVM_GetDeclaredClasses(JNIEnv *env, jclass ofClass) { - classinfo *c; - java_objectarray *oa; + classinfo *c; + java_handle_objectarray_t *oa; TRACEJVMCALLS("JVM_GetDeclaredClasses(env=%p, ofClass=%p)", env, ofClass); @@ -1501,10 +1501,10 @@ jboolean JVM_DesiredAssertionStatus(JNIEnv *env, jclass unused, jclass cls) jobject JVM_AssertionStatusDirectives(JNIEnv *env, jclass unused) { - classinfo *c; + classinfo *c; java_lang_AssertionStatusDirectives *o; - java_objectarray *classes; - java_objectarray *packages; + java_handle_objectarray_t *classes; + java_handle_objectarray_t *packages; #if PRINTJVM || 1 log_println("JVM_AssertionStatusDirectives"); @@ -2271,10 +2271,10 @@ void JVM_SetPrimitiveArrayElement(JNIEnv *env, jobject arr, jint index, jvalue v jobject JVM_NewArray(JNIEnv *env, jclass eltClass, jint length) { - classinfo *c; - classinfo *pc; - java_arrayheader *a; - java_objectarray *oa; + classinfo *c; + classinfo *pc; + java_handle_t *a; + java_handle_objectarray_t *oa; TRACEJVMCALLS("JVM_NewArray(env=%p, eltClass=%p, length=%d)", env, eltClass, length); @@ -2759,7 +2759,7 @@ jobject JVM_InvokeMethod(JNIEnv *env, jobject method, jobject obj, jobjectArray #if PRINTJVM log_println("JVM_InvokeMethod: method=%p, obj=%p, args0=%p", method, obj, args0); #endif - return (jobject) _Jv_java_lang_reflect_Method_invoke((java_lang_reflect_Method *) method, (java_lang_Object *) obj, (java_objectarray *) args0); + return (jobject) _Jv_java_lang_reflect_Method_invoke((java_lang_reflect_Method *) method, (java_lang_Object *) obj, (java_handle_objectarray_t *) args0); } @@ -2770,7 +2770,7 @@ jobject JVM_NewInstanceFromConstructor(JNIEnv *env, jobject c, jobjectArray args #if PRINTJVM log_println("JVM_NewInstanceFromConstructor: c=%p, args0=%p", c, args0); #endif - return (jobject) _Jv_java_lang_reflect_Constructor_newInstance(env, (java_lang_reflect_Constructor *) c, (java_objectarray *) args0); + return (jobject) _Jv_java_lang_reflect_Constructor_newInstance(env, (java_lang_reflect_Constructor *) c, (java_handle_objectarray_t *) args0); } diff --git a/src/native/vm/sun_misc_Unsafe.c b/src/native/vm/sun_misc_Unsafe.c index 11ec8c5c4..42ce71ac1 100644 --- a/src/native/vm/sun_misc_Unsafe.c +++ b/src/native/vm/sun_misc_Unsafe.c @@ -535,7 +535,7 @@ JNIEXPORT int32_t JNICALL Java_sun_misc_Unsafe_addressSize(JNIEnv *env, sun_misc * Method: defineClass * Signature: (Ljava/lang/String;[BIILjava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class; */ -JNIEXPORT java_lang_Class* JNICALL Java_sun_misc_Unsafe_defineClass__Ljava_lang_String_2_3BIILjava_lang_ClassLoader_2Ljava_security_ProtectionDomain_2(JNIEnv *env, sun_misc_Unsafe *this, java_lang_String *name, java_bytearray *b, int32_t off, int32_t len, java_lang_ClassLoader *loader, java_security_ProtectionDomain *protectionDomain) +JNIEXPORT java_lang_Class* JNICALL Java_sun_misc_Unsafe_defineClass__Ljava_lang_String_2_3BIILjava_lang_ClassLoader_2Ljava_security_ProtectionDomain_2(JNIEnv *env, sun_misc_Unsafe *this, java_lang_String *name, java_handle_bytearray_t *b, int32_t off, int32_t len, java_lang_ClassLoader *loader, java_security_ProtectionDomain *protectionDomain) { classloader *cl; utf *utfname; @@ -553,7 +553,7 @@ JNIEXPORT java_lang_Class* JNICALL Java_sun_misc_Unsafe_defineClass__Ljava_lang_ /* check the indexes passed */ - if ((off < 0) || (len < 0) || ((off + len) > b->header.size)) { + if ((off < 0) || (len < 0) || ((off + len) > LLNI_array_size(b))) { exceptions_throw_arrayindexoutofboundsexception(); return NULL; } diff --git a/src/vm/access.c b/src/vm/access.c index 70acfc38e..984f8d002 100644 --- a/src/vm/access.c +++ b/src/vm/access.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: access.c 8237 2007-07-27 16:15:29Z twisti $ + $Id: access.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -36,6 +36,8 @@ #include "mm/memory.h" +#include "native/llni.h" + #include "vm/access.h" #include "vm/builtin.h" #include "vm/exceptions.h" @@ -213,11 +215,11 @@ bool access_is_accessible_member(classinfo *referer, classinfo *declarer, bool access_check_field(fieldinfo *f, s4 calldepth) { - java_objectarray *oa; - classinfo *callerclass; - char *msg; - s4 msglen; - utf *u; + java_handle_objectarray_t *oa; + classinfo *callerclass; + char *msg; + s4 msglen; + utf *u; /* if everything is public, there is nothing to check */ @@ -231,7 +233,7 @@ bool access_check_field(fieldinfo *f, s4 calldepth) if (oa == NULL) return false; - assert(calldepth >= 0 && calldepth < oa->header.size); + assert(calldepth >= 0 && calldepth < LLNI_array_size(oa)); callerclass = (classinfo *) oa->data[calldepth]; @@ -294,11 +296,11 @@ bool access_check_field(fieldinfo *f, s4 calldepth) bool access_check_method(methodinfo *m, s4 calldepth) { - java_objectarray *oa; - classinfo *callerclass; - char *msg; - s4 msglen; - utf *u; + java_handle_objectarray_t *oa; + classinfo *callerclass; + char *msg; + s4 msglen; + utf *u; /* if everything is public, there is nothing to check */ @@ -312,7 +314,7 @@ bool access_check_method(methodinfo *m, s4 calldepth) if (oa == NULL) return false; - assert(calldepth >= 0 && calldepth < oa->header.size); + assert(calldepth >= 0 && calldepth < LLNI_array_size(oa)); callerclass = (classinfo *) oa->data[calldepth]; diff --git a/src/vm/builtin.c b/src/vm/builtin.c index 77f3ff323..38979b42c 100644 --- a/src/vm/builtin.c +++ b/src/vm/builtin.c @@ -28,7 +28,7 @@ calls instead of machine instructions, using the C calling convention. - $Id: builtin.c 8295 2007-08-11 17:57:24Z michi $ + $Id: builtin.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -597,7 +597,7 @@ void *builtin_throw_exception(java_handle_t *xptr) *******************************************************************************/ -s4 builtin_canstore(java_objectarray *oa, java_handle_t *o) +s4 builtin_canstore(java_handle_objectarray_t *oa, java_handle_t *o) { arraydescriptor *desc; arraydescriptor *valuedesc; @@ -672,7 +672,7 @@ s4 builtin_canstore(java_objectarray *oa, java_handle_t *o) /* This is an optimized version where a is guaranteed to be one-dimensional */ -s4 builtin_canstore_onedim (java_objectarray *a, java_handle_t *o) +s4 builtin_canstore_onedim (java_handle_objectarray_t *a, java_handle_t *o) { arraydescriptor *desc; vftbl_t *elementvftbl; @@ -723,7 +723,7 @@ s4 builtin_canstore_onedim (java_objectarray *a, java_handle_t *o) /* This is an optimized version where a is guaranteed to be a * one-dimensional array of a class type */ -s4 builtin_canstore_onedim_class(java_objectarray *a, java_handle_t *o) +s4 builtin_canstore_onedim_class(java_handle_objectarray_t *a, java_handle_t *o) { vftbl_t *elementvftbl; vftbl_t *valuevftbl; @@ -841,13 +841,13 @@ java_handle_t *builtin_new(classinfo *c) *******************************************************************************/ -java_arrayheader *builtin_newarray(s4 size, classinfo *arrayclass) +java_handle_t *builtin_newarray(s4 size, classinfo *arrayclass) { - arraydescriptor *desc; - s4 dataoffset; - s4 componentsize; - s4 actualsize; - java_arrayheader *a; + arraydescriptor *desc; + s4 dataoffset; + s4 componentsize; + s4 actualsize; + java_array_t *a; #if defined(ENABLE_RT_TIMING) struct timespec time_start, time_end; #endif @@ -883,7 +883,7 @@ java_arrayheader *builtin_newarray(s4 size, classinfo *arrayclass) lock_init_object_lock(&a->objheader); #endif - a->size = size; + LLNI_array_size(a) = size; RT_TIMING_GET_TIME(time_end); RT_TIMING_TIME_DIFF(time_start, time_end, RT_TIMING_NEW_ARRAY); @@ -901,7 +901,7 @@ java_arrayheader *builtin_newarray(s4 size, classinfo *arrayclass) *******************************************************************************/ -java_objectarray *builtin_anewarray(s4 size, classinfo *componentclass) +java_handle_objectarray_t *builtin_anewarray(s4 size, classinfo *componentclass) { classinfo *arrayclass; @@ -920,7 +920,7 @@ java_objectarray *builtin_anewarray(s4 size, classinfo *componentclass) if (!arrayclass) return NULL; - return (java_objectarray *) builtin_newarray(size, arrayclass); + return (java_handle_objectarray_t *) builtin_newarray(size, arrayclass); } @@ -934,9 +934,9 @@ java_objectarray *builtin_anewarray(s4 size, classinfo *componentclass) *******************************************************************************/ -java_booleanarray *builtin_newarray_boolean(s4 size) +java_handle_booleanarray_t *builtin_newarray_boolean(s4 size) { - return (java_booleanarray *) + return (java_handle_booleanarray_t *) builtin_newarray(size, primitivetype_table[ARRAYTYPE_BOOLEAN].arrayclass); } @@ -951,9 +951,9 @@ java_booleanarray *builtin_newarray_boolean(s4 size) *******************************************************************************/ -java_bytearray *builtin_newarray_byte(s4 size) +java_handle_bytearray_t *builtin_newarray_byte(s4 size) { - return (java_bytearray *) + return (java_handle_bytearray_t *) builtin_newarray(size, primitivetype_table[ARRAYTYPE_BYTE].arrayclass); } @@ -967,9 +967,9 @@ java_bytearray *builtin_newarray_byte(s4 size) *******************************************************************************/ -java_chararray *builtin_newarray_char(s4 size) +java_handle_chararray_t *builtin_newarray_char(s4 size) { - return (java_chararray *) + return (java_handle_chararray_t *) builtin_newarray(size, primitivetype_table[ARRAYTYPE_CHAR].arrayclass); } @@ -983,9 +983,9 @@ java_chararray *builtin_newarray_char(s4 size) *******************************************************************************/ -java_shortarray *builtin_newarray_short(s4 size) +java_handle_shortarray_t *builtin_newarray_short(s4 size) { - return (java_shortarray *) + return (java_handle_shortarray_t *) builtin_newarray(size, primitivetype_table[ARRAYTYPE_SHORT].arrayclass); } @@ -999,9 +999,9 @@ java_shortarray *builtin_newarray_short(s4 size) *******************************************************************************/ -java_intarray *builtin_newarray_int(s4 size) +java_handle_intarray_t *builtin_newarray_int(s4 size) { - return (java_intarray *) + return (java_handle_intarray_t *) builtin_newarray(size, primitivetype_table[ARRAYTYPE_INT].arrayclass); } @@ -1015,9 +1015,9 @@ java_intarray *builtin_newarray_int(s4 size) *******************************************************************************/ -java_longarray *builtin_newarray_long(s4 size) +java_handle_longarray_t *builtin_newarray_long(s4 size) { - return (java_longarray *) + return (java_handle_longarray_t *) builtin_newarray(size, primitivetype_table[ARRAYTYPE_LONG].arrayclass); } @@ -1031,9 +1031,9 @@ java_longarray *builtin_newarray_long(s4 size) *******************************************************************************/ -java_floatarray *builtin_newarray_float(s4 size) +java_handle_floatarray_t *builtin_newarray_float(s4 size) { - return (java_floatarray *) + return (java_handle_floatarray_t *) builtin_newarray(size, primitivetype_table[ARRAYTYPE_FLOAT].arrayclass); } @@ -1047,9 +1047,9 @@ java_floatarray *builtin_newarray_float(s4 size) *******************************************************************************/ -java_doublearray *builtin_newarray_double(s4 size) +java_handle_doublearray_t *builtin_newarray_double(s4 size) { - return (java_doublearray *) + return (java_handle_doublearray_t *) builtin_newarray(size, primitivetype_table[ARRAYTYPE_DOUBLE].arrayclass); } @@ -1070,19 +1070,19 @@ java_doublearray *builtin_newarray_double(s4 size) ******************************************************************************/ -static java_arrayheader *builtin_multianewarray_intern(int n, - classinfo *arrayclass, - long *dims) +static java_handle_t *builtin_multianewarray_intern(int n, + classinfo *arrayclass, + long *dims) { - s4 size; - java_arrayheader *a; - classinfo *componentclass; - s4 i; + s4 size; + java_handle_t *a; + classinfo *componentclass; + s4 i; /* create this dimension */ size = (s4) dims[0]; - a = builtin_newarray(size, arrayclass); + a = builtin_newarray(size, arrayclass); if (!a) return NULL; @@ -1101,7 +1101,7 @@ static java_arrayheader *builtin_multianewarray_intern(int n, /* create the component arrays */ for (i = 0; i < size; i++) { - java_arrayheader *ea = + java_handle_t *ea = #if defined(__MIPS__) && (SIZEOF_VOID_P == 4) /* we save an s4 to a s8 slot, 8-byte aligned */ @@ -1113,7 +1113,7 @@ static java_arrayheader *builtin_multianewarray_intern(int n, if (!ea) return NULL; - ((java_objectarray *) a)->data[i] = (java_object_t *) ea; + ((java_handle_objectarray_t *) a)->data[i] = (java_object_t *) ea; } return a; @@ -1127,8 +1127,8 @@ static java_arrayheader *builtin_multianewarray_intern(int n, ******************************************************************************/ -java_arrayheader *builtin_multianewarray(int n, classinfo *arrayclass, - long *dims) +java_handle_objectarray_t *builtin_multianewarray(int n, classinfo *arrayclass, + long *dims) { s4 i; s4 size; @@ -2567,8 +2567,8 @@ float builtin_d2f(double a) *******************************************************************************/ -bool builtin_arraycopy(java_arrayheader *src, s4 srcStart, - java_arrayheader *dest, s4 destStart, s4 len) +bool builtin_arraycopy(java_handle_t *src, s4 srcStart, + java_handle_t *dest, s4 destStart, s4 len) { arraydescriptor *sdesc; arraydescriptor *ddesc; @@ -2579,8 +2579,8 @@ bool builtin_arraycopy(java_arrayheader *src, s4 srcStart, return false; } - sdesc = src->objheader.vftbl->arraydesc; - ddesc = dest->objheader.vftbl->arraydesc; + sdesc = LLNI_vftbl_direct(src)->arraydesc; + ddesc = LLNI_vftbl_direct(dest)->arraydesc; if (!sdesc || !ddesc || (sdesc->arraytype != ddesc->arraytype)) { exceptions_throw_arraystoreexception(); @@ -2590,8 +2590,8 @@ bool builtin_arraycopy(java_arrayheader *src, s4 srcStart, /* we try to throw exception with the same message as SUN does */ if ((len < 0) || (srcStart < 0) || (destStart < 0) || - (srcStart + len < 0) || (srcStart + len > src->size) || - (destStart + len < 0) || (destStart + len > dest->size)) { + (srcStart + len < 0) || (srcStart + len > LLNI_array_size(src)) || + (destStart + len < 0) || (destStart + len > LLNI_array_size(dest))) { exceptions_throw_arrayindexoutofboundsexception(); return false; } @@ -2609,8 +2609,8 @@ bool builtin_arraycopy(java_arrayheader *src, s4 srcStart, else { /* We copy references of different type */ - java_objectarray *oas = (java_objectarray *) src; - java_objectarray *oad = (java_objectarray *) dest; + java_handle_objectarray_t *oas = (java_handle_objectarray_t *) src; + java_handle_objectarray_t *oad = (java_handle_objectarray_t *) dest; if (destStart <= srcStart) { for (i = 0; i < len; i++) { @@ -2688,11 +2688,11 @@ s8 builtin_currenttimemillis(void) java_handle_t *builtin_clone(void *env, java_handle_t *o) { - arraydescriptor *ad; - java_arrayheader *ah; - u4 size; - classinfo *c; - java_handle_t *co; /* cloned object header */ + arraydescriptor *ad; + java_handle_t *ah; + u4 size; + classinfo *c; + java_handle_t *co; /* cloned object header */ /* get the array descriptor */ @@ -2701,9 +2701,9 @@ java_handle_t *builtin_clone(void *env, java_handle_t *o) /* we are cloning an array */ if (ad != NULL) { - ah = (java_arrayheader *) o; + ah = (java_handle_t *) o; - size = ad->dataoffset + ad->componentsize * ah->size; + size = ad->dataoffset + ad->componentsize * LLNI_array_size(ah); co = heap_allocate(size, (ad->arraytype == ARRAYTYPE_OBJECT), NULL); diff --git a/src/vm/builtin.h b/src/vm/builtin.h index 063c61cca..fc89cede8 100644 --- a/src/vm/builtin.h +++ b/src/vm/builtin.h @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: builtin.h 8295 2007-08-11 17:57:24Z michi $ + $Id: builtin.h 8318 2007-08-16 10:05:34Z michi $ */ @@ -135,34 +135,34 @@ java_handle_t *builtin_trace_exception(java_handle_t *xptr, java_handle_t *builtin_new(classinfo *c); #define BUILTIN_new (functionptr) builtin_new -java_arrayheader *builtin_newarray(s4 size, classinfo *arrayclass); +java_handle_t *builtin_newarray(s4 size, classinfo *arrayclass); #define BUILTIN_newarray (functionptr) builtin_newarray -java_objectarray *builtin_anewarray(s4 size, classinfo *componentclass); +java_handle_objectarray_t *builtin_anewarray(s4 size, classinfo *componentclass); #define BUILTIN_anewarray (functionptr) builtin_anewarray -java_booleanarray *builtin_newarray_boolean(s4 size); +java_handle_booleanarray_t *builtin_newarray_boolean(s4 size); #define BUILTIN_newarray_boolean (functionptr) builtin_newarray_boolean -java_chararray *builtin_newarray_char(s4 size); +java_handle_chararray_t *builtin_newarray_char(s4 size); #define BUILTIN_newarray_char (functionptr) builtin_newarray_char -java_floatarray *builtin_newarray_float(s4 size); +java_handle_floatarray_t *builtin_newarray_float(s4 size); #define BUILTIN_newarray_float (functionptr) builtin_newarray_float -java_doublearray *builtin_newarray_double(s4 size); +java_handle_doublearray_t *builtin_newarray_double(s4 size); #define BUILTIN_newarray_double (functionptr) builtin_newarray_double -java_bytearray *builtin_newarray_byte(s4 size); +java_handle_bytearray_t *builtin_newarray_byte(s4 size); #define BUILTIN_newarray_byte (functionptr) builtin_newarray_byte -java_shortarray *builtin_newarray_short(s4 size); +java_handle_shortarray_t *builtin_newarray_short(s4 size); #define BUILTIN_newarray_short (functionptr) builtin_newarray_short -java_intarray *builtin_newarray_int(s4 size); +java_handle_intarray_t *builtin_newarray_int(s4 size); #define BUILTIN_newarray_int (functionptr) builtin_newarray_int -java_longarray *builtin_newarray_long(s4 size); +java_handle_longarray_t *builtin_newarray_long(s4 size); #define BUILTIN_newarray_long (functionptr) builtin_newarray_long -java_arrayheader *builtin_multianewarray(int n, classinfo *arrayclass, - long *dims); +java_handle_objectarray_t *builtin_multianewarray(int n, classinfo *arrayclass, + long *dims); #define BUILTIN_multianewarray (functionptr) builtin_multianewarray -s4 builtin_canstore(java_objectarray *oa, java_handle_t *o); +s4 builtin_canstore(java_handle_objectarray_t *oa, java_handle_t *o); #define BUILTIN_canstore (functionptr) builtin_canstore #if defined(TRACE_ARGS_NUM) @@ -291,8 +291,8 @@ float builtin_d2f(double a); java_handle_t *builtin_clone(void *env, java_handle_t *o); #define BUILTIN_clone (functionptr) builtin_clone -bool builtin_arraycopy(java_arrayheader *src, s4 srcStart, - java_arrayheader *dest, s4 destStart, s4 len); +bool builtin_arraycopy(java_handle_t *src, s4 srcStart, + java_handle_t *dest, s4 destStart, s4 len); #define BUILTIN_arraycopy (functionptr) builtin_arraycopy s8 builtin_nanotime(void); diff --git a/src/vm/exceptions.c b/src/vm/exceptions.c index e9743c112..3b2859d8b 100644 --- a/src/vm/exceptions.c +++ b/src/vm/exceptions.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: exceptions.c 8303 2007-08-13 19:01:52Z twisti $ + $Id: exceptions.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -107,8 +107,8 @@ bool exceptions_init(void) /* check if we get into trouble with our hardware-exceptions */ - if (OFFSET(java_bytearray, data) <= EXCEPTION_HARDWARE_LARGEST) - vm_abort("signal_init: array-data offset is less or equal the maximum hardware-exception displacement: %d <= %d", OFFSET(java_bytearray, data), EXCEPTION_HARDWARE_LARGEST); + if (OFFSET(java_bytearray_t, data) <= EXCEPTION_HARDWARE_LARGEST) + vm_abort("signal_init: array-data offset is less or equal the maximum hardware-exception displacement: %d <= %d", OFFSET(java_bytearray_t, data), EXCEPTION_HARDWARE_LARGEST); /* java/lang/Throwable */ diff --git a/src/vm/global.h b/src/vm/global.h index c0000bbda..e462ba259 100644 --- a/src/vm/global.h +++ b/src/vm/global.h @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: global.h 8295 2007-08-11 17:57:24Z michi $ + $Id: global.h 8318 2007-08-16 10:05:34Z michi $ */ @@ -82,7 +82,7 @@ typedef union { /* forward typedefs ***********************************************************/ typedef struct java_object_t java_object_t; -typedef struct java_objectarray java_objectarray; +typedef struct java_objectarray_t java_objectarray_t; #define MAX_ALIGN 8 /* most generic alignment for JavaVM values */ @@ -218,15 +218,6 @@ struct java_object_t { /* header for all objects */ }; -#if 0 -typedef struct java_handle_t { - java_object_t *heap_object; -} java_handle_t; -#else -typedef java_object_t java_handle_t; -#endif - - /* arrays ********************************************************************** All arrays are objects (they need the object header with a pointer @@ -235,10 +226,10 @@ typedef java_object_t java_handle_t; which is referenced by the vftbl. */ -typedef struct java_arrayheader { /* header for all arrays */ +typedef struct java_array_t { /* header for all arrays */ java_object_t objheader; /* object header */ s4 size; /* array size */ -} java_arrayheader; +} java_array_t; @@ -247,55 +238,84 @@ typedef struct java_arrayheader { /* header for all arrays */ /* booleanarray and bytearray need identical memory layout (access methods use the same machine code */ -typedef struct java_booleanarray { - java_arrayheader header; +typedef struct java_booleanarray_t { + java_array_t header; u1 data[1]; -} java_booleanarray; +} java_booleanarray_t; -typedef struct java_bytearray { - java_arrayheader header; +typedef struct java_bytearray_t { + java_array_t header; s1 data[1]; -} java_bytearray; +} java_bytearray_t; -typedef struct java_chararray { - java_arrayheader header; +typedef struct java_chararray_t { + java_array_t header; u2 data[1]; -} java_chararray; +} java_chararray_t; -typedef struct java_shortarray { - java_arrayheader header; +typedef struct java_shortarray_t { + java_array_t header; s2 data[1]; -} java_shortarray; +} java_shortarray_t; -typedef struct java_intarray { - java_arrayheader header; +typedef struct java_intarray_t { + java_array_t header; s4 data[1]; -} java_intarray; +} java_intarray_t; -typedef struct java_longarray { - java_arrayheader header; +typedef struct java_longarray_t { + java_array_t header; s8 data[1]; -} java_longarray; +} java_longarray_t; -typedef struct java_floatarray { - java_arrayheader header; +typedef struct java_floatarray_t { + java_array_t header; float data[1]; -} java_floatarray; +} java_floatarray_t; -typedef struct java_doublearray { - java_arrayheader header; +typedef struct java_doublearray_t { + java_array_t header; double data[1]; -} java_doublearray; +} java_doublearray_t; /* objectarray and arrayarray need identical memory layout (access methods use the same machine code */ -struct java_objectarray { - java_arrayheader header; - java_object_t *data[1]; +struct java_objectarray_t { + java_array_t header; + java_object_t *data[1]; }; +/* java_handle_t *************************************************************** + + TODO: document me! + +*******************************************************************************/ + +#if 0 +typedef struct java_handle_t { + java_object_t *heap_object; +} java_handle_t; +#elseif 0 +typedef union { + java_object_t object; + java_array_t array; +} java_handle_t; +#else +typedef java_object_t java_handle_t; +typedef java_objectarray_t java_handle_objectarray_t; +typedef java_booleanarray_t java_handle_booleanarray_t; +typedef java_bytearray_t java_handle_bytearray_t; +typedef java_chararray_t java_handle_chararray_t; +typedef java_shortarray_t java_handle_shortarray_t; +typedef java_intarray_t java_handle_intarray_t; +typedef java_longarray_t java_handle_longarray_t; +typedef java_floatarray_t java_handle_floatarray_t; +typedef java_doublearray_t java_handle_doublearray_t; +#endif + + /* global constants related to the verifier ***********************************/ /* The verifier needs additional variables in the variable array. Since these */ diff --git a/src/vm/jit/alpha/codegen.c b/src/vm/jit/alpha/codegen.c index 2ec75827a..190ee7636 100644 --- a/src/vm/jit/alpha/codegen.c +++ b/src/vm/jit/alpha/codegen.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: codegen.c 8297 2007-08-12 00:02:48Z michi $ + $Id: codegen.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -1419,7 +1419,7 @@ bool codegen_emit(jitdata *jd) s1 = emit_load_s1(jd, iptr, REG_ITMP1); d = codegen_reg_of_dst(jd, iptr, REG_ITMP2); /* implicit null-pointer check */ - M_ILD(d, s1, OFFSET(java_arrayheader, size)); + M_ILD(d, s1, OFFSET(java_array_t, size)); emit_store_dst(jd, iptr, d); break; @@ -1432,13 +1432,13 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); if (has_ext_instr_set) { M_LADD(s2, s1, REG_ITMP1); - M_BLDU(d, REG_ITMP1, OFFSET (java_bytearray, data[0])); + M_BLDU(d, REG_ITMP1, OFFSET (java_bytearray_t, data[0])); M_BSEXT(d, d); } else { M_LADD(s2, s1, REG_ITMP1); - M_LLD_U(REG_ITMP2, REG_ITMP1, OFFSET(java_bytearray, data[0])); - M_LDA(REG_ITMP1, REG_ITMP1, OFFSET(java_bytearray, data[0])+1); + M_LLD_U(REG_ITMP2, REG_ITMP1, OFFSET(java_bytearray_t, data[0])); + M_LDA(REG_ITMP1, REG_ITMP1, OFFSET(java_bytearray_t, data[0])+1); M_EXTQH(REG_ITMP2, REG_ITMP1, d); M_SRA_IMM(d, 56, d); } @@ -1455,13 +1455,13 @@ bool codegen_emit(jitdata *jd) if (has_ext_instr_set) { M_LADD(s2, s1, REG_ITMP1); M_LADD(s2, REG_ITMP1, REG_ITMP1); - M_SLDU(d, REG_ITMP1, OFFSET(java_chararray, data[0])); + M_SLDU(d, REG_ITMP1, OFFSET(java_chararray_t, data[0])); } else { M_LADD (s2, s1, REG_ITMP1); M_LADD (s2, REG_ITMP1, REG_ITMP1); - M_LLD_U(REG_ITMP2, REG_ITMP1, OFFSET(java_chararray, data[0])); - M_LDA (REG_ITMP1, REG_ITMP1, OFFSET(java_chararray, data[0])); + M_LLD_U(REG_ITMP2, REG_ITMP1, OFFSET(java_chararray_t, data[0])); + M_LDA (REG_ITMP1, REG_ITMP1, OFFSET(java_chararray_t, data[0])); M_EXTWL(REG_ITMP2, REG_ITMP1, d); } emit_store_dst(jd, iptr, d); @@ -1477,13 +1477,13 @@ bool codegen_emit(jitdata *jd) if (has_ext_instr_set) { M_LADD(s2, s1, REG_ITMP1); M_LADD(s2, REG_ITMP1, REG_ITMP1); - M_SLDU( d, REG_ITMP1, OFFSET (java_shortarray, data[0])); + M_SLDU( d, REG_ITMP1, OFFSET (java_shortarray_t, data[0])); M_SSEXT(d, d); } else { M_LADD(s2, s1, REG_ITMP1); M_LADD(s2, REG_ITMP1, REG_ITMP1); - M_LLD_U(REG_ITMP2, REG_ITMP1, OFFSET(java_shortarray, data[0])); - M_LDA(REG_ITMP1, REG_ITMP1, OFFSET(java_shortarray, data[0])+2); + M_LLD_U(REG_ITMP2, REG_ITMP1, OFFSET(java_shortarray_t, data[0])); + M_LDA(REG_ITMP1, REG_ITMP1, OFFSET(java_shortarray_t, data[0])+2); M_EXTQH(REG_ITMP2, REG_ITMP1, d); M_SRA_IMM(d, 48, d); } @@ -1498,7 +1498,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_S4ADDQ(s2, s1, REG_ITMP1); - M_ILD(d, REG_ITMP1, OFFSET(java_intarray, data[0])); + M_ILD(d, REG_ITMP1, OFFSET(java_intarray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1510,7 +1510,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_S8ADDQ(s2, s1, REG_ITMP1); - M_LLD(d, REG_ITMP1, OFFSET(java_longarray, data[0])); + M_LLD(d, REG_ITMP1, OFFSET(java_longarray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1522,7 +1522,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_S4ADDQ(s2, s1, REG_ITMP1); - M_FLD(d, REG_ITMP1, OFFSET(java_floatarray, data[0])); + M_FLD(d, REG_ITMP1, OFFSET(java_floatarray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1534,7 +1534,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_S8ADDQ(s2, s1, REG_ITMP1); - M_DLD(d, REG_ITMP1, OFFSET(java_doublearray, data[0])); + M_DLD(d, REG_ITMP1, OFFSET(java_doublearray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1546,7 +1546,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_SAADDQ(s2, s1, REG_ITMP1); - M_ALD(d, REG_ITMP1, OFFSET(java_objectarray, data[0])); + M_ALD(d, REG_ITMP1, OFFSET(java_objectarray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1560,12 +1560,12 @@ bool codegen_emit(jitdata *jd) s3 = emit_load_s3(jd, iptr, REG_ITMP3); if (has_ext_instr_set) { M_LADD(s2, s1, REG_ITMP1); - M_BST(s3, REG_ITMP1, OFFSET(java_bytearray, data[0])); + M_BST(s3, REG_ITMP1, OFFSET(java_bytearray_t, data[0])); } else { M_LADD(s2, s1, REG_ITMP1); - M_LLD_U(REG_ITMP2, REG_ITMP1, OFFSET(java_bytearray, data[0])); - M_LDA(REG_ITMP1, REG_ITMP1, OFFSET(java_bytearray, data[0])); + M_LLD_U(REG_ITMP2, REG_ITMP1, OFFSET(java_bytearray_t, data[0])); + M_LDA(REG_ITMP1, REG_ITMP1, OFFSET(java_bytearray_t, data[0])); M_INSBL(s3, REG_ITMP1, REG_ITMP3); M_MSKBL(REG_ITMP2, REG_ITMP1, REG_ITMP2); M_OR(REG_ITMP2, REG_ITMP3, REG_ITMP2); @@ -1583,13 +1583,13 @@ bool codegen_emit(jitdata *jd) if (has_ext_instr_set) { M_LADD(s2, s1, REG_ITMP1); M_LADD(s2, REG_ITMP1, REG_ITMP1); - M_SST(s3, REG_ITMP1, OFFSET(java_chararray, data[0])); + M_SST(s3, REG_ITMP1, OFFSET(java_chararray_t, data[0])); } else { M_LADD(s2, s1, REG_ITMP1); M_LADD(s2, REG_ITMP1, REG_ITMP1); - M_LLD_U(REG_ITMP2, REG_ITMP1, OFFSET(java_chararray, data[0])); - M_LDA(REG_ITMP1, REG_ITMP1, OFFSET(java_chararray, data[0])); + M_LLD_U(REG_ITMP2, REG_ITMP1, OFFSET(java_chararray_t, data[0])); + M_LDA(REG_ITMP1, REG_ITMP1, OFFSET(java_chararray_t, data[0])); M_INSWL(s3, REG_ITMP1, REG_ITMP3); M_MSKWL(REG_ITMP2, REG_ITMP1, REG_ITMP2); M_OR(REG_ITMP2, REG_ITMP3, REG_ITMP2); @@ -1607,13 +1607,13 @@ bool codegen_emit(jitdata *jd) if (has_ext_instr_set) { M_LADD(s2, s1, REG_ITMP1); M_LADD(s2, REG_ITMP1, REG_ITMP1); - M_SST(s3, REG_ITMP1, OFFSET(java_shortarray, data[0])); + M_SST(s3, REG_ITMP1, OFFSET(java_shortarray_t, data[0])); } else { M_LADD(s2, s1, REG_ITMP1); M_LADD(s2, REG_ITMP1, REG_ITMP1); - M_LLD_U(REG_ITMP2, REG_ITMP1, OFFSET(java_shortarray, data[0])); - M_LDA(REG_ITMP1, REG_ITMP1, OFFSET(java_shortarray, data[0])); + M_LLD_U(REG_ITMP2, REG_ITMP1, OFFSET(java_shortarray_t, data[0])); + M_LDA(REG_ITMP1, REG_ITMP1, OFFSET(java_shortarray_t, data[0])); M_INSWL(s3, REG_ITMP1, REG_ITMP3); M_MSKWL(REG_ITMP2, REG_ITMP1, REG_ITMP2); M_OR(REG_ITMP2, REG_ITMP3, REG_ITMP2); @@ -1629,7 +1629,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); M_S4ADDQ(s2, s1, REG_ITMP1); - M_IST(s3, REG_ITMP1, OFFSET(java_intarray, data[0])); + M_IST(s3, REG_ITMP1, OFFSET(java_intarray_t, data[0])); break; case ICMD_LASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1640,7 +1640,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); M_S8ADDQ(s2, s1, REG_ITMP1); - M_LST(s3, REG_ITMP1, OFFSET(java_longarray, data[0])); + M_LST(s3, REG_ITMP1, OFFSET(java_longarray_t, data[0])); break; case ICMD_FASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1651,7 +1651,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_FTMP3); M_S4ADDQ(s2, s1, REG_ITMP1); - M_FST(s3, REG_ITMP1, OFFSET(java_floatarray, data[0])); + M_FST(s3, REG_ITMP1, OFFSET(java_floatarray_t, data[0])); break; case ICMD_DASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1662,7 +1662,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_FTMP3); M_S8ADDQ(s2, s1, REG_ITMP1); - M_DST(s3, REG_ITMP1, OFFSET(java_doublearray, data[0])); + M_DST(s3, REG_ITMP1, OFFSET(java_doublearray_t, data[0])); break; case ICMD_AASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1687,7 +1687,7 @@ bool codegen_emit(jitdata *jd) s2 = emit_load_s2(jd, iptr, REG_ITMP2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); M_SAADDQ(s2, s1, REG_ITMP1); - M_AST(s3, REG_ITMP1, OFFSET(java_objectarray, data[0])); + M_AST(s3, REG_ITMP1, OFFSET(java_objectarray_t, data[0])); break; @@ -1699,12 +1699,12 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); if (has_ext_instr_set) { M_LADD(s2, s1, REG_ITMP1); - M_BST(REG_ZERO, REG_ITMP1, OFFSET(java_bytearray, data[0])); + M_BST(REG_ZERO, REG_ITMP1, OFFSET(java_bytearray_t, data[0])); } else { M_LADD(s2, s1, REG_ITMP1); - M_LLD_U(REG_ITMP2, REG_ITMP1, OFFSET(java_bytearray, data[0])); - M_LDA(REG_ITMP1, REG_ITMP1, OFFSET(java_bytearray, data[0])); + M_LLD_U(REG_ITMP2, REG_ITMP1, OFFSET(java_bytearray_t, data[0])); + M_LDA(REG_ITMP1, REG_ITMP1, OFFSET(java_bytearray_t, data[0])); M_INSBL(REG_ZERO, REG_ITMP1, REG_ITMP3); M_MSKBL(REG_ITMP2, REG_ITMP1, REG_ITMP2); M_OR(REG_ITMP2, REG_ITMP3, REG_ITMP2); @@ -1721,13 +1721,13 @@ bool codegen_emit(jitdata *jd) if (has_ext_instr_set) { M_LADD(s2, s1, REG_ITMP1); M_LADD(s2, REG_ITMP1, REG_ITMP1); - M_SST(REG_ZERO, REG_ITMP1, OFFSET(java_chararray, data[0])); + M_SST(REG_ZERO, REG_ITMP1, OFFSET(java_chararray_t, data[0])); } else { M_LADD(s2, s1, REG_ITMP1); M_LADD(s2, REG_ITMP1, REG_ITMP1); - M_LLD_U(REG_ITMP2, REG_ITMP1, OFFSET(java_chararray, data[0])); - M_LDA(REG_ITMP1, REG_ITMP1, OFFSET(java_chararray, data[0])); + M_LLD_U(REG_ITMP2, REG_ITMP1, OFFSET(java_chararray_t, data[0])); + M_LDA(REG_ITMP1, REG_ITMP1, OFFSET(java_chararray_t, data[0])); M_INSWL(REG_ZERO, REG_ITMP1, REG_ITMP3); M_MSKWL(REG_ITMP2, REG_ITMP1, REG_ITMP2); M_OR(REG_ITMP2, REG_ITMP3, REG_ITMP2); @@ -1744,13 +1744,13 @@ bool codegen_emit(jitdata *jd) if (has_ext_instr_set) { M_LADD(s2, s1, REG_ITMP1); M_LADD(s2, REG_ITMP1, REG_ITMP1); - M_SST(REG_ZERO, REG_ITMP1, OFFSET(java_shortarray, data[0])); + M_SST(REG_ZERO, REG_ITMP1, OFFSET(java_shortarray_t, data[0])); } else { M_LADD(s2, s1, REG_ITMP1); M_LADD(s2, REG_ITMP1, REG_ITMP1); - M_LLD_U(REG_ITMP2, REG_ITMP1, OFFSET(java_shortarray, data[0])); - M_LDA(REG_ITMP1, REG_ITMP1, OFFSET(java_shortarray, data[0])); + M_LLD_U(REG_ITMP2, REG_ITMP1, OFFSET(java_shortarray_t, data[0])); + M_LDA(REG_ITMP1, REG_ITMP1, OFFSET(java_shortarray_t, data[0])); M_INSWL(REG_ZERO, REG_ITMP1, REG_ITMP3); M_MSKWL(REG_ITMP2, REG_ITMP1, REG_ITMP2); M_OR(REG_ITMP2, REG_ITMP3, REG_ITMP2); @@ -1765,7 +1765,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_S4ADDQ(s2, s1, REG_ITMP1); - M_IST(REG_ZERO, REG_ITMP1, OFFSET(java_intarray, data[0])); + M_IST(REG_ZERO, REG_ITMP1, OFFSET(java_intarray_t, data[0])); break; case ICMD_LASTORECONST: /* ..., arrayref, index ==> ... */ @@ -1775,7 +1775,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_S8ADDQ(s2, s1, REG_ITMP1); - M_LST(REG_ZERO, REG_ITMP1, OFFSET(java_longarray, data[0])); + M_LST(REG_ZERO, REG_ITMP1, OFFSET(java_longarray_t, data[0])); break; case ICMD_AASTORECONST: /* ..., arrayref, index ==> ... */ @@ -1785,7 +1785,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_SAADDQ(s2, s1, REG_ITMP1); - M_AST(REG_ZERO, REG_ITMP1, OFFSET(java_objectarray, data[0])); + M_AST(REG_ZERO, REG_ITMP1, OFFSET(java_objectarray_t, data[0])); break; diff --git a/src/vm/jit/alpha/emit.c b/src/vm/jit/alpha/emit.c index 044a01bd1..84c3bf3ea 100644 --- a/src/vm/jit/alpha/emit.c +++ b/src/vm/jit/alpha/emit.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: emit.c 8260 2007-08-06 12:19:01Z michi $ + $Id: emit.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -343,7 +343,7 @@ void emit_arithmetic_check(codegendata *cd, instruction *iptr, s4 reg) void emit_arrayindexoutofbounds_check(codegendata *cd, instruction *iptr, s4 s1, s4 s2) { if (INSTRUCTION_MUST_CHECK(iptr)) { - M_ILD(REG_ITMP3, s1, OFFSET(java_arrayheader, size)); + M_ILD(REG_ITMP3, s1, OFFSET(java_array_t, size)); M_CMPULT(s2, REG_ITMP3, REG_ITMP3); M_BNEZ(REG_ITMP3, 1); M_ALD_INTERN(s2, REG_ZERO, EXCEPTION_HARDWARE_ARRAYINDEXOUTOFBOUNDS); diff --git a/src/vm/jit/arm/codegen.c b/src/vm/jit/arm/codegen.c index 42a086ac4..d10546002 100644 --- a/src/vm/jit/arm/codegen.c +++ b/src/vm/jit/arm/codegen.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: codegen.c 8297 2007-08-12 00:02:48Z michi $ + $Id: codegen.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -1144,7 +1144,7 @@ bool codegen_emit(jitdata *jd) s1 = emit_load_s1(jd, iptr, REG_ITMP1); d = codegen_reg_of_dst(jd, iptr, REG_ITMP2); /* implicit null-pointer check */ - M_ILD_INTERN(d, s1, OFFSET(java_arrayheader, size)); + M_ILD_INTERN(d, s1, OFFSET(java_array_t, size)); emit_store_dst(jd, iptr, d); break; @@ -1156,7 +1156,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_ADD(REG_ITMP1, s1, s2); /* REG_ITMP1 = s1 + 1 * s2 */ - M_LDRSB(d, REG_ITMP1, OFFSET(java_bytearray, data[0])); + M_LDRSB(d, REG_ITMP1, OFFSET(java_bytearray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1168,7 +1168,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_ADD(REG_ITMP1, s1, REG_LSL(s2, 1)); /* REG_ITMP1 = s1 + 2 * s2 */ - M_LDRH(d, REG_ITMP1, OFFSET(java_chararray, data[0])); + M_LDRH(d, REG_ITMP1, OFFSET(java_chararray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1180,7 +1180,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_ADD(REG_ITMP1, s1, REG_LSL(s2, 1)); /* REG_ITMP1 = s1 + 2 * s2 */ - M_LDRSH(d, REG_ITMP1, OFFSET(java_shortarray, data[0])); + M_LDRSH(d, REG_ITMP1, OFFSET(java_shortarray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1192,7 +1192,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_ADD(REG_ITMP1, s1, REG_LSL(s2, 2)); /* REG_ITMP1 = s1 + 4 * s2 */ - M_ILD_INTERN(d, REG_ITMP1, OFFSET(java_intarray, data[0])); + M_ILD_INTERN(d, REG_ITMP1, OFFSET(java_intarray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1204,7 +1204,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_ADD(REG_ITMP3, s1, REG_LSL(s2, 3)); /* REG_ITMP3 = s1 + 8 * s2 */ - M_LLD_INTERN(d, REG_ITMP3, OFFSET(java_longarray, data[0])); + M_LLD_INTERN(d, REG_ITMP3, OFFSET(java_longarray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1217,10 +1217,10 @@ bool codegen_emit(jitdata *jd) M_ADD(REG_ITMP1, s1, REG_LSL(s2, 2)); /* REG_ITMP1 = s1 + 4 * s2 */ #if !defined(ENABLE_SOFTFLOAT) d = codegen_reg_of_dst(jd, iptr, REG_FTMP1); - M_FLD_INTERN(d, REG_ITMP1, OFFSET(java_floatarray, data[0])); + M_FLD_INTERN(d, REG_ITMP1, OFFSET(java_floatarray_t, data[0])); #else d = codegen_reg_of_dst(jd, iptr, REG_ITMP1); - M_ILD_INTERN(d, REG_ITMP1, OFFSET(java_floatarray, data[0])); + M_ILD_INTERN(d, REG_ITMP1, OFFSET(java_floatarray_t, data[0])); #endif emit_store_dst(jd, iptr, d); break; @@ -1234,10 +1234,10 @@ bool codegen_emit(jitdata *jd) M_ADD(REG_ITMP3, s1, REG_LSL(s2, 3)); /* REG_ITMP3 = s1 + 8 * s2 */ #if !defined(ENABLE_SOFTFLOAT) d = codegen_reg_of_dst(jd, iptr, REG_FTMP1); - M_DLD_INTERN(d, REG_ITMP3, OFFSET(java_doublearray, data[0])); + M_DLD_INTERN(d, REG_ITMP3, OFFSET(java_doublearray_t, data[0])); #else d = codegen_reg_of_dst(jd, iptr, REG_ITMP12_PACKED); - M_LLD_INTERN(d, REG_ITMP3, OFFSET(java_doublearray, data[0])); + M_LLD_INTERN(d, REG_ITMP3, OFFSET(java_doublearray_t, data[0])); #endif emit_store_dst(jd, iptr, d); break; @@ -1250,7 +1250,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_ADD(REG_ITMP1, s1, REG_LSL(s2, 2)); /* REG_ITMP1 = s1 + 4 * s2 */ - M_LDR_INTERN(d, REG_ITMP1, OFFSET(java_objectarray, data[0])); + M_LDR_INTERN(d, REG_ITMP1, OFFSET(java_objectarray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1262,7 +1262,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); M_ADD(REG_ITMP1, s1, s2); /* REG_ITMP1 = s1 + 1 * s2 */ - M_STRB(s3, REG_ITMP1, OFFSET(java_bytearray, data[0])); + M_STRB(s3, REG_ITMP1, OFFSET(java_bytearray_t, data[0])); break; case ICMD_CASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1273,7 +1273,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); M_ADD(REG_ITMP1, s1, REG_LSL(s2, 1)); /* REG_ITMP1 = s1 + 2 * s2 */ - M_STRH(s3, REG_ITMP1, OFFSET(java_chararray, data[0])); + M_STRH(s3, REG_ITMP1, OFFSET(java_chararray_t, data[0])); break; case ICMD_SASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1284,7 +1284,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); M_ADD(REG_ITMP1, s1, REG_LSL(s2, 1)); /* REG_ITMP1 = s1 + 2 * s2 */ - M_STRH(s3, REG_ITMP1, OFFSET(java_shortarray, data[0])); + M_STRH(s3, REG_ITMP1, OFFSET(java_shortarray_t, data[0])); break; case ICMD_IASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1295,7 +1295,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); M_ADD(REG_ITMP1, s1, REG_LSL(s2, 2)); /* REG_ITMP1 = s1 + 4 * s2 */ - M_IST_INTERN(s3, REG_ITMP1, OFFSET(java_intarray, data[0])); + M_IST_INTERN(s3, REG_ITMP1, OFFSET(java_intarray_t, data[0])); break; case ICMD_LASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1306,7 +1306,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_ADD(REG_ITMP3, s1, REG_LSL(s2, 3)); /* REG_ITMP3 = s1 + 8 * s2 */ s3 = emit_load_s3(jd, iptr, REG_ITMP12_PACKED); - M_LST_INTERN(s3, REG_ITMP3, OFFSET(java_longarray, data[0])); + M_LST_INTERN(s3, REG_ITMP3, OFFSET(java_longarray_t, data[0])); break; case ICMD_FASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1318,10 +1318,10 @@ bool codegen_emit(jitdata *jd) M_ADD(REG_ITMP1, s1, REG_LSL(s2, 2)); /* REG_ITMP1 = s1 + 4 * s2 */ #if !defined(ENABLE_SOFTFLOAT) s3 = emit_load_s3(jd, iptr, REG_FTMP1); - M_FST_INTERN(s3, REG_ITMP1, OFFSET(java_floatarray, data[0])); + M_FST_INTERN(s3, REG_ITMP1, OFFSET(java_floatarray_t, data[0])); #else s3 = emit_load_s3(jd, iptr, REG_ITMP3); - M_IST_INTERN(s3, REG_ITMP1, OFFSET(java_floatarray, data[0])); + M_IST_INTERN(s3, REG_ITMP1, OFFSET(java_floatarray_t, data[0])); #endif break; @@ -1334,10 +1334,10 @@ bool codegen_emit(jitdata *jd) M_ADD(REG_ITMP1, s1, REG_LSL(s2, 3)); /* REG_ITMP1 = s1 + 8 * s2 */ #if !defined(ENABLE_SOFTFLOAT) s3 = emit_load_s3(jd, iptr, REG_FTMP1); - M_DST_INTERN(s3, REG_ITMP1, OFFSET(java_doublearray, data[0])); + M_DST_INTERN(s3, REG_ITMP1, OFFSET(java_doublearray_t, data[0])); #else s3 = emit_load_s3(jd, iptr, REG_ITMP23_PACKED); - M_LST_INTERN(s3, REG_ITMP1, OFFSET(java_doublearray, data[0])); + M_LST_INTERN(s3, REG_ITMP1, OFFSET(java_doublearray_t, data[0])); #endif break; @@ -1370,7 +1370,7 @@ bool codegen_emit(jitdata *jd) s2 = emit_load_s2(jd, iptr, REG_ITMP2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); M_ADD(REG_ITMP1, s1, REG_LSL(s2, 2)); /* REG_ITMP1 = s1 + 4 * s2 */ - M_STR_INTERN(s3, REG_ITMP1, OFFSET(java_objectarray, data[0])); + M_STR_INTERN(s3, REG_ITMP1, OFFSET(java_objectarray_t, data[0])); break; case ICMD_GETSTATIC: /* ... ==> ..., value */ diff --git a/src/vm/jit/arm/emit.c b/src/vm/jit/arm/emit.c index ccd5e7402..c238b9931 100644 --- a/src/vm/jit/arm/emit.c +++ b/src/vm/jit/arm/emit.c @@ -512,7 +512,7 @@ void emit_nullpointer_check_force(codegendata *cd, instruction *iptr, s4 reg) void emit_arrayindexoutofbounds_check(codegendata *cd, instruction *iptr, s4 s1, s4 s2) { if (INSTRUCTION_MUST_CHECK(iptr)) { - M_ILD_INTERN(REG_ITMP3, s1, OFFSET(java_arrayheader, size)); + M_ILD_INTERN(REG_ITMP3, s1, OFFSET(java_array_t, size)); M_CMP(s2, REG_ITMP3); M_TRAPHS(s2, EXCEPTION_HARDWARE_ARRAYINDEXOUTOFBOUNDS); } diff --git a/src/vm/jit/i386/codegen.c b/src/vm/jit/i386/codegen.c index 7511303b0..921dc7bd5 100644 --- a/src/vm/jit/i386/codegen.c +++ b/src/vm/jit/i386/codegen.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: codegen.c 8297 2007-08-12 00:02:48Z michi $ + $Id: codegen.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -1907,7 +1907,7 @@ bool codegen_emit(jitdata *jd) s1 = emit_load_s1(jd, iptr, REG_ITMP1); d = codegen_reg_of_dst(jd, iptr, REG_ITMP1); /* implicit null-pointer check */ - M_ILD(d, s1, OFFSET(java_arrayheader, size)); + M_ILD(d, s1, OFFSET(java_array_t, size)); emit_store_dst(jd, iptr, d); break; @@ -1918,7 +1918,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_ITMP1); /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); - emit_movsbl_memindex_reg(cd, OFFSET(java_bytearray, data[0]), + emit_movsbl_memindex_reg(cd, OFFSET(java_bytearray_t, data[0]), s1, s2, 0, d); emit_store_dst(jd, iptr, d); break; @@ -1930,7 +1930,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_ITMP1); /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); - emit_movzwl_memindex_reg(cd, OFFSET(java_chararray, data[0]), + emit_movzwl_memindex_reg(cd, OFFSET(java_chararray_t, data[0]), s1, s2, 1, d); emit_store_dst(jd, iptr, d); break; @@ -1942,7 +1942,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_ITMP1); /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); - emit_movswl_memindex_reg(cd, OFFSET(java_shortarray, data[0]), + emit_movswl_memindex_reg(cd, OFFSET(java_shortarray_t, data[0]), s1, s2, 1, d); emit_store_dst(jd, iptr, d); break; @@ -1954,7 +1954,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_ITMP1); /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); - emit_mov_memindex_reg(cd, OFFSET(java_intarray, data[0]), + emit_mov_memindex_reg(cd, OFFSET(java_intarray_t, data[0]), s1, s2, 2, d); emit_store_dst(jd, iptr, d); break; @@ -1970,10 +1970,10 @@ bool codegen_emit(jitdata *jd) var = VAROP(iptr->dst); assert(var->flags & INMEMORY); - emit_mov_memindex_reg(cd, OFFSET(java_longarray, data[0]), + emit_mov_memindex_reg(cd, OFFSET(java_longarray_t, data[0]), s1, s2, 3, REG_ITMP3); emit_mov_reg_membase(cd, REG_ITMP3, REG_SP, var->vv.regoff); - emit_mov_memindex_reg(cd, OFFSET(java_longarray, data[0]) + 4, + emit_mov_memindex_reg(cd, OFFSET(java_longarray_t, data[0]) + 4, s1, s2, 3, REG_ITMP3); emit_mov_reg_membase(cd, REG_ITMP3, REG_SP, var->vv.regoff + 4); break; @@ -1985,7 +1985,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_FTMP1); /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); - emit_flds_memindex(cd, OFFSET(java_floatarray, data[0]), s1, s2, 2); + emit_flds_memindex(cd, OFFSET(java_floatarray_t, data[0]), s1, s2, 2); emit_store_dst(jd, iptr, d); break; @@ -1996,7 +1996,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_FTMP3); /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); - emit_fldl_memindex(cd, OFFSET(java_doublearray, data[0]), s1, s2,3); + emit_fldl_memindex(cd, OFFSET(java_doublearray_t, data[0]), s1, s2,3); emit_store_dst(jd, iptr, d); break; @@ -2007,7 +2007,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_ITMP1); /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); - emit_mov_memindex_reg(cd, OFFSET(java_objectarray, data[0]), + emit_mov_memindex_reg(cd, OFFSET(java_objectarray_t, data[0]), s1, s2, 2, d); emit_store_dst(jd, iptr, d); break; @@ -2025,7 +2025,7 @@ bool codegen_emit(jitdata *jd) M_INTMOVE(s3, REG_ITMP3); s3 = REG_ITMP3; } - emit_movb_reg_memindex(cd, s3, OFFSET(java_bytearray, data[0]), + emit_movb_reg_memindex(cd, s3, OFFSET(java_bytearray_t, data[0]), s1, s2, 0); break; @@ -2036,7 +2036,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); - emit_movw_reg_memindex(cd, s3, OFFSET(java_chararray, data[0]), + emit_movw_reg_memindex(cd, s3, OFFSET(java_chararray_t, data[0]), s1, s2, 1); break; @@ -2047,7 +2047,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); - emit_movw_reg_memindex(cd, s3, OFFSET(java_shortarray, data[0]), + emit_movw_reg_memindex(cd, s3, OFFSET(java_shortarray_t, data[0]), s1, s2, 1); break; @@ -2058,7 +2058,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); - emit_mov_reg_memindex(cd, s3, OFFSET(java_intarray, data[0]), + emit_mov_reg_memindex(cd, s3, OFFSET(java_intarray_t, data[0]), s1, s2, 2); break; @@ -2073,11 +2073,11 @@ bool codegen_emit(jitdata *jd) assert(var->flags & INMEMORY); emit_mov_membase_reg(cd, REG_SP, var->vv.regoff, REG_ITMP3); - emit_mov_reg_memindex(cd, REG_ITMP3, OFFSET(java_longarray, data[0]) + emit_mov_reg_memindex(cd, REG_ITMP3, OFFSET(java_longarray_t, data[0]) , s1, s2, 3); emit_mov_membase_reg(cd, REG_SP, var->vv.regoff + 4, REG_ITMP3); emit_mov_reg_memindex(cd, REG_ITMP3, - OFFSET(java_longarray, data[0]) + 4, s1, s2, 3); + OFFSET(java_longarray_t, data[0]) + 4, s1, s2, 3); break; case ICMD_FASTORE: /* ..., arrayref, index, value ==> ... */ @@ -2087,7 +2087,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_FTMP1); - emit_fstps_memindex(cd, OFFSET(java_floatarray, data[0]), s1, s2,2); + emit_fstps_memindex(cd, OFFSET(java_floatarray_t, data[0]), s1, s2,2); break; case ICMD_DASTORE: /* ..., arrayref, index, value ==> ... */ @@ -2097,7 +2097,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_FTMP1); - emit_fstpl_memindex(cd, OFFSET(java_doublearray, data[0]), + emit_fstpl_memindex(cd, OFFSET(java_doublearray_t, data[0]), s1, s2, 3); break; @@ -2118,7 +2118,7 @@ bool codegen_emit(jitdata *jd) s1 = emit_load_s1(jd, iptr, REG_ITMP1); s2 = emit_load_s2(jd, iptr, REG_ITMP2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); - emit_mov_reg_memindex(cd, s3, OFFSET(java_objectarray, data[0]), + emit_mov_reg_memindex(cd, s3, OFFSET(java_objectarray_t, data[0]), s1, s2, 2); break; @@ -2129,7 +2129,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); emit_movb_imm_memindex(cd, iptr->sx.s23.s3.constval, - OFFSET(java_bytearray, data[0]), s1, s2, 0); + OFFSET(java_bytearray_t, data[0]), s1, s2, 0); break; case ICMD_CASTORECONST: /* ..., arrayref, index ==> ... */ @@ -2139,7 +2139,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); emit_movw_imm_memindex(cd, iptr->sx.s23.s3.constval, - OFFSET(java_chararray, data[0]), s1, s2, 1); + OFFSET(java_chararray_t, data[0]), s1, s2, 1); break; case ICMD_SASTORECONST: /* ..., arrayref, index ==> ... */ @@ -2149,7 +2149,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); emit_movw_imm_memindex(cd, iptr->sx.s23.s3.constval, - OFFSET(java_shortarray, data[0]), s1, s2, 1); + OFFSET(java_shortarray_t, data[0]), s1, s2, 1); break; case ICMD_IASTORECONST: /* ..., arrayref, index ==> ... */ @@ -2159,7 +2159,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); emit_mov_imm_memindex(cd, iptr->sx.s23.s3.constval, - OFFSET(java_intarray, data[0]), s1, s2, 2); + OFFSET(java_intarray_t, data[0]), s1, s2, 2); break; case ICMD_LASTORECONST: /* ..., arrayref, index ==> ... */ @@ -2170,10 +2170,10 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); emit_mov_imm_memindex(cd, (u4) (iptr->sx.s23.s3.constval & 0x00000000ffffffff), - OFFSET(java_longarray, data[0]), s1, s2, 3); + OFFSET(java_longarray_t, data[0]), s1, s2, 3); emit_mov_imm_memindex(cd, ((s4)iptr->sx.s23.s3.constval) >> 31, - OFFSET(java_longarray, data[0]) + 4, s1, s2, 3); + OFFSET(java_longarray_t, data[0]) + 4, s1, s2, 3); break; case ICMD_AASTORECONST: /* ..., arrayref, index ==> ... */ @@ -2183,7 +2183,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); emit_mov_imm_memindex(cd, 0, - OFFSET(java_objectarray, data[0]), s1, s2, 2); + OFFSET(java_objectarray_t, data[0]), s1, s2, 2); break; diff --git a/src/vm/jit/i386/emit.c b/src/vm/jit/i386/emit.c index 9460875e4..b74a2959e 100644 --- a/src/vm/jit/i386/emit.c +++ b/src/vm/jit/i386/emit.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: emit.c 8267 2007-08-07 11:07:48Z twisti $ + $Id: emit.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -425,7 +425,7 @@ void emit_arithmetic_check(codegendata *cd, instruction *iptr, s4 reg) void emit_arrayindexoutofbounds_check(codegendata *cd, instruction *iptr, s4 s1, s4 s2) { if (INSTRUCTION_MUST_CHECK(iptr)) { - M_ILD(REG_ITMP3, s1, OFFSET(java_arrayheader, size)); + M_ILD(REG_ITMP3, s1, OFFSET(java_array_t, size)); M_CMP(REG_ITMP3, s2); M_BB(6); M_ALD_MEM(s2, EXCEPTION_HARDWARE_ARRAYINDEXOUTOFBOUNDS); diff --git a/src/vm/jit/m68k/codegen.c b/src/vm/jit/m68k/codegen.c index ffaf602e4..3b8c51856 100644 --- a/src/vm/jit/m68k/codegen.c +++ b/src/vm/jit/m68k/codegen.c @@ -1338,7 +1338,7 @@ bool codegen_emit(jitdata *jd) s1 = emit_load_s1(jd, iptr, REG_ATMP1); d = codegen_reg_of_dst(jd, iptr, REG_ITMP2); /* implicit null-pointer check */ - M_ILD(d, s1, OFFSET(java_arrayheader, size)); + M_ILD(d, s1, OFFSET(java_array_t, size)); emit_store_dst(jd, iptr, d); break; @@ -1349,7 +1349,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_ITMP2); emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_INTMOVE(s2, REG_ITMP2); - M_IADD_IMM(OFFSET(java_bytearray, data[0]), REG_ITMP2); + M_IADD_IMM(OFFSET(java_bytearray_t, data[0]), REG_ITMP2); M_ADRMOVE(s1, REG_ATMP1); M_AADDINT(REG_ITMP2, REG_ATMP1); /* implicit null-pointer check */ @@ -1366,7 +1366,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_INTMOVE(s2, REG_ITMP2); M_ISSL_IMM(1, REG_ITMP2); - M_IADD_IMM(OFFSET(java_chararray, data[0]), REG_ITMP2); + M_IADD_IMM(OFFSET(java_chararray_t, data[0]), REG_ITMP2); M_ADRMOVE(s1, REG_ATMP1); M_AADDINT(REG_ITMP2, REG_ATMP1); /* implicit null-pointer check */ @@ -1383,7 +1383,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_INTMOVE(s2, REG_ITMP2); M_ISSL_IMM(1, REG_ITMP2); - M_IADD_IMM(OFFSET(java_shortarray, data[0]), REG_ITMP2); + M_IADD_IMM(OFFSET(java_shortarray_t, data[0]), REG_ITMP2); M_ADRMOVE(s1, REG_ATMP1); M_AADDINT(REG_ITMP2, REG_ATMP1); @@ -1401,7 +1401,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_INTMOVE(s2, REG_ITMP2); M_ISSL_IMM(2, REG_ITMP2); - M_IADD_IMM(OFFSET(java_intarray, data[0]), REG_ITMP2); + M_IADD_IMM(OFFSET(java_intarray_t, data[0]), REG_ITMP2); M_ADRMOVE(s1, REG_ATMP1); M_AADDINT(REG_ITMP2, REG_ATMP1); /* implicit null-pointer check */ @@ -1417,7 +1417,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_INTMOVE(s2, REG_ITMP1); M_ISSL_IMM(3, REG_ITMP1); - M_IADD_IMM(OFFSET(java_longarray, data[0]), REG_ITMP1); + M_IADD_IMM(OFFSET(java_longarray_t, data[0]), REG_ITMP1); M_ADRMOVE(s1, REG_ATMP1); M_AADDINT(REG_ITMP1, REG_ATMP1); /* implicit null-pointer check */ @@ -1431,7 +1431,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_INTMOVE(s2, REG_ITMP2); M_ISSL_IMM(2, REG_ITMP2); - M_IADD_IMM(OFFSET(java_floatarray, data[0]), REG_ITMP2); + M_IADD_IMM(OFFSET(java_floatarray_t, data[0]), REG_ITMP2); M_ADRMOVE(s1, REG_ATMP1); M_AADDINT(REG_ITMP2, REG_ATMP1); /* implicit null-pointer check */ @@ -1451,7 +1451,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_INTMOVE(s2, REG_ITMP2); M_ISSL_IMM(3, REG_ITMP2); - M_IADD_IMM(OFFSET(java_doublearray, data[0]), REG_ITMP2); + M_IADD_IMM(OFFSET(java_doublearray_t, data[0]), REG_ITMP2); M_ADRMOVE(s1, REG_ATMP1); M_AADDINT(REG_ITMP2, REG_ATMP1); /* implicit null-pointer check */ @@ -1472,7 +1472,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_INTMOVE(s2, REG_ITMP2); M_ISSL_IMM(2, REG_ITMP2); - M_IADD_IMM(OFFSET(java_objectarray, data[0]), REG_ITMP2); + M_IADD_IMM(OFFSET(java_objectarray_t, data[0]), REG_ITMP2); M_ADRMOVE(s1, REG_ATMP1); M_AADDINT(REG_ITMP2, REG_ATMP1); @@ -1488,7 +1488,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); M_INTMOVE(s2, REG_ITMP2); - M_IADD_IMM(OFFSET(java_bytearray, data[0]), REG_ITMP2); + M_IADD_IMM(OFFSET(java_bytearray_t, data[0]), REG_ITMP2); M_ADRMOVE(s1, REG_ATMP1); M_AADDINT(REG_ITMP2, REG_ATMP1); /* implicit null-pointer check */ @@ -1502,7 +1502,7 @@ bool codegen_emit(jitdata *jd) s3 = emit_load_s3(jd, iptr, REG_ITMP3); M_INTMOVE(s2, REG_ITMP2); M_ISSL_IMM(1, REG_ITMP2); - M_IADD_IMM(OFFSET(java_chararray, data[0]), REG_ITMP2); + M_IADD_IMM(OFFSET(java_chararray_t, data[0]), REG_ITMP2); M_ADRMOVE(s1, REG_ATMP1); M_AADDINT(REG_ITMP2, REG_ATMP1); /* implicit null-pointer check */ @@ -1516,7 +1516,7 @@ bool codegen_emit(jitdata *jd) s3 = emit_load_s3(jd, iptr, REG_ITMP3); M_INTMOVE(s2, REG_ITMP2); M_ISSL_IMM(1, REG_ITMP2); - M_IADD_IMM(OFFSET(java_shortarray, data[0]), REG_ITMP2); + M_IADD_IMM(OFFSET(java_shortarray_t, data[0]), REG_ITMP2); M_ADRMOVE(s1, REG_ATMP1); M_AADDINT(REG_ITMP2, REG_ATMP1); /* implicit null-pointer check */ @@ -1530,7 +1530,7 @@ bool codegen_emit(jitdata *jd) s3 = emit_load_s3(jd, iptr, REG_ITMP3); M_INTMOVE(s2, REG_ITMP2); M_ISSL_IMM(2, REG_ITMP2); - M_IADD_IMM(OFFSET(java_intarray, data[0]), REG_ITMP2); + M_IADD_IMM(OFFSET(java_intarray_t, data[0]), REG_ITMP2); M_ADRMOVE(s1, REG_ATMP1); M_AADDINT(REG_ITMP2, REG_ATMP1); /* implicit null-pointer check */ @@ -1544,7 +1544,7 @@ bool codegen_emit(jitdata *jd) M_INTMOVE(s2, REG_ITMP1); M_ISSL_IMM(3, REG_ITMP1); - M_IADD_IMM(OFFSET(java_longarray, data[0]), REG_ITMP1); + M_IADD_IMM(OFFSET(java_longarray_t, data[0]), REG_ITMP1); M_ADRMOVE(s1, REG_ATMP1); M_AADDINT(REG_ITMP1, REG_ATMP1); /* implicit null-pointer check */ @@ -1558,7 +1558,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_INTMOVE(s2, REG_ITMP2); M_ISSL_IMM(2, REG_ITMP2); - M_IADD_IMM(OFFSET(java_floatarray, data[0]), REG_ITMP2); + M_IADD_IMM(OFFSET(java_floatarray_t, data[0]), REG_ITMP2); M_ADRMOVE(s1, REG_ATMP1); M_AADDINT(REG_ITMP2, REG_ATMP1); /* implicit null-pointer check */ @@ -1577,7 +1577,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_INTMOVE(s2, REG_ITMP2); M_ISSL_IMM(3, REG_ITMP2); - M_IADD_IMM(OFFSET(java_doublearray, data[0]), REG_ITMP2); + M_IADD_IMM(OFFSET(java_doublearray_t, data[0]), REG_ITMP2); M_ADRMOVE(s1, REG_ATMP1); M_AADDINT(REG_ITMP2, REG_ATMP1); /* implicit null-pointer check */ @@ -1611,7 +1611,7 @@ bool codegen_emit(jitdata *jd) s3 = emit_load_s3(jd, iptr, REG_ATMP2); M_INTMOVE(s2, REG_ITMP1); M_ISSL_IMM(2, REG_ITMP1); - M_IADD_IMM(OFFSET(java_objectarray, data[0]), REG_ITMP1); + M_IADD_IMM(OFFSET(java_objectarray_t, data[0]), REG_ITMP1); M_ADRMOVE(s1, REG_ATMP1); M_AADDINT(REG_ITMP1, REG_ATMP1); /* implicit null-pointer check */ diff --git a/src/vm/jit/m68k/emit.c b/src/vm/jit/m68k/emit.c index 4a1576933..1f93423d3 100644 --- a/src/vm/jit/m68k/emit.c +++ b/src/vm/jit/m68k/emit.c @@ -669,7 +669,7 @@ void emit_classcast_check(codegendata *cd, instruction *iptr, s4 condition, s4 r void emit_arrayindexoutofbounds_check(codegendata *cd, instruction *iptr, s4 s1, s4 s2) { if (INSTRUCTION_MUST_CHECK(iptr)) { - M_ILD(REG_ITMP3, s1, OFFSET(java_arrayheader, size)); + M_ILD(REG_ITMP3, s1, OFFSET(java_array_t, size)); M_ICMP(s2, REG_ITMP3); M_BHI(4); M_TRAP_SETREGISTER(s2); diff --git a/src/vm/jit/mips/codegen.c b/src/vm/jit/mips/codegen.c index c2e253122..d58e6b048 100644 --- a/src/vm/jit/mips/codegen.c +++ b/src/vm/jit/mips/codegen.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: codegen.c 8297 2007-08-12 00:02:48Z michi $ + $Id: codegen.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -1708,7 +1708,7 @@ bool codegen_emit(jitdata *jd) s1 = emit_load_s1(jd, iptr, REG_ITMP1); d = codegen_reg_of_dst(jd, iptr, REG_ITMP2); /* implicit null-pointer check */ - M_ILD(d, s1, OFFSET(java_arrayheader, size)); + M_ILD(d, s1, OFFSET(java_array_t, size)); emit_store_dst(jd, iptr, d); break; @@ -1720,7 +1720,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_AADD(s2, s1, REG_ITMP3); /* implicit null-pointer check */ - M_BLDS(d, REG_ITMP3, OFFSET(java_bytearray, data[0])); + M_BLDS(d, REG_ITMP3, OFFSET(java_bytearray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1733,7 +1733,7 @@ bool codegen_emit(jitdata *jd) M_AADD(s2, s1, REG_ITMP3); M_AADD(s2, REG_ITMP3, REG_ITMP3); /* implicit null-pointer check */ - M_SLDU(d, REG_ITMP3, OFFSET(java_chararray, data[0])); + M_SLDU(d, REG_ITMP3, OFFSET(java_chararray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1746,7 +1746,7 @@ bool codegen_emit(jitdata *jd) M_AADD(s2, s1, REG_ITMP3); M_AADD(s2, REG_ITMP3, REG_ITMP3); /* implicit null-pointer check */ - M_SLDS(d, REG_ITMP3, OFFSET(java_shortarray, data[0])); + M_SLDS(d, REG_ITMP3, OFFSET(java_shortarray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1759,7 +1759,7 @@ bool codegen_emit(jitdata *jd) M_ASLL_IMM(s2, 2, REG_ITMP3); M_AADD(REG_ITMP3, s1, REG_ITMP3); /* implicit null-pointer check */ - M_ILD_INTERN(d, REG_ITMP3, OFFSET(java_intarray, data[0])); + M_ILD_INTERN(d, REG_ITMP3, OFFSET(java_intarray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1776,7 +1776,7 @@ bool codegen_emit(jitdata *jd) M_ASLL_IMM(s2, 3, REG_ITMP3); M_AADD(REG_ITMP3, s1, REG_ITMP3); /* implicit null-pointer check */ - M_LLD_INTERN(d, REG_ITMP3, OFFSET(java_longarray, data[0])); + M_LLD_INTERN(d, REG_ITMP3, OFFSET(java_longarray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1789,7 +1789,7 @@ bool codegen_emit(jitdata *jd) M_ASLL_IMM(s2, 2, REG_ITMP3); M_AADD(REG_ITMP3, s1, REG_ITMP3); /* implicit null-pointer check */ - M_FLD_INTERN(d, REG_ITMP3, OFFSET(java_floatarray, data[0])); + M_FLD_INTERN(d, REG_ITMP3, OFFSET(java_floatarray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1802,7 +1802,7 @@ bool codegen_emit(jitdata *jd) M_ASLL_IMM(s2, 3, REG_ITMP3); M_AADD(REG_ITMP3, s1, REG_ITMP3); /* implicit null-pointer check */ - M_DLD_INTERN(d, REG_ITMP3, OFFSET(java_doublearray, data[0])); + M_DLD_INTERN(d, REG_ITMP3, OFFSET(java_doublearray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1815,7 +1815,7 @@ bool codegen_emit(jitdata *jd) M_ASLL_IMM(s2, POINTERSHIFT, REG_ITMP3); M_AADD(REG_ITMP3, s1, REG_ITMP3); /* implicit null-pointer check */ - M_ALD_INTERN(d, REG_ITMP3, OFFSET(java_objectarray, data[0])); + M_ALD_INTERN(d, REG_ITMP3, OFFSET(java_objectarray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1828,7 +1828,7 @@ bool codegen_emit(jitdata *jd) M_AADD(s2, s1, REG_ITMP1); s3 = emit_load_s3(jd, iptr, REG_ITMP3); /* implicit null-pointer check */ - M_BST(s3, REG_ITMP1, OFFSET(java_bytearray, data[0])); + M_BST(s3, REG_ITMP1, OFFSET(java_bytearray_t, data[0])); break; case ICMD_CASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1841,7 +1841,7 @@ bool codegen_emit(jitdata *jd) M_AADD(s2, REG_ITMP1, REG_ITMP1); s3 = emit_load_s3(jd, iptr, REG_ITMP3); /* implicit null-pointer check */ - M_SST(s3, REG_ITMP1, OFFSET(java_chararray, data[0])); + M_SST(s3, REG_ITMP1, OFFSET(java_chararray_t, data[0])); break; case ICMD_IASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1853,7 +1853,7 @@ bool codegen_emit(jitdata *jd) M_AADD(REG_ITMP2, s1, REG_ITMP1); s3 = emit_load_s3(jd, iptr, REG_ITMP3); /* implicit null-pointer check */ - M_IST_INTERN(s3, REG_ITMP1, OFFSET(java_intarray, data[0])); + M_IST_INTERN(s3, REG_ITMP1, OFFSET(java_intarray_t, data[0])); break; case ICMD_LASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1869,7 +1869,7 @@ bool codegen_emit(jitdata *jd) s3 = emit_load_s3(jd, iptr, REG_ITMP23_PACKED); #endif /* implicit null-pointer check */ - M_LST_INTERN(s3, REG_ITMP1, OFFSET(java_longarray, data[0])); + M_LST_INTERN(s3, REG_ITMP1, OFFSET(java_longarray_t, data[0])); break; case ICMD_FASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1881,7 +1881,7 @@ bool codegen_emit(jitdata *jd) M_AADD(REG_ITMP2, s1, REG_ITMP1); s3 = emit_load_s3(jd, iptr, REG_FTMP1); /* implicit null-pointer check */ - M_FST_INTERN(s3, REG_ITMP1, OFFSET(java_floatarray, data[0])); + M_FST_INTERN(s3, REG_ITMP1, OFFSET(java_floatarray_t, data[0])); break; case ICMD_DASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1893,7 +1893,7 @@ bool codegen_emit(jitdata *jd) M_AADD(REG_ITMP2, s1, REG_ITMP1); s3 = emit_load_s3(jd, iptr, REG_FTMP1); /* implicit null-pointer check */ - M_DST_INTERN(s3, REG_ITMP1, OFFSET(java_doublearray, data[0])); + M_DST_INTERN(s3, REG_ITMP1, OFFSET(java_doublearray_t, data[0])); break; @@ -1918,7 +1918,7 @@ bool codegen_emit(jitdata *jd) M_AADD(REG_ITMP2, s1, REG_ITMP1); s3 = emit_load_s3(jd, iptr, REG_ITMP3); /* implicit null-pointer check */ - M_AST_INTERN(s3, REG_ITMP1, OFFSET(java_objectarray, data[0])); + M_AST_INTERN(s3, REG_ITMP1, OFFSET(java_objectarray_t, data[0])); break; @@ -1929,7 +1929,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_AADD(s2, s1, REG_ITMP1); /* implicit null-pointer check */ - M_BST(REG_ZERO, REG_ITMP1, OFFSET(java_bytearray, data[0])); + M_BST(REG_ZERO, REG_ITMP1, OFFSET(java_bytearray_t, data[0])); break; case ICMD_CASTORECONST: /* ..., arrayref, index ==> ... */ @@ -1941,7 +1941,7 @@ bool codegen_emit(jitdata *jd) M_AADD(s2, s1, REG_ITMP1); M_AADD(s2, REG_ITMP1, REG_ITMP1); /* implicit null-pointer check */ - M_SST(REG_ZERO, REG_ITMP1, OFFSET(java_chararray, data[0])); + M_SST(REG_ZERO, REG_ITMP1, OFFSET(java_chararray_t, data[0])); break; case ICMD_IASTORECONST: /* ..., arrayref, index ==> ... */ @@ -1952,7 +1952,7 @@ bool codegen_emit(jitdata *jd) M_ASLL_IMM(s2, 2, REG_ITMP2); M_AADD(REG_ITMP2, s1, REG_ITMP1); /* implicit null-pointer check */ - M_IST_INTERN(REG_ZERO, REG_ITMP1, OFFSET(java_intarray, data[0])); + M_IST_INTERN(REG_ZERO, REG_ITMP1, OFFSET(java_intarray_t, data[0])); break; case ICMD_LASTORECONST: /* ..., arrayref, index ==> ... */ @@ -1964,9 +1964,9 @@ bool codegen_emit(jitdata *jd) M_AADD(REG_ITMP2, s1, REG_ITMP1); /* implicit null-pointer check */ #if SIZEOF_VOID_P == 8 - M_LST_INTERN(REG_ZERO, REG_ITMP1, OFFSET(java_longarray, data[0])); + M_LST_INTERN(REG_ZERO, REG_ITMP1, OFFSET(java_longarray_t, data[0])); #else - M_LST_INTERN(PACK_REGS(REG_ZERO, REG_ZERO), REG_ITMP1, OFFSET(java_longarray, data[0])); + M_LST_INTERN(PACK_REGS(REG_ZERO, REG_ZERO), REG_ITMP1, OFFSET(java_longarray_t, data[0])); #endif break; @@ -1978,7 +1978,7 @@ bool codegen_emit(jitdata *jd) M_ASLL_IMM(s2, POINTERSHIFT, REG_ITMP2); M_AADD(REG_ITMP2, s1, REG_ITMP1); /* implicit null-pointer check */ - M_AST_INTERN(REG_ZERO, REG_ITMP1, OFFSET(java_objectarray, data[0])); + M_AST_INTERN(REG_ZERO, REG_ITMP1, OFFSET(java_objectarray_t, data[0])); break; diff --git a/src/vm/jit/mips/emit.c b/src/vm/jit/mips/emit.c index e1c3b3d80..b41886371 100644 --- a/src/vm/jit/mips/emit.c +++ b/src/vm/jit/mips/emit.c @@ -512,7 +512,7 @@ void emit_arithmetic_check(codegendata *cd, instruction *iptr, s4 reg) void emit_arrayindexoutofbounds_check(codegendata *cd, instruction *iptr, s4 s1, s4 s2) { if (INSTRUCTION_MUST_CHECK(iptr)) { - M_ILD_INTERN(REG_ITMP3, s1, OFFSET(java_arrayheader, size)); + M_ILD_INTERN(REG_ITMP3, s1, OFFSET(java_array_t, size)); M_CMPULT(s2, REG_ITMP3, REG_ITMP3); M_BNEZ(REG_ITMP3, 2); M_NOP; diff --git a/src/vm/jit/powerpc/codegen.c b/src/vm/jit/powerpc/codegen.c index 2c5f69bb4..4ea54fd84 100644 --- a/src/vm/jit/powerpc/codegen.c +++ b/src/vm/jit/powerpc/codegen.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: codegen.c 8297 2007-08-12 00:02:48Z michi $ + $Id: codegen.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -1386,7 +1386,7 @@ bool codegen_emit(jitdata *jd) s1 = emit_load_s1(jd, iptr, REG_ITMP1); d = codegen_reg_of_dst(jd, iptr, REG_ITMP2); /* implicit null-pointer check */ - M_ILD(d, s1, OFFSET(java_arrayheader, size)); + M_ILD(d, s1, OFFSET(java_array_t, size)); emit_store_dst(jd, iptr, d); break; @@ -1396,7 +1396,7 @@ bool codegen_emit(jitdata *jd) s2 = emit_load_s2(jd, iptr, REG_ITMP2); d = codegen_reg_of_dst(jd, iptr, REG_ITMP2); emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); - M_IADD_IMM(s2, OFFSET(java_bytearray, data[0]), REG_ITMP2); + M_IADD_IMM(s2, OFFSET(java_bytearray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_LBZX(d, s1, REG_ITMP2); M_BSEXT(d, d); @@ -1410,7 +1410,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_ITMP2); emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_SLL_IMM(s2, 1, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_chararray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_chararray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_LHZX(d, s1, REG_ITMP2); emit_store_dst(jd, iptr, d); @@ -1423,7 +1423,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_ITMP2); emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_SLL_IMM(s2, 1, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_shortarray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_shortarray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_LHAX(d, s1, REG_ITMP2); emit_store_dst(jd, iptr, d); @@ -1436,7 +1436,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_ITMP2); emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_SLL_IMM(s2, 2, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_intarray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_intarray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_LWZX(d, s1, REG_ITMP2); emit_store_dst(jd, iptr, d); @@ -1451,7 +1451,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_SLL_IMM(s2, 3, REG_ITMP2); M_IADD(s1, REG_ITMP2, REG_ITMP2); - M_LLD_INTERN(d, REG_ITMP2, OFFSET(java_longarray, data[0])); + M_LLD_INTERN(d, REG_ITMP2, OFFSET(java_longarray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1462,7 +1462,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_FTMP1); emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_SLL_IMM(s2, 2, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_floatarray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_floatarray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_LFSX(d, s1, REG_ITMP2); emit_store_dst(jd, iptr, d); @@ -1475,7 +1475,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_FTMP1); emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_SLL_IMM(s2, 3, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_doublearray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_doublearray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_LFDX(d, s1, REG_ITMP2); emit_store_dst(jd, iptr, d); @@ -1488,7 +1488,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_ITMP2); emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_SLL_IMM(s2, 2, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_objectarray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_objectarray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_LWZX(d, s1, REG_ITMP2); emit_store_dst(jd, iptr, d); @@ -1501,7 +1501,7 @@ bool codegen_emit(jitdata *jd) s2 = emit_load_s2(jd, iptr, REG_ITMP2); emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); - M_IADD_IMM(s2, OFFSET(java_bytearray, data[0]), REG_ITMP2); + M_IADD_IMM(s2, OFFSET(java_bytearray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_STBX(s3, s1, REG_ITMP2); break; @@ -1513,7 +1513,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); M_SLL_IMM(s2, 1, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_chararray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_chararray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_STHX(s3, s1, REG_ITMP2); break; @@ -1525,7 +1525,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); M_SLL_IMM(s2, 1, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_shortarray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_shortarray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_STHX(s3, s1, REG_ITMP2); break; @@ -1537,7 +1537,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); M_SLL_IMM(s2, 2, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_intarray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_intarray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_STWX(s3, s1, REG_ITMP2); break; @@ -1549,7 +1549,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3_high(jd, iptr, REG_ITMP3); M_SLL_IMM(s2, 3, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_longarray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_longarray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_STWX(s3, s1, REG_ITMP2); M_IADD_IMM(REG_ITMP2, 4, REG_ITMP2); @@ -1564,7 +1564,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_FTMP3); M_SLL_IMM(s2, 2, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_floatarray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_floatarray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_STFSX(s3, s1, REG_ITMP2); break; @@ -1576,7 +1576,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_FTMP3); M_SLL_IMM(s2, 3, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_doublearray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_doublearray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_STFDX(s3, s1, REG_ITMP2); break; @@ -1603,7 +1603,7 @@ bool codegen_emit(jitdata *jd) s2 = emit_load_s2(jd, iptr, REG_ITMP2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); M_SLL_IMM(s2, 2, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_objectarray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_objectarray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_STWX(s3, s1, REG_ITMP2); break; diff --git a/src/vm/jit/powerpc/emit.c b/src/vm/jit/powerpc/emit.c index d74b1dc99..85973a2f6 100644 --- a/src/vm/jit/powerpc/emit.c +++ b/src/vm/jit/powerpc/emit.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: emit.c 8270 2007-08-08 13:57:12Z twisti $ + $Id: emit.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -437,7 +437,7 @@ void emit_arithmetic_check(codegendata *cd, instruction *iptr, s4 reg) void emit_arrayindexoutofbounds_check(codegendata *cd, instruction *iptr, s4 s1, s4 s2) { if (INSTRUCTION_MUST_CHECK(iptr)) { - M_ILD(REG_ITMP3, s1, OFFSET(java_arrayheader, size)); + M_ILD(REG_ITMP3, s1, OFFSET(java_array_t, size)); M_TRAPGEU(s2, REG_ITMP3); } } diff --git a/src/vm/jit/powerpc64/codegen.c b/src/vm/jit/powerpc64/codegen.c index a723753fb..96cebb8d0 100644 --- a/src/vm/jit/powerpc64/codegen.c +++ b/src/vm/jit/powerpc64/codegen.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: codegen.c 8297 2007-08-12 00:02:48Z michi $ + $Id: codegen.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -1343,7 +1343,7 @@ bool codegen_emit(jitdata *jd) s1 = emit_load_s1(jd, iptr, REG_ITMP1); d = codegen_reg_of_dst(jd, iptr, REG_ITMP2); emit_nullpointer_check(cd, iptr, s1); - M_ILD(d, s1, OFFSET(java_arrayheader, size)); + M_ILD(d, s1, OFFSET(java_array_t, size)); emit_store_dst(jd, iptr, d); break; @@ -1353,7 +1353,7 @@ bool codegen_emit(jitdata *jd) s2 = emit_load_s2(jd, iptr, REG_ITMP2); d = codegen_reg_of_dst(jd, iptr, REG_ITMP2); emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); - M_IADD_IMM(s2, OFFSET(java_bytearray, data[0]), REG_ITMP2); + M_IADD_IMM(s2, OFFSET(java_bytearray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_LBZX(d, s1, REG_ITMP2); M_BSEXT(d, d); @@ -1367,7 +1367,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_ITMP2); emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_SLL_IMM(s2, 1, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_chararray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_chararray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_LHZX(d, s1, REG_ITMP2); emit_store_dst(jd, iptr, d); @@ -1380,7 +1380,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_ITMP2); emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_SLL_IMM(s2, 1, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_shortarray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_shortarray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_LHAX(d, s1, REG_ITMP2); emit_store_dst(jd, iptr, d); @@ -1393,7 +1393,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_ITMP2); emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_SLL_IMM(s2, 2, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_intarray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_intarray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_LWAX(d, s1, REG_ITMP2); emit_store_dst(jd, iptr, d); @@ -1408,7 +1408,7 @@ bool codegen_emit(jitdata *jd) M_SLL_IMM(s2, 3, REG_ITMP2); M_IADD(s1, REG_ITMP2, REG_ITMP2); /* implicit null-pointer check */ - M_LLD_INTERN(d, REG_ITMP2, OFFSET(java_longarray, data[0])); + M_LLD_INTERN(d, REG_ITMP2, OFFSET(java_longarray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1419,7 +1419,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_FTMP1); emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_SLL_IMM(s2, 2, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_floatarray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_floatarray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_LFSX(d, s1, REG_ITMP2); emit_store_dst(jd, iptr, d); @@ -1432,7 +1432,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_FTMP1); emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_SLL_IMM(s2, 3, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_doublearray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_doublearray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_LFDX(d, s1, REG_ITMP2); emit_store_dst(jd, iptr, d); @@ -1445,7 +1445,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_ITMP2); emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_SLL_IMM(s2, 3, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_objectarray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_objectarray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_ALDX(d, s1, REG_ITMP2); emit_store_dst(jd, iptr, d); @@ -1458,7 +1458,7 @@ bool codegen_emit(jitdata *jd) s2 = emit_load_s2(jd, iptr, REG_ITMP2); emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); - M_IADD_IMM(s2, OFFSET(java_bytearray, data[0]), REG_ITMP2); + M_IADD_IMM(s2, OFFSET(java_bytearray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_STBX(s3, s1, REG_ITMP2); break; @@ -1470,7 +1470,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); M_SLL_IMM(s2, 1, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_chararray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_chararray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_STHX(s3, s1, REG_ITMP2); break; @@ -1482,7 +1482,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); M_SLL_IMM(s2, 1, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_shortarray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_shortarray_t, data[0]), REG_ITMP2); M_STHX(s3, s1, REG_ITMP2); break; @@ -1493,7 +1493,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); M_SLL_IMM(s2, 2, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_intarray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_intarray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_STWX(s3, s1, REG_ITMP2); break; @@ -1505,7 +1505,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); M_SLL_IMM(s2, 3, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_longarray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_longarray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_LSTX(s3, s1, REG_ITMP2); break; @@ -1517,7 +1517,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_FTMP3); M_SLL_IMM(s2, 2, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_floatarray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_floatarray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_STFSX(s3, s1, REG_ITMP2); break; @@ -1529,7 +1529,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_FTMP3); M_SLL_IMM(s2, 3, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_doublearray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_doublearray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_STFDX(s3, s1, REG_ITMP2); break; @@ -1556,7 +1556,7 @@ bool codegen_emit(jitdata *jd) s2 = emit_load_s2(jd, iptr, REG_ITMP2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); M_SLL_IMM(s2, 3, REG_ITMP2); - M_IADD_IMM(REG_ITMP2, OFFSET(java_objectarray, data[0]), REG_ITMP2); + M_IADD_IMM(REG_ITMP2, OFFSET(java_objectarray_t, data[0]), REG_ITMP2); /* implicit null-pointer check */ M_ASTX(s3, s1, REG_ITMP2); break; diff --git a/src/vm/jit/powerpc64/emit.c b/src/vm/jit/powerpc64/emit.c index b18d5c521..6c0bee647 100644 --- a/src/vm/jit/powerpc64/emit.c +++ b/src/vm/jit/powerpc64/emit.c @@ -527,12 +527,12 @@ void emit_arrayindexoutofbounds_check(codegendata *cd, instruction *iptr, s4 s1, if (checkbounds) { #define SOFTEX 0 #if SOFTEX - M_ILD(REG_ITMP3, s1, OFFSET(java_arrayheader, size)); + M_ILD(REG_ITMP3, s1, OFFSET(java_array_t, size)); M_CMPU(s2, REG_ITMP3); codegen_add_arrayindexoutofboundsexception_ref(cd, s2); BRANCH_NOPS; #else - M_ILD(REG_ITMP3, s1, OFFSET(java_arrayheader, size)); + M_ILD(REG_ITMP3, s1, OFFSET(java_array_t, size)); M_CMPU(s2, REG_ITMP3); M_BLT(1); /* ALD is 4 byte aligned, ILD 2, onyl LWZ is byte aligned */ diff --git a/src/vm/jit/s390/codegen.c b/src/vm/jit/s390/codegen.c index c2beb38af..943d374ab 100644 --- a/src/vm/jit/s390/codegen.c +++ b/src/vm/jit/s390/codegen.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: codegen.c 8297 2007-08-12 00:02:48Z michi $ + $Id: codegen.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -1713,7 +1713,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_ITMP3); /* TODO softnull */ /* implicit null-pointer check */ - M_ILD(d, s1, OFFSET(java_arrayheader, size)); + M_ILD(d, s1, OFFSET(java_array_t, size)); emit_store_dst(jd, iptr, d); break; @@ -1726,7 +1726,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); - N_IC(d, OFFSET(java_bytearray, data[0]), s2, s1); + N_IC(d, OFFSET(java_bytearray_t, data[0]), s2, s1); M_SLL_IMM(24, d); M_SRA_IMM(24, d); @@ -1746,7 +1746,7 @@ bool codegen_emit(jitdata *jd) M_INTMOVE(s2, REG_ITMP2); M_SLL_IMM(1, REG_ITMP2); - N_LH(d, OFFSET(java_chararray, data[0]), REG_ITMP2, s1); + N_LH(d, OFFSET(java_chararray_t, data[0]), REG_ITMP2, s1); /* N_LH does sign extends, undo ! */ @@ -1767,7 +1767,7 @@ bool codegen_emit(jitdata *jd) M_INTMOVE(s2, REG_ITMP2); M_SLL_IMM(1, REG_ITMP2); - N_LH(d, OFFSET(java_shortarray, data[0]), REG_ITMP2, s1); + N_LH(d, OFFSET(java_shortarray_t, data[0]), REG_ITMP2, s1); emit_store_dst(jd, iptr, d); break; @@ -1781,7 +1781,7 @@ bool codegen_emit(jitdata *jd) M_INTMOVE(s2, REG_ITMP2); M_SLL_IMM(2, REG_ITMP2); /* scale index by 4 */ - N_L(d, OFFSET(java_intarray, data[0]), REG_ITMP2, s1); + N_L(d, OFFSET(java_intarray_t, data[0]), REG_ITMP2, s1); emit_store_dst(jd, iptr, d); break; @@ -1805,8 +1805,8 @@ bool codegen_emit(jitdata *jd) s1 = REG_ITMP3; } - N_L(GET_HIGH_REG(d) /* evntl. itmp1 */, OFFSET(java_intarray, data[0]), REG_ITMP2, s1); - N_L(GET_LOW_REG(d) /* evntl. itmp2 */, OFFSET(java_intarray, data[0]) + 4, REG_ITMP2, s1); + N_L(GET_HIGH_REG(d) /* evntl. itmp1 */, OFFSET(java_intarray_t, data[0]), REG_ITMP2, s1); + N_L(GET_LOW_REG(d) /* evntl. itmp2 */, OFFSET(java_intarray_t, data[0]) + 4, REG_ITMP2, s1); emit_store_dst(jd, iptr, d); break; @@ -1823,7 +1823,7 @@ bool codegen_emit(jitdata *jd) M_INTMOVE(s2, REG_ITMP2); M_SLL_IMM(2, REG_ITMP2); /* scale index by 4 */ - N_LE(d, OFFSET(java_floatarray, data[0]), REG_ITMP2, s1); + N_LE(d, OFFSET(java_floatarray_t, data[0]), REG_ITMP2, s1); emit_store_dst(jd, iptr, d); break; @@ -1839,7 +1839,7 @@ bool codegen_emit(jitdata *jd) M_INTMOVE(s2, REG_ITMP2); M_SLL_IMM(3, REG_ITMP2); /* scale index by 8 */ - N_LD(d, OFFSET(java_floatarray, data[0]), REG_ITMP2, s1); + N_LD(d, OFFSET(java_floatarray_t, data[0]), REG_ITMP2, s1); emit_store_dst(jd, iptr, d); break; @@ -1854,7 +1854,7 @@ bool codegen_emit(jitdata *jd) M_INTMOVE(s2, REG_ITMP2); M_SLL_IMM(2, REG_ITMP2); /* scale index by 4 */ - N_L(d, OFFSET(java_objectarray, data[0]), REG_ITMP2, s1); + N_L(d, OFFSET(java_objectarray_t, data[0]), REG_ITMP2, s1); emit_store_dst(jd, iptr, d); break; @@ -1865,7 +1865,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); - N_STC(s3, OFFSET(java_bytearray, data[0]), s2, s1); + N_STC(s3, OFFSET(java_bytearray_t, data[0]), s2, s1); break; case ICMD_CASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1879,7 +1879,7 @@ bool codegen_emit(jitdata *jd) M_INTMOVE(s2, REG_ITMP2); M_SLL_IMM(1, REG_ITMP2); - N_STH(s3, OFFSET(java_chararray, data[0]), REG_ITMP2, s1); + N_STH(s3, OFFSET(java_chararray_t, data[0]), REG_ITMP2, s1); break; @@ -1893,7 +1893,7 @@ bool codegen_emit(jitdata *jd) M_INTMOVE(s2, REG_ITMP2); M_SLL_IMM(1, REG_ITMP2); - N_STH(s3, OFFSET(java_shortarray, data[0]), REG_ITMP2, s1); + N_STH(s3, OFFSET(java_shortarray_t, data[0]), REG_ITMP2, s1); break; case ICMD_IASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1908,7 +1908,7 @@ bool codegen_emit(jitdata *jd) M_INTMOVE(s2, REG_ITMP2); M_SLL_IMM(2, REG_ITMP2); - N_ST(s3, OFFSET(java_intarray, data[0]), REG_ITMP2, s1); + N_ST(s3, OFFSET(java_intarray_t, data[0]), REG_ITMP2, s1); break; case ICMD_LASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1922,9 +1922,9 @@ bool codegen_emit(jitdata *jd) M_SLL_IMM(3, REG_ITMP2); s3 = emit_load_s3_high(jd, iptr, REG_ITMP3); - N_ST(s3, OFFSET(java_intarray, data[0]), REG_ITMP2, s1); + N_ST(s3, OFFSET(java_intarray_t, data[0]), REG_ITMP2, s1); s3 = emit_load_s3_low(jd, iptr, REG_ITMP3); - N_ST(s3, OFFSET(java_intarray, data[0]) + 4, REG_ITMP2, s1); + N_ST(s3, OFFSET(java_intarray_t, data[0]) + 4, REG_ITMP2, s1); break; case ICMD_FASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1937,7 +1937,7 @@ bool codegen_emit(jitdata *jd) M_INTMOVE(s2, REG_ITMP2); M_SLL_IMM(2, REG_ITMP2); - N_STE(s3, OFFSET(java_floatarray, data[0]), REG_ITMP2, s1); + N_STE(s3, OFFSET(java_floatarray_t, data[0]), REG_ITMP2, s1); break; case ICMD_DASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1950,7 +1950,7 @@ bool codegen_emit(jitdata *jd) M_INTMOVE(s2, REG_ITMP2); M_SLL_IMM(3, REG_ITMP2); - N_STD(s3, OFFSET(java_doublearray, data[0]), REG_ITMP2, s1); + N_STD(s3, OFFSET(java_doublearray_t, data[0]), REG_ITMP2, s1); break; case ICMD_AASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1978,7 +1978,7 @@ bool codegen_emit(jitdata *jd) M_INTMOVE(s2, REG_ITMP2); M_SLL_IMM(2, REG_ITMP2); - N_ST(s3, OFFSET(java_objectarray, data[0]), REG_ITMP2, s1); + N_ST(s3, OFFSET(java_objectarray_t, data[0]), REG_ITMP2, s1); /* M_SAADDQ(s2, s1, REG_ITMP1); itmp1 := 4 * s2 + s1 diff --git a/src/vm/jit/s390/emit.c b/src/vm/jit/s390/emit.c index dd8c502ae..d1a70b9a8 100644 --- a/src/vm/jit/s390/emit.c +++ b/src/vm/jit/s390/emit.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: emit.c 8304 2007-08-14 19:57:20Z pm $ + $Id: emit.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -950,7 +950,7 @@ void emit_arrayindexoutofbounds_check(codegendata *cd, instruction *iptr, s4 s1, /* Size is s4, >= 0 * Do unsigned comparison to catch negative indexes. */ - N_CL(s2, OFFSET(java_arrayheader, size), RN, s1); + N_CL(s2, OFFSET(java_array_t, size), RN, s1); M_BLT(SZ_BRC + SZ_ILL); M_ILL2(s2, EXCEPTION_HARDWARE_ARRAYINDEXOUTOFBOUNDS); } diff --git a/src/vm/jit/sparc64/codegen.c b/src/vm/jit/sparc64/codegen.c index 6d096d6aa..b136e2b62 100644 --- a/src/vm/jit/sparc64/codegen.c +++ b/src/vm/jit/sparc64/codegen.c @@ -1364,7 +1364,7 @@ bool codegen_emit(jitdata *jd) s1 = emit_load_s1(jd, iptr, REG_ITMP1); d = codegen_reg_of_dst(jd, iptr, REG_ITMP2); emit_nullpointer_check(cd, iptr, s1); - M_ILD(d, s1, OFFSET(java_arrayheader, size)); + M_ILD(d, s1, OFFSET(java_array_t, size)); emit_store_dst(jd, iptr, d); break; @@ -1376,7 +1376,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_AADD(s2, s1, REG_ITMP3); - M_BLDS(d, REG_ITMP3, OFFSET(java_bytearray, data[0])); + M_BLDS(d, REG_ITMP3, OFFSET(java_bytearray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1389,7 +1389,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_AADD(s2, s1, REG_ITMP3); M_AADD(s2, REG_ITMP3, REG_ITMP3); - M_SLDU(d, REG_ITMP3, OFFSET(java_chararray, data[0])); + M_SLDU(d, REG_ITMP3, OFFSET(java_chararray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1402,7 +1402,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_AADD(s2, s1, REG_ITMP3); M_AADD(s2, REG_ITMP3, REG_ITMP3); - M_SLDS(d, REG_ITMP3, OFFSET(java_shortarray, data[0])); + M_SLDS(d, REG_ITMP3, OFFSET(java_shortarray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1415,7 +1415,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_ASLL_IMM(s2, 2, REG_ITMP3); M_AADD(REG_ITMP3, s1, REG_ITMP3); - M_ILD(d, REG_ITMP3, OFFSET(java_intarray, data[0])); + M_ILD(d, REG_ITMP3, OFFSET(java_intarray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1428,7 +1428,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_ASLL_IMM(s2, 3, REG_ITMP3); M_AADD(REG_ITMP3, s1, REG_ITMP3); - M_LDX(d, REG_ITMP3, OFFSET(java_longarray, data[0])); + M_LDX(d, REG_ITMP3, OFFSET(java_longarray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1441,7 +1441,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_ASLL_IMM(s2, 2, REG_ITMP3); M_AADD(REG_ITMP3, s1, REG_ITMP3); - M_FLD(d, REG_ITMP3, OFFSET(java_floatarray, data[0])); + M_FLD(d, REG_ITMP3, OFFSET(java_floatarray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1454,7 +1454,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_ASLL_IMM(s2, 3, REG_ITMP3); M_AADD(REG_ITMP3, s1, REG_ITMP3); - M_DLD(d, REG_ITMP3, OFFSET(java_doublearray, data[0])); + M_DLD(d, REG_ITMP3, OFFSET(java_doublearray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1467,7 +1467,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_ASLL_IMM(s2, POINTERSHIFT, REG_ITMP3); M_AADD(REG_ITMP3, s1, REG_ITMP3); - M_ALD(d, REG_ITMP3, OFFSET(java_objectarray, data[0])); + M_ALD(d, REG_ITMP3, OFFSET(java_objectarray_t, data[0])); emit_store_dst(jd, iptr, d); break; @@ -1480,7 +1480,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_AADD(s2, s1, REG_ITMP1); s3 = emit_load_s3(jd, iptr, REG_ITMP3); - M_BST(s3, REG_ITMP1, OFFSET(java_bytearray, data[0])); + M_BST(s3, REG_ITMP1, OFFSET(java_bytearray_t, data[0])); break; case ICMD_CASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1493,7 +1493,7 @@ bool codegen_emit(jitdata *jd) M_AADD(s2, s1, REG_ITMP1); M_AADD(s2, REG_ITMP1, REG_ITMP1); s3 = emit_load_s3(jd, iptr, REG_ITMP3); - M_SST(s3, REG_ITMP1, OFFSET(java_chararray, data[0])); + M_SST(s3, REG_ITMP1, OFFSET(java_chararray_t, data[0])); break; case ICMD_IASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1505,7 +1505,7 @@ bool codegen_emit(jitdata *jd) M_ASLL_IMM(s2, 2, REG_ITMP2); M_AADD(REG_ITMP2, s1, REG_ITMP1); s3 = emit_load_s3(jd, iptr, REG_ITMP3); - M_IST_INTERN(s3, REG_ITMP1, OFFSET(java_intarray, data[0])); + M_IST_INTERN(s3, REG_ITMP1, OFFSET(java_intarray_t, data[0])); break; case ICMD_LASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1517,7 +1517,7 @@ bool codegen_emit(jitdata *jd) M_ASLL_IMM(s2, 3, REG_ITMP2); M_AADD(REG_ITMP2, s1, REG_ITMP1); s3 = emit_load_s3(jd, iptr, REG_ITMP3); - M_STX_INTERN(s3, REG_ITMP1, OFFSET(java_longarray, data[0])); + M_STX_INTERN(s3, REG_ITMP1, OFFSET(java_longarray_t, data[0])); break; case ICMD_FASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1529,7 +1529,7 @@ bool codegen_emit(jitdata *jd) M_ASLL_IMM(s2, 2, REG_ITMP2); M_AADD(REG_ITMP2, s1, REG_ITMP1); s3 = emit_load_s3(jd, iptr, REG_FTMP1); - M_FST_INTERN(s3, REG_ITMP1, OFFSET(java_floatarray, data[0])); + M_FST_INTERN(s3, REG_ITMP1, OFFSET(java_floatarray_t, data[0])); break; case ICMD_DASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1541,7 +1541,7 @@ bool codegen_emit(jitdata *jd) M_ASLL_IMM(s2, 3, REG_ITMP2); M_AADD(REG_ITMP2, s1, REG_ITMP1); s3 = emit_load_s3(jd, iptr, REG_FTMP1); - M_DST_INTERN(s3, REG_ITMP1, OFFSET(java_doublearray, data[0])); + M_DST_INTERN(s3, REG_ITMP1, OFFSET(java_doublearray_t, data[0])); break; @@ -1567,7 +1567,7 @@ bool codegen_emit(jitdata *jd) M_AADD(REG_ITMP2, s1, REG_ITMP1); s3 = emit_load_s3(jd, iptr, REG_ITMP3); /* implicit null-pointer check */ - M_AST_INTERN(s3, REG_ITMP1, OFFSET(java_objectarray, data[0])); + M_AST_INTERN(s3, REG_ITMP1, OFFSET(java_objectarray_t, data[0])); break; @@ -1578,7 +1578,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_AADD(s2, s1, REG_ITMP1); - M_BST(REG_ZERO, REG_ITMP1, OFFSET(java_bytearray, data[0])); + M_BST(REG_ZERO, REG_ITMP1, OFFSET(java_bytearray_t, data[0])); break; case ICMD_CASTORECONST: /* ..., arrayref, index ==> ... */ @@ -1590,7 +1590,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_AADD(s2, s1, REG_ITMP1); M_AADD(s2, REG_ITMP1, REG_ITMP1); - M_SST(REG_ZERO, REG_ITMP1, OFFSET(java_chararray, data[0])); + M_SST(REG_ZERO, REG_ITMP1, OFFSET(java_chararray_t, data[0])); break; case ICMD_IASTORECONST: /* ..., arrayref, index ==> ... */ @@ -1601,7 +1601,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_ASLL_IMM(s2, 2, REG_ITMP2); M_AADD(REG_ITMP2, s1, REG_ITMP1); - M_IST_INTERN(REG_ZERO, REG_ITMP1, OFFSET(java_intarray, data[0])); + M_IST_INTERN(REG_ZERO, REG_ITMP1, OFFSET(java_intarray_t, data[0])); break; case ICMD_LASTORECONST: /* ..., arrayref, index ==> ... */ @@ -1612,7 +1612,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_ASLL_IMM(s2, 3, REG_ITMP2); M_AADD(REG_ITMP2, s1, REG_ITMP1); - M_STX_INTERN(REG_ZERO, REG_ITMP1, OFFSET(java_longarray, data[0])); + M_STX_INTERN(REG_ZERO, REG_ITMP1, OFFSET(java_longarray_t, data[0])); break; case ICMD_AASTORECONST: /* ..., arrayref, index ==> ... */ @@ -1623,7 +1623,7 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); M_ASLL_IMM(s2, POINTERSHIFT, REG_ITMP2); M_AADD(REG_ITMP2, s1, REG_ITMP1); - M_AST_INTERN(REG_ZERO, REG_ITMP1, OFFSET(java_objectarray, data[0])); + M_AST_INTERN(REG_ZERO, REG_ITMP1, OFFSET(java_objectarray_t, data[0])); break; diff --git a/src/vm/jit/sparc64/emit.c b/src/vm/jit/sparc64/emit.c index 9ce83232d..187dc8a71 100644 --- a/src/vm/jit/sparc64/emit.c +++ b/src/vm/jit/sparc64/emit.c @@ -477,7 +477,7 @@ void emit_arithmetic_check(codegendata *cd, instruction *iptr, s4 reg) void emit_arrayindexoutofbounds_check(codegendata *cd, instruction *iptr, s4 s1, s4 s2) { if (INSTRUCTION_MUST_CHECK(iptr)) { - M_ILD(REG_ITMP3, s1, OFFSET(java_arrayheader, size)); + M_ILD(REG_ITMP3, s1, OFFSET(java_array_t, size)); M_CMP(s2, REG_ITMP3); M_XBULT(3); M_NOP; diff --git a/src/vm/jit/stacktrace.c b/src/vm/jit/stacktrace.c index 91a25d18d..2eaa5089a 100644 --- a/src/vm/jit/stacktrace.c +++ b/src/vm/jit/stacktrace.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: stacktrace.c 8295 2007-08-11 17:57:24Z michi $ + $Id: stacktrace.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -734,14 +734,14 @@ return_NULL: *******************************************************************************/ -java_objectarray *stacktrace_getClassContext(void) +java_handle_objectarray_t *stacktrace_getClassContext(void) { - stacktracebuffer *stb; - stacktrace_entry *ste; - java_objectarray *oa; - s4 oalength; - s4 i; - s4 dumpsize; + stacktracebuffer *stb; + stacktrace_entry *ste; + java_handle_objectarray_t *oa; + s4 oalength; + s4 i; + s4 dumpsize; CYCLES_STATS_DECLARE_AND_START /* mark start of dump memory area */ @@ -884,17 +884,17 @@ return_NULL: *******************************************************************************/ #if defined(ENABLE_JAVASE) -java_objectarray *stacktrace_getStack(void) +java_handle_objectarray_t *stacktrace_getStack(void) { - stacktracebuffer *stb; - stacktrace_entry *ste; - java_objectarray *oa; - java_objectarray *classes; - java_objectarray *methodnames; - classinfo *c; - java_handle_t *string; - s4 i; - s4 dumpsize; + stacktracebuffer *stb; + stacktrace_entry *ste; + java_handle_objectarray_t *oa; + java_handle_objectarray_t *classes; + java_handle_objectarray_t *methodnames; + classinfo *c; + java_handle_t *string; + s4 i; + s4 dumpsize; CYCLES_STATS_DECLARE_AND_START /* mark start of dump memory area */ diff --git a/src/vm/jit/stacktrace.h b/src/vm/jit/stacktrace.h index ebdb2a2c8..d27a4cac8 100644 --- a/src/vm/jit/stacktrace.h +++ b/src/vm/jit/stacktrace.h @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: stacktrace.h 8295 2007-08-11 17:57:24Z michi $ + $Id: stacktrace.h 8318 2007-08-16 10:05:34Z michi $ */ @@ -92,7 +92,7 @@ struct stacktracebuffer { *******************************************************************************/ typedef struct stacktracecontainer { - java_arrayheader header; /* default array header for the GC */ + java_array_t header; /* default array header for the GC */ struct stacktracebuffer stb; /* let entries point to data below */ stacktrace_entry data[1]; /* the actual array of entries */ } stacktracecontainer; @@ -119,9 +119,9 @@ stacktracebuffer *stacktrace_create(stackframeinfo *sfi); stacktracecontainer *stacktrace_fillInStackTrace(void); #if defined(ENABLE_JAVASE) -java_objectarray *stacktrace_getClassContext(void); -classinfo *stacktrace_getCurrentClass(void); -java_objectarray *stacktrace_getStack(void); +java_handle_objectarray_t *stacktrace_getClassContext(void); +classinfo *stacktrace_getCurrentClass(void); +java_handle_objectarray_t *stacktrace_getStack(void); #endif void stacktrace_print_trace_from_buffer(stacktracebuffer *stb); diff --git a/src/vm/jit/x86_64/codegen.c b/src/vm/jit/x86_64/codegen.c index a11360912..e5e139c2d 100644 --- a/src/vm/jit/x86_64/codegen.c +++ b/src/vm/jit/x86_64/codegen.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: codegen.c 8297 2007-08-12 00:02:48Z michi $ + $Id: codegen.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -1501,7 +1501,7 @@ bool codegen_emit(jitdata *jd) s1 = emit_load_s1(jd, iptr, REG_ITMP1); d = codegen_reg_of_dst(jd, iptr, REG_ITMP3); /* implicit null-pointer check */ - M_ILD(d, s1, OFFSET(java_arrayheader, size)); + M_ILD(d, s1, OFFSET(java_array_t, size)); emit_store_dst(jd, iptr, d); break; @@ -1512,7 +1512,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_ITMP3); /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); - emit_movsbq_memindex_reg(cd, OFFSET(java_bytearray, data[0]), s1, s2, 0, d); + emit_movsbq_memindex_reg(cd, OFFSET(java_bytearray_t, data[0]), s1, s2, 0, d); emit_store_dst(jd, iptr, d); break; @@ -1523,7 +1523,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_ITMP3); /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); - emit_movzwq_memindex_reg(cd, OFFSET(java_chararray, data[0]), s1, s2, 1, d); + emit_movzwq_memindex_reg(cd, OFFSET(java_chararray_t, data[0]), s1, s2, 1, d); emit_store_dst(jd, iptr, d); break; @@ -1534,7 +1534,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_ITMP3); /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); - emit_movswq_memindex_reg(cd, OFFSET(java_shortarray, data[0]), s1, s2, 1, d); + emit_movswq_memindex_reg(cd, OFFSET(java_shortarray_t, data[0]), s1, s2, 1, d); emit_store_dst(jd, iptr, d); break; @@ -1545,7 +1545,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_ITMP3); /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); - emit_movl_memindex_reg(cd, OFFSET(java_intarray, data[0]), s1, s2, 2, d); + emit_movl_memindex_reg(cd, OFFSET(java_intarray_t, data[0]), s1, s2, 2, d); emit_store_dst(jd, iptr, d); break; @@ -1556,7 +1556,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_ITMP3); /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); - emit_mov_memindex_reg(cd, OFFSET(java_longarray, data[0]), s1, s2, 3, d); + emit_mov_memindex_reg(cd, OFFSET(java_longarray_t, data[0]), s1, s2, 3, d); emit_store_dst(jd, iptr, d); break; @@ -1567,7 +1567,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_FTMP3); /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); - emit_movss_memindex_reg(cd, OFFSET(java_floatarray, data[0]), s1, s2, 2, d); + emit_movss_memindex_reg(cd, OFFSET(java_floatarray_t, data[0]), s1, s2, 2, d); emit_store_dst(jd, iptr, d); break; @@ -1578,7 +1578,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_FTMP3); /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); - emit_movsd_memindex_reg(cd, OFFSET(java_doublearray, data[0]), s1, s2, 3, d); + emit_movsd_memindex_reg(cd, OFFSET(java_doublearray_t, data[0]), s1, s2, 3, d); emit_store_dst(jd, iptr, d); break; @@ -1589,7 +1589,7 @@ bool codegen_emit(jitdata *jd) d = codegen_reg_of_dst(jd, iptr, REG_ITMP3); /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); - emit_mov_memindex_reg(cd, OFFSET(java_objectarray, data[0]), s1, s2, 3, d); + emit_mov_memindex_reg(cd, OFFSET(java_objectarray_t, data[0]), s1, s2, 3, d); emit_store_dst(jd, iptr, d); break; @@ -1601,7 +1601,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); - emit_movb_reg_memindex(cd, s3, OFFSET(java_bytearray, data[0]), s1, s2, 0); + emit_movb_reg_memindex(cd, s3, OFFSET(java_bytearray_t, data[0]), s1, s2, 0); break; case ICMD_CASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1611,7 +1611,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); - emit_movw_reg_memindex(cd, s3, OFFSET(java_chararray, data[0]), s1, s2, 1); + emit_movw_reg_memindex(cd, s3, OFFSET(java_chararray_t, data[0]), s1, s2, 1); break; case ICMD_SASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1621,7 +1621,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); - emit_movw_reg_memindex(cd, s3, OFFSET(java_shortarray, data[0]), s1, s2, 1); + emit_movw_reg_memindex(cd, s3, OFFSET(java_shortarray_t, data[0]), s1, s2, 1); break; case ICMD_IASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1631,7 +1631,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); - emit_movl_reg_memindex(cd, s3, OFFSET(java_intarray, data[0]), s1, s2, 2); + emit_movl_reg_memindex(cd, s3, OFFSET(java_intarray_t, data[0]), s1, s2, 2); break; case ICMD_LASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1641,7 +1641,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); - emit_mov_reg_memindex(cd, s3, OFFSET(java_longarray, data[0]), s1, s2, 3); + emit_mov_reg_memindex(cd, s3, OFFSET(java_longarray_t, data[0]), s1, s2, 3); break; case ICMD_FASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1651,7 +1651,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_FTMP3); - emit_movss_reg_memindex(cd, s3, OFFSET(java_floatarray, data[0]), s1, s2, 2); + emit_movss_reg_memindex(cd, s3, OFFSET(java_floatarray_t, data[0]), s1, s2, 2); break; case ICMD_DASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1661,7 +1661,7 @@ bool codegen_emit(jitdata *jd) /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); s3 = emit_load_s3(jd, iptr, REG_FTMP3); - emit_movsd_reg_memindex(cd, s3, OFFSET(java_doublearray, data[0]), s1, s2, 3); + emit_movsd_reg_memindex(cd, s3, OFFSET(java_doublearray_t, data[0]), s1, s2, 3); break; case ICMD_AASTORE: /* ..., arrayref, index, value ==> ... */ @@ -1681,7 +1681,7 @@ bool codegen_emit(jitdata *jd) s1 = emit_load_s1(jd, iptr, REG_ITMP1); s2 = emit_load_s2(jd, iptr, REG_ITMP2); s3 = emit_load_s3(jd, iptr, REG_ITMP3); - emit_mov_reg_memindex(cd, s3, OFFSET(java_objectarray, data[0]), s1, s2, 3); + emit_mov_reg_memindex(cd, s3, OFFSET(java_objectarray_t, data[0]), s1, s2, 3); break; @@ -1691,7 +1691,7 @@ bool codegen_emit(jitdata *jd) s2 = emit_load_s2(jd, iptr, REG_ITMP2); /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); - emit_movb_imm_memindex(cd, iptr->sx.s23.s3.constval, OFFSET(java_bytearray, data[0]), s1, s2, 0); + emit_movb_imm_memindex(cd, iptr->sx.s23.s3.constval, OFFSET(java_bytearray_t, data[0]), s1, s2, 0); break; case ICMD_CASTORECONST: /* ..., arrayref, index ==> ... */ @@ -1700,7 +1700,7 @@ bool codegen_emit(jitdata *jd) s2 = emit_load_s2(jd, iptr, REG_ITMP2); /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); - emit_movw_imm_memindex(cd, iptr->sx.s23.s3.constval, OFFSET(java_chararray, data[0]), s1, s2, 1); + emit_movw_imm_memindex(cd, iptr->sx.s23.s3.constval, OFFSET(java_chararray_t, data[0]), s1, s2, 1); break; case ICMD_SASTORECONST: /* ..., arrayref, index ==> ... */ @@ -1709,7 +1709,7 @@ bool codegen_emit(jitdata *jd) s2 = emit_load_s2(jd, iptr, REG_ITMP2); /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); - emit_movw_imm_memindex(cd, iptr->sx.s23.s3.constval, OFFSET(java_shortarray, data[0]), s1, s2, 1); + emit_movw_imm_memindex(cd, iptr->sx.s23.s3.constval, OFFSET(java_shortarray_t, data[0]), s1, s2, 1); break; case ICMD_IASTORECONST: /* ..., arrayref, index ==> ... */ @@ -1718,7 +1718,7 @@ bool codegen_emit(jitdata *jd) s2 = emit_load_s2(jd, iptr, REG_ITMP2); /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); - emit_movl_imm_memindex(cd, iptr->sx.s23.s3.constval, OFFSET(java_intarray, data[0]), s1, s2, 2); + emit_movl_imm_memindex(cd, iptr->sx.s23.s3.constval, OFFSET(java_intarray_t, data[0]), s1, s2, 2); break; case ICMD_LASTORECONST: /* ..., arrayref, index ==> ... */ @@ -1729,11 +1729,11 @@ bool codegen_emit(jitdata *jd) emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); if (IS_IMM32(iptr->sx.s23.s3.constval)) { - emit_mov_imm_memindex(cd, (u4) (iptr->sx.s23.s3.constval & 0x00000000ffffffff), OFFSET(java_longarray, data[0]), s1, s2, 3); + emit_mov_imm_memindex(cd, (u4) (iptr->sx.s23.s3.constval & 0x00000000ffffffff), OFFSET(java_longarray_t, data[0]), s1, s2, 3); } else { - emit_movl_imm_memindex(cd, (u4) (iptr->sx.s23.s3.constval & 0x00000000ffffffff), OFFSET(java_longarray, data[0]), s1, s2, 3); - emit_movl_imm_memindex(cd, (u4) (iptr->sx.s23.s3.constval >> 32), OFFSET(java_longarray, data[0]) + 4, s1, s2, 3); + emit_movl_imm_memindex(cd, (u4) (iptr->sx.s23.s3.constval & 0x00000000ffffffff), OFFSET(java_longarray_t, data[0]), s1, s2, 3); + emit_movl_imm_memindex(cd, (u4) (iptr->sx.s23.s3.constval >> 32), OFFSET(java_longarray_t, data[0]) + 4, s1, s2, 3); } break; @@ -1743,7 +1743,7 @@ bool codegen_emit(jitdata *jd) s2 = emit_load_s2(jd, iptr, REG_ITMP2); /* implicit null-pointer check */ emit_arrayindexoutofbounds_check(cd, iptr, s1, s2); - emit_mov_imm_memindex(cd, 0, OFFSET(java_objectarray, data[0]), s1, s2, 3); + emit_mov_imm_memindex(cd, 0, OFFSET(java_objectarray_t, data[0]), s1, s2, 3); break; diff --git a/src/vm/jit/x86_64/emit.c b/src/vm/jit/x86_64/emit.c index 68242346a..bc2eb4ca7 100644 --- a/src/vm/jit/x86_64/emit.c +++ b/src/vm/jit/x86_64/emit.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: emit.c 8267 2007-08-07 11:07:48Z twisti $ + $Id: emit.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -353,7 +353,7 @@ void emit_arithmetic_check(codegendata *cd, instruction *iptr, s4 reg) void emit_arrayindexoutofbounds_check(codegendata *cd, instruction *iptr, s4 s1, s4 s2) { if (INSTRUCTION_MUST_CHECK(iptr)) { - M_ILD(REG_ITMP3, s1, OFFSET(java_arrayheader, size)); + M_ILD(REG_ITMP3, s1, OFFSET(java_array_t, size)); M_ICMP(REG_ITMP3, s2); M_BULT(8); M_ALD_MEM(s2, EXCEPTION_HARDWARE_ARRAYINDEXOUTOFBOUNDS); diff --git a/src/vm/string.c b/src/vm/string.c index 8f13e685e..b34e0ad9e 100644 --- a/src/vm/string.c +++ b/src/vm/string.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: string.c 8295 2007-08-11 17:57:24Z michi $ + $Id: string.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -104,9 +104,9 @@ bool string_init(void) void stringtable_update(void) { - java_lang_String *js; - java_chararray *a; - literalstring *s; /* hashtable entry */ + java_lang_String *js; + java_chararray_t *a; + literalstring *s; /* hashtable entry */ int i; for (i = 0; i < hashtable_string.size; i++) { @@ -162,7 +162,7 @@ static java_handle_t *javastring_new_from_utf_buffer(const char *buffer, u4 utflength; /* length of utf-string if uncompressed */ java_handle_t *o; java_lang_String *s; /* result-string */ - java_chararray *a; + java_handle_chararray_t *a; u4 i; assert(buffer); @@ -182,7 +182,7 @@ static java_handle_t *javastring_new_from_utf_buffer(const char *buffer, utf_ptr = buffer; for (i = 0; i < utflength; i++) - a->data[i] = utf_nextu2((char **) &utf_ptr); + LLNI_array_direct(a, i) = utf_nextu2((char **) &utf_ptr); /* set fields of the javastring-object */ @@ -213,9 +213,9 @@ static java_handle_t *javastring_new_from_utf_buffer(const char *buffer, java_handle_t *javastring_safe_new_from_utf8(const char *text) { - java_handle_t *o; - java_chararray *a; - java_lang_String *s; + java_handle_t *o; + java_handle_chararray_t *a; + java_lang_String *s; s4 nbytes; s4 len; @@ -292,9 +292,9 @@ java_handle_t *javastring_new(utf *u) { char *utf_ptr; /* current utf character in utf string */ u4 utflength; /* length of utf-string if uncompressed */ - java_handle_t *o; - java_chararray *a; - java_lang_String *s; + java_handle_t *o; + java_handle_chararray_t *a; + java_lang_String *s; s4 i; if (u == NULL) { @@ -316,7 +316,7 @@ java_handle_t *javastring_new(utf *u) /* decompress utf-string */ for (i = 0; i < utflength; i++) - a->data[i] = utf_nextu2(&utf_ptr); + LLNI_array_direct(a, i) = utf_nextu2(&utf_ptr); /* set fields of the javastring-object */ @@ -343,9 +343,9 @@ java_handle_t *javastring_new_slash_to_dot(utf *u) { char *utf_ptr; /* current utf character in utf string */ u4 utflength; /* length of utf-string if uncompressed */ - java_handle_t *o; - java_chararray *a; - java_lang_String *s; + java_handle_t *o; + java_handle_chararray_t *a; + java_lang_String *s; s4 i; u2 ch; @@ -370,7 +370,7 @@ java_handle_t *javastring_new_slash_to_dot(utf *u) ch = utf_nextu2(&utf_ptr); if (ch == '/') ch = '.'; - a->data[i] = ch; + LLNI_array_direct(a, i) = ch; } /* set fields of the javastring-object */ @@ -403,9 +403,9 @@ java_handle_t *javastring_new_from_ascii(const char *text) { s4 i; s4 len; /* length of the string */ - java_handle_t *o; - java_lang_String *s; - java_chararray *a; + java_handle_t *o; + java_lang_String *s; + java_handle_chararray_t *a; if (text == NULL) { exceptions_throw_nullpointerexception(); @@ -425,7 +425,7 @@ java_handle_t *javastring_new_from_ascii(const char *text) /* copy text */ for (i = 0; i < len; i++) - a->data[i] = text[i]; + LLNI_array_direct(a, i) = text[i]; /* set fields of the javastring-object */ @@ -451,8 +451,8 @@ java_handle_t *javastring_new_from_ascii(const char *text) char *javastring_tochar(java_handle_t *so) { - java_lang_String *s = (java_lang_String *) so; - java_chararray *a; + java_lang_String *s = (java_lang_String *) so; + java_handle_chararray_t *a; char *buf; s4 i; @@ -503,12 +503,12 @@ utf *javastring_toutf(java_handle_t *string, bool isclassname) *******************************************************************************/ -java_object_t *literalstring_u2(java_chararray *a, u4 length, u4 offset, - bool copymode) +java_object_t *literalstring_u2(java_chararray_t *a, u4 length, u4 offset, + bool copymode) { literalstring *s; /* hashtable element */ java_lang_String *js; /* u2-array wrapped in javastring */ - java_chararray *ca; /* copy of u2-array */ + java_chararray_t *ca; /* copy of u2-array */ u4 key; u4 slot; u2 i; @@ -534,7 +534,7 @@ java_object_t *literalstring_u2(java_chararray *a, u4 length, u4 offset, /* string already in hashtable, free memory */ if (!copymode) - mem_free(a, sizeof(java_chararray) + sizeof(u2) * (length - 1) + 10); + mem_free(a, sizeof(java_chararray_t) + sizeof(u2) * (length - 1) + 10); LOCK_MONITOR_EXIT(lock_hashtable_string); @@ -548,10 +548,10 @@ java_object_t *literalstring_u2(java_chararray *a, u4 length, u4 offset, if (copymode) { /* create copy of u2-array for new javastring */ - u4 arraysize = sizeof(java_chararray) + sizeof(u2) * (length - 1) + 10; + u4 arraysize = sizeof(java_chararray_t) + sizeof(u2) * (length - 1) + 10; ca = mem_alloc(arraysize); /* memcpy(ca, a, arraysize); */ - memcpy(&(ca->header), &(a->header), sizeof(java_arrayheader)); + memcpy(&(ca->header), &(a->header), sizeof(java_array_t)); memcpy(&(ca->data), &(a->data) + offset, sizeof(u2) * (length - 1) + 10); } else { @@ -658,17 +658,17 @@ java_object_t *literalstring_u2(java_chararray *a, u4 length, u4 offset, java_object_t *literalstring_new(utf *u) { - char *utf_ptr; /* pointer to current unicode character */ + char *utf_ptr; /* pointer to current unicode character */ /* utf string */ - u4 utflength; /* length of utf-string if uncompressed */ - java_chararray *a; /* u2-array constructed from utf string */ - u4 i; + u4 utflength; /* length of utf-string if uncompressed */ + java_chararray_t *a; /* u2-array constructed from utf string */ + u4 i; utf_ptr = u->text; utflength = utf_get_number_of_u2s(u); /* allocate memory */ - a = mem_alloc(sizeof(java_chararray) + sizeof(u2) * (utflength - 1) + 10); + a = mem_alloc(sizeof(java_chararray_t) + sizeof(u2) * (utflength - 1) + 10); /* convert utf-string to u2-array */ for (i = 0; i < utflength; i++) @@ -687,7 +687,7 @@ java_object_t *literalstring_new(utf *u) void literalstring_free(java_object_t* string) { java_lang_String *s; - java_chararray *a; + java_chararray_t *a; s = (java_lang_String *) string; a = s->value; @@ -696,7 +696,7 @@ void literalstring_free(java_object_t* string) FREE(s, java_lang_String); /* dispose memory of java-characterarray */ - FREE(a, sizeof(java_chararray) + sizeof(u2) * (a->header.size - 1)); /* +10 ?? */ + FREE(a, sizeof(java_chararray_t) + sizeof(u2) * (a->header.size - 1)); /* +10 ?? */ } diff --git a/src/vm/stringlocal.h b/src/vm/stringlocal.h index 88b09d74d..64c68cb96 100644 --- a/src/vm/stringlocal.h +++ b/src/vm/stringlocal.h @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: stringlocal.h 8295 2007-08-11 17:57:24Z michi $ + $Id: stringlocal.h 8318 2007-08-16 10:05:34Z michi $ */ @@ -84,8 +84,8 @@ char *javastring_tochar(java_handle_t *string); utf *javastring_toutf(java_handle_t *string, bool isclassname); /* creates a new javastring with the text of the u2-array */ -java_object_t *literalstring_u2(java_chararray *a, u4 length, u4 offset, - bool copymode); +java_object_t *literalstring_u2(java_chararray_t *a, u4 length, u4 offset, + bool copymode); /* creates a new javastring with the text of the utf-symbol */ java_object_t *literalstring_new(utf *u); diff --git a/src/vm/vm.c b/src/vm/vm.c index e5142d1c6..6269db5a5 100644 --- a/src/vm/vm.c +++ b/src/vm/vm.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: vm.c 8297 2007-08-12 00:02:48Z michi $ + $Id: vm.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -1808,16 +1808,16 @@ bool vm_create(JavaVMInitArgs *vm_args) void vm_run(JavaVM *vm, JavaVMInitArgs *vm_args) { - utf *mainutf; - classinfo *mainclass; - java_handle_t *e; - methodinfo *m; - java_objectarray *oa; - s4 oalength; - utf *u; - java_handle_t *s; - s4 status; - s4 i; + utf *mainutf; + classinfo *mainclass; + java_handle_t *e; + methodinfo *m; + java_handle_objectarray_t *oa; + s4 oalength; + utf *u; + java_handle_t *s; + s4 status; + s4 i; #if !defined(NDEBUG) if (compileall) { @@ -1909,7 +1909,7 @@ void vm_run(JavaVM *vm, JavaVMInitArgs *vm_args) u = utf_new_char(vm_args->options[opt_index + i].optionString); s = javastring_new(u); - oa->data[i] = s; + LLNI_objectarray_element_set(oa, i, s); } #ifdef TYPEINFO_DEBUG_TEST @@ -2708,13 +2708,13 @@ static uint64_t *vm_array_from_jvalue(methodinfo *m, java_object_t *o, *******************************************************************************/ uint64_t *vm_array_from_objectarray(methodinfo *m, java_object_t *o, - java_objectarray *params) + java_handle_objectarray_t *params) { methoddesc *md; paramdesc *pd; typedesc *td; uint64_t *array; - java_object_t *param; + java_handle_t *param; classinfo *c; int32_t i; int32_t j; @@ -2744,7 +2744,7 @@ uint64_t *vm_array_from_objectarray(methodinfo *m, java_object_t *o, } for (j = 0; i < md->paramcount; i++, j++, pd++, td++) { - param = params->data[j]; + LLNI_objectarray_element_get(params, j, param); switch (td->type) { case TYPE_INT: diff --git a/src/vm/vm.h b/src/vm/vm.h index 1c78bd6df..8e2a1a810 100644 --- a/src/vm/vm.h +++ b/src/vm/vm.h @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: vm.h 8295 2007-08-11 17:57:24Z michi $ + $Id: vm.h 8318 2007-08-16 10:05:34Z michi $ */ @@ -87,7 +87,7 @@ void vm_abort(const char *text, ...); /* Java method calling functions */ uint64_t *vm_array_from_objectarray(methodinfo *m, java_handle_t *o, - java_objectarray *params); + java_handle_objectarray_t *params); java_handle_t *vm_call_method(methodinfo *m, java_handle_t *o, ...); java_handle_t *vm_call_method_valist(methodinfo *m, java_handle_t *o, diff --git a/src/vmcore/class.c b/src/vmcore/class.c index 4dd45889b..4dc21adb1 100644 --- a/src/vmcore/class.c +++ b/src/vmcore/class.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: class.c 8309 2007-08-15 16:42:52Z twisti $ + $Id: class.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -40,6 +40,8 @@ #include "mm/memory.h" +#include "native/llni.h" + #include "threads/lock-common.h" #include "toolbox/logging.h" @@ -1669,14 +1671,14 @@ classinfo *class_get_superclass(classinfo *c) *******************************************************************************/ -java_objectarray *class_get_declaredclasses(classinfo *c, bool publicOnly) +java_handle_objectarray_t *class_get_declaredclasses(classinfo *c, bool publicOnly) { classref_or_classinfo inner; classref_or_classinfo outer; utf *outername; int declaredclasscount; /* number of declared classes */ int pos; /* current declared class */ - java_objectarray *oa; /* array of declared classes */ + java_handle_objectarray_t *oa; /* array of declared classes */ int i; classinfo *ic; @@ -1731,7 +1733,7 @@ java_objectarray *class_get_declaredclasses(classinfo *c, bool publicOnly) if (!link_class(ic)) return NULL; - oa->data[pos++] = (java_object_t *) ic; + LLNI_array_direct(oa, pos++) = (java_object_t *) ic; } } @@ -1804,11 +1806,11 @@ classinfo *class_get_declaringclass(classinfo *c) *******************************************************************************/ -java_objectarray *class_get_interfaces(classinfo *c) +java_handle_objectarray_t *class_get_interfaces(classinfo *c) { - classinfo *ic; - java_objectarray *oa; - u4 i; + classinfo *ic; + java_handle_objectarray_t *oa; + u4 i; if (!(c->state & CLASS_LINKED)) if (!link_class(c)) @@ -1822,7 +1824,7 @@ java_objectarray *class_get_interfaces(classinfo *c) for (i = 0; i < c->interfacescount; i++) { ic = c->interfaces[i].cls; - oa->data[i] = (java_object_t *) ic; + LLNI_array_direct(oa, i) = (java_object_t *) ic; } return oa; diff --git a/src/vmcore/class.h b/src/vmcore/class.h index 95fff70b6..7119921ef 100644 --- a/src/vmcore/class.h +++ b/src/vmcore/class.h @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: class.h 8309 2007-08-15 16:42:52Z twisti $ + $Id: class.h 8318 2007-08-16 10:05:34Z michi $ */ @@ -363,10 +363,10 @@ bool class_is_primitive(classinfo *c); bool class_is_array(classinfo *c); bool class_is_interface(classinfo *c); -classinfo *class_get_superclass(classinfo *c); -java_objectarray *class_get_declaredclasses(classinfo *c, bool publicOnly); -classinfo *class_get_declaringclass(classinfo *c); -java_objectarray *class_get_interfaces(classinfo *c); +classinfo *class_get_superclass(classinfo *c); +java_handle_objectarray_t *class_get_declaredclasses(classinfo *c, bool publicOnly); +classinfo *class_get_declaringclass(classinfo *c); +java_handle_objectarray_t *class_get_interfaces(classinfo *c); #if defined(ENABLE_JAVASE) utf *class_get_signature(classinfo *c); diff --git a/src/vmcore/linker.c b/src/vmcore/linker.c index 3b7b25626..d272dfeb5 100644 --- a/src/vmcore/linker.c +++ b/src/vmcore/linker.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: linker.c 8295 2007-08-11 17:57:24Z michi $ + $Id: linker.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -1039,7 +1039,7 @@ static arraydescriptor *link_array(classinfo *c) /* c is an array of references */ desc->arraytype = ARRAYTYPE_OBJECT; desc->componentsize = sizeof(void*); - desc->dataoffset = OFFSET(java_objectarray, data); + desc->dataoffset = OFFSET(java_objectarray_t, data); compvftbl = comp->vftbl; @@ -1072,49 +1072,49 @@ static arraydescriptor *link_array(classinfo *c) switch (c->name->text[1]) { case 'Z': desc->arraytype = ARRAYTYPE_BOOLEAN; - desc->dataoffset = OFFSET(java_booleanarray,data); + desc->dataoffset = OFFSET(java_booleanarray_t,data); desc->componentsize = sizeof(u1); break; case 'B': desc->arraytype = ARRAYTYPE_BYTE; - desc->dataoffset = OFFSET(java_bytearray,data); + desc->dataoffset = OFFSET(java_bytearray_t,data); desc->componentsize = sizeof(u1); break; case 'C': desc->arraytype = ARRAYTYPE_CHAR; - desc->dataoffset = OFFSET(java_chararray,data); + desc->dataoffset = OFFSET(java_chararray_t,data); desc->componentsize = sizeof(u2); break; case 'D': desc->arraytype = ARRAYTYPE_DOUBLE; - desc->dataoffset = OFFSET(java_doublearray,data); + desc->dataoffset = OFFSET(java_doublearray_t,data); desc->componentsize = sizeof(double); break; case 'F': desc->arraytype = ARRAYTYPE_FLOAT; - desc->dataoffset = OFFSET(java_floatarray,data); + desc->dataoffset = OFFSET(java_floatarray_t,data); desc->componentsize = sizeof(float); break; case 'I': desc->arraytype = ARRAYTYPE_INT; - desc->dataoffset = OFFSET(java_intarray,data); + desc->dataoffset = OFFSET(java_intarray_t,data); desc->componentsize = sizeof(s4); break; case 'J': desc->arraytype = ARRAYTYPE_LONG; - desc->dataoffset = OFFSET(java_longarray,data); + desc->dataoffset = OFFSET(java_longarray_t,data); desc->componentsize = sizeof(s8); break; case 'S': desc->arraytype = ARRAYTYPE_SHORT; - desc->dataoffset = OFFSET(java_shortarray,data); + desc->dataoffset = OFFSET(java_shortarray_t,data); desc->componentsize = sizeof(s2); break; diff --git a/src/vmcore/method.c b/src/vmcore/method.c index da7473d1d..d4ff6655b 100644 --- a/src/vmcore/method.c +++ b/src/vmcore/method.c @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: method.c 8315 2007-08-15 22:49:20Z panzi $ + $Id: method.c 8318 2007-08-16 10:05:34Z michi $ */ @@ -37,6 +37,8 @@ #include "mm/memory.h" +#include "native/llni.h" + #include "threads/lock-common.h" #include "vm/builtin.h" @@ -624,14 +626,14 @@ int32_t method_get_parametercount(methodinfo *m) *******************************************************************************/ -java_objectarray *method_get_parametertypearray(methodinfo *m) +java_handle_objectarray_t *method_get_parametertypearray(methodinfo *m) { - methoddesc *md; - typedesc *paramtypes; - int32_t paramcount; - java_objectarray *oa; - int32_t i; - classinfo *c; + methoddesc *md; + typedesc *paramtypes; + int32_t paramcount; + java_handle_objectarray_t *oa; + int32_t i; + classinfo *c; md = m->parseddesc; @@ -664,7 +666,7 @@ java_objectarray *method_get_parametertypearray(methodinfo *m) if (!resolve_class_from_typedesc(¶mtypes[i], true, false, &c)) return NULL; - oa->data[i] = c; + LLNI_array_direct(oa, i) = (java_object_t *) c; } return oa; @@ -677,11 +679,11 @@ java_objectarray *method_get_parametertypearray(methodinfo *m) *******************************************************************************/ -java_objectarray *method_get_exceptionarray(methodinfo *m) +java_handle_objectarray_t *method_get_exceptionarray(methodinfo *m) { - java_objectarray *oa; - classinfo *c; - s4 i; + java_handle_objectarray_t *oa; + classinfo *c; + s4 i; /* create class-array */ @@ -698,7 +700,7 @@ java_objectarray *method_get_exceptionarray(methodinfo *m) if (c == NULL) return NULL; - oa->data[i] = c; + LLNI_array_direct(oa, i) = (java_object_t *) c; } return oa; diff --git a/src/vmcore/method.h b/src/vmcore/method.h index 2935e79a6..5c505cf66 100644 --- a/src/vmcore/method.h +++ b/src/vmcore/method.h @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: method.h 8315 2007-08-15 22:49:20Z panzi $ + $Id: method.h 8318 2007-08-16 10:05:34Z michi $ */ @@ -164,10 +164,10 @@ bool method_canoverwrite(methodinfo *m, methodinfo *old); methodinfo *method_vftbl_lookup(vftbl_t *vftbl, methodinfo* m); -int32_t method_get_parametercount(methodinfo *m); -java_objectarray *method_get_parametertypearray(methodinfo *m); -java_objectarray *method_get_exceptionarray(methodinfo *m); -classinfo *method_returntype_get(methodinfo *m); +int32_t method_get_parametercount(methodinfo *m); +java_handle_objectarray_t *method_get_parametertypearray(methodinfo *m); +java_handle_objectarray_t *method_get_exceptionarray(methodinfo *m); +classinfo *method_returntype_get(methodinfo *m); void method_add_assumption_monomorphic(methodinfo *m, methodinfo *caller); void method_break_assumption_monomorphic(methodinfo *m, method_worklist **wl);