/hg/release/icedtea7-2.3: 7 new changesets
andrew at icedtea.classpath.org
andrew at icedtea.classpath.org
Fri Mar 28 12:31:21 UTC 2014
changeset c412c251e4c0 in /hg/release/icedtea7-2.3
details: http://icedtea.classpath.org/hg/release/icedtea7-2.3?cmd=changeset;node=c412c251e4c0
author: Andrew John Hughes <gnu_andrew at member.fsf.org>
date: Wed Mar 26 14:45:38 2014 +0000
Prepare for 2.3.14 release cycle.
2014-03-26 Andrew John Hughes <gnu.andrew at member.fsf.org>
* NEWS: Set release date to today.
* configure.ac: Set to 2.3.14.
changeset 92ea9fe53505 in /hg/release/icedtea7-2.3
details: http://icedtea.classpath.org/hg/release/icedtea7-2.3?cmd=changeset;node=92ea9fe53505
author: Andrew John Hughes <gnu_andrew at member.fsf.org>
date: Wed Mar 26 23:23:37 2014 +0000
Include zero patches directory in tarball and backport post-7023639 ARM32 JIT patch.
2014-03-26 Andrew John Hughes <gnu.andrew at member.fsf.org>
* Makefile.am:
(ICEDTEA_PATCHES): Add ARM hs24 support patch.
(EXTRA_DIST): Include zero patches directory.
* NEWS: Mention PR1626.
* patches/zero/arm-7023639.patch: Backport of
most of PR1626, as applicable to hs23 +
S7023639.
changeset 531847dfec6f in /hg/release/icedtea7-2.3
details: http://icedtea.classpath.org/hg/release/icedtea7-2.3?cmd=changeset;node=531847dfec6f
author: Andrew John Hughes <gnu_andrew at member.fsf.org>
date: Thu Mar 27 03:50:20 2014 +0000
Perform configure checks using ecj.jar if native ecj is enabled.
2014-03-26 Andrew John Hughes <gnu.andrew at member.fsf.org>
Perform configure checks using ecj.jar
if native ecj is enabled.
* Makefile.am:
(native-ecj): Link against gcj explicitly.
* acinclude.m4:
(IT_FIND_COMPILER): Run IT_WITH_GCJ
and set JAVAC to an invocation of the ECJ_JAR
if native ecj is used. Depend on IT_FIND_JAVA
and IT_FIND_ECJ_JAR for this.
(IT_FIND_ECJ_JAR): Define only once.
(IT_WITH_GCJ): Likewise.
(IT_DIAMOND_CHECK): Depend on IT_CHECK_JAVA_AND_JAVAC_WORK.
* configure.ac: Remove invocation of IT_WITH_GCJ.
changeset ed2108ad126a in /hg/release/icedtea7-2.3
details: http://icedtea.classpath.org/hg/release/icedtea7-2.3?cmd=changeset;node=ed2108ad126a
author: Andrew John Hughes <gnu_andrew at member.fsf.org>
date: Thu Mar 27 04:19:17 2014 +0000
Allow JSR292 patches to be turned on or off, independently of Zero.
2014-03-26 Andrew John Hughes <gnu.andrew at member.fsf.org>
* patches/zero/7023639-8000780-jsr292_fast_path.patch,
* patches/zero/7192406-exact_return_type_info.patch,
* patches/zero/7196242-loopsandthreads_crashed.patch,
* patches/zero/7200949-jruby_fail.patch,
* patches/zero/8029507-jvm_method_processing.patch,
* patches/zero/arm-7023639.patch: Move patches to...
* INSTALL: Document --enable-jsr292-update.
* Makefile.am:
(ICEDTEA_PATCHES): Fix path to JSR292 patches and
enable if JSR292 update option is on, rather than tying
the patches to Zero.
(EXTRA_DIST): Update path to JSR292 patches.
* acinclude.m4:
(IT_ENABLE_ARM32JIT): Fix text regarding default.
(IT_ENABLE_JSR292_UPDATE): Turn on or off the JSR292 patches.
They are on by default if building Zero without the ARM32 JIT.
* configure.ac: Replace invocation of IT_ENABLE_ARM32JIT with
IT_ENABLE_JSR292_UPDATE (which depends on the former).
* patches/jsr292/7023639-8000780-jsr292_fast_path.patch,
* patches/jsr292/7192406-exact_return_type_info.patch,
* patches/jsr292/7196242-loopsandthreads_crashed.patch,
* patches/jsr292/7200949-jruby_fail.patch,
* patches/jsr292/8029507-jvm_method_processing.patch,
* patches/jsr292/arm-7023639.patch: ... here.
changeset ecb7a4569122 in /hg/release/icedtea7-2.3
details: http://icedtea.classpath.org/hg/release/icedtea7-2.3?cmd=changeset;node=ecb7a4569122
author: Andrew John Hughes <gnu_andrew at member.fsf.org>
date: Thu Mar 27 04:21:32 2014 +0000
Update NEWS with recent changes.
2014-03-26 Andrew John Hughes <gnu.andrew at member.fsf.org>
* NEWS: Update with recent changes.
changeset 0d41c744e17e in /hg/release/icedtea7-2.3
details: http://icedtea.classpath.org/hg/release/icedtea7-2.3?cmd=changeset;node=0d41c744e17e
author: Andrew John Hughes <gnu_andrew at member.fsf.org>
date: Fri Mar 28 12:07:01 2014 +0000
Update release date.
2014-03-28 Andrew John Hughes <gnu.andrew at member.fsf.org>
* NEWS: Update release date.
changeset 8a7b22cf755e in /hg/release/icedtea7-2.3
details: http://icedtea.classpath.org/hg/release/icedtea7-2.3?cmd=changeset;node=8a7b22cf755e
author: Andrew John Hughes <gnu_andrew at member.fsf.org>
date: Fri Mar 28 12:31:02 2014 +0000
Added tag icedtea-2.3.14 for changeset 0d41c744e17e
diffstat:
.hgtags | 1 +
ChangeLog | 66 +
INSTALL | 1 +
Makefile.am | 16 +-
NEWS | 16 +-
acinclude.m4 | 48 +-
configure.ac | 5 +-
patches/jsr292/7023639-8000780-jsr292_fast_path.patch | 28468 ++++++++++++++++
patches/jsr292/7192406-exact_return_type_info.patch | 660 +
patches/jsr292/7196242-loopsandthreads_crashed.patch | 124 +
patches/jsr292/7200949-jruby_fail.patch | 1045 +
patches/jsr292/8029507-jvm_method_processing.patch | 215 +
patches/jsr292/arm-7023639.patch | 361 +
patches/zero/7023639-8000780-jsr292_fast_path.patch | 28468 ----------------
patches/zero/7192406-exact_return_type_info.patch | 660 -
patches/zero/7196242-loopsandthreads_crashed.patch | 124 -
patches/zero/7200949-jruby_fail.patch | 1045 -
patches/zero/8029507-jvm_method_processing.patch | 215 -
18 files changed, 31006 insertions(+), 30532 deletions(-)
diffs (truncated from 61728 to 500 lines):
diff -r 2413c19a0afe -r 8a7b22cf755e .hgtags
--- a/.hgtags Tue Mar 25 15:37:38 2014 +0000
+++ b/.hgtags Fri Mar 28 12:31:02 2014 +0000
@@ -50,3 +50,4 @@
05dd3f8c99d9f7682f2913105e0dbfca1d54574c icedtea-2.3.11
15f12a7b52afd256dab7f6eb91050714e33871a9 icedtea-2.3.12
1ced129674a58a8dec5ce2ceb11d8dd6407aa2af icedtea-2.3.13
+0d41c744e17e10b26e7ef4b2311b2cce531c0271 icedtea-2.3.14
diff -r 2413c19a0afe -r 8a7b22cf755e ChangeLog
--- a/ChangeLog Tue Mar 25 15:37:38 2014 +0000
+++ b/ChangeLog Fri Mar 28 12:31:02 2014 +0000
@@ -1,3 +1,69 @@
+2014-03-28 Andrew John Hughes <gnu.andrew at member.fsf.org>
+
+ * NEWS: Update release date.
+
+2014-03-26 Andrew John Hughes <gnu.andrew at member.fsf.org>
+
+ * NEWS: Update with recent changes.
+
+2014-03-26 Andrew John Hughes <gnu.andrew at member.fsf.org>
+
+ * patches/zero/7023639-8000780-jsr292_fast_path.patch,
+ * patches/zero/7192406-exact_return_type_info.patch,
+ * patches/zero/7196242-loopsandthreads_crashed.patch,
+ * patches/zero/7200949-jruby_fail.patch,
+ * patches/zero/8029507-jvm_method_processing.patch,
+ * patches/zero/arm-7023639.patch: Move patches to...
+ * INSTALL: Document --enable-jsr292-update.
+ * Makefile.am:
+ (ICEDTEA_PATCHES): Fix path to JSR292 patches and
+ enable if JSR292 update option is on, rather than tying
+ the patches to Zero.
+ (EXTRA_DIST): Update path to JSR292 patches.
+ * acinclude.m4:
+ (IT_ENABLE_ARM32JIT): Fix text regarding default.
+ (IT_ENABLE_JSR292_UPDATE): Turn on or off the JSR292 patches.
+ They are on by default if building Zero without the ARM32 JIT.
+ * configure.ac: Replace invocation of IT_ENABLE_ARM32JIT with
+ IT_ENABLE_JSR292_UPDATE (which depends on the former).
+ * patches/jsr292/7023639-8000780-jsr292_fast_path.patch,
+ * patches/jsr292/7192406-exact_return_type_info.patch,
+ * patches/jsr292/7196242-loopsandthreads_crashed.patch,
+ * patches/jsr292/7200949-jruby_fail.patch,
+ * patches/jsr292/8029507-jvm_method_processing.patch,
+ * patches/jsr292/arm-7023639.patch: ... here.
+
+2014-03-26 Andrew John Hughes <gnu.andrew at member.fsf.org>
+
+ Perform configure checks using ecj.jar
+ if native ecj is enabled.
+ * Makefile.am:
+ (native-ecj): Link against gcj explicitly.
+ * acinclude.m4:
+ (IT_FIND_COMPILER): Run IT_WITH_GCJ
+ and set JAVAC to an invocation of the ECJ_JAR
+ if native ecj is used. Depend on IT_FIND_JAVA
+ and IT_FIND_ECJ_JAR for this.
+ (IT_FIND_ECJ_JAR): Define only once.
+ (IT_WITH_GCJ): Likewise.
+ (IT_DIAMOND_CHECK): Depend on IT_CHECK_JAVA_AND_JAVAC_WORK.
+ * configure.ac: Remove invocation of IT_WITH_GCJ.
+
+2014-03-26 Andrew John Hughes <gnu.andrew at member.fsf.org>
+
+ * Makefile.am:
+ (ICEDTEA_PATCHES): Add ARM hs24 support patch.
+ (EXTRA_DIST): Include zero patches directory.
+ * NEWS: Mention PR1626.
+ * patches/zero/arm-7023639.patch: Backport of
+ most of PR1626, as applicable to hs23 +
+ S7023639.
+
+2014-03-26 Andrew John Hughes <gnu.andrew at member.fsf.org>
+
+ * NEWS: Set release date to today.
+ * configure.ac: Set to 2.3.14.
+
2014-03-24 Andrew John Hughes <gnu.andrew at member.fsf.org>
* NEWS: Updated.
diff -r 2413c19a0afe -r 8a7b22cf755e INSTALL
--- a/INSTALL Tue Mar 25 15:37:38 2014 +0000
+++ b/INSTALL Fri Mar 28 12:31:02 2014 +0000
@@ -176,6 +176,7 @@
* --enable-Werror: Turn gcc & javac warnings into errors.
* --disable-jar-compression: Don't compress the OpenJDK JAR files.
* --disable-downloading: Don't download tarballs if not available; fail instead.
+* --enable-jsr292-update: Patch OpenJDK sources with a backport of S7023639 and associated patches.
Other options may be supplied which enable or disable new features.
These are documented fully in the relevant section below.
diff -r 2413c19a0afe -r 8a7b22cf755e Makefile.am
--- a/Makefile.am Tue Mar 25 15:37:38 2014 +0000
+++ b/Makefile.am Fri Mar 28 12:31:02 2014 +0000
@@ -310,13 +310,14 @@
ICEDTEA_PATCHES += patches/nss-not-enabled-config.patch
endif
-if ZERO_BUILD
+if ENABLE_JSR292
ICEDTEA_PATCHES += \
- patches/zero/7023639-8000780-jsr292_fast_path.patch \
- patches/zero/7196242-loopsandthreads_crashed.patch \
- patches/zero/7192406-exact_return_type_info.patch \
- patches/zero/7200949-jruby_fail.patch \
- patches/zero/8029507-jvm_method_processing.patch
+ patches/jsr292/7023639-8000780-jsr292_fast_path.patch \
+ patches/jsr292/7196242-loopsandthreads_crashed.patch \
+ patches/jsr292/7192406-exact_return_type_info.patch \
+ patches/jsr292/7200949-jruby_fail.patch \
+ patches/jsr292/8029507-jvm_method_processing.patch \
+ patches/jsr292/arm-7023639.patch
endif
ICEDTEA_PATCHES += $(DISTRIBUTION_PATCHES)
@@ -778,6 +779,7 @@
$(top_srcdir)/patches/boot/*.patch \
$(top_srcdir)/patches/cacao/*.patch \
$(top_srcdir)/patches/jamvm/*.patch \
+ $(top_srcdir)/patches/jsr292/*.patch \
tools-copy contrib overlays \
javaws.png javaws.desktop \
jconsole.desktop policytool.desktop \
@@ -1607,7 +1609,7 @@
mkdir -p stamps
if BUILD_NATIVE_ECJ
${GCJ} $(IT_CFLAGS) -Wl,-Bsymbolic -findirect-dispatch -o native-ecj \
- --main=org.eclipse.jdt.internal.compiler.batch.Main ${ECJ_JAR}
+ --main=org.eclipse.jdt.internal.compiler.batch.Main -lgcj ${ECJ_JAR}
endif
touch $@
diff -r 2413c19a0afe -r 8a7b22cf755e NEWS
--- a/NEWS Tue Mar 25 15:37:38 2014 +0000
+++ b/NEWS Fri Mar 28 12:31:02 2014 +0000
@@ -10,20 +10,20 @@
CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
-New in release 2.3.14 (2014-01-XX):
+New in release 2.3.14 (2014-03-28):
* Security fixes
- - S7023639, CVE-2013-5838: JSR 292 method handle invocation needs a fast path for compiled code (Zero only)
- - S8029507, CVE-2013-5893: Enhance JVM method processing (Zero only)
+ - S7023639, CVE-2013-5838: JSR 292 method handle invocation needs a fast path for compiled code (JSR292 update only)
+ - S8029507, CVE-2013-5893: Enhance JVM method processing (JSR292 update only)
* Backports
- S7024118: possible hardcoded mnemonic for JFileChooser metal and motif l&f
- S7032018: The file list in JFileChooser does not have an accessible name
- S7032436: When running with the Nimbus look and feel, the JFileChooser does not display mnemonics
- S7151089: PS NUMA: NUMA allocator should not attempt to free pages when using SHM large pages
- - S7192406: JSR 292: C2 needs exact return type information for invokedynamic and invokehandle call sites (Zero only)
- - S7196242: vm/mlvm/indy/stress/java/loopsAndThreads crashed (Zero only)
- - S7200949: JSR 292: rubybench/bench/time/bench_base64.rb fails with jruby.jar not on boot class path (Zero only)
- - S8000780: make Zero build and run with JDK8 (Zero only)
+ - S7192406: JSR 292: C2 needs exact return type information for invokedynamic and invokehandle call sites (JSR292 update only)
+ - S7196242: vm/mlvm/indy/stress/java/loopsAndThreads crashed (JSR292 update only)
+ - S7200949: JSR 292: rubybench/bench/time/bench_base64.rb fails with jruby.jar not on boot class path (JSR292 update only)
+ - S8000780: make Zero build and run with JDK8 (JSR292 update only)
- S8008764: 7uX l10n resource file translation update
- S8009062: poor performance of JNI AttachCurrentThread after fix for 7017193
- S8013057: assert(_needs_gc || SafepointSynchronize::is_at_safepoint()) failed: only read at safepoint
@@ -53,6 +53,7 @@
- S8035893: JVM_GetVersionInfo fails to zero structure
* Bug fixes
- Fix broken bootstrap build by updating ecj-multicatch.patch
+ - PR1626: ARM32 assembler update for hsx24 (JSR292 update only)
- PR1654: ppc32 needs a larger ThreadStackSize to build
- PR1677, G498288: Update PaX support to detect running PaX kernel and use newer tools
- PR1679: Allow OpenJDK to build on PaX-enabled kernels
@@ -60,6 +61,7 @@
- Re-enable the 'gamma' test at the end of the HotSpot build, but only for HotSpot based bootstrap JDKs.
- RH1015432: java-1.7.0-openjdk: Fails on PPC with StackOverflowError (revised fix)
- RH910107: fail to load PC/SC library
+ - Perform configure checks using ecj.jar when --with-gcj (native ecj build) is enabled.
* New features
- PR1653: Support ppc64le via Zero
* ARM port
diff -r 2413c19a0afe -r 8a7b22cf755e acinclude.m4
--- a/acinclude.m4 Tue Mar 25 15:37:38 2014 +0000
+++ b/acinclude.m4 Fri Mar 28 12:31:02 2014 +0000
@@ -119,9 +119,17 @@
AC_DEFUN([IT_FIND_COMPILER],
[
+ AC_REQUIRE([IT_FIND_JAVA])
+ AC_REQUIRE([IT_FIND_ECJ_JAR])
+
IT_FIND_JAVAC
IT_FIND_ECJ
IT_USING_ECJ
+ IT_WITH_GCJ
+
+ if test x"${GCJ}" != xno ; then
+ JAVAC="${JAVA} -classpath ${ECJ_JAR} org.eclipse.jdt.internal.compiler.batch.Main"
+ fi
AC_SUBST(ECJ)
AC_SUBST(JAVAC)
@@ -308,7 +316,7 @@
AM_CONDITIONAL([SRC_DIR_HARDLINKABLE], test x"${it_cv_hardlink_src}" = "xyes")
])
-AC_DEFUN([IT_FIND_ECJ_JAR],
+AC_DEFUN_ONCE([IT_FIND_ECJ_JAR],
[
AC_MSG_CHECKING([for an ecj JAR file])
AC_ARG_WITH([ecj-jar],
@@ -904,7 +912,7 @@
AM_CONDITIONAL([USE_JDK7], test x"${project}" = "xjdk7")
])
-AC_DEFUN([IT_WITH_GCJ],
+AC_DEFUN_ONCE([IT_WITH_GCJ],
[
AC_MSG_CHECKING([whether to compile ecj natively])
AC_ARG_WITH([gcj],
@@ -1746,6 +1754,7 @@
])
AC_DEFUN([IT_DIAMOND_CHECK],[
+ AC_REQUIRE([IT_CHECK_JAVA_AND_JAVAC_WORK])
AC_CACHE_CHECK([if javac lacks support for the diamond operator], it_cv_diamond, [
CLASS=Test.java
BYTECODE=$(echo $CLASS|sed 's#\.java##')
@@ -2499,7 +2508,7 @@
[
AC_MSG_CHECKING([whether to enable the ARM32 JIT])
AC_ARG_ENABLE([arm32-jit],
- [AS_HELP_STRING(--enable-arm32-jit,build with the ARM32 JIT [[default=no]])],
+ [AS_HELP_STRING(--enable-arm32-jit,build with the ARM32 JIT [[default=yes]])],
[
case "${enableval}" in
yes)
@@ -2516,3 +2525,36 @@
AC_MSG_RESULT([$enable_arm32jit])
AM_CONDITIONAL([ENABLE_ARM32JIT], test x"${enable_arm32jit}" = "xyes")
])
+
+AC_DEFUN([IT_ENABLE_JSR292_UPDATE],
+[
+ AC_REQUIRE([IT_SET_ARCH_SETTINGS])
+ AC_REQUIRE([IT_ENABLE_ZERO_BUILD])
+ AC_REQUIRE([IT_ENABLE_ARM32JIT])
+ AC_MSG_CHECKING([whether to enable the JSR292 update in 7023639])
+ AC_ARG_ENABLE([jsr292-update],
+ [AS_HELP_STRING(--enable-jsr292-update,build with the JSR292 update [[default=yes for zero]])],
+ [
+ case "${enableval}" in
+ yes)
+ enable_jsr292=yes
+ ;;
+ *)
+ enable_jsr292=no
+ ;;
+ esac
+ ],
+ [
+ if test "x${use_zero}" = xyes; then
+ if test "x${JRE_ARCH_DIR}" = xarm -a "x${enable_arm32jit}" = "xyes"; then
+ enable_jsr292=no;
+ else
+ enable_jsr292=yes;
+ fi
+ else
+ enable_jsr292=no;
+ fi
+ ])
+ AC_MSG_RESULT([$enable_jsr292])
+ AM_CONDITIONAL([ENABLE_JSR292], test x"${enable_jsr292}" = "xyes")
+])
diff -r 2413c19a0afe -r 8a7b22cf755e configure.ac
--- a/configure.ac Tue Mar 25 15:37:38 2014 +0000
+++ b/configure.ac Fri Mar 28 12:31:02 2014 +0000
@@ -1,4 +1,4 @@
-AC_INIT([icedtea], [2.3.14pre], [distro-pkg-dev at openjdk.java.net])
+AC_INIT([icedtea], [2.3.14], [distro-pkg-dev at openjdk.java.net])
AM_INIT_AUTOMAKE([1.9 tar-pax foreign])
AC_CONFIG_FILES([Makefile])
@@ -43,7 +43,6 @@
IT_CHECK_FOR_MERCURIAL
IT_OBTAIN_HG_REVISIONS
AC_PATH_TOOL([LSB_RELEASE],[lsb_release])
-IT_WITH_GCJ
IT_WITH_HOTSPOT_BUILD
AC_PATH_TOOL([LINUX32],[linux32])
IT_CHECK_GCC_VERSION
@@ -181,7 +180,7 @@
IT_ENABLE_JAR_COMPRESSION
IT_SET_SHARK_BUILD
IT_CHECK_ADDITIONAL_VMS
-IT_ENABLE_ARM32JIT
+IT_ENABLE_JSR292_UPDATE
IT_WITH_VERSION_SUFFIX
IT_WITH_PROJECT
diff -r 2413c19a0afe -r 8a7b22cf755e patches/jsr292/7023639-8000780-jsr292_fast_path.patch
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/jsr292/7023639-8000780-jsr292_fast_path.patch Fri Mar 28 12:31:02 2014 +0000
@@ -0,0 +1,28468 @@
+# HG changeset patch
+# User andrew
+# Date 1391696693 0
+# Thu Feb 06 14:24:53 2014 +0000
+# Node ID 19ac51ce4be77e6895816f9823bce63a72392e89
+# Parent 3442eb7ef2d216d6bf655d537929a2d31a76a321
+7023639: JSR 292 method handle invocation needs a fast path for compiled code
+6984705: JSR 292 method handle creation should not go through JNI
+Summary: remove assembly code for JDK 7 chained method handles
+Reviewed-by: jrose, twisti, kvn, mhaupt
+Contributed-by: John Rose <john.r.rose at oracle.com>, Christian Thalinger <christian.thalinger at oracle.com>, Michael Haupt <michael.haupt at oracle.com>
+
+8000780: [Backport from jdk8] Fix zero fail to build in icedtea7-head.
+Summary: Update Zero in icedtea7 to use the hsx24 b25+ java level MLVM
+ hooks (MLVM Lazy) now in jdk8 and jdk7u-dev head.
+Reviewed-by: rkennke ( Roman Kenbke )
+
+diff -r 3442eb7ef2d2 -r 19ac51ce4be7 agent/src/share/classes/sun/jvm/hotspot/code/CodeBlob.java
+--- openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/CodeBlob.java Tue Jan 14 20:24:44 2014 -0500
++++ openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/CodeBlob.java Thu Feb 06 14:24:53 2014 +0000
+@@ -93,7 +93,6 @@
+ public boolean isUncommonTrapStub() { return false; }
+ public boolean isExceptionStub() { return false; }
+ public boolean isSafepointStub() { return false; }
+- public boolean isRicochetBlob() { return false; }
+ public boolean isAdapterBlob() { return false; }
+
+ // Fine grain nmethod support: isNmethod() == isJavaMethod() || isNativeMethod() || isOSRMethod()
+diff -r 3442eb7ef2d2 -r 19ac51ce4be7 agent/src/share/classes/sun/jvm/hotspot/code/CodeCache.java
+--- openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/CodeCache.java Tue Jan 14 20:24:44 2014 -0500
++++ openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/CodeCache.java Thu Feb 06 14:24:53 2014 +0000
+@@ -57,7 +57,6 @@
+ virtualConstructor.addMapping("BufferBlob", BufferBlob.class);
+ virtualConstructor.addMapping("nmethod", NMethod.class);
+ virtualConstructor.addMapping("RuntimeStub", RuntimeStub.class);
+- virtualConstructor.addMapping("RicochetBlob", RicochetBlob.class);
+ virtualConstructor.addMapping("AdapterBlob", AdapterBlob.class);
+ virtualConstructor.addMapping("MethodHandlesAdapterBlob", MethodHandlesAdapterBlob.class);
+ virtualConstructor.addMapping("SafepointBlob", SafepointBlob.class);
+@@ -127,10 +126,6 @@
+ Assert.that(result.blobContains(start) || result.blobContains(start.addOffsetTo(8)),
+ "found wrong CodeBlob");
+ }
+- if (result.isRicochetBlob()) {
+- // This should probably be done for other SingletonBlobs
+- return VM.getVM().ricochetBlob();
+- }
+ return result;
+ }
+
+diff -r 3442eb7ef2d2 -r 19ac51ce4be7 agent/src/share/classes/sun/jvm/hotspot/code/RicochetBlob.java
+--- openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/RicochetBlob.java Tue Jan 14 20:24:44 2014 -0500
++++ /dev/null Thu Jan 01 00:00:00 1970 +0000
+@@ -1,70 +0,0 @@
+-/*
+- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+- *
+- * This code is free software; you can redistribute it and/or modify it
+- * under the terms of the GNU General Public License version 2 only, as
+- * published by the Free Software Foundation.
+- *
+- * This code is distributed in the hope that it will be useful, but WITHOUT
+- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+- * version 2 for more details (a copy is included in the LICENSE file that
+- * accompanied this code).
+- *
+- * You should have received a copy of the GNU General Public License version
+- * 2 along with this work; if not, write to the Free Software Foundation,
+- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+- *
+- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+- * or visit www.oracle.com if you need additional information or have any
+- * questions.
+- *
+- */
+-
+-package sun.jvm.hotspot.code;
+-
+-import java.util.*;
+-import sun.jvm.hotspot.debugger.*;
+-import sun.jvm.hotspot.runtime.*;
+-import sun.jvm.hotspot.types.*;
+-
+-/** RicochetBlob (currently only used by Compiler 2) */
+-
+-public class RicochetBlob extends SingletonBlob {
+- static {
+- VM.registerVMInitializedObserver(new Observer() {
+- public void update(Observable o, Object data) {
+- initialize(VM.getVM().getTypeDataBase());
+- }
+- });
+- }
+-
+- private static void initialize(TypeDataBase db) {
+- Type type = db.lookupType("RicochetBlob");
+-
+- bounceOffsetField = type.getCIntegerField("_bounce_offset");
+- exceptionOffsetField = type.getCIntegerField("_exception_offset");
+- }
+-
+- private static CIntegerField bounceOffsetField;
+- private static CIntegerField exceptionOffsetField;
+-
+- public RicochetBlob(Address addr) {
+- super(addr);
+- }
+-
+- public boolean isRicochetBlob() {
+- return true;
+- }
+-
+- public Address bounceAddr() {
+- return codeBegin().addOffsetTo(bounceOffsetField.getValue(addr));
+- }
+-
+- public boolean returnsToBounceAddr(Address pc) {
+- Address bouncePc = bounceAddr();
+- return (pc.equals(bouncePc) || pc.addOffsetTo(Frame.pcReturnOffset()).equals(bouncePc));
+- }
+-
+-}
+diff -r 3442eb7ef2d2 -r 19ac51ce4be7 agent/src/share/classes/sun/jvm/hotspot/runtime/Frame.java
+--- openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Frame.java Tue Jan 14 20:24:44 2014 -0500
++++ openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/Frame.java Thu Feb 06 14:24:53 2014 +0000
+@@ -147,12 +147,6 @@
+ }
+ }
+
+- public boolean isRicochetFrame() {
+- CodeBlob cb = VM.getVM().getCodeCache().findBlob(getPC());
+- RicochetBlob rcb = VM.getVM().ricochetBlob();
+- return (cb == rcb && rcb != null && rcb.returnsToBounceAddr(getPC()));
+- }
+-
+ public boolean isCompiledFrame() {
+ if (Assert.ASSERTS_ENABLED) {
+ Assert.that(!VM.getVM().isCore(), "noncore builds only");
+@@ -216,8 +210,7 @@
+ public Frame realSender(RegisterMap map) {
+ if (!VM.getVM().isCore()) {
+ Frame result = sender(map);
+- while (result.isRuntimeFrame() ||
+- result.isRicochetFrame()) {
++ while (result.isRuntimeFrame()) {
+ result = result.sender(map);
+ }
+ return result;
+@@ -631,9 +624,6 @@
+ if (Assert.ASSERTS_ENABLED) {
+ Assert.that(cb != null, "sanity check");
+ }
+- if (cb == VM.getVM().ricochetBlob()) {
+- oopsRicochetDo(oopVisitor, regMap);
+- }
+ if (cb.getOopMaps() != null) {
+ OopMapSet.oopsDo(this, cb, regMap, oopVisitor, VM.getVM().isDebugging());
+
+@@ -650,10 +640,6 @@
+ // }
+ }
+
+- private void oopsRicochetDo (AddressVisitor oopVisitor, RegisterMap regMap) {
+- // XXX Empty for now
+- }
+-
+ // FIXME: implement the above routines, plus add
+ // oops_interpreted_arguments_do and oops_compiled_arguments_do
+ }
+diff -r 3442eb7ef2d2 -r 19ac51ce4be7 agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java
+--- openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java Tue Jan 14 20:24:44 2014 -0500
++++ openjdk/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java Thu Feb 06 14:24:53 2014 +0000
+@@ -87,8 +87,6 @@
+ private StubRoutines stubRoutines;
+ private Bytes bytes;
+
+- private RicochetBlob ricochetBlob;
+-
+ /** Flags indicating whether we are attached to a core, C1, or C2 build */
+ private boolean usingClientCompiler;
+ private boolean usingServerCompiler;
+@@ -628,18 +626,6 @@
+ return stubRoutines;
+ }
+
+- public RicochetBlob ricochetBlob() {
+- if (ricochetBlob == null) {
+- Type ricochetType = db.lookupType("SharedRuntime");
+- AddressField ricochetBlobAddress = ricochetType.getAddressField("_ricochet_blob");
+- Address addr = ricochetBlobAddress.getValue();
+- if (addr != null) {
+- ricochetBlob = new RicochetBlob(addr);
+- }
+- }
+- return ricochetBlob;
More information about the distro-pkg-dev
mailing list