RFR(S): 8241900: Loop unswitching may cause dependence on null check to be lost

Vladimir Kozlov vladimir.kozlov at oracle.com
Tue Apr 7 17:15:34 UTC 2020


I also agree with these changes. And I see that Tobias's testing did not find issues (except timeout on SPARC).

Thanks,
Vladimir

On 4/6/20 1:51 AM, Tobias Hartmann wrote:
> 
> On 06.04.20 10:34, Roland Westrelin wrote:
>> I've been wondering about that too but couldn't find a scenario where it
>> would go wrong. dominated_by() is what's used when a if is replaced by a
>> dominating if with the same condition in
>> PhaseIdealLoop::split_if_with_blocks_post(). Loop switching is similar:
>> we add a dominating if, and then remove the loop copies because they are
>> redundant.
> 
> Right, I couldn't find such a scenario either and as you've pointed out the same problem would
> exists at other places as well. Looks good.
> 
> Best regards,
> Tobias
> 


More information about the hotspot-compiler-dev mailing list