On 14 Jul 2023, at 9:17, Dan Smith wrote:
> …
> The magic '<new>' method seems reasonable, and provides a path going forward 
> to get rid of new/dup/<init> code. But it doesn't do anything for legacy 
> bytecode. So the problem of needing a bytecode rewriting tool remains.

If/when we decide to do that magic ‘<new>’, and newer classfiles avoid the 
new/dup/init dance, two good things will start to happen.  First, migration to 
value types will become somewhat easier, avoiding recompilation in some cases 
(those cases where a client says ‘new SomeValue()’).  Second, the “dance” will 
begin to disappear from classfiles, and we can think about disallowing it in 
newer classfiles, thus taking 10% off the top of verifier complexity and 
bugginess.  I’d love to put “the dance” in our rear view mirror.

Reply via email to