/hg/icedtea: 2 new changesets

andrew at icedtea.classpath.org andrew at icedtea.classpath.org
Thu Apr 7 02:25:07 UTC 2016


changeset 83b5af0faf15 in /hg/icedtea
details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=83b5af0faf15
author: Andrew John Hughes <gnu_andrew at member.fsf.org>
date: Wed Apr 06 17:49:46 2016 +0100

	PR2910: Add rudimentary support for OpenJDK 8 class files to CACAO

	2016-04-05  Andrew John Hughes  <gnu_andrew at member.fsf.org>

		PR2910: Add rudimentary support for OpenJDK 8
		class files to CACAO
		* Makefile.am:
		(ICEDTEA_PATCHES): Add new patch.
		* NEWS: Updated.
		* patches/cacao/pr2910-8_support.patch:
		Bump versions in CACAO and allow it to handle
		interface methods and constant pools in OpenJDK 8
		bytecode files.


changeset 7fd913249ef5 in /hg/icedtea
details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=7fd913249ef5
author: Andrew John Hughes <gnu_andrew at member.fsf.org>
date: Thu Apr 07 03:25:35 2016 +0100

	PR2916: Update CACAO drop to use the latest from cacao-staging

	2016-04-06  Andrew John Hughes  <gnu_andrew at member.fsf.org>

		PR2916: Update CACAO drop to use the latest
		from cacao-staging
		* patches/cacao/pr2032.patch,
		* patches/cacao/pr2035-tempdir.patch,
		* patches/cacao/pr2349.patch,
		* patches/cacao/pr2776-cache_api.patch,
		* patches/cacao/pr2832-refactoring_error.patch,
		* patches/cacao/pr2908-missing_functions.patch,
		* patches/cacao/pr2910-8_support.patch:
		Removed as applied in new snapshot.
		* Makefile.am:
		(CACAO_VERSION): Bump to icedtea-3.0.0 changeset
		in gnu_andrew/cacao-staging repository.
		(CACAO_SHA256SUM): Likewise.
		(ICEDTEA_PATCHES): Remove patches applied upstream.
		(extract-cacao): Adapt to prefix of new snapshot.
		* NEWS: Updated.


diffstat:

 ChangeLog                                    |   32 +++++++
 Makefile.am                                  |   16 +--
 NEWS                                         |    2 +
 patches/cacao/pr2032.patch                   |   72 ----------------
 patches/cacao/pr2035-tempdir.patch           |   45 ----------
 patches/cacao/pr2349.patch                   |   85 -------------------
 patches/cacao/pr2776-cache_api.patch         |   54 ------------
 patches/cacao/pr2832-refactoring_error.patch |  107 ------------------------
 patches/cacao/pr2908-missing_functions.patch |  117 ---------------------------
 9 files changed, 40 insertions(+), 490 deletions(-)

diffs (truncated from 595 to 500 lines):

diff -r d4666165e486 -r 7fd913249ef5 ChangeLog
--- a/ChangeLog	Fri Apr 01 08:28:03 2016 +0100
+++ b/ChangeLog	Thu Apr 07 03:25:35 2016 +0100
@@ -1,3 +1,35 @@
+2016-04-06  Andrew John Hughes  <gnu_andrew at member.fsf.org>
+
+	PR2916: Update CACAO drop to use the latest
+	from cacao-staging
+	* patches/cacao/pr2032.patch,
+	* patches/cacao/pr2035-tempdir.patch,
+	* patches/cacao/pr2349.patch,
+	* patches/cacao/pr2776-cache_api.patch,
+	* patches/cacao/pr2832-refactoring_error.patch,
+	* patches/cacao/pr2908-missing_functions.patch,
+	* patches/cacao/pr2910-8_support.patch:
+	Removed as applied in new snapshot.
+	* Makefile.am:
+	(CACAO_VERSION): Bump to icedtea-3.0.0 changeset
+	in gnu_andrew/cacao-staging repository.
+	(CACAO_SHA256SUM): Likewise.
+	(ICEDTEA_PATCHES): Remove patches applied upstream.
+	(extract-cacao): Adapt to prefix of new snapshot.
+	* NEWS: Updated.
+
+2016-04-05  Andrew John Hughes  <gnu_andrew at member.fsf.org>
+
+	PR2910: Add rudimentary support for OpenJDK 8
+	class files to CACAO
+	* Makefile.am:
+	(ICEDTEA_PATCHES): Add new patch.
+	* NEWS: Updated.
+	* patches/cacao/pr2910-8_support.patch:
+	Bump versions in CACAO and allow it to handle
+	interface methods and constant pools in OpenJDK 8
+	bytecode files.
+
 2016-03-31  Andrew John Hughes  <gnu_andrew at member.fsf.org>
 
 	PR2908: Add missing functions for CACAO
diff -r d4666165e486 -r 7fd913249ef5 Makefile.am
--- a/Makefile.am	Fri Apr 01 08:28:03 2016 +0100
+++ b/Makefile.am	Thu Apr 07 03:25:35 2016 +0100
@@ -27,8 +27,10 @@
 
 DROP_URL = http://icedtea.classpath.org/download/drops
 
-CACAO_VERSION = c182f119eaad
-CACAO_SHA256SUM = bf48f6b725a4dc0c936f6770a67ab4074c3bb35352d5de727368350d32549808
+# Drop is a snapshot of the changeset specified by CACAO_VERSION taken
+# from the repository at https://bitbucket.org/gnu_andrew/cacao-staging
+CACAO_VERSION = 900db2220376
+CACAO_SHA256SUM = eccda2d8bdf6a60347d5479b42143209f19c3731ef93666a3d12185f759165d8
 CACAO_BASE_URL = $(DROP_URL)/cacao
 CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.xz
 CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_SRC_ZIP)
@@ -345,13 +347,7 @@
 
 if BUILD_CACAO
 ICEDTEA_PATCHES += \
-	patches/cacao/launcher.patch \
-	patches/cacao/pr2032.patch \
-	patches/cacao/pr2035-tempdir.patch \
-	patches/cacao/pr2349.patch \
-	patches/cacao/pr2776-cache_api.patch \
-	patches/cacao/pr2832-refactoring_error.patch \
-	patches/cacao/pr2908-missing_functions.patch
+	patches/cacao/launcher.patch
 else
 if USING_CACAO
 ICEDTEA_PATCHES +=
@@ -1413,7 +1409,7 @@
 	then \
 	  mkdir cacao ; \
 	  $(TAR) xf $(CACAO_SRC_ZIP) -C cacao ; \
-	  dir=$$(basename cacao/cacao-*) ; \
+	  dir=$$(basename cacao/gnu*) ; \
 	  mv -v cacao/$$dir cacao/cacao ; \
 	  ln -s cacao cacao/$$dir ; \
 	fi
diff -r d4666165e486 -r 7fd913249ef5 NEWS
--- a/NEWS	Fri Apr 01 08:28:03 2016 +0100
+++ b/NEWS	Thu Apr 07 03:25:35 2016 +0100
@@ -212,6 +212,8 @@
   - 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
+  - PR2910: Add rudimentary support for OpenJDK 8 class files to CACAO
+  - PR2916: Update CACAO drop to use the latest from cacao-staging
 
 New in release 2.6.3 (2015-11-13):
 
diff -r d4666165e486 -r 7fd913249ef5 patches/cacao/pr2032.patch
--- a/patches/cacao/pr2032.patch	Fri Apr 01 08:28:03 2016 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-# HG changeset patch
-# User Xerxes RÃ¥nby <xerxes at gudinna.com>
-# Date 1414362363 -3600
-# Node ID ec6bd33b3e927738d1353e6e639e76f74d55635f
-# Parent  ea3c9a40d975430d1e9dcb598bf25b4bd7aec4ca
-OpenJDK: Implement JVM_FindClassFromCaller
-
-8015256: Better class accessibility
-Summary: Improve protection domain check in forName()
-
-* contrib/mapfile-vers-product: Export said function.
-* src/native/vm/openjdk/jvm.cpp (JVM_FindClassFromCaller): Implement it.
-
-diff --git a/contrib/mapfile-vers-product b/contrib/mapfile-vers-product
---- cacao/cacao/contrib/mapfile-vers-product
-+++ cacao/cacao/contrib/mapfile-vers-product
-@@ -87,6 +87,7 @@
-                 JVM_Exit;
-                 JVM_FillInStackTrace;
-                 JVM_FindClassFromBootLoader;
-+                JVM_FindClassFromCaller;
-                 JVM_FindClassFromClass;
-                 JVM_FindClassFromClassLoader;
-                 JVM_FindLibraryEntry;
-diff --git a/src/native/vm/openjdk/jvm.cpp b/src/native/vm/openjdk/jvm.cpp
---- cacao/cacao/src/native/vm/openjdk/jvm.cpp
-+++ cacao/cacao/src/native/vm/openjdk/jvm.cpp
-@@ -655,6 +655,44 @@
- }
- 
- 
-+/* JVM_FindClassFromCaller
-+ * Find a class from a given class loader.  Throws ClassNotFoundException.
-+ *  name:   name of class
-+ *  init:   whether initialization is done
-+ *  loader: class loader to look up the class.
-+ *          This may not be the same as the caller's class loader.
-+ *  caller: initiating class. The initiating class may be null when a security
-+ *          manager is not installed.
-+ *
-+ * Find a class with this name in this loader,
-+ * using the caller's "protection domain".
-+ */
-+
-+jclass JVM_FindClassFromCaller(JNIEnv* env, const char* name, jboolean init, jobject loader, jclass caller)
-+{
-+        TRACEJVMCALLS(("JVM_FindClassFromCaller(name=%s, init=%d, loader=%p, caller=%p)", name, init, loader, caller));
-+
-+        Utf8String     u  = Utf8String::from_utf8(name);
-+        classloader_t *cl = loader_hashtable_classloader_add((java_handle_t *) loader);
-+
-+        /* XXX The caller's protection domain should be used during
-+           the load_class_from_classloader but there is no specification or
-+           unit-test in OpenJDK documenting the desired effect */
-+
-+        classinfo     *c  = load_class_from_classloader(u, cl);
-+
-+        if (c == NULL)
-+                return NULL;
-+
-+        if (init)
-+                if (!(c->state & CLASS_INITIALIZED))
-+                        if (!initialize_class(c))
-+                                return NULL;
-+
-+        return (jclass) LLNI_classinfo_wrap(c);
-+}
-+
-+
- /* JVM_FindClassFromClassLoader */
- 
- jclass JVM_FindClassFromClassLoader(JNIEnv* env, const char* name, jboolean init, jobject loader, jboolean throwError)
diff -r d4666165e486 -r 7fd913249ef5 patches/cacao/pr2035-tempdir.patch
--- a/patches/cacao/pr2035-tempdir.patch	Fri Apr 01 08:28:03 2016 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-diff -r 73c53a02de5d contrib/mapfile-vers-product
---- cacao/cacao/contrib/mapfile-vers-product	Mon Jul 13 01:38:19 2015 +0100
-+++ cacao/cacao/contrib/mapfile-vers-product	Mon Jul 13 10:44:59 2015 +0100
-@@ -161,6 +161,7 @@
-                 JVM_GetStackTraceElement;
-                 JVM_GetSystemPackage;
-                 JVM_GetSystemPackages;
-+		JVM_GetTemporaryDirectory;
-                 JVM_GetThreadStateNames;
-                 JVM_GetThreadStateValues;
-                 JVM_GetVersionInfo;
-diff -r 73c53a02de5d src/native/vm/openjdk/jvm.cpp
---- cacao.orig/cacao/src/native/vm/openjdk/jvm.cpp	Mon Jul 13 01:38:19 2015 +0100
-+++ cacao/cacao/src/native/vm/openjdk/jvm.cpp	Mon Jul 13 10:21:20 2015 +0100
-@@ -3821,6 +3821,30 @@
- 	return -1;
- }
- 
-+/*
-+ * Return the temporary directory that the VM uses for the attach
-+ * and perf data files.
-+ *
-+ * It is important that this directory is well-known and the
-+ * same for all VM instances. It cannot be affected by configuration
-+ * variables such as java.io.tmpdir.
-+ */
-+jstring JVM_GetTemporaryDirectory(JNIEnv *env)
-+{
-+	TRACEJVMCALLS(("JVM_GetTemporaryDirectory(env=%p)", env));
-+
-+#if (defined(__LINUX__) || defined (__SOLARIS__) || \
-+	 defined(__FREEBSD__) || defined (__DARWIN__))
-+	// This must be hard coded because it's the system's temporary
-+	// directory not the java application's temp directory, ala java.io.tmpdir.
-+	return JavaString::from_utf8("/tmp");
-+#else
-+# error Not implemented for this OS.
-+#endif
-+
-+	return NULL;
-+}
-+	
- } // extern "C"
- 
- 
diff -r d4666165e486 -r 7fd913249ef5 patches/cacao/pr2349.patch
--- a/patches/cacao/pr2349.patch	Fri Apr 01 08:28:03 2016 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-diff -r c182f119eaad configure.ac
---- cacao/cacao/configure.ac	Fri Dec 12 22:14:45 2014 +0100
-+++ cacao/cacao/configure.ac	Thu May 14 03:34:48 2015 +0100
-@@ -678,7 +678,7 @@
-         AC_CHECK_WITH_HPI_H
-         AC_CHECK_WITH_JMM_H
-         ;;
--    openjdk7)
-+    openjdk7 | openjdk8 )
-         AC_CHECK_WITH_JVM_MD_H
-         AC_CHECK_WITH_JVM_H
-         AC_CHECK_WITH_JMM_H
-@@ -693,7 +693,7 @@
-     cldc1.1 | gnuclasspath)
-         AC_PROG_JAVAC
-         ;;
--    openjdk | openjdk7)
-+    openjdk | openjdk7 | openjdk8 )
-         ;;
-     *)
-         AC_MSG_ERROR(unknown classpath configuration ${WITH_JAVA_RUNTIME_LIBRARY})
-diff -r c182f119eaad m4/disable-test-dependency-checks.m4
---- cacao/cacao/m4/disable-test-dependency-checks.m4	Fri Dec 12 22:14:45 2014 +0100
-+++ cacao/cacao/m4/disable-test-dependency-checks.m4	Thu May 14 03:34:48 2015 +0100
-@@ -35,7 +35,7 @@
-                   cldc1.1 | gnuclasspath)
-                       disable_test_dependency_checks=no
-                       ;;
--                  openjdk | openjdk7)
-+                  openjdk | openjdk7 | openjdk8 )
-                       disable_test_dependency_checks=yes
-                       ;;
-                   *)
-diff -r c182f119eaad m4/java-runtime-library.m4
---- cacao/cacao/m4/java-runtime-library.m4	Fri Dec 12 22:14:45 2014 +0100
-+++ cacao/cacao/m4/java-runtime-library.m4	Thu May 14 03:34:48 2015 +0100
-@@ -26,7 +26,7 @@
- AC_DEFUN([AC_CHECK_WITH_JAVA_RUNTIME_LIBRARY],[
- AC_MSG_CHECKING(which Java runtime library to use)
- AC_ARG_WITH([java-runtime-library],
--            [AS_HELP_STRING(--with-java-runtime-library=<type>,specifies which type of classpath to use as Java runtime library (cldc1.1,gnuclasspath,openjdk,openjdk7) [[default=gnuclasspath]])],
-+            [AS_HELP_STRING(--with-java-runtime-library=<type>,specifies which type of classpath to use as Java runtime library (cldc1.1,gnuclasspath,openjdk,openjdk7,openjdk8) [[default=gnuclasspath]])],
-             [case "${withval}" in
-                 cldc1.1)
-                     WITH_JAVA_RUNTIME_LIBRARY=cldc1.1
-@@ -38,6 +38,15 @@
-                     AC_DEFINE([WITH_JAVA_RUNTIME_LIBRARY_GNU_CLASSPATH], 1, [use GNU Classpath])
-                     AC_SUBST(WITH_JAVA_RUNTIME_LIBRARY_GNU_CLASSPATH)
-                     ;;
-+                openjdk8)
-+                    WITH_JAVA_RUNTIME_LIBRARY=openjdk8
-+                    AC_DEFINE([WITH_JAVA_RUNTIME_LIBRARY_OPENJDK], 1, [use OpenJDK's Java SE classes])
-+                    AC_DEFINE([WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_7], 1, [use OpenJDK's version 7])
-+                    AC_DEFINE([WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_8], 1, [use OpenJDK's version 8])
-+                    AC_SUBST(WITH_JAVA_RUNTIME_LIBRARY_OPENJDK)
-+                    AC_SUBST(WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_7)
-+                    AC_SUBST(WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_8)
-+                    ;;
-                 openjdk7)
-                     WITH_JAVA_RUNTIME_LIBRARY=openjdk7
-                     AC_DEFINE([WITH_JAVA_RUNTIME_LIBRARY_OPENJDK], 1, [use OpenJDK's Java SE classes])
-@@ -60,8 +69,9 @@
- AC_MSG_RESULT(${WITH_JAVA_RUNTIME_LIBRARY})
- AM_CONDITIONAL([WITH_JAVA_RUNTIME_LIBRARY_CLDC1_1], test x"${WITH_JAVA_RUNTIME_LIBRARY}" = "xcldc1.1")
- AM_CONDITIONAL([WITH_JAVA_RUNTIME_LIBRARY_GNU_CLASSPATH], test x"${WITH_JAVA_RUNTIME_LIBRARY}" = "xgnuclasspath")
--AM_CONDITIONAL([WITH_JAVA_RUNTIME_LIBRARY_OPENJDK], test x"${WITH_JAVA_RUNTIME_LIBRARY}" = "xopenjdk" -o x"${WITH_JAVA_RUNTIME_LIBRARY}" = "xopenjdk7")
-+AM_CONDITIONAL([WITH_JAVA_RUNTIME_LIBRARY_OPENJDK], test x"${WITH_JAVA_RUNTIME_LIBRARY}" = "xopenjdk" -o x"${WITH_JAVA_RUNTIME_LIBRARY}" = "xopenjdk7" -o x"${WITH_JAVA_RUNTIME_LIBRARY}" = "xopenjdk8")
- AM_CONDITIONAL([WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_7], test x"${WITH_JAVA_RUNTIME_LIBRARY}" = "xopenjdk7")
-+AM_CONDITIONAL([WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_8], test x"${WITH_JAVA_RUNTIME_LIBRARY}" = "xopenjdk8")
- ])
- 
- 
-diff -r c182f119eaad src/native/vm/openjdk/jvm.cpp
---- cacao/cacao/src/native/vm/openjdk/jvm.cpp	Fri Dec 12 22:14:45 2014 +0100
-+++ cacao/cacao/src/native/vm/openjdk/jvm.cpp	Thu May 14 03:34:48 2015 +0100
-@@ -3733,7 +3733,9 @@
- 	info->update_version = 0;
- 	info->special_update_version = 0;
- 	info->is_attach_supported = 0;
-+#ifndef WITH_JAVA_RUNTIME_LIBRARY_OPENJDK_8
- 	info->is_kernel_jvm = 0;
-+#endif
- }
- 
- 
diff -r d4666165e486 -r 7fd913249ef5 patches/cacao/pr2776-cache_api.patch
--- a/patches/cacao/pr2776-cache_api.patch	Fri Apr 01 08:28:03 2016 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
---- cacao/cacao/src/native/vm/openjdk/jvm.cpp.old	2016-04-01 04:20:21.912052101 +0100
-+++ cacao/cacao/src/native/vm/openjdk/jvm.cpp	2016-04-01 04:50:05.054102464 +0100
-@@ -3882,6 +3882,32 @@
- 
- 	return NULL;
- }
-+/* JVM_GetResourceLookupCacheURLs */
-+
-+jobjectArray JVM_GetResourceLookupCacheURLs(JNIEnv *env, jobject loader)
-+{
-+	TRACEJVMCALLS(("JVM_GetResourceLookupCacheURLs(env=%p, loader=%p)", env, loader));
-+
-+	return NULL; // tell OpenJDK 8 that the lookup cache API is unavailable
-+}
-+
-+/* JVM_GetResourceLookupCache */
-+
-+jintArray JVM_GetResourceLookupCache(JNIEnv *env, jobject loader, const char *resource_name)
-+{
-+	TRACEJVMCALLS(("JVM_GetResourceLookupCacheURLs(env=%p, loader=%p, resource_name=%s)", env, loader, resource_name));
-+
-+	return NULL; // tell OpenJDK 8 that the lookup cache API is unavailable
-+}
-+
-+/* JVM_GetResourceLookupCache */
-+
-+jboolean JVM_KnownToNotExist(JNIEnv *env, jobject loader, const char *classname)
-+{
-+	TRACEJVMCALLS(("JVM_GetResourceLookupCacheURLs(env=%p, loader=%p, classname=%s)", env, loader, classname));
-+
-+	return JNI_FALSE; // tell OpenJDK 8 we don't know whether it exists or not
-+}
- 	
- } // extern "C"
- 
---- cacao/cacao/contrib/mapfile-vers-product.old	2016-04-01 04:20:21.884052574 +0100
-+++ cacao/cacao/contrib/mapfile-vers-product	2016-04-01 04:38:09.502110743 +0100
-@@ -153,6 +153,8 @@
-                 JVM_GetMethodIxNameUTF;
-                 JVM_GetMethodIxSignatureUTF;
-                 JVM_GetMethodParameterAnnotations;
-+		JVM_GetResourceLookupCacheURLs;
-+		JVM_GetResourceLookupCache;
-                 JVM_GetPrimitiveArrayElement;
-                 JVM_GetProtectionDomain;
-                 JVM_GetSockName;
-@@ -186,6 +188,7 @@
-                 JVM_IsSilentCompiler;
-                 JVM_IsSupportedJNIVersion;
-                 JVM_IsThreadAlive;
-+		JVM_KnownToNotExist;
-                 JVM_LatestUserDefinedLoader;
-                 JVM_Listen;
-                 JVM_LoadClass0;
diff -r d4666165e486 -r 7fd913249ef5 patches/cacao/pr2832-refactoring_error.patch
--- a/patches/cacao/pr2832-refactoring_error.patch	Fri Apr 01 08:28:03 2016 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-# HG changeset patch
-# User Stefan Ring <stefan at complang.tuwien.ac.at>
-# Date 1453933756 -3600
-# Node ID 4982d429274b9498ad2629ea4f28566ed69e4775
-# Parent  1cef439b53ee701662059ae50874d55c7b5302d7
-PR195: Fix some oversights during a large macro cleanup in 1e9787c3484e
-
-diff --git cacao/cacao/src/vm/jit/verify/typecheck-common.cpp cacao/cacao/src/vm/jit/verify/typecheck-common.cpp
---- cacao/cacao/src/vm/jit/verify/typecheck-common.cpp
-+++ cacao/cacao/src/vm/jit/verify/typecheck-common.cpp
-@@ -281,7 +281,7 @@
- 
- 		dv->type = sv->type;
- 		if (dv->type == TYPE_ADR) {
--			dv->typeinfo = sv->typeinfo;
-+			typeinfo_t::clone(sv->typeinfo, dv->typeinfo);
- 		}
- 	}
- 	return true;
-diff --git cacao/cacao/src/vm/jit/verify/typeinfo.cpp cacao/cacao/src/vm/jit/verify/typeinfo.cpp
---- cacao/cacao/src/vm/jit/verify/typeinfo.cpp
-+++ cacao/cacao/src/vm/jit/verify/typeinfo.cpp
-@@ -1674,6 +1674,7 @@
- 	classref_or_classinfo common;
- 	classref_or_classinfo elementclass;
- 	int dimension;
-+	ArrayType new_elementtype;
- 	bool changed;
- 	typecheck_result r;
- 
-@@ -1784,23 +1785,23 @@
-          * interpret it as an array (same dim. as x) of Arraystubs. */
-         if (x->dimension < src->dimension) {
-             dimension = x->dimension;
--            elementtype = ARRAYTYPE_OBJECT;
-+            new_elementtype = ARRAYTYPE_OBJECT;
-             elementclass.cls = pseudo_class_Arraystub;
-         }
-         else {
-             dimension    = src->dimension;
--            elementtype  = src->elementtype;
-+            new_elementtype = src->elementtype;
-             elementclass = src->elementclass;
-         }
-         
-         /* {The arrays are of the same dimension.} */
-         
--        if (x->elementtype != elementtype) {
-+        if (x->elementtype != new_elementtype) {
-             /* Different element types are merged, so the resulting array
-              * type has one accessible dimension less. */
-             if (--dimension == 0) {
-                 common.cls       = pseudo_class_Arraystub;
--                elementtype      = ARRAYTYPE_INT;
-+                new_elementtype = ARRAYTYPE_INT;
-                 elementclass.any = NULL;
-             }
-             else {
-@@ -1810,14 +1811,14 @@
- 					return typecheck_FAIL;
- 				}
- 
--                elementtype      = ARRAYTYPE_OBJECT;
-+                new_elementtype = ARRAYTYPE_OBJECT;
-                 elementclass.cls = pseudo_class_Arraystub;
-             }
-         }
-         else {
-             /* {The arrays have the same dimension and elementtype.} */
- 
--            if (elementtype == ARRAYTYPE_OBJECT) {
-+            if (new_elementtype == ARRAYTYPE_OBJECT) {
-                 /* The elements are references, so their respective
-                  * types must be merged.
-                  */
-@@ -1862,7 +1863,7 @@
- 		changed |= r;
- 
-         dimension        = 0;
--        elementtype      = ARRAYTYPE_INT;
-+        new_elementtype = ARRAYTYPE_INT;
-         elementclass.any = NULL;
-     }
- 
-@@ -1876,8 +1877,8 @@
-         this->dimension = dimension;
-         changed = true;
-     }
--    if (this->elementtype != elementtype) {
--        this->elementtype = elementtype;
-+    if (elementtype != new_elementtype) {
-+        elementtype = new_elementtype;
-         changed = true;
-     }
-     if (this->elementclass.any != elementclass.any) {
-diff --git cacao/cacao/src/vm/resolve.cpp cacao/cacao/src/vm/resolve.cpp
---- cacao/cacao/src/vm/resolve.cpp
-+++ cacao/cacao/src/vm/resolve.cpp
-@@ -703,7 +703,7 @@
- 
- 	/* uninitialized objects are illegal here */
- 
--	if (subtinfo->is_primitive()) {
-+	if (subtinfo->is_newobject()) {
- 		exceptions_throw_verifyerror(refmethod,
- 				"Invalid use of uninitialized object");
- 		return resolveFailed;
diff -r d4666165e486 -r 7fd913249ef5 patches/cacao/pr2908-missing_functions.patch
--- a/patches/cacao/pr2908-missing_functions.patch	Fri Apr 01 08:28:03 2016 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-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;


More information about the distro-pkg-dev mailing list