# HG changeset patch # User Andrew John Hughes # Date 1242849048 -3600 # Node ID bbac5c54022bc8840967cfe28e9eb93aa537bf2e # Parent 9fdc241371af2c0fd234aec7aecae350e46b4d29 Always apply Zero/Shark patches. 2009-05-20 Andrew John Hughes * HACKING: Updated. 2009-05-08 Gary Benson * Makefile.am: Always apply Zero and Shark patches. * patches/icedtea-test-atomic-operations.patch: Only test on Zero. * HACKING: Updated. diff -r 9fdc241371af -r bbac5c54022b ChangeLog --- a/ChangeLog Wed May 20 20:43:04 2009 +0100 +++ b/ChangeLog Wed May 20 20:50:48 2009 +0100 @@ -1,3 +1,13 @@ +2009-05-20 Andrew John Hughes + + * HACKING: Updated. + +2009-05-08 Gary Benson + + * Makefile.am: Always apply Zero and Shark patches. + * patches/icedtea-test-atomic-operations.patch: Only test on Zero. + * HACKING: Updated. + 2009-05-20 Andrew John Hughes * acinclude.m4: diff -r 9fdc241371af -r bbac5c54022b HACKING --- a/HACKING Wed May 20 20:43:04 2009 +0100 +++ b/HACKING Wed May 20 20:50:48 2009 +0100 @@ -97,6 +97,14 @@ * icedtea-timerqueue.patch: Fix setting of running variable (PR87/S6623943). * icedtea-version.patch: Fix (langtools) ant build to honor fcs MILESTONE setting (S6778493). * icedtea-io_util-overflow.patch: Replace some code to correctly handle overflows. (S6788196) +* icedtea-bytecodeInterpreter.patch: Replace fast opcodes with opc_default. +* icedtea-hotspot7-build-fixes.patch: Remove KERNEL #ifdef. +* icedtea-ia64-bugfix.patch: Remove workaround for IA64 GCC bug. +* icedtea-signature-iterator.patch: Add zero-specific signature handling. +* icedtea-signed-types.patch: Make use of unsigned/signed types explicit. +* 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 OpenJDK in IcedTea: @@ -106,7 +114,6 @@ is broken in libgcj 4.3. * icedtea-override.patch: Remove @Override annotation in javax.management.AttributeValueExp (unsupported by ecj < 3.4). -* icedtea-snmp.patch: Remove proprietary SNMP support hooks. The following patches are only applied to the icedtea-ecj bootstrap tree: @@ -127,37 +134,9 @@ * ecj/icedtea-pr40188.patch: Fix names to refer to constants generated by gjavah. * ecj/icedtea-sbcs.patch: Fixes GenerateSBCS.java to not use java.util.Scanner. -The following patches are only applied for IcedTea builds using the zero-assembler: +The following patches are only applied when building with the CACAO virtual machine: -* icedtea-bytecodeInterpreter.patch: Replace fast opcodes with opc_default. -* icedtea-bytecodeInterpreterWithChecks.patch: Same as icedtea-xslfix.patch (OpenJDK6 only, S6707485). -* icedtea-eclipse-hotspot-6614100-7b24.patch: Fix Eclipse crash (S6614100). Fixed in OpenJDK7 b29/hs13. -* icedtea-hotspot-6b12-7b24.patch: Upgrade to HotSpot from OpenJDK b24 (OpenJDK6 only). - - Never edit this patch. It should be regenerated by unzipping the - openjdk6 build you're using into openjdk6, and the openjdk7 build - you want to use into openjdk, then running: - diff -ruNb openjdk{6,}/hotspot/src/share > icedtea-hotspot-6bXX-7bYY.patch - diff -ruNb openjdk{6,}/hotspot/src/os/linux >> icedtea-hotspot-6bXX-7bYY.patch -* icedtea-hotspot7-build-fixes.patch: Remove KERNEL #ifdef. -* icedtea-ia64-bugfix.patch: Remove workaround for IA64 GCC bug. -* icedtea-signature-iterator.patch: Add zero-specific signature handling. -* icedtea-signed-types.patch: Make use of unsigned/signed types explicit. -* 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. - -The following patches are only applied when building with the CACAO virtual machine: +* cacao/ignore-tests.patch: Ignore tests known to fail on CACAO. The following patches are to support Xrender pipeline (-Dsun.java2d.xrender): @@ -200,3 +179,11 @@ * icedtea-license-headers.patch: Generate GPL header from automulti tool (PR148/S6713083). * icedtea-cc-interp-no-fer.patch: Replaced with icedtea-cc-interp-jvmti.patch, of which it is a subset. * icedtea-sound.patch: Remove proprietary MIDI support hooks. +* icedtea-hotspot-6b12-7b24.patch: Upgrade to HotSpot from OpenJDK b24 (OpenJDK6 only). + - Never edit this patch. It should be regenerated by unzipping the + openjdk6 build you're using into openjdk6, and the openjdk7 build + you want to use into openjdk, then running: + diff -ruNb openjdk{6,}/hotspot/src/share > icedtea-hotspot-6bXX-7bYY.patch + diff -ruNb openjdk{6,}/hotspot/src/os/linux >> icedtea-hotspot-6bXX-7bYY.patch +* icedtea-bytecodeInterpreterWithChecks.patch: Same as icedtea-xslfix.patch (OpenJDK6 only, S6707485). +* icedtea-eclipse-hotspot-6614100-7b24.patch: Fix Eclipse crash (S6614100). Fixed in OpenJDK7 b29/hs13. diff -r 9fdc241371af -r bbac5c54022b Makefile.am --- a/Makefile.am Wed May 20 20:43:04 2009 +0100 +++ b/Makefile.am Wed May 20 20:50:48 2009 +0100 @@ -1869,33 +1869,6 @@ # when in an official bxx release) OPENJDK_PATCHES = -# If ZERO_BUILD is set then we are building zero. -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 - -# Patches needed when not using the newer OpenJDK 7 HotSpot for zero. -NON_ZERO_PATCHES = - -if ZERO_BUILD - ZERO_PATCHES_COND = $(ZERO_PATCHES) -else - ZERO_PATCHES_COND = -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 = \ patches/icedtea-version.patch \ patches/hotspot/$(HSBUILD)/icedtea-version.patch \ @@ -1949,7 +1922,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-signed-types.patch \ @@ -1965,7 +1938,12 @@ patches/icedtea-testenv.patch \ patches/icedtea-pr261.patch \ patches/icedtea-doc-headers.patch \ - $(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 patches/security/icedtea-6592792.patch \ patches/security/icedtea-6733959.patch \ patches/security/icedtea-6755943.patch \ diff -r 9fdc241371af -r bbac5c54022b patches/icedtea-test-atomic-operations.patch --- a/patches/icedtea-test-atomic-operations.patch Wed May 20 20:43:04 2009 +0100 +++ b/patches/icedtea-test-atomic-operations.patch Wed May 20 20:50:48 2009 +0100 @@ -9,7 +9,7 @@ + // 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.