[lworld] RFR: 8368274: [lworld] Unsafe.compareAndExchangeFlatValue() wrongly assumes padding bytes are the same for identical value objects [v2]

Tobias Hartmann thartmann at openjdk.org
Mon Jan 19 09:14:58 UTC 2026


On Sat, 17 Jan 2026 00:36:52 GMT, Chen Liang <liach at openjdk.org> wrote:

>> Use the raw value get as witness, because the flat value get may ignore garbage value and cause infinite loop as a result. Waiting for a test case.
>
> Chen Liang 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 six additional commits since the last revision:
> 
>  - Fixes, VHTMHAV now passes
>  - Merge branch 'lworld' of https://github.com/openjdk/valhalla into fix/unsafe-flat-cas
>  - A test
>  - Merge branch 'lworld' of https://github.com/openjdk/valhalla into fix/unsafe-flat-cas
>  - Merge branch 'lworld' of https://github.com/openjdk/valhalla into fix/unsafe-flat-cas
>  - Attempt to fix garbage cas

Thanks. I just discussed with @chhagedorn offline and we think that it's sufficient to have `VarHandleTestMethodHandleAccessValue.java` as regression test that you now un-problem listed. You can remove `TestCompareAndExchange`. Please verify though that `VarHandleTestMethodHandleAccessValue.java` now passes.

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

PR Comment: https://git.openjdk.org/valhalla/pull/1734#issuecomment-3767243374


More information about the valhalla-dev mailing list