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

Karen Kinnear karen.kinnear at oracle.com
Wed Mar 28 13:43:13 UTC 2018


Claes,

Thank you for this fix. Glad it makes a startup difference. Agree with Lois.

thanks,
Karen

p.s. haven’t had a chance to trace the logic of your explanation below in a debugger - I don’t
quite follow it. But the fix makes sense.

> On Mar 27, 2018, at 11:57 AM, Lois Foltan <lois.foltan at oracle.com> wrote:
> 
> On 3/27/2018 2:49 AM, Claes Redestad wrote:
> 
>> 
>> 
>> On 2018-03-26 17:51, Claes Redestad wrote:
>>> Karen,
>>> 
>>> On 2018-03-26 17:15, Karen Kinnear wrote:
>>>> Claes,
>>>> 
>>>> Discussed with Lois. We think that it would make more sense to pass the new argument into MethodHandles::resolve_MemberName and at all three places that we currently CHECK_PENDING_EXCEPTION/return null there
>>>>     - if speculative flag is set - CLEAR_PENDING_EXCEPTION before you return null
>>>>     - and yes - do this for all three cases, not just the METHOD case
>>> 
>>> ok.
>> 
>> New webrev:
>> 
>> http://cr.openjdk.java.net/~redestad/8200238/open.01/
> 
> Hi Claes,
> Looks good.  One minor comment.
> 
> hotspot/share/prims/methodHandles.cpp:
> - line #1237.  Consider putting some explanation in the assert statement instead of a blank string.  Something like "speculative resolve mode has encountered an unexpected pending exception"
> 
> I don't need to see another webrev.
> 
> Thanks,
> Lois
> 
>> 
>> Thanks!
>> 
>> /Claes



More information about the core-libs-dev mailing list