RFR: 8161550: [JVMCI] Crash: assert(sig_bt[member_arg_pos] == T_OBJECT)

Stefan Anzinger stefan.anzinger at oracle.com
Tue Aug 9 16:49:13 UTC 2016


Sorry, I've initially sent it to the hotspot-dev mailinglist - here
seems to be the right place.

Please review below.

Stefan

-------- Forwarded Message --------
Subject: Re: RFR: 8161550: [JVMCI] Crash: assert(sig_bt[member_arg_pos]
== T_OBJECT)
Date: Tue, 9 Aug 2016 11:26:55 +0000
From: Stefan Anzinger <stefan.anzinger at oracle.com>
To: hotspot-dev at openjdk.java.net, Zoltán Majó <zoltan.majo at oracle.com>

Hi Zoltan,

Tom tried to integrate this patch, but the assertion error was still in.
I've updated the webrev, to fix the assertion error too.

Please see updated webrev [1].

The issue there was, that the assertion triggered, when JVMCI was trying
to resolve MethodHandle.linkTo* methods. To avoid this kind of crash, I
updated method LinkResolver::lookup_method_in_klasses I removed the bool
argument checkpolymorphism.
 * There are just two call sites, one call it with true, the other
    with false
 * The check performed when checkpolymorphism is true is done at the
     very end of the method.
thus, I moved check code to the call site where the check should be
performed.

[1] http://cr.openjdk.java.net/~sanzinger/8161550/webrev.01/

Stefan


On 08/03/2016 04:43 AM, Zoltán Majó wrote:
> Hi Stefan,
> 
> 
> thank you for fixing this issue! Your fix looks good to me.
> 
> Do you need a sponsor? If yes, I can sponsor your change.
> 
> Best regards,
> 
> 
> Zoltan
> 
> 
> On 08/02/2016 07:07 AM, Stefan Anzinger wrote:
>> Hello,
>>
>> this RFR fixes 8161550. JVMCI must not return intrinsified MethodHandle
>> methods. The test had to be updated and the shortcut evaluation in
>> HotSpotResolvedObjectTypeImpl.resolveMethod needs take care of this fact.
>>
>> http://cr.openjdk.java.net/~sanzinger/8161550/webrev.00/
>>
>> Stefan
> 


More information about the hotspot-compiler-dev mailing list