[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