--- a/src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp Fri Nov 17 20:56:14 2017 +0300
+++ b/src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp Tue Nov 21 09:04:42 2017 -0800
@@ -314,7 +314,7 @@
}
-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__);
@@ -343,7 +343,11 @@
__ bind(L);
}
- __ dispatch_next(state, step);
+ if (continuation == NULL) {
+ __ dispatch_next(state, step);
+ } else {
+ __ jump_to_entry(continuation);
+ }
return entry;
}