Mercurial > hg > release > icedtea6-1.10
changeset 2534:6fcb75989c4a
Zero/Shark: PR690: Shark fails to JIT using hs20, PR696: Zero fails to handle fast_aldc and fast_aldc_w in hs20.
2011-08-24 Xerxes Ranby <xerxes@zafena.se>
Zero/Shark
- PR690: Shark fails to JIT using hs20.
- PR696: Zero fails to handle fast_aldc and fast_aldc_w in hs20.
* patches/pr690-shark-jit-hs20.patch: New patch backported from
OpenJDK 7 bug 7032458.
* patches/pr696-zero-fast_aldc-hs20.patch: New patch backported from
OpenJDK 7 bug 7032458 and 7030207.
* Makefile.am: Added new patches.
* NEWS: Updated.
author | Xerxes Ranby <xerxes@zafena.se> |
---|---|
date | Wed, 24 Aug 2011 11:58:13 +0200 |
parents | b4b912ba7688 |
children | d0a7b63adce9 |
files | ChangeLog Makefile.am NEWS patches/pr690-shark-jit-hs20.patch patches/pr696-zero-fast_aldc-hs20.patch |
diffstat | 5 files changed, 123 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Thu Jul 21 15:06:15 2011 +0100 +++ b/ChangeLog Wed Aug 24 11:58:13 2011 +0200 @@ -1,3 +1,15 @@ +2011-08-24 Xerxes RĂ„nby <xerxes@zafena.se> + + Zero/Shark + - PR690: Shark fails to JIT using hs20. + - PR696: Zero fails to handle fast_aldc and fast_aldc_w in hs20. + * patches/pr690-shark-jit-hs20.patch: New patch backported from + OpenJDK 7 bug 7032458. + * patches/pr696-zero-fast_aldc-hs20.patch: New patch backported from + OpenJDK 7 bug 7032458 and 7030207. + * Makefile.am: Added new patches. + * NEWS: Updated. + 2011-07-21 Andrew John Hughes <ahughes@redhat.com> * NEWS: Prepare for 1.10.4.
--- a/Makefile.am Thu Jul 21 15:06:15 2011 +0100 +++ b/Makefile.am Wed Aug 24 11:58:13 2011 +0200 @@ -353,6 +353,8 @@ if WITH_ALT_HSBUILD ICEDTEA_PATCHES += \ patches/pr639-broken_shark_build.patch \ + patches/pr690-shark-jit-hs20.patch \ + patches/pr696-zero-fast_aldc-hs20.patch \ patches/hotspot/$(HSBUILD)/powerpc-stacksize.patch else ICEDTEA_PATCHES += \
--- a/NEWS Thu Jul 21 15:06:15 2011 +0100 +++ b/NEWS Wed Aug 24 11:58:13 2011 +0200 @@ -11,6 +11,10 @@ New in release 1.10.4 (2011-XX-XX): +* Zero/Shark + - PR690: Shark fails to JIT using hs20. + - PR696: Zero fails to handle fast_aldc and fast_aldc_w in hs20. + New in release 1.10.3 (2011-07-21): * Bug fixes
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/pr690-shark-jit-hs20.patch Wed Aug 24 11:58:13 2011 +0200 @@ -0,0 +1,61 @@ +Index: openjdk/hotspot/src/share/vm/shark/sharkCompiler.hpp +=================================================================== +--- openjdk.orig/hotspot/src/share/vm/shark/sharkCompiler.hpp 2011-04-15 14:48:22.175181000 +0200 ++++ openjdk/hotspot/src/share/vm/shark/sharkCompiler.hpp 2011-04-15 16:19:28.915181000 +0200 +@@ -113,7 +113,7 @@ + // Global access + public: + static SharkCompiler* compiler() { +- AbstractCompiler *compiler = CompileBroker::compiler(CompLevel_simple); ++ AbstractCompiler *compiler = CompileBroker::compiler(CompLevel_full_optimization); + assert(compiler->is_shark() && compiler->is_initialized(), "should be"); + return (SharkCompiler *) compiler; + } +Index: openjdk/hotspot/src/share/vm/utilities/globalDefinitions.hpp +=================================================================== +--- openjdk.orig/hotspot/src/share/vm/utilities/globalDefinitions.hpp 2011-04-15 14:54:00.447181000 +0200 ++++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions.hpp 2011-04-15 15:02:25.851181000 +0200 +@@ -740,9 +740,9 @@ + CompLevel_simple = 1, // C1 + CompLevel_limited_profile = 2, // C1, invocation & backedge counters + CompLevel_full_profile = 3, // C1, invocation & backedge counters + mdo +- CompLevel_full_optimization = 4, // C2 ++ CompLevel_full_optimization = 4, // C2 or Shark + +-#if defined(COMPILER2) ++#if defined(COMPILER2) || defined(SHARK) + CompLevel_highest_tier = CompLevel_full_optimization, // pure C2 and tiered + #elif defined(COMPILER1) + CompLevel_highest_tier = CompLevel_simple, // pure C1 +@@ -754,7 +754,7 @@ + CompLevel_initial_compile = CompLevel_full_profile // tiered + #elif defined(COMPILER1) + CompLevel_initial_compile = CompLevel_simple // pure C1 +-#elif defined(COMPILER2) ++#elif defined(COMPILER2) || defined(SHARK) + CompLevel_initial_compile = CompLevel_full_optimization // pure C2 + #else + CompLevel_initial_compile = CompLevel_none +Index: openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp +=================================================================== +--- openjdk.orig/hotspot/src/share/vm/compiler/compileBroker.cpp 2011-04-15 16:05:50.051181001 +0200 ++++ openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp 2011-04-15 16:08:46.127181000 +0200 +@@ -768,7 +768,9 @@ + // Initialize the compilation queue + void CompileBroker::init_compiler_threads(int c1_compiler_count, int c2_compiler_count) { + EXCEPTION_MARK; ++#if !defined(ZERO) && !defined(SHARK) + assert(c2_compiler_count > 0 || c1_compiler_count > 0, "No compilers?"); ++#endif // !ZERO && !SHARK + if (c2_compiler_count > 0) { + _c2_method_queue = new CompileQueue("C2MethodQueue", MethodCompileQueue_lock); + } +@@ -1029,7 +1031,7 @@ + + assert(!HAS_PENDING_EXCEPTION, "No exception should be present"); + // some prerequisites that are compiler specific +- if (compiler(comp_level)->is_c2()) { ++ if (compiler(comp_level)->is_c2() || compiler(comp_level)->is_shark()) { + method->constants()->resolve_string_constants(CHECK_0); + // Resolve all classes seen in the signature of the method + // we are compiling.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/pr696-zero-fast_aldc-hs20.patch Wed Aug 24 11:58:13 2011 +0200 @@ -0,0 +1,44 @@ +Index: openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp +=================================================================== +--- openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp Sun Apr 03 12:00:54 2011 +0200 ++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp Mon Apr 04 03:02:00 2011 -0700 +@@ -568,7 +568,7 @@ BytecodeInterpreter::run(interpreterStat + /* 0xDC */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, + + /* 0xE0 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, +-/* 0xE4 */ &&opc_default, &&opc_return_register_finalizer, &&opc_default, &&opc_default, ++/* 0xE4 */ &&opc_default, &&opc_default, &&opc_default, &&opc_return_register_finalizer, + /* 0xE8 */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, + /* 0xEC */ &&opc_default, &&opc_default, &&opc_default, &&opc_default, + +# HG changeset patch +# User twisti +# Date 1300957910 25200 +# Node ID 151da0c145a8e4de263740273ec10c0eb46b30d0 +# Parent 9dc311b8473e0259a5de3f9358ca94de3990d692 +7030207: Zero tweak to remove accidentally incorporated code +Summary: IcedTea contains a now-unmaintained ARM-specific interpreter and part of that interpreter was accidentally incorporated in one of the webrevs when Zero was initially imported. +Reviewed-by: twisti +Contributed-by: Gary Benson <gbenson@redhat.com> + +--- openjdk.orig/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp Mon Mar 21 11:28:14 2011 -0700 ++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp Thu Mar 24 02:11:50 2011 -0700 +@@ -2383,17 +2383,6 @@ run: + } + + DEFAULT: +-#ifdef ZERO +- // Some zero configurations use the C++ interpreter as a +- // fallback interpreter and have support for platform +- // specific fast bytecodes which aren't supported here, so +- // redispatch to the equivalent non-fast bytecode when they +- // are encountered. +- if (Bytecodes::is_defined((Bytecodes::Code)opcode)) { +- opcode = (jubyte)Bytecodes::java_code((Bytecodes::Code)opcode); +- goto opcode_switch; +- } +-#endif + fatal(err_msg("Unimplemented opcode %d = %s", opcode, + Bytecodes::name((Bytecodes::Code)opcode))); + goto finish; +