From 8a72fb502e346f3a6ae20136acfcb22ee4225329 Mon Sep 17 00:00:00 2001 From: Edward Nevill Date: Wed, 31 Mar 2010 11:54:03 -0700 Subject: [PATCH] 6939845: zero needs fallback path in C++ interpreter for platform dependent fast bytecodes Reviewed-by: never --- .../src/share/vm/interpreter/bytecodeInterpreter.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp b/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp index 1f0adb487ed..a8400339093 100644 --- a/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp +++ b/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp @@ -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;