# HG changeset patch # User never # Date 1270078150 25200 # Node ID 7f4deda46b0474f0342e1cfeb78b4c10b75f73fe # Parent f61d795ce6de943accd11104c3883b7ae300dfb2# Parent 47742b654fcbc47da0190093bf98530505dd9836 Merge diff -r 47742b654fcb -r 7f4deda46b04 src/share/vm/interpreter/bytecodeInterpreter.cpp --- a/src/share/vm/interpreter/bytecodeInterpreter.cpp Wed Mar 31 08:03:33 2010 -0700 +++ b/src/share/vm/interpreter/bytecodeInterpreter.cpp Wed Mar 31 16:29:10 2010 -0700 @@ -2328,6 +2328,17 @@ } 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;