RFR: SFX AddP cloning should check for dependent AddP explicitly

Aleksey Shipilev shade at redhat.com
Mon Jul 15 12:44:44 UTC 2019


On 7/15/19 2:40 PM, Roman Kennke wrote:
>>>>> 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.

Ah yes, that. True, we would miss some opportunities. We can look deeper into that, after we unbreak
the tests.

-- 
Thanks,
-Aleksey



More information about the shenandoah-dev mailing list