RFR: 8347040: C2: assert(!loop->_body.contains(in)) failed

Roland Westrelin roland at openjdk.org
Tue Feb 18 13:05:23 UTC 2025


`OuterStripMinedLoopNode::transform_to_counted_loop()` merges the
outer strip mined loop and the inner loop into a single loop.  To
achieve that, it needs to append the nodes of the outer strip mined
loop to the body of the inner loop. To make sure each of these nodes
is appended only once, a `Unique_Node_List` is used: nodes found by
following the safepoint's inputs are first enqueued into the list and
then, each unique node should be added to the loop body. That's not
what the current code does, though, because it enqueues the nodes it
finds to the list and add them to the loop body right away.

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

Commit messages:
 - fix & test

Changes: https://git.openjdk.org/jdk/pull/23676/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23676&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8347040
  Stats: 59 lines in 2 files changed: 57 ins; 2 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/23676.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/23676/head:pull/23676

PR: https://git.openjdk.org/jdk/pull/23676


More information about the hotspot-compiler-dev mailing list