RFR: SFX AddP cloning should check for dependent AddP explicitly
Roman Kennke
rkennke at redhat.com
Mon Jul 15 12:48: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.
>
> Ah yes, that. True, we would miss some opportunities. We can look deeper into that, after we unbreak
> the tests.
Sure. Please do it!
Thanks,
Roman
More information about the shenandoah-dev
mailing list