# HG changeset patch # User Andrew John Hughes # Date 1459495683 -3600 # Node ID d4666165e4862d11a96baa5bcff4d96478a5aafc # Parent a2e2736b29fd3e86d481e35a353c52fd59ebd4d8 PR2908: Add missing functions for CACAO OpenJDK JVM implementation 2016-03-31 Andrew John Hughes PR2908: Add missing functions for CACAO OpenJDK JVM implementation * Makefile.am: (ICEDTEA_PATCHES): Add new patch. * NEWS: Updated. * patches/cacao/pr2908-missing_functions.patch: Provide stubs for JVM_GetClassTypeAnnotations, JVM_GetFieldTypeAnnotations, JVM_GetMethodParameters, JVM_GetMethodTypeAnnotations and JVM_IsVMGeneratedMethodIx. diff -r a2e2736b29fd -r d4666165e486 ChangeLog --- a/ChangeLog Fri Apr 01 07:32:24 2016 +0100 +++ b/ChangeLog Fri Apr 01 08:28:03 2016 +0100 @@ -1,3 +1,15 @@ +2016-03-31 Andrew John Hughes + + PR2908: Add missing functions for CACAO + OpenJDK JVM implementation + * Makefile.am: + (ICEDTEA_PATCHES): Add new patch. + * NEWS: Updated. + * patches/cacao/pr2908-missing_functions.patch: + Provide stubs for JVM_GetClassTypeAnnotations, + JVM_GetFieldTypeAnnotations, JVM_GetMethodParameters, + JVM_GetMethodTypeAnnotations and JVM_IsVMGeneratedMethodIx. + 2016-03-31 Andrew John Hughes PR2909: Install CACAO in same way as JamVM diff -r a2e2736b29fd -r d4666165e486 Makefile.am --- a/Makefile.am Fri Apr 01 07:32:24 2016 +0100 +++ b/Makefile.am Fri Apr 01 08:28:03 2016 +0100 @@ -350,7 +350,8 @@ patches/cacao/pr2035-tempdir.patch \ patches/cacao/pr2349.patch \ patches/cacao/pr2776-cache_api.patch \ - patches/cacao/pr2832-refactoring_error.patch + patches/cacao/pr2832-refactoring_error.patch \ + patches/cacao/pr2908-missing_functions.patch else if USING_CACAO ICEDTEA_PATCHES += diff -r a2e2736b29fd -r d4666165e486 NEWS --- a/NEWS Fri Apr 01 07:32:24 2016 +0100 +++ b/NEWS Fri Apr 01 08:28:03 2016 +0100 @@ -161,7 +161,6 @@ - PR2885: Location of 'stap' executable is hard-coded - PR2906: Support prefixed variants of GNU tools used on *BSD systems - PR2907: Replace --with-abs-install-dir with usual --prefix - - PR2909: Install CACAO in same way as JamVM - Don't substitute 'j' for '-j' inside -I directives - Extend 8041658 to all files in the HotSpot build. - Remove jcheck @@ -211,6 +210,8 @@ - PR2355: CACAO build fails to use JRE layout - PR2776: CACAO lacks JVM_GetResourceLookupCacheURLs introduced by jdk8u40 - PR2832, CA195: typeinfo.cpp: typeinfo_merge_nonarrays: Assertion `dest && result && x.any && y.any' failed + - PR2908: Add missing functions for CACAO OpenJDK JVM implementation + - PR2909: Install CACAO in same way as JamVM New in release 2.6.3 (2015-11-13): diff -r a2e2736b29fd -r d4666165e486 patches/cacao/pr2908-missing_functions.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/cacao/pr2908-missing_functions.patch Fri Apr 01 08:28:03 2016 +0100 @@ -0,0 +1,117 @@ +diff -Nru cacao.old/cacao/contrib/mapfile-vers-product cacao/cacao/contrib/mapfile-vers-product +--- cacao.old/cacao/contrib/mapfile-vers-product 2016-04-01 08:07:33.021538925 +0100 ++++ cacao/cacao/contrib/mapfile-vers-product 2016-04-01 08:08:19.576767011 +0100 +@@ -127,12 +127,14 @@ + JVM_GetClassNameUTF; + JVM_GetClassSignature; + JVM_GetClassSigners; ++ JVM_GetClassTypeAnnotations; + JVM_GetComponentType; + JVM_GetDeclaredClasses; + JVM_GetDeclaringClass; + JVM_GetEnclosingMethodInfo; + JVM_GetFieldAnnotations; + JVM_GetFieldIxModifiers; ++ JVM_GetFieldTypeAnnotations; + JVM_GetHostName; + JVM_GetInheritedAccessControlContext; + JVM_GetInterfaceVersion; +@@ -153,6 +155,8 @@ + JVM_GetMethodIxNameUTF; + JVM_GetMethodIxSignatureUTF; + JVM_GetMethodParameterAnnotations; ++ JVM_GetMethodParameters; ++ JVM_GetMethodTypeAnnotations; + JVM_GetResourceLookupCacheURLs; + JVM_GetResourceLookupCache; + JVM_GetPrimitiveArrayElement; +@@ -180,6 +184,7 @@ + JVM_InvokeMethod; + JVM_IsArrayClass; + JVM_IsConstructorIx; ++ JVM_IsVMGeneratedMethodIx; + JVM_IsInterface; + JVM_IsInterrupted; + JVM_IsNaN; +diff -Nru cacao.old/cacao/src/native/vm/openjdk/jvm.cpp cacao/cacao/src/native/vm/openjdk/jvm.cpp +--- cacao.old/cacao/src/native/vm/openjdk/jvm.cpp 2016-04-01 08:07:21.685726880 +0100 ++++ cacao/cacao/src/native/vm/openjdk/jvm.cpp 2016-04-01 08:08:01.225071294 +0100 +@@ -1110,6 +1110,15 @@ + return (jbyteArray) annotations; + } + ++/* JVM_GetClassTypeAnnotations */ ++ ++jbyteArray JVM_GetClassTypeAnnotations(JNIEnv *env, jclass cls) ++{ ++ TRACEJVMCALLS(("JVM_GetClassAnnotations(env=%p, cls=%p)", env, cls)); ++ ++ log_println("JVM_GetClassTypeAnnotations: IMPLEMENT ME!"); ++ return NULL; ++} + + /* JVM_GetFieldAnnotations */ + +@@ -1127,6 +1136,16 @@ + return (jbyteArray) jlrf.get_annotations(); + } + ++/* JVM_GetFieldTypeAnnotations */ ++ ++jbyteArray JVM_GetFieldTypeAnnotations(JNIEnv *env, jobject field) ++{ ++ TRACEJVMCALLS(("JVM_GetFieldTypeAnnotations(env=%p, field=%p)", env, field)); ++ ++ log_println("JVM_GetFieldTypeAnnotations: IMPLEMENT ME!"); ++ return NULL; ++} ++ + + /* JVM_GetMethodAnnotations */ + +@@ -1144,6 +1163,15 @@ + return (jbyteArray) jlrm.get_annotations(); + } + ++/* JVM_GetMethodTypeAnnotations */ ++ ++jbyteArray JVM_GetMethodTypeAnnotations(JNIEnv *env, jobject method) ++{ ++ TRACEJVMCALLS(("JVM_GetMethodTypeAnnotations(env=%p, method=%p)", env, method)); ++ ++ log_println("JVM_GetMethodTypeAnnotations: IMPLEMENT ME!"); ++ return NULL; ++} + + /* JVM_GetMethodDefaultAnnotationValue */ + +@@ -1178,6 +1206,14 @@ + return (jbyteArray) jlrm.get_parameterAnnotations(); + } + ++/* JVM_GetMethodParameters */ ++ ++jbyteArray JVM_GetMethodParameters(JNIEnv *env, jobject method) { ++ TRACEJVMCALLS(("JVM_GetMethodParameters(env=%p, method=%p)", env, method)); ++ ++ log_println("JVM_GetMethodParameters: IMPLEMENT ME!"); ++ return NULL; ++} + + /* JVM_GetClassDeclaredFields */ + +@@ -1864,6 +1900,14 @@ + return 0; + } + ++/* JVM_IsVMGeneratedMethodIx */ ++ ++jboolean JVM_IsVMGeneratedMethodIx(JNIEnv *env, jclass cls, int method_index) ++{ ++ log_println("JVM_IsVMGeneratedMethodIx: IMPLEMENT ME!"); ++ ++ return 0; ++} + + /* JVM_GetMethodIxNameUTF */ +