--- a/src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp Tue Nov 21 10:21:24 2017 -0600
+++ b/src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp Tue Nov 21 09:04:42 2017 -0800
@@ -237,7 +237,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();
#ifndef _LP64
@@ -291,7 +291,11 @@
__ should_not_reach_here();
__ bind(L);
}
- __ dispatch_next(state, step);
+ if (continuation == NULL) {
+ __ dispatch_next(state, step);
+ } else {
+ __ jump_to_entry(continuation);
+ }
return entry;
}