RFR: 8344352: 32-bit builds crash after JDK-8305895 [v2]

Aleksey Shipilev shade at openjdk.org
Mon Nov 18 13:33:11 UTC 2024


On Mon, 18 Nov 2024 11:14:02 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

>> The underlying reason is that newly added `ObjLayout::initialize` is set up in `LP64` block, so 32-bit platforms miss it. I moved the initialization closer to VM init sequence, as it _is_ the essential part of VM init, not just argument parsing. This is the same thing I did in my POC patch in [JDK-8343648](https://bugs.openjdk.org/browse/JDK-8343648).
>> 
>> Additional testing:
>>  - [x] Linux x86_32 fastdebug cross-build (now able to run simple things)
>>  - [x] Linux arm32 fastdebug cross-build (now able to run simple things)
>> 
>> Both builds are still broken at build-time CDS creation steps due to CDS bug ([JDK-8344389](https://bugs.openjdk.org/browse/JDK-8344389)), but they do not fail with ObjLayout bug anymore.
>
> Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains two additional commits since the last revision:
> 
>  - Merge branch 'master' into JDK-8344352-32bit-fail-objlayout
>  - Fix

Please take a look where I put the `ObjLayout::initialize()` -- I think it is correct, but given it touches the VM init sequence, I would like to be extra careful.

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

PR Comment: https://git.openjdk.org/jdk/pull/22196#issuecomment-2483050390


More information about the hotspot-runtime-dev mailing list