changeset 2660:d4666165e486

PR2908: Add missing functions for CACAO OpenJDK JVM implementation 2016-03-31 Andrew John Hughes <gnu_andrew@member.fsf.org> 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.
author Andrew John Hughes <gnu_andrew@member.fsf.org>
date Fri, 01 Apr 2016 08:28:03 +0100
parents a2e2736b29fd
children 83b5af0faf15
files ChangeLog Makefile.am NEWS patches/cacao/pr2908-missing_functions.patch
diffstat 4 files changed, 133 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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  <gnu_andrew@member.fsf.org>
+
+	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  <gnu_andrew@member.fsf.org>
 
 	PR2909: Install CACAO in same way as JamVM
--- 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 +=
--- 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):
 
--- /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 */
+