RFR(M): 8229495: SIGILL in C2 generated OSR compilation

Vladimir Kozlov vladimir.kozlov at oracle.com
Fri Jul 10 23:32:36 UTC 2020


On 7/9/20 5:16 AM, Christian Hagedorn wrote:
> Hi Roland
> 
> On 09.07.20 13:43, Roland Westrelin wrote:
>> new webrev:
>> http://cr.openjdk.java.net/~roland/8229495/webrev.01/
> 
> That looks good to me!

+1

Thanks,
Vladimir K

> 
>>> I submitted some testing.
>>
>> Thanks.
> 
> An extended testing was completed successfully (up to tier7).
> 
>>> While at it, you might want to consider to update other uses of the
>>> pattern Opcode() == Op_Opaque1 by is_Opaque1() as well like in
>>> loopTransform.cpp:
>>>
>>> 1158     assert(iff->in(1)->in(1)->Opcode() == Op_Opaque1, "unexpected
>>> predicate shape");
>>
>> Except in this case it really is an Opaque1 instead of a subclass so
>> using is_Opaque1() would weaken the assert.
> 
> You're right, I have not thought about that - then better leave it as it is.
> 
>>> I observed a Java Fuzzer crash ("fatal error: DEBUG MESSAGE: duplicated
>>> predicate failed which is impossible") this weekend which looked very
>>> similar to this bug and indeed it could be fixed with your patch. You
>>> could add it as additional testcase. Here is the simplified code and the
>>> command line I used to reproduce it.
>>
>> Thanks for test case. I included it in the new webrev.
> 
> Great, thanks for adding it.
> 
> Best regards,
> Christian


More information about the hotspot-compiler-dev mailing list