8277602: Deopt code does not extend the stack enough if the caller is an optimize entry blob

Reviewed-by: dlong, thartmann
This commit is contained in:
Jorn Vernee 2021-11-30 14:34:00 +00:00
parent 915084041f
commit 98a9f03739
6 changed files with 153 additions and 8 deletions

View file

@ -585,7 +585,7 @@ Deoptimization::UnrollBlock* Deoptimization::fetch_unroll_info_helper(JavaThread
// QQQ I'd rather see this pushed down into last_frame_adjust
// and have it take the sender (aka caller).
if (deopt_sender.is_compiled_frame() || caller_was_method_handle) {
if (deopt_sender.is_compiled_caller() || caller_was_method_handle) {
caller_adjustment = last_frame_adjust(0, callee_locals);
} else if (callee_locals > callee_parameters) {
// The caller frame may need extending to accommodate