JDK-6939845 : zero needs fallback path in C++ interpreter for platform dependent fast bytecodes
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: hs18
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris_9
  • CPU: sparc
  • Submitted: 2010-03-31
  • Updated: 2012-10-08
  • Resolved: 2010-04-21
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 JDK 7 Other
6u21pFixed 7Fixed hs18Fixed
Description
diff -r c047da02984c src/share/vm/interpreter/bytecodeInterpreter.cpp
--- a/src/share/vm/interpreter/bytecodeInterpreter.cpp  Wed Mar 17 16:40:25 2010 -0700
+++ b/src/share/vm/interpreter/bytecodeInterpreter.cpp  Wed Mar 31 11:01:02 2010 -0700
@@ -2328,6 +2328,17 @@ 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
          fatal2("\t*** Unimplemented opcode: %d = %s\n",
                 opcode, Bytecodes::name((Bytecodes::Code)opcode));
          goto finish;

Comments
EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot/rev/f61d795ce6de
08-04-2010

EVALUATION See the description.
01-04-2010

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/f61d795ce6de
01-04-2010