On 26/03/2018 11:31 PM, Claes Redestad wrote:
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.
If there is a pending exception then it will be rethrown as soon as we
hit code that checks for pending exceptions. If it is not rethrown then
something else is clearing it.
I've removed the CLEAR_PENDING_EXCEPTIONS I added experimentally from
this webrev, as this might be subtly changing semantics of the
resolveOrFail case.
Okay ... but I'm not sure how to combine this with your responses to
Karen. ??
David
/Claes