457 // Note: Bytecodes::_athrow is a special case in that it does not return |
457 // Note: Bytecodes::_athrow is a special case in that it does not return |
458 // Interpreter::deopt_entry(vtos, 0) like others |
458 // Interpreter::deopt_entry(vtos, 0) like others |
459 address AbstractInterpreter::deopt_reexecute_entry(Method* method, address bcp) { |
459 address AbstractInterpreter::deopt_reexecute_entry(Method* method, address bcp) { |
460 assert(method->contains(bcp), "just checkin'"); |
460 assert(method->contains(bcp), "just checkin'"); |
461 Bytecodes::Code code = Bytecodes::java_code_at(method, bcp); |
461 Bytecodes::Code code = Bytecodes::java_code_at(method, bcp); |
462 #ifdef COMPILER1 |
462 #if defined(COMPILER1) || INCLUDE_JVMCI |
463 if(code == Bytecodes::_athrow ) { |
463 if(code == Bytecodes::_athrow ) { |
464 return Interpreter::rethrow_exception_entry(); |
464 return Interpreter::rethrow_exception_entry(); |
465 } |
465 } |
466 #endif /* COMPILER1 */ |
466 #endif /* COMPILER1 || INCLUDE_JVMCI */ |
467 return Interpreter::deopt_entry(vtos, 0); |
467 return Interpreter::deopt_entry(vtos, 0); |
468 } |
468 } |
469 |
469 |
470 // If deoptimization happens, the interpreter should reexecute these bytecodes. |
470 // If deoptimization happens, the interpreter should reexecute these bytecodes. |
471 // This function mainly helps the compilers to set up the reexecute bit. |
471 // This function mainly helps the compilers to set up the reexecute bit. |