6939845: zero needs fallback path in C++ interpreter for platform dependent fast bytecodes

Wed, 31 Mar 2010 11:54:03 -0700

author
never
date
Wed, 31 Mar 2010 11:54:03 -0700
changeset 1782
f61d795ce6de
parent 1780
747d26efc5fa
child 1783
7f4deda46b04

6939845: zero needs fallback path in C++ interpreter for platform dependent fast bytecodes
Reviewed-by: never
Contributed-by: ed@camswl.com

src/share/vm/interpreter/bytecodeInterpreter.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/vm/interpreter/bytecodeInterpreter.cpp	Tue Mar 30 00:57:55 2010 -0700
     1.2 +++ b/src/share/vm/interpreter/bytecodeInterpreter.cpp	Wed Mar 31 11:54:03 2010 -0700
     1.3 @@ -2328,6 +2328,17 @@
     1.4        }
     1.5  
     1.6        DEFAULT:
     1.7 +#ifdef ZERO
     1.8 +          // Some zero configurations use the C++ interpreter as a
     1.9 +          // fallback interpreter and have support for platform
    1.10 +          // specific fast bytecodes which aren't supported here, so
    1.11 +          // redispatch to the equivalent non-fast bytecode when they
    1.12 +          // are encountered.
    1.13 +          if (Bytecodes::is_defined((Bytecodes::Code)opcode)) {
    1.14 +              opcode = (jubyte)Bytecodes::java_code((Bytecodes::Code)opcode);
    1.15 +              goto opcode_switch;
    1.16 +          }
    1.17 +#endif
    1.18            fatal2("\t*** Unimplemented opcode: %d = %s\n",
    1.19                   opcode, Bytecodes::name((Bytecodes::Code)opcode));
    1.20            goto finish;

mercurial