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