[lworld] RFR: 8367073: [lworld] Conform to JEP 450 encoding of mark word [v3]
Paul Hübner
phubner at openjdk.org
Mon Oct 13 09:30:30 UTC 2025
> 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.
-------------
Changes:
- all: https://git.openjdk.org/valhalla/pull/1578/files
- new: https://git.openjdk.org/valhalla/pull/1578/files/5b0b70ee..e0eaebf0
Webrevs:
- full: https://webrevs.openjdk.org/?repo=valhalla&pr=1578&range=02
- incr: https://webrevs.openjdk.org/?repo=valhalla&pr=1578&range=01-02
Stats: 37184 lines in 1622 files changed: 24715 ins; 6880 del; 5589 mod
Patch: https://git.openjdk.org/valhalla/pull/1578.diff
Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1578/head:pull/1578
PR: https://git.openjdk.org/valhalla/pull/1578
More information about the valhalla-dev
mailing list