On Mon, 18 May 2026 07:21:46 GMT, Dean Long <[email protected]> wrote:

>> This is a "*sub-review pull request*" for the first 
>> [preview](https://openjdk.org/jeps/12) of [JEP 401: Value Classes and 
>> Objects](https://openjdk.org/jeps/401), specifically 
>> [JDK-8317278](https://bugs.openjdk.org/browse/JDK-8317278): JVM 
>> implementation of value classes and objects.
>> 
>>> [!NOTE]
>>> This pull request and the other sub-review pull requests listed below are 
>>> based on the "*master pull request*" 
>>> (https://github.com/openjdk/jdk/pull/31120). It contains the same full set 
>>> of code changes as the "*master pull request*" to preserve the full 
>>> implementation context; the language compiler, JVM, and standard library 
>>> changes are intertwined. This separate pull requests exist only to 
>>> subdivide the review and related discussion by area.
>> 
>> Other areas for review:
>> 
>> - [JDK-8317277](https://bugs.openjdk.org/browse/JDK-8317277): Java language 
>> implementation of value classes and objects
>>   - https://github.com/openjdk/jdk/pull/31121
>> - [JDK-8317279](https://bugs.openjdk.org/browse/JDK-8317279): Standard 
>> library implementation of value classes and objects
>>   - https://github.com/openjdk/jdk/pull/31123
>> 
>> Code changes resulting from the review process should be made in 
>> [`valhalla/lworld`](https://github.com/openjdk/valhalla/).
>> 
>> `valhalla/lworld` is currently updated from `jdk/master` whenever a weekly 
>> [`jdk` tag](https://github.com/openjdk/jdk/tags) is created. At that time, 
>> code changes from `valhalla/lworld` will be propagated to the master pull 
>> request and to all sub-review pull requests, including this one.
>> 
>> Ultimately, review sign-off will be recorded on the "*master pull request*", 
>> and this pull request will be closed without integration.
>> 
>> This pull request has a large code surface area and often conflicts with 
>> `jdk/master` on a daily basis. Refer to 
>> [`valhalla/lworld`](https://github.com/openjdk/valhalla/) for the latest 
>> state of the project code, keeping in mind that it may lag several days 
>> behind `jdk/master`. Both repositories may be needed as references during 
>> review.
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> src/hotspot/cpu/aarch64/aarch64.ad line 14185:
> 
>> 14183:             < (uint64_t)(BlockZeroingLowLimit >> LogBytesPerWord)
>> 14184:             && !((ClearArrayNode*)n)->word_copy_only());
>> 14185:   match(Set dummy (ClearArray cnt base));
> 
> I don't see how this can match if the new shape is "ClearArray (Binary cnt 
> base) val".

I filed JDK-8384903 for this.

> src/hotspot/cpu/x86/x86.ad line 2633:
> 
>> 2631:   if (nops_cnt > 0) {
>> 2632:     __ nop(nops_cnt);
>> 2633:   }
> 
> Suggestion:
> 
> 
> There is no patch_verified_entry() anymore.

I filed JDK-8384924.

> src/hotspot/share/oops/instanceKlass.hpp line 152:
> 
>> 150:   InlineLayoutInfo(): _klass(nullptr), _kind(LayoutKind::UNKNOWN), 
>> _null_marker_offset(-1)  {}
>> 151:   InlineLayoutInfo(InlineKlass* ik, LayoutKind kind, int size, int 
>> nm_offset):
>> 152:     _klass(ik), _kind(kind), _null_marker_offset(nm_offset) {}
> 
> This ctor seems to be unused.

See JDK-8384924.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/31122#discussion_r3262151396
PR Review Comment: https://git.openjdk.org/jdk/pull/31122#discussion_r3262414131
PR Review Comment: https://git.openjdk.org/jdk/pull/31122#discussion_r3262415224

Reply via email to