On 03/08/2014 12:30 AM, Mandy Chung wrote:
On 3/7/14 2:20 PM, Sergey Bylokhov wrote:But after this fix: size of class files are increased, instead of usage of one or two classes we get 50 new lambdas, and of course this horrible cast. new GetPropertyAction("user.home")); vs (PrivilegedAction<String>) () -> System.getProperty("user.home"));I don't like the cast either and can leave with it as the explicit method call is actually a plus. JDK-8019851 will re-examine this in 9 to bring something better. I'll need to find out from the performance team if the footprint is an issue. I'll follow this up and if it turns out to be an issue, we will fix it differently. The main fix here is to remove the dependency.
A javac optimization could avoid generating the helper method that contains the System.getProperty("user.home") call and build the lambda directly off System.getProperty(String). The bytecode is likely still a bit larger than what we had before, but not by as much.
-- Florian Weimer / Red Hat Product Security Team
