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

Claes Redestad claes.redestad at oracle.com
Tue Mar 27 07:26:59 UTC 2018



On 2018-03-27 09:03, David Holmes wrote:
> Hi Claes,
>
> This seems reasonable. Clearing the exception only when speculatively 
> resolving is reasonable (it's similar to compilation clearing 
> exceptions and falling back to interpreted mode).

Thanks David!

For the record, it seems that in my (synthetic) tests we're often 
hitting the case
where resolve_MemberName returns quickly due to the requested signature not
being known to exist anywhere in the VM (the class we're resolving into 
is loaded
and all signatures that can exist should be known). In these cases the 
linkResolver
isn't even called and MHN_resolve_Mem returns empty(). Thus explaining 
why we
are hitting the if (speculative_resolve) in MHN_resolve_Mem so often and 
confuse
everyone.

Thus for a certain type of speculative resolve, it seems we're actually 
down to
throwing no exceptions at all, now.

/Claes

>
> Thanks,
> David 



More information about the hotspot-runtime-dev mailing list