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
_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to