RFR: 8254998: C2: assert(!n->as_Loop()->is_transformed_long_loop()) failure with -XX:StressLongCountedLoop=1

Tobias Hartmann thartmann at openjdk.java.net
Tue Oct 20 05:48:15 UTC 2020


On Mon, 19 Oct 2020 12:07:46 GMT, Roland Westrelin <roland at openjdk.org> wrote:

> Transformation of a long counted loop into a loop nest with a counted
> loop inner loop happens in 2 passes of loop opts: first the loop nest
> is created and then the inner loop is transformed into a counted
> loop. The assert fires because the second step doesn't have a chance
> to run given the first step was executed as the last loop opts pass
> before running out of allowed loop opts passes. The fix I propose for
> this corner case is to relax the assert to account for this.

Looks good to me.

test/hotspot/jtreg/compiler/longcountedloops/TestTooManyLoopOpts.java line 26:

> 24: /**
> 25:  * @test
> 26:  * @bug JDK-8254998

I didn't know that the bug ID format with "JDK-" is accepted as well but I would suggest to remove it for consistency
with other tests.

-------------

Marked as reviewed by thartmann (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/735


More information about the hotspot-compiler-dev mailing list