RFR: 8200238: Reduce number of exceptions created when calling MemberName$Factory::resolveOrNull

Claes Redestad claes.redestad at oracle.com
Mon Mar 26 13:31:34 UTC 2018



On 2018-03-26 15:16, David Holmes wrote:
> MethodHandles::resolve_MemberName doesn't "catch" exceptions from 
> LinkResolver. They remain pending and will be thrown later unless 
> replaced with a different exception - which sounds like what happens 
> from your description. 

This doesn't really jive with experience: returning NULL without any 
CLEAR_PENDING_EXCEPTION in MHN_resolve_Mem or 
MethodHandles::resolve_MemberName does not mean the exception is later 
thrown, rather a null is returned from MHN::resolve.

I've removed the CLEAR_PENDING_EXCEPTIONS I added experimentally from 
this webrev, as this might be subtly changing semantics of the 
resolveOrFail case.

/Claes


More information about the hotspot-runtime-dev mailing list