comparison src/share/vm/interpreter/bytecodeInterpreter.cpp @ 1347:f61d795ce6de

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 8e7adf982378
children f03d0a26bf83 2338d41fbd81
comparison
equal deleted inserted replaced
1345:747d26efc5fa 1347:f61d795ce6de
2326 opcode = (jubyte)original_bytecode; 2326 opcode = (jubyte)original_bytecode;
2327 goto opcode_switch; 2327 goto opcode_switch;
2328 } 2328 }
2329 2329
2330 DEFAULT: 2330 DEFAULT:
2331 #ifdef ZERO
2332 // Some zero configurations use the C++ interpreter as a
2333 // fallback interpreter and have support for platform
2334 // specific fast bytecodes which aren't supported here, so
2335 // redispatch to the equivalent non-fast bytecode when they
2336 // are encountered.
2337 if (Bytecodes::is_defined((Bytecodes::Code)opcode)) {
2338 opcode = (jubyte)Bytecodes::java_code((Bytecodes::Code)opcode);
2339 goto opcode_switch;
2340 }
2341 #endif
2331 fatal2("\t*** Unimplemented opcode: %d = %s\n", 2342 fatal2("\t*** Unimplemented opcode: %d = %s\n",
2332 opcode, Bytecodes::name((Bytecodes::Code)opcode)); 2343 opcode, Bytecodes::name((Bytecodes::Code)opcode));
2333 goto finish; 2344 goto finish;
2334 2345
2335 } /* switch(opc) */ 2346 } /* switch(opc) */