RFR: 8200238: Reduce number of exceptions created when calling MemberName$Factory::resolveOrNull
karen.kinnear at oracle.com
Wed Mar 28 13:43:13 UTC 2018
Thank you for this fix. Glad it makes a startup difference. Agree with Lois.
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:
>>> On 2018-03-26 17:15, Karen Kinnear wrote:
>>>> 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
>> New webrev:
> Hi Claes,
> Looks good. One minor comment.
> - 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.
More information about the core-libs-dev