< prev index next >
src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp
Print this page
@@ -312,11 +312,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();
__ interp_verify_oop(R0_tos, state, __FILE__, __LINE__);
#ifdef AARCH64
@@ -341,11 +341,15 @@
__ call_VM(noreg, 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 >