Re: User model stacking: current status

2022-06-03 Thread Brian Goetz
Continuing to shake this tree. I'm glad we went through the exploration of "flattenable B3.ref"; while I think we probably could address the challenges of tearing across the null channel / data channels boundary, I'm pretty willing to let this one go.  Similarly I'm glad we went through the "a

Re: Anonymous value classes

2022-06-03 Thread Maurizio Cimadamore
And `var` ? (but I agree this feels a niche) Maurizio On 03/06/2022 18:59, Brian Goetz wrote: On 6/3/2022 1:39 PM, Remi Forax wrote: *From: *"Brian Goetz" *To: *"daniel smith" , "valhalla-spec-experts"

Re: Anonymous value classes

2022-06-03 Thread Brian Goetz
On 6/3/2022 1:39 PM, Remi Forax wrote: *From: *"Brian Goetz" *To: *"daniel smith" , "valhalla-spec-experts" *Sent: *Friday, June 3, 2022 6:21:26 PM *Subject: *Re: Anonymous value classes There

Re: Anonymous value classes

2022-06-03 Thread Remi Forax
- Original Message - > From: "daniel smith" > To: "valhalla-spec-experts" > Sent: Friday, June 3, 2022 6:18:42 PM > Subject: Re: Anonymous value classes >> On Jun 3, 2022, at 10:15 AM, Dan Smith wrote: >> >> Our javac prototype has long included support for a 'value' keyword after >>

Re: Anonymous value classes

2022-06-03 Thread Remi Forax
> From: "Brian Goetz" > To: "daniel smith" , "valhalla-spec-experts" > > Sent: Friday, June 3, 2022 6:21:26 PM > Subject: Re: Anonymous value classes > There is no chance to get any calling-convention optimization here, since the > concrete class name will not show up in any method descriptor (o

Re: Anonymous value classes

2022-06-03 Thread Brian Goetz
There is no chance to get any calling-convention optimization here, since the concrete class name will not show up in any method descriptor (or preload attribute).  There is no chance to get any heap flattening here, since the concrete class name will not show up in any field descriptor or `new

Re: Anonymous value classes

2022-06-03 Thread Dan Smith
> On Jun 3, 2022, at 10:15 AM, Dan Smith wrote: > > Our javac prototype has long included support for a 'value' keyword after > 'new' to indicate that an anonymous class is a value class (I see Remi brought this up in the list in July 2018, which is probably what inspired the prototype impleme

Anonymous value classes

2022-06-03 Thread Dan Smith
Our javac prototype has long included support for a 'value' keyword after 'new' to indicate that an anonymous class is a value class: Runnable r = new value Runnable() { public void run() { x.foo(); } }; Is this something we'd like to preserve as a language feature? Arguments for: - Allows