RFR(S): 8161379: @CallerSensitive methods should be forcefully inlined to get Reflection.getCallerClass optimization

Claes Redestad claes.redestad at oracle.com
Sat Jul 16 00:12:49 UTC 2016


Hi,

Aleksey and I would like to contribute this patch which change the
inlining policy to treat @CallerSensitive as it would
@ForceSensitive.

Bug: https://bugs.openjdk.java.net/browse/JDK-8161379
Webrev: http://cr.openjdk.java.net/~redestad/8161379/webrev.01/

The issue is that the JNI call behind Reflection.getCallerClass() is
very expensive compared to the C2 intrinsic. This shows up in various
microbenchmarks stress-testing reflection, method handle lookup etc,
and can be linked to a number of intermittent regressions we see appear
in various benchmarks.

See the bug for more information.

Testing: JPRT -testset hotspot, RBT hotspot-nightly-compiler

Thanks!

/Claes


More information about the hotspot-compiler-dev mailing list