--- old/src/hotspot/cpu/sparc/templateInterpreterGenerator_sparc.cpp 2017-11-11 10:42:46.381117972 -0800 +++ new/src/hotspot/cpu/sparc/templateInterpreterGenerator_sparc.cpp 2017-11-11 10:42:46.062103694 -0800 @@ -313,7 +313,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(); __ get_constant_pool_cache(LcpoolCache); // load LcpoolCache #if INCLUDE_JVMCI @@ -350,7 +350,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; }