< prev index next >
src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp
Print this page
@@ -235,11 +235,11 @@
return entry;
}
-address TemplateInterpreterGenerator::generate_deopt_entry_for(TosState state, int step) {
+address TemplateInterpreterGenerator::generate_deopt_entry_for(TosState state, int step, address continuation) {
address entry = __ pc();
#ifndef _LP64
if (state == ftos) {
__ MacroAssembler::verify_FPU(UseSSE >= 1 ? 0 : 1, "generate_deopt_entry_for in interpreter");
@@ -289,11 +289,15 @@
CAST_FROM_FN_PTR(address,
InterpreterRuntime::throw_pending_exception));
__ should_not_reach_here();
__ bind(L);
}
+ if (continuation == NULL) {
__ dispatch_next(state, step);
+ } else {
+ __ jump_to_entry(continuation);
+ }
return entry;
}
address TemplateInterpreterGenerator::generate_result_handler_for(
BasicType type) {
< prev index next >