[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


http://cr.openjdk.java.net/~vlivanov/8059880/webrev.00/
https://bugs.openjdk.java.net/browse/JDK-8059880

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 
changes).

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

Thanks!

Best regards,
Vladimir Ivanov


More information about the mlvm-dev mailing list