On Mon, 29 Jun 2026 13:56:41 GMT, Jaikiran Pai <[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 2859 commits:
>> 
>>  - Merge branch '8317277' into jep401_sub_review_8317279
>>  - Merge remote-tracking branch 'valhalla/lworld' into 8317277
>>  - Merge
>>    
>>    Merge jdk-28+4
>>  - 8386963: [lworld] Improve the exception message from Object 
>> synchronization methods on value objects
>>    
>>    Reviewed-by: dholmes, alanb
>>  - 8387300: [lworld] Minor review comments in javac
>>    
>>    Reviewed-by: vromero
>>  - 8387192: [lworld] Review comment drop for core libs
>>    
>>    Reviewed-by: jvernee, vromero
>>  - 8386999: [lworld] C2: assert(is_dead_loop_safe()) failed: shouldn't be 
>> cleared yet
>>    
>>    Reviewed-by: qamai, vlivanov
>>  - 8386787: [lworld] 
>> compiler/valhalla/inlinetypes/TestValueConstruction.java#StressIncrementalInliningDontInlineMyAbstractInit
>>  timed out
>>    
>>    Reviewed-by: phubner, chagedorn
>>  - 8386995: [lworld] Duplicate value classes are a preview feature warning
>>    
>>    Reviewed-by: alanb, vromero
>>  - 8383389: [lworld] Augment AOTMapLogger::print_oop_details to support flat 
>> arrays with oops
>>    
>>    Reviewed-by: iklam, fparain
>>  - ... and 2849 more: https://git.openjdk.org/jdk/compare/193de1b1...cdbe55a9
>
> src/java.base/share/classes/java/io/InvalidClassException.java line 38:
> 
>> 36:  * <li>The ObjectStreamClass of an enum constant does not represent
>> 37:  *     an enum type
>> 38:  * <li>A {@linkplain Class#isValue value class} cannot be serialized
> 
> I think this might have to be a bit more precise. In its current form this 
> seems to imply that an instance of a value class cannot be serialized, which 
> isn't accurate because the primitive wrapper classes (for example 
> `java.lang.Integer`) which are value classes when preview is enabled can be 
> serialized/deserialized. So can instances of value classes like 
> `java.time.Instant` which implement the `writeReplace()` method to write out 
> a replacement object to facilitate serialization.

If it gets too wordy, then maybe we can just drop the mention of value classes, 
since there's already a "Other conditions given in the Java Object 
Serialization Specification" on the next line?

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

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

Reply via email to