RFR: 8365229: ARM32: c2i_no_clinit_check_entry assert failed after JDK-8364269

Andrew Dinn adinn at openjdk.org
Wed Aug 13 09:02:12 UTC 2025


On Wed, 13 Aug 2025 08:31:13 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

> Update: Passing -1 as offset and cleanly reconstituting it as nullptr looks not that intrusive and feels less awkward. Done in new commit.

I was about to suggest that as one of two possible alternatives.

These offsets are only needed for AOT save and restore. The problem of a selective implementation of the entries in a multi-entry blob mirrors a problem I have been thinking over where a multi-entry (Stubgen) stub implementation may not omit entries in some ports (likewise, may declare a SEGV protection range whose associated handler is not an entry in the stub).

In both these cases we need to be able to pass nullptr in as the entry address and get nullptr back out when we retrieve the address. So, we need to translate the address to a sentinel offset value which we save intot he archive andrecognise when we retrieve it.

There are two easy choices, -1 the obvious one

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

PR Comment: https://git.openjdk.org/jdk/pull/26746#issuecomment-3182845604


More information about the hotspot-compiler-dev mailing list