[lworld] Integrated: 8272753: [lworld] "Invalid frame size" assert in frame::repair_sender_sp

Tobias Hartmann thartmann at openjdk.java.net
Fri Aug 20 12:51:49 UTC 2021


On Fri, 20 Aug 2021 10:56:45 GMT, Tobias Hartmann <thartmann at openjdk.org> wrote:

> Verification code asserts during stack walking when trying to repair the stack of a C2 compiled method with scalarized arguments because the stack increment is invalid. The problem is that `C->output()->sp_inc_offset()` used by `MacroAssembler::verified_entry` does not account for alignment of the frame size and therefore points to the wrong slot. Like we already do in C1, we should simply hard code the slot to right below where `rbp` was saved.
> 
> This patch only fixes x86, I've filed [JDK-8272760](https://bugs.openjdk.java.net/browse/JDK-8272760) for Aarch64.
> 
> Thanks,
> Tobias

This pull request has now been integrated.

Changeset: aaa7401c
Author:    Tobias Hartmann <thartmann at openjdk.org>
URL:       https://git.openjdk.java.net/valhalla/commit/aaa7401c49e87f9790c2ebf21e72198b2dafcd9d
Stats:     70 lines in 5 files changed: 60 ins; 2 del; 8 mod

8272753: [lworld] "Invalid frame size" assert in frame::repair_sender_sp

-------------

PR: https://git.openjdk.java.net/valhalla/pull/536


More information about the valhalla-dev mailing list