Mercurial > hg > icedtea6
changeset 2972:02a65b9914d5
OPENJDK6-4: Backport the new version of copyMemory from OpenJDK 7 to allow Snappy to build
Move jvmtiEnv patch to bundled HotSpot build only.
author | Andrew John Hughes <gnu.andrew@redhat.com> |
---|---|
date | Fri, 22 Mar 2013 14:18:47 +0000 |
parents | 18b6e9eaf3e8 |
children | 241d297ff5e3 |
files | ChangeLog Makefile.am NEWS patches/copy_memory.patch patches/hotspot/original/jvmtiEnv.patch patches/jvmtiEnv.patch |
diffstat | 6 files changed, 67 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Mon Mar 18 21:34:40 2013 +0000 +++ b/ChangeLog Fri Mar 22 14:18:47 2013 +0000 @@ -1,3 +1,15 @@ +2013-03-22 Andrew John Hughes <gnu.andrew@redhat.com> + + * Makefile.am: + (ICEDTEA_PATCHES): Add new patch. Move + jvmtiEnv.patch to bundled HotSpot build only. + * NEWS: Update with new patch, add OpenJDK 6 + JIRA URLs. + * patches/copy_memory.patch: New patch to + add sun.misc.Unsafe.copyMemory method from 7. + * patches/jvmtiEnv.patch: Moved to... + * patches/hotspot/original/jvmtiEnv.patch: here. + 2013-03-18 Andrew John Hughes <gnu.andrew@redhat.com> * Makefile.am:
--- a/Makefile.am Mon Mar 18 21:34:40 2013 +0000 +++ b/Makefile.am Fri Mar 22 14:18:47 2013 +0000 @@ -317,7 +317,6 @@ patches/headers.patch \ patches/gcc-suffix.patch \ patches/libraries.patch \ - patches/jvmtiEnv.patch \ patches/lcms.patch \ patches/uname.patch \ patches/freetypeversion.patch \ @@ -478,7 +477,8 @@ patches/openjdk/8004341-jck_dialog_failure.patch \ patches/pr1319-support_giflib_5.patch \ patches/openjdk/8007393.patch \ - patches/openjdk/8007611.patch + patches/openjdk/8007611.patch \ + patches/copy_memory.patch if WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ @@ -527,7 +527,8 @@ patches/arm-debug.patch \ patches/openjdk/7010849-modernise_sa.patch \ patches/hotspot/original/7197906-handle_32_bit_shifts.patch \ - patches/hotspot/original/fix_get_stack_bounds_leak.patch + patches/hotspot/original/fix_get_stack_bounds_leak.patch \ + patches/hotspot/original/jvmtiEnv.patch endif if WITH_RHINO
--- a/NEWS Mon Mar 18 21:34:40 2013 +0000 +++ b/NEWS Fri Mar 22 14:18:47 2013 +0000 @@ -7,6 +7,7 @@ GX - http://bugs.gentoo.org/show_bug.cgi?id=X CAX - http://server.complang.tuwien.ac.at/cgi-bin/bugzilla/show_bug.cgi?id=X LPX - https://bugs.launchpad.net/bugs/X +OJX - http://java.net/jira/browse/OPENJDK6-X CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY @@ -17,10 +18,11 @@ * Backports - S8009641: OpenJDK 6 build broken via 8007675 fix - S7197906: BlockOffsetArray::power_to_cards_back() needs to handle > 32 bit shifts (bundled HotSpot only) + - OJ3: Fix get_stack_bounds memory leak (alternate fix for S7197906, bundled HotSpot only) + - OJ4: Backport the new version of copyMemory from OpenJDK 7 to allow Snappy to build * Bug fixes - PR1318: Fix automatic enabling of the Zero build on non-JIT architectures which don't use CACAO or JamVM. - RH902004: very bad performance with E-Porto Add-In für OpenOffice Writer installed (hs23 only) - - Fix get_stack_bounds memory leak (alternate fix for S7197906, bundled HotSpot only) New in release 1.12.4 (2013-03-04):
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/copy_memory.patch Fri Mar 22 14:18:47 2013 +0000 @@ -0,0 +1,36 @@ +diff --git a/src/share/classes/sun/misc/Unsafe.java b/src/share/classes/sun/misc/Unsafe.java +--- openjdk/jdk/src/share/classes/sun/misc/Unsafe.java ++++ openjdk/jdk/src/share/classes/sun/misc/Unsafe.java +@@ -504,9 +504,31 @@ + /** + * Sets all bytes in a given block of memory to a copy of another + * block. ++ * ++ * <p>This method determines each block's base address by means of two parameters, ++ * and so it provides (in effect) a <em>double-register</em> addressing mode, ++ * as discussed in {@link #getInt(Object,long)}. When the object reference is null, ++ * the offset supplies an absolute base address. ++ * ++ * <p>The transfers are in coherent (atomic) units of a size determined ++ * by the address and length parameters. If the effective addresses and ++ * length are all even modulo 8, the transfer takes place in 'long' units. ++ * If the effective addresses and length are (resp.) even modulo 4 or 2, ++ * the transfer takes place in units of 'int' or 'short'. + */ +- public native void copyMemory(long srcAddress, long destAddress, ++ public native void copyMemory(Object srcBase, long srcOffset, ++ Object destBase, long destOffset, + long bytes); ++ /** ++ * Sets all bytes in a given block of memory to a copy of another ++ * block. This provides a <em>single-register</em> addressing mode, ++ * as discussed in {@link #getInt(Object,long)}. ++ * ++ * Equivalent to <code>copyMemory(null, srcAddress, null, destAddress, bytes)</code>. ++ */ ++ public void copyMemory(long srcAddress, long destAddress, long bytes) { ++ copyMemory(null, srcAddress, null, destAddress, bytes); ++ } + + /** + * Disposes of a block of native memory, as obtained from {@link
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/original/jvmtiEnv.patch Fri Mar 22 14:18:47 2013 +0000 @@ -0,0 +1,12 @@ +--- openjdk/hotspot/src/share/vm/prims/jvmtiEnv.cpp.old 2009-02-26 17:18:35.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/prims/jvmtiEnv.cpp 2009-02-26 17:16:59.000000000 +0000 +@@ -2702,6 +2702,9 @@ + (*entry_count_ptr) = num_entries; + (*table_ptr) = jvmti_table; + ++ if (num_entries == 0) ++ return JVMTI_ERROR_ABSENT_INFORMATION; ++ + return JVMTI_ERROR_NONE; + } /* end GetLineNumberTable */ +
--- a/patches/jvmtiEnv.patch Mon Mar 18 21:34:40 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,12 +0,0 @@ ---- openjdk/hotspot/src/share/vm/prims/jvmtiEnv.cpp.old 2009-02-26 17:18:35.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/prims/jvmtiEnv.cpp 2009-02-26 17:16:59.000000000 +0000 -@@ -2702,6 +2702,9 @@ - (*entry_count_ptr) = num_entries; - (*table_ptr) = jvmti_table; - -+ if (num_entries == 0) -+ return JVMTI_ERROR_ABSENT_INFORMATION; -+ - return JVMTI_ERROR_NONE; - } /* end GetLineNumberTable */ -