[10!] RFR: 8193471: Startup regression due to JDK-8185582

Remi Forax forax at univ-mlv.fr
Wed Dec 13 23:44:52 UTC 2017

It's a trade off, desugaring lambdas has several drawbacks, the main one being the desugared class being not unloaded even if the lambda instance is no more accessible.
Also, it takes more space on disk, and captured values are not considered as really final by the JIT.

You gain a faster startup (usually, it depends how it's desugared exactly) and you do not need a VM that supports invokedynamic*.

* but given that string concatenation in 9, records and pattern matching in the future will also use invokedynamic, at some point your VM will need to support invokedynamic.

----- Mail original -----
> De: "Martin Buchholz" <martinrb at google.com>
> À: "Claes Redestad" <claes.redestad at oracle.com>
> Cc: "core-libs-dev" <core-libs-dev at openjdk.java.net>
> Envoyé: Mercredi 13 Décembre 2017 21:17:30
> Objet: Re: [10!] RFR: 8193471: Startup regression due to JDK-8185582

> fyi Google does some automated desugaring for lambdas using a program named
> ... desugar.

More information about the core-libs-dev mailing list