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