On Tue, 27 Jan 2026 14:10:04 GMT, Tobias Hartmann <[email protected]> wrote:
>> Since [JDK-8247299](https://bugs.openjdk.org/browse/JDK-8247299), value >> objects no longer use `markWord::always_locked_pattern` (see description of >> [JDK-8247298](https://bugs.openjdk.org/browse/JDK-8247298) for more >> details). Therefore, the limitations around storing the hash code in the >> mark word that are mentioned in >> [JDK-8244975](https://bugs.openjdk.org/browse/JDK-8244975) no longer exist. >> Let's enable this optimization. >> >> Running `System.identityHashCode(obj)` in a loop and passing various >> primitive boxes leads to a **17-18x speedup** on my machine. I'm also seeing >> a **7% improvement** in the score of the SPECjvm2008 serial benchmark but we >> are still a bit behind baseline without `--enable-preview`. More >> improvements to come. >> >> It's worth noting that value objects will lose their buffer object when >> stored in a flat container or sometimes when being scalarized >> ([JDK-8372268](https://bugs.openjdk.org/browse/JDK-8372268) will improve >> this). The hash then needs to be re-computed, which is expensive. >> >> I'm working on ways to further improve this, see >> [JDK-8252185](https://bugs.openjdk.org/browse/JDK-8252185). >> >> Thanks, >> Tobias > > Tobias Hartmann has updated the pull request incrementally with one > additional commit since the last revision: > > Removed the acquire Now that https://git.openjdk.org/valhalla/pull/1987 is in, I'm integrating this. Follow-up work will be done by [JDK-8376566](https://bugs.openjdk.org/browse/JDK-8376566). Thanks Paul! ------------- PR Comment: https://git.openjdk.org/valhalla/pull/1954#issuecomment-3811517961 PR Comment: https://git.openjdk.org/valhalla/pull/1954#issuecomment-3811521031
