On Mon, 11 May 2026 14:19:50 GMT, David Simms <[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/share/runtime/stubRoutines.cpp line 104: > 102: > 103: // TODO: update with 8343767 > 104: address StubRoutines::_load_inline_type_fields_in_regs = nullptr; (relocating this to the correct PR) Re that TODO: these two fields and the associated getters need to be generated via suitable stub and entry declarations (see stubDeclarations.hpp). That will also provide an associated StubId, EntryId, name, etc. Also, the generator routine for these stubs in the AArch64 and x86 implementations needs to co-operate with the AOT stub save and restore process by calling `load_archive_data` and `store_archive_data` -- along the same lines as the other StubGen Initial stubs. I can advise if needed. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/31122#discussion_r3282742884
