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
