[9, 8u40] RFR (XXS): 8059880: Get rid of LambdaForm interpretation

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Tue Nov 18 21:01:54 UTC 2014


Once full LambdaForm sharing is on by default, amount of instantiated 
LambdaForms drastically reduces. On Octane it varies from 1k to 3k 
depending on the subbenchmark (was up to 300k before LF sharing-related 

It allows to skip interpretation step without inducing slowdown at 
startup. Every LambdaForm is precompiled once it is instantiated. 
Avoiding LF interpretation significantly reduces worst-case stack usage 
(4-5 stack frames per interpreted LF to 1 stack frame per compiled LF).

The fix is to set COMPILE_THRESHOLD down to 0. It triggers LF 
precompilation for every LF.

Testing: jck (api/java_lang/invoke), jdk/java/lang/invoke, 
jdk/java/util/streams, octane


Best regards,
Vladimir Ivanov

More information about the core-libs-dev mailing list