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.