[lworld] RFR: 8367073: [lworld] Conform to JEP 450 encoding of mark word [v3]

Paul Hübner phubner at openjdk.org
Thu Oct 16 15:36:35 UTC 2025


On Mon, 13 Oct 2025 09:30:30 GMT, Paul Hübner <phubner at openjdk.org> wrote:

>> Hi all, 
>> 
>> This PR refactors the mark word to use the order of bits as specified in [JEP 450](https://openjdk.org/jeps/450). 
>> 
>> Specifically, there are three portions to this change:
>> - Moving the age bits lower to their intended position.
>> - Fixing a miscompilation in the native `hashCode` intrinsic that got unearthed as a result.
>> - Updating the documentation to be more inline with the mainline docs and minimal Valhalla additions.
>> 
>> Feedback is welcome, especially for the doc changes. If there are any ideas of other places in which similar miscompilations could occur, that would be valuable to know as well.
>
> Paul Hübner 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 10 additional commits since the last revision:
> 
>  - Merge branch 'lworld' into JDK-8367073
>  - Remove unused prototype method.
>  - Merge branch 'lworld' into JDK-8367073
>  - Revise documentation.
>  - Fix hashCode intrinsic miscompilation.
>  - Fix outdated markWord test semantics.
>  - Chuck out weird markWord code.
>  - Emulate old Valhalla decode_pointer behavior.
>  - Fix typo.
>  - Follow JEP450 MarkWord specification.

Thanks for your reviews folks!

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

PR Comment: https://git.openjdk.org/valhalla/pull/1578#issuecomment-3411477829


More information about the valhalla-dev mailing list