RFR: SFX AddP cloning should check for dependent AddP explicitly

Roman Kennke rkennke at redhat.com
Mon Jul 15 12:40:13 UTC 2019


>>>> CTW tests fail with sh/jdk with the assert here:
>>>>  1545         assert(addr2->Opcode() == Op_AddP, "expected");
>>>>
>>>> I believe we should instead check for the shape of the graph explicitly here:
>>>>   http://cr.openjdk.java.net/~shade/shenandoah/sfx-hard-arr/webrev.01/
>>>
>>> This also apparently fixes a lot of x86_32 CTW tests.
>>
>> It looks ok to me.
>> I assume the failure case is rare enough that we can accept the register
>> mess-up there?
> 
> Where is the register mess-up? I see there is a dangling CheckCastPP, but that node would be dead in
> that corner case.

Doesn't it mean we can't match the whole shape and would end up not
cloning the thingy, which leads to the null-check becoming explicit or
something? Either way, I guess it must be rare.

Roman



More information about the shenandoah-dev mailing list