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

Roland Westrelin roland at openjdk.java.net
Mon Oct 19 12:18:22 UTC 2020


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.

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

Commit messages:
 - test & fix

Changes: https://git.openjdk.java.net/jdk/pull/735/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=735&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8254998
  Stats: 56 lines in 2 files changed: 55 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/735.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/735/head:pull/735

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


More information about the hotspot-compiler-dev mailing list