RFR: 8344352: 32-bit builds crash after JDK-8305895 [v2]
Roman Kennke
rkennke at openjdk.org
Mon Nov 18 14:18:02 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
Specifically, it needs to happen *after* args processing, but *before* the GC or any other heap access happens. I think it's ok where you put it.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/22196#issuecomment-2483166915
More information about the hotspot-runtime-dev
mailing list