--- old/src/hotspot/share/interpreter/templateInterpreter.hpp 2018-04-20 00:46:58.000000000 +0100 +++ new/src/hotspot/share/interpreter/templateInterpreter.hpp 2018-04-20 00:46:57.000000000 +0100 @@ -119,12 +119,14 @@ static EntryPoint _trace_code; #endif // !PRODUCT static EntryPoint _return_entry[number_of_return_entries]; // entry points to return to from a call + static EntryPoint _return_entryX[number_of_return_entries]; // entry points to return to from a call static EntryPoint _earlyret_entry; // entry point to return early from a call static EntryPoint _deopt_entry[number_of_deopt_entries]; // entry points to return to from a deoptimization static address _deopt_reexecute_return_entry; static EntryPoint _safept_entry; static address _invoke_return_entry[number_of_return_addrs]; // for invokestatic, invokespecial, invokevirtual return entries + static address _invoke_return_entryX[number_of_return_addrs]; // for invokestatic, invokespecial, invokevirtual return entries static address _invokeinterface_return_entry[number_of_return_addrs]; // for invokeinterface return entries static address _invokedynamic_return_entry[number_of_return_addrs]; // for invokedynamic return entries @@ -178,6 +180,7 @@ static address deopt_entry(TosState state, int length); static address deopt_reexecute_return_entry() { return _deopt_reexecute_return_entry; } static address return_entry(TosState state, int length, Bytecodes::Code code); + static address return_entry(TosState state, int length, Bytecodes::Code code, bool X); // Safepoint support static void notice_safepoints(); // stops the thread when reaching a safepoint