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).

Some more comments on classfile changes.

src/hotspot/share/asm/macroAssembler_common.hpp line 28:

> 26: #define SHARE_ASM_MACROASSEMBLER_COMMON_HPP
> 27: 
> 28: // These are part of the MacroAssembler class that are common for all CPUs

As a follow up, I think we should fix this odd inclusion scheme.

src/hotspot/share/classfile/classFileParser.cpp line 6370:

> 6368:     FieldInfo& fieldinfo = _temp_field_info->at(i);
> 6369:     if (fieldinfo.access_flags().is_static()) continue;  // Only 
> non-static fields are processed at load time
> 6370:     Symbol* sig = fieldinfo.signature(cp);

This has a lot of logging with as_C_string() calls which use ResourceArea. I 
don't know how far up the execution stack there is a ResourceMark but I think 
there should be one in this method so that resource area doesn't need to 
reallocate arena chunks.

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

PR Review: https://git.openjdk.org/jdk/pull/31122#pullrequestreview-4347860799
PR Review Comment: https://git.openjdk.org/jdk/pull/31122#discussion_r3290388494
PR Review Comment: https://git.openjdk.org/jdk/pull/31122#discussion_r3290728445

Reply via email to