RFR(L) 8227745: Enable Escape Analysis for Better Performance in the Presence of JVMTI Agents

Reingruber, Richard richard.reingruber at sap.com
Tue Dec 10 21:45:28 UTC 2019


Hi,

I would like to get reviews please for

http://cr.openjdk.java.net/~rrich/webrevs/2019/8227745/webrev.3/

Corresponding RFE:
https://bugs.openjdk.java.net/browse/JDK-8227745

Fixes also https://bugs.openjdk.java.net/browse/JDK-8233915
And potentially https://bugs.openjdk.java.net/browse/JDK-8214584 [1]

Vladimir Kozlov kindly put webrev.3 through tier1-8 testing without issues (thanks!). In addition the
change is being tested at SAP since I posted the first RFR some months ago.

The intention of this enhancement is to benefit performance wise from escape analysis even if JVMTI
agents request capabilities that allow them to access local variable values. E.g. if you start-up
with -agentlib:jdwp=transport=dt_socket,server=y,suspend=n, then escape analysis is disabled right
from the beginning, well before a debugger attaches -- if ever one should do so. With the
enhancement, escape analysis will remain enabled until and after a debugger attaches. EA based
optimizations are reverted just before an agent acquires the reference to an object. In the JBS item
you'll find more details.

Thanks,
Richard.

[1] Experimental fix for JDK-8214584 based on JDK-8227745
    http://cr.openjdk.java.net/~rrich/webrevs/2019/8214584/experiment_v1.patch


More information about the serviceability-dev mailing list