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