Next rounds of prototype

Remi Forax forax at univ-mlv.fr
Thu Jul 9 14:55:33 UTC 2015


Am i wrong saying that if it is not spelled List<?> but List<€>, then 
there is no backward compatibility issue so you don't need a VM change 
because all methods can be called using invokedynamic.

Rémi

On 07/09/2015 04:33 PM, Brian Goetz wrote:
> In the next week or two, we'll be pushing parts of our next round of 
> prototype for anyfied generics.
>
>
> The central complaint about the existing prototype has been the lack of
> a common supertype between Foo<int> and Foo<String>, other than 
> Object.  (Much existing code relies on wildcards, for better or worse.)
>
> Of course, we didn't pursue the original path because we loved the
> resulting type system; we pursued this path because it was *what was
> possible with the JVM architecture we have*.  That's not to say that
> changing the JVM is off the table (as it was in Java 5), but doing so is
> even more costly than changing the language (which is already quite
> expensive), and it would have been irresponsible to pursue VM-centric
> options without first exploring what could be done without VM changes.
>
> Of course, even once "change the VM" is under consideration, there is a
> broad spectrum of cost, ranging from "merely extremely expensive" to
> "obscenely expensive."  So a responsible investigation involves
> extensive exploration to identify sensible and cost-effective 
> improvements.
>
> To that end, we've spent the past several months identifying what we
> could do in the VM to enable a useful common supertype for all
> instantiations (whether that is spelled "Foo<?>" is a separate
> question), and, after several rounds, have pared this down to something
> that is conceivably implementable with a tractibly-small set of VM
> changes.  In the next week or two, we'll be pushing a prototype
> implementation of the compiler.  We'll follow that up with some new 
> new documents describing what we've done, and prototypes of some of 
> the VM features that are needed to plug the holes.  I'm sure there are 
> lots of questions; hopefully they will be answered when we can write 
> it all up.
>
> As always, the most important feedback we can get is from people *using*
> the prototype.  We'll post a short summary of the language changes so 
> folks can play with the prototype more effectively.
>
>



More information about the valhalla-dev mailing list