[lworld] RFR: 8272753: [lworld] "Invalid frame size" assert in frame::repair_sender_sp
Tobias Hartmann
thartmann at openjdk.java.net
Fri Aug 20 11:02:06 UTC 2021
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
-------------
Commit messages:
- 8272753: [lworld] "Invalid frame size" assert in frame::repair_sender_sp
Changes: https://git.openjdk.java.net/valhalla/pull/536/files
Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=536&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8272753
Stats: 70 lines in 5 files changed: 60 ins; 2 del; 8 mod
Patch: https://git.openjdk.java.net/valhalla/pull/536.diff
Fetch: git fetch https://git.openjdk.java.net/valhalla pull/536/head:pull/536
PR: https://git.openjdk.java.net/valhalla/pull/536
More information about the valhalla-dev
mailing list