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

Tobias Hartmann thartmann at openjdk.org
Thu Oct 2 06:56:17 UTC 2025


On Fri, 12 Sep 2025 09:43:41 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.

Looks good to me. Good job investigating and fixing this!

src/hotspot/share/opto/library_call.cpp line 5369:

> 5367:     // We cannot use the inline type mask as this may check bits that are overriden
> 5368:     // by an object monitor's pointer when inflating locking.
> 5369:     Node *lock_mask      = _gvn.MakeConX(markWord::lock_mask_in_place);

FTR, this merge commit broke it: https://github.com/openjdk/valhalla/commit/0e3418df579fa7d2c6f56b4064656a8223f362db

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

Marked as reviewed by thartmann (Committer).

PR Review: https://git.openjdk.org/valhalla/pull/1578#pullrequestreview-3292786797
PR Review Comment: https://git.openjdk.org/valhalla/pull/1578#discussion_r2397302008


More information about the valhalla-dev mailing list