RFR(S): 8220374: C2: LoopStripMining doesn't strip as expected

Tobias Hartmann tobias.hartmann at oracle.com
Wed Mar 13 14:09:53 UTC 2019


Hi Roland,

On 13.03.19 10:04, Roland Westrelin wrote:
> http://cr.openjdk.java.net/~roland/8220374/webrev.00/
> 
> Fix for 8193597 accidentally broke loop strip mining: that change caused
> the inner and outer loop to have the same exit condition. So loop strip
> mining has been effectively disabled for more than a year (a month after
> it was pushed !?).

Oh wow. We should probably mark this for a backport then, right?

> The fix above correctly sets the inner and outer loop exit
> condition. Initially, when the loop is strip mined, the inner loop exit
> condition is left as is and the outer loop exit condition is set to
> always exit. After optimizations, the outer loop exit condition must be
> set to be the same as the inner loop exit condition and then, the inner
> loop exit condition must be adjusted so the inner loop runs for no more
> than LoopStripMiningIter iterations.

Looks reasonable to me.

> Thanks to Martin Doerr for the test case and the bug report.

Have you tested with a release build? Because SafepointALot is a debug flag and will probably fail.

Also, please add some newlines to the @run statement.

Thanks,
Tobias


More information about the hotspot-compiler-dev mailing list