[9] RFR (XXS): 8071788: CountingWrapper.asType() is broken

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Wed Jan 28 17:22:57 UTC 2015


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

There's a type mismatch between MethodHandle and LambdaForm in 
CountingWrapper.asTypeUncached(). Sometimes, it leads to a VM crash.

The fix is to use adapted MethodHandle to construct LambdaForm.

There's no way to reproduce this problem with vanilla 8u40/9 binaries, 
because CountingWrapper is used only to block inlinining in GWT 
(MHI::profile() on target and fallback MethodHandles).

It means there's no way to call CountingWrapper.asType() on wrapped 
MethodHandles outside of java.lang.invoke code, and there are no such 
calls inside it.

Testing: manual, java/lang/invoke

Thanks!

Best regards,
Vladimir Ivanov



More information about the core-libs-dev mailing list