Mercurial > hg > release > icedtea6-1.5
changeset 1517:b9c3b68cc5d7
2009-05-08 Gary Benson <gbenson@redhat.com>
* Makefile.am: Always apply Zero and Shark patches.
* patches/icedtea-test-atomic-operations.patch: Only test on Zero.
* patches/icedtea-eclipse-hotspot-6614100-7b24.patch: Removed.
* HACKING: Updated.
author | Gary Benson <gbenson@redhat.com> |
---|---|
date | Fri, 08 May 2009 15:49:54 +0100 |
parents | bce6f516052d |
children | 4f5f97dc74fb |
files | ChangeLog HACKING Makefile.am patches/icedtea-eclipse-hotspot-6614100-7b24.patch patches/icedtea-test-atomic-operations.patch |
diffstat | 5 files changed, 25 insertions(+), 121 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Fri May 08 14:47:09 2009 +0100 +++ b/ChangeLog Fri May 08 15:49:54 2009 +0100 @@ -1,3 +1,10 @@ +2009-05-08 Gary Benson <gbenson@redhat.com> + + * Makefile.am: Always apply Zero and Shark patches. + * patches/icedtea-test-atomic-operations.patch: Only test on Zero. + * patches/icedtea-eclipse-hotspot-6614100-7b24.patch: Removed. + * HACKING: Updated. + 2009-05-08 Andrew Haley <aph@redhat.com> * patches/icedtea-lcms-2.patch: Work around lcms breakage. See
--- a/HACKING Fri May 08 14:47:09 2009 +0100 +++ b/HACKING Fri May 08 15:49:54 2009 +0100 @@ -97,6 +97,12 @@ * icedtea-java2d-stroker-internal-joint.patch: Fix penultimate joint created by GeneralPath.closePath(). * icedtea-java2d-stroker-internal-close-joint.patch: Fix final joint created by GeneralPath.closePath(). * icedtea-cacao.patch: For the 'java' command, create new thread depending on the current VM. +* icedtea-bytecodeInterpreter.patch: Replace fast opcodes with opc_default. +* icedtea-ia64-bugfix.patch: Remove workaround for IA64 GCC bug. +* icedtea-signature-iterator.patch: Add zero-specific signature handling. +* icedtea-test-atomic-operations.patch: Add check to see if GCC's sync_lock_test works. +* icedtea-zero.patch: Generalise architecture support, add ARM and #ifdef out non-zero applicable parts. +* icedtea-shark.patch: Add support for the Shark JIT. The following patches are only applied to OpenJDK6 in IcedTea6: @@ -108,6 +114,7 @@ * icedtea-timezone.patch : Makes java only look for time zone information in /etc/sysconfig/clock if /etc/localtime is not found (fix for rh-489586) * icedtea-dnd-filelists.patch: Fix drag and drop behaviour when dragging a file list between JVMs (S5079469). Backported from OpenJDK. +* icedtea-signed-types-hot6.patch: Make use of unsigned/signed types explicit. The following patches are only applied to OpenJDK in IcedTea: @@ -123,23 +130,6 @@ java.lang.Double and java.lang.Float. * icedtea-ecj-pr261.patch: Adds a couple of classes that are omitted from rt.jar. (PR261) -The following patches are only applied for IcedTea builds using the zero-assembler: - -* icedtea-bytecodeInterpreter.patch: Replace fast opcodes with opc_default. -* icedtea-eclipse-hotspot-6614100-7b24.patch: Fix Eclipse crash (S6614100). Fixed in OpenJDK7 b29/hs13. -* icedtea-ia64-bugfix.patch: Remove workaround for IA64 GCC bug. -* icedtea-signature-iterator.patch: Add zero-specific signature handling. -* icedtea-test-atomic-operations.patch: Add check to see if GCC's sync_lock_test works. -* icedtea-zero.patch: Generalise architecture support, add ARM and #ifdef out non-zero applicable parts. - -The following patches are only applied for IcedTea builds not using the zero-assembler: - -* icedtea-signed-types-hot6.patch: Make use of unsigned/signed types explicit. - -The following patches are only applied for IcedTea builds using the Shark JIT: - -* icedtea-shark.patch: Add support for the Shark JIT. - The following patches are only applied when building with experimental NetX plugin support: * icedtea-netx-plugin.patch: Use NetxPanel instead of AppletViewerPanel. @@ -173,3 +163,4 @@ * icedtea-hotspot-citypeflow.patch: Not required with HS14. * icedtea-core-zero-build.patch: Not required with HS14. * icedtea-bytecodeInterpreterWithChecks.patch: Same as icedtea-xslfix.patch (OpenJDK6 only, S6707485); not required with HS14. +* icedtea-eclipse-hotspot-6614100-7b24.patch: Fix Eclipse crash (S6614100). Fixed in OpenJDK7 b29/hs13. Not required with HS14.
--- a/Makefile.am Fri May 08 14:47:09 2009 +0100 +++ b/Makefile.am Fri May 08 15:49:54 2009 +0100 @@ -459,21 +459,6 @@ patches/hotspot/$(HSBUILD)/icedtea-gcc-4.3.patch endif -# Zero patches -ZERO_PATCHES = \ - patches/hotspot/$(HSBUILD)/icedtea-bytecodeInterpreter.patch \ - patches/icedtea-signature-iterator.patch \ - patches/icedtea-test-atomic-operations.patch \ - patches/icedtea-zero.patch \ - patches/icedtea-ia64-bugfix.patch \ - patches/hotspot/$(HSBUILD)/icedtea-parisc-opt.patch - -if ZERO_BUILD - ZERO_PATCHES_COND = $(ZERO_PATCHES) -else - ZERO_PATCHES_COND = -endif - # Patches needed when not using the newer OpenJDK 7 HotSpot OLD_HOTSPOT_PATCHES = \ patches/icedtea-signed-types-hot6.patch \ @@ -487,17 +472,15 @@ OLD_HOTSPOT_PATCHES_COND = $(OLD_HOTSPOT_PATCHES) endif -# If Shark is required, apply shark patch -if SHARK_BUILD - SHARK_PATCH = patches/hotspot/$(HSBUILD)/icedtea-shark.patch -else - SHARK_PATCH = -endif - ICEDTEA_FSG_PATCHES = ICEDTEA_PATCHES = \ - $(ZERO_PATCHES_COND) \ + patches/hotspot/$(HSBUILD)/icedtea-bytecodeInterpreter.patch \ + patches/icedtea-signature-iterator.patch \ + patches/icedtea-test-atomic-operations.patch \ + patches/icedtea-zero.patch \ + patches/icedtea-ia64-bugfix.patch \ + patches/hotspot/$(HSBUILD)/icedtea-parisc-opt.patch \ $(OLD_HOTSPOT_PATCHES_COND) \ patches/icedtea-version.patch \ patches/hotspot/$(HSBUILD)/icedtea-version.patch \ @@ -557,7 +540,7 @@ patches/hotspot/$(HSBUILD)/icedtea-use-idx_t.patch \ patches/hotspot/$(HSBUILD)/icedtea-params-cast-size_t.patch \ patches/icedtea-clean-crypto.patch \ - $(SHARK_PATCH) \ + patches/hotspot/$(HSBUILD)/icedtea-shark.patch \ $(GCC_PATCH) \ patches/icedtea-arch.patch \ patches/icedtea-lc_ctype.patch \
--- a/patches/icedtea-eclipse-hotspot-6614100-7b24.patch Fri May 08 14:47:09 2009 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,77 +0,0 @@ - -# HG changeset patch -# User never -# Date 1212727493 25200 -# Node ID 65fe2bd8883932456557957163bf5c4e4af79469 -# Parent d4dbd9f91680840f6c719b0d23942b4d4eb00837 -6614100: EXCEPTION_ACCESS_VIOLATION while running Eclipse with 1.6.0_05-ea -Reviewed-by: kvn, jrose, rasbold - ---- openjdk/hotspot/src/share/vm/opto/cfgnode.cpp Thu Jun 05 15:43:18 2008 -0700 -+++ openjdk/hotspot/src/share/vm/opto/cfgnode.cpp Thu Jun 05 21:44:53 2008 -0700 -@@ -1621,64 +1621,6 @@ Node *PhiNode::Ideal(PhaseGVN *phase, bo - if (opt != NULL) return opt; - } - -- if (in(1) != NULL && in(1)->Opcode() == Op_AddP && can_reshape) { -- // Try to undo Phi of AddP: -- // (Phi (AddP base base y) (AddP base2 base2 y)) -- // becomes: -- // newbase := (Phi base base2) -- // (AddP newbase newbase y) -- // -- // This occurs as a result of unsuccessful split_thru_phi and -- // interferes with taking advantage of addressing modes. See the -- // clone_shift_expressions code in matcher.cpp -- Node* addp = in(1); -- const Type* type = addp->in(AddPNode::Base)->bottom_type(); -- Node* y = addp->in(AddPNode::Offset); -- if (y != NULL && addp->in(AddPNode::Base) == addp->in(AddPNode::Address)) { -- // make sure that all the inputs are similar to the first one, -- // i.e. AddP with base == address and same offset as first AddP -- bool doit = true; -- for (uint i = 2; i < req(); i++) { -- if (in(i) == NULL || -- in(i)->Opcode() != Op_AddP || -- in(i)->in(AddPNode::Base) != in(i)->in(AddPNode::Address) || -- in(i)->in(AddPNode::Offset) != y) { -- doit = false; -- break; -- } -- // Accumulate type for resulting Phi -- type = type->meet(in(i)->in(AddPNode::Base)->bottom_type()); -- } -- Node* base = NULL; -- if (doit) { -- // Check for neighboring AddP nodes in a tree. -- // If they have a base, use that it. -- for (DUIterator_Fast kmax, k = this->fast_outs(kmax); k < kmax; k++) { -- Node* u = this->fast_out(k); -- if (u->is_AddP()) { -- Node* base2 = u->in(AddPNode::Base); -- if (base2 != NULL && !base2->is_top()) { -- if (base == NULL) -- base = base2; -- else if (base != base2) -- { doit = false; break; } -- } -- } -- } -- } -- if (doit) { -- if (base == NULL) { -- base = new (phase->C, in(0)->req()) PhiNode(in(0), type, NULL); -- for (uint i = 1; i < req(); i++) { -- base->init_req(i, in(i)->in(AddPNode::Base)); -- } -- phase->is_IterGVN()->register_new_node_with_optimizer(base); -- } -- return new (phase->C, 4) AddPNode(base, base, y); -- } -- } -- } -- - // Split phis through memory merges, so that the memory merges will go away. - // Piggy-back this transformation on the search for a unique input.... - // It will be as if the merged memory is the unique value of the phi. -
--- a/patches/icedtea-test-atomic-operations.patch Fri May 08 14:47:09 2009 +0100 +++ b/patches/icedtea-test-atomic-operations.patch Fri May 08 15:49:54 2009 +0100 @@ -5,11 +5,11 @@ jint result = JNI_ERR; DT_RETURN_MARK(CreateJavaVM, jint, (const jint&)result); -+ // We're about to use Atomic::xchg for locking. On zero platforms ++ // We're about to use Atomic::xchg for locking. On Zero platforms + // this is implemented using the GCC builtin __sync_lock_test_and_set + // which is not guaranteed to do what we're using it for on all + // platforms. So we check it works before doing anything else. -+#ifdef ASSERT ++#if defined(ZERO) && defined(ASSERT) + { + jint a = 0xCAFEBABE; + jint b = Atomic::xchg(0xC0FFEE, &a); @@ -18,7 +18,7 @@ + assert(a == 0xC0FFEE && b == (jint) 0xCAFEBABE, "Atomic::xchg() works"); + assert(c == &b && d == &a, "Atomic::xchg_ptr() works"); + } -+#endif // ASSERT ++#endif // ZERO && ASSERT + // At the moment it's only possible to have one Java VM, // since some of the runtime state is in global variables.