On Tue, 2 Jun 2026 15:54:18 GMT, Alan Bateman <[email protected]> wrote:

>> David Simms has updated the pull request with a new target base due to a 
>> merge or a rebase. The pull request now contains 2754 commits:
>> 
>>  - Merge remote-tracking branch 'valhalla/lworld' into 
>> jep401_sub_review_8317279
>>  - Merge
>>    
>>    Merge jdk-27+24
>>  - 8385674: [lworld] TestNullableInlineTypes.java fails after JDK-8325632
>>    
>>    Reviewed-by: mchevalier
>>  - 8385652: [lworld] RedefineClasses should use stack map frame name
>>    
>>    Reviewed-by: fparain
>>  - 8384107: [lworld] Update runtime/contended tests to run the same testing 
>> for value classes
>>    
>>    Reviewed-by: fparain, lmesnik
>>  - 8385600: [lworld] DA/DU issues with strict fields
>>    
>>    Reviewed-by: vromero
>>  - 8384897: [lworld] this.staticField should be restricted in early 
>> construction context
>>    
>>    Reviewed-by: liach, vromero
>>  - 8385601: [lworld] Update testing documentation for the ValueClassPlugin 
>> jtreg option
>>    
>>    Reviewed-by: lmesnik
>>  - 8385569: [lworld] Apply JDK-8343767 to Valhalla specific StubRoutines
>>    
>>    Reviewed-by: fparain, vlivanov
>>  - 8385581: [lworld] Remove the experimental JVMCI feature
>>    8382708: [lworld] JVMCI support for Value Objects
>>    8372605: [lworld] 
>> compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJava*.java
>>  fail with --enable-preview
>>    
>>    Reviewed-by: thartmann
>>  - ... and 2744 more: https://git.openjdk.org/jdk/compare/2c7efc08...9e804255
>
> src/java.base/share/classes/java/io/ObjectStreamClass.java line 1433:
> 
>> 1431:      */
>> 1432:     @SuppressWarnings("unchecked")
>> 1433:     private static MethodHandle getDeserializingValueCons(Class<?> 
>> clazz,
> 
> `@DeserializeConstructor` was created for constructors or static factory 
> methods. Was there a usage for static methods at one point or maybe there are 
> plans to use it at some point? Asking because I see the usage on constructors 
> in the wrapper classes but not anywhere else. The tests, e.g. 
> ValueSerializationTest, also use it on the constructor.

Yes, they were initially used on `valueOf` static methods. Turns out such uses 
introduced a performance regression for serialization benchmarks, and the 
annotations are moved onto the constructors instead.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/31123#discussion_r3343161678

Reply via email to