[pr/110] RFR: 8317812: [Lilliput] Make C2 LoadNKlassCompactHeader more robust
Aleksey Shipilev
shade at openjdk.org
Wed Oct 11 09:43:35 UTC 2023
On Tue, 10 Oct 2023 16:35:53 GMT, Roman Kennke <rkennke at openjdk.org> wrote:
> Lilliput's C2 code for generating LoadNKlass currently assumes that the disp of the incoming address is klass_offset_in_bytes. It then extracts the base register and loads from the mark_offset_in_bytes instead.
> Sometimes (apparently very rarely) it happens that C2 emits code that pre-adds obj+klass_offset into a register, and uses that as base, but with offset 0. In this case we would trip the assert or crash in release builds.
>
> - [x] specjvm derby (which triggered the bug)
> - [x] tier1 x86_64 +UCOH
> - [x] tier1 aarch64 +UCOH
Marked as reviewed by shade (Committer).
-------------
PR Review: https://git.openjdk.org/lilliput/pull/111#pullrequestreview-1670623650
More information about the lilliput-dev
mailing list