RFR: 8257574: C2: "failed: parsing found no loops but there are some" assert failure

Roland Westrelin roland at openjdk.java.net
Wed Dec 2 08:34:04 UTC 2020


The assert fires because the loop only has an infinite loop which
causes the has_loops flag to be cleared. But because a NeverBranch is
also added to the graph on the next pass of loop opts (for
verification), C2 finds a loop and that's inconsistent with the
has_loops flag. This is supposed to be handled by the
only_has_infinite_loops() call in the assert but not in this case
because the loop is not an innermost loop.

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

Commit messages:
 - infinite loop

Changes: https://git.openjdk.java.net/jdk/pull/1556/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1556&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8257574
  Stats: 66 lines in 2 files changed: 50 ins; 6 del; 10 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1556.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1556/head:pull/1556

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


More information about the hotspot-compiler-dev mailing list