On Wed, 24 Jun 2026 14:22:31 GMT, Chen Liang <[email protected]> wrote:

>> 1. `weakCompareAndSetReferenceXxx` in `Unsafe` were delegating to wrong 
>> methods
>> 2. Replace use of `0` for reference layout with `Unsafe.NON_FLAT_LAYOUT`
>> 3. Replace use of `31 - Integer.numberOfLeadingZeros(ascale)` with 
>> `numberOfTrailingZeros`
>> 4. Remove null check for VarHandle getting from NR fields (parity with 
>> ArrayVarHandle and DirectMethodHandle), add missing null check for flat 
>> value var handles
>> 5. Remove the weird directives and old flags of RecursiveValueClass
>> 
>> Thanks to @JornVernee and @AlanBateman for spotting these issues.
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> 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 four additional commits since 
> the last revision:
> 
>  - Some comments from Viktor, more missing use of NON_FLAT_LAYOUT
>  - Merge branch 'lworld' of https://github.com/openjdk/valhalla into 
> cleanup/lw-reviews-0
>  - Redundant whitespace
>  - Changes from review comments etc.

src/java.base/share/classes/java/lang/invoke/X-VarHandle.java.template line 114:

> 112:                 throw new NullPointerException("Uninitialized 
> null-restricted field");
> 113:             }
> 114: #end[Reference]

Just for my understanding: why is it okay to remove this?

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

PR Review Comment: 
https://git.openjdk.org/valhalla/pull/2576#discussion_r3468835759

Reply via email to