From daniel.smith at oracle.com Wed Dec 3 01:09:52 2025 From: daniel.smith at oracle.com (Dan Smith) Date: Wed, 3 Dec 2025 01:09:52 +0000 Subject: EG meeting *canceled*, 2025-12-03 Message-ID: <8ED42D7A-0069-4907-A860-D2E3983EB1FA@oracle.com> Nothing to cover this time, so let's cancel the EG meeting. See you next year! From chen.l.liang at oracle.com Tue Dec 9 21:22:42 2025 From: chen.l.liang at oracle.com (Chen Liang) Date: Tue, 9 Dec 2025 21:22:42 +0000 Subject: Tagged Unions in valhalla In-Reply-To: References: Message-ID: I don't think flattening or scalarization is required by the specs for any JVM implementation. The reference implementation may be able to support such inlining in the future, but it definitely requires all classes in this hierarchy are described in the LoadableDescriptors attribute. ________________________________ From: valhalla-spec-observers on behalf of Ben Sent: Thursday, November 13, 2025 12:27 PM To: valhalla-spec-observers at openjdk.org Subject: Tagged Unions in valhalla Hello, I've been looking for information on how tagged unions will pan out in valhalla. A tagged union in java would be something like ``` public sealed abstract value class Shape permits Circle, Square {} public value class Circle extends Shape { public float radius; } public value class Square extends Shape { public float side; } ``` (adapted from https://docs.oracle.com/en/java/javase/17/language/sealed-classes-and-interfaces.html) >From what I know currently, this wouldn't end up being scalarized or flattened, even though the JVM runtime knows that only Circle and Square can extend Shape. Is there a future where these do end up getting flattened or scalarized? -------------- next part -------------- An HTML attachment was scrubbed... URL: From daniel.smith at oracle.com Wed Dec 10 16:09:39 2025 From: daniel.smith at oracle.com (Dan Smith) Date: Wed, 10 Dec 2025 16:09:39 +0000 Subject: Updated specs for Value Classes In-Reply-To: References: Message-ID: <78B29FD1-670E-4231-9E00-2E00A8117486@oracle.com> Just a note that I've cleaned up some of the JLS rules regarding field accesses in early construction. Update posted here: https://cr.openjdk.org/~dlsmith/jep401/jep401-20251210/specs/value-objects-jls.html On Sep 26, 2025, at 3:57?PM, Dan Smith wrote: Please see these spec change documents, revised to align with current plans for the Value Classes and Objects JEP. https://cr.openjdk.org/~dlsmith/jep401/jep401-20250926/specs/value-objects-jls.html https://cr.openjdk.org/~dlsmith/jep401/jep401-20250926/specs/value-objects-jvms.html I've also revised the JEP in the last couple of months, which you can view here: https://openjdk.org/jeps/401 Some highlights: - Clarified the presentation of how == works, with extensive discussion in the JEP - Instance fields can be both written and read in early construction - Record classes adopt the same early construction behavior as value classes - Memory model rules to ensure correct values are read from value and record class fields (and, eventually, other strict fields) - New verifier rules disallowing acmp/ifnull on uninitialized types A linked JVMS document covers the Strict Field Initialization JEP, although I still have some work to do to refresh and polish that one. -------------- next part -------------- An HTML attachment was scrubbed... URL: From daniel.smith at oracle.com Wed Dec 10 17:21:42 2025 From: daniel.smith at oracle.com (Dan Smith) Date: Wed, 10 Dec 2025 17:21:42 +0000 Subject: Updated specs for Value Classes In-Reply-To: <78B29FD1-670E-4231-9E00-2E00A8117486@oracle.com> References: <78B29FD1-670E-4231-9E00-2E00A8117486@oracle.com> Message-ID: <2A52DF3F-80C8-4257-A84A-55A09CE94443@oracle.com> Oops, I updated the link text but the email client preserved the old URL. Try this one instead: https://cr.openjdk.org/~dlsmith/jep401/jep401-20251210/specs/value-objects-jls.html From forax at univ-mlv.fr Wed Dec 10 17:40:50 2025 From: forax at univ-mlv.fr (Remi Forax) Date: Wed, 10 Dec 2025 18:40:50 +0100 (CET) Subject: Updated specs for Value Classes In-Reply-To: <2A52DF3F-80C8-4257-A84A-55A09CE94443@oracle.com> References: <78B29FD1-670E-4231-9E00-2E00A8117486@oracle.com> <2A52DF3F-80C8-4257-A84A-55A09CE94443@oracle.com> Message-ID: <85570782.59143290.1765388450740.JavaMail.zimbra@univ-eiffel.fr> okay, thank you. I've something to read tonight :) R?mi ----- Original Message ----- > From: "daniel smith" > To: "valhalla-spec-experts" > Sent: Wednesday, December 10, 2025 6:21:42 PM > Subject: Re: Updated specs for Value Classes > Oops, I updated the link text but the email client preserved the old URL. Try > this one instead: > > https://cr.openjdk.org/~dlsmith/jep401/jep401-20251210/specs/value-objects-jls.html