Mercurial > hg > truffle
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) */ |