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

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


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


Best regards,
Vladimir Ivanov

More information about the core-libs-dev mailing list