Mercurial > hg > openjdk > jdk6 > hotspot
changeset 1145:dd5a19d97c1d
6939845: zero needs fallback path in C++ interpreter for platform dependent fast bytecodes
Reviewed-by: never
Contributed-by: ed@camswl.com
author | never |
---|---|
date | Wed, 31 Mar 2010 11:54:03 -0700 |
parents | 5c6d1b90dc19 |
children | e77ed20ce981 |
files | src/share/vm/interpreter/bytecodeInterpreter.cpp |
diffstat | 1 files changed, 11 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/interpreter/bytecodeInterpreter.cpp Thu Jan 07 16:24:17 2010 -0800 +++ b/src/share/vm/interpreter/bytecodeInterpreter.cpp Wed Mar 31 11:54:03 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;