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

Christian Hagedorn christian.hagedorn at oracle.com
Thu Jul 9 12:16:12 UTC 2020


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!

>> 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