RFR: 8372451: C2 SuperWord: "endless loop" assert. Need to implement proper worklist mechanism

Emanuel Peter epeter at openjdk.org
Thu Nov 27 11:45:21 UTC 2025


**Context**: `VTransform::optimize`. Works a bit like IGVN, it allows each node to perform optimizations. Recently introduced during JDK26.

**Problem**: I made the assumption that we don't need a worklist mechanism, we can just do multiple passes over all nodes. The assumption was that there would not be any "trickling" of updates over the graph. But that is wrong: for example we can have a long chain of dead nodes, and we need to progressively remove the last node and mark it as dead.

**Solution**: Implement proper worklist mechanism, so that updates can trickle over the graph.

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

Commit messages:
 - Merge branch 'master' into JDK-8372451-too-many-dead-vector-reduction-vtnodes
 - rm old documentation
 - git move to new test
 - streamline
 - refactor and verify
 - unique worklist
 - wip solution
 - JDK-8372451

Changes: https://git.openjdk.org/jdk/pull/28512/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28512&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8372451
  Stats: 202 lines in 3 files changed: 158 ins; 1 del; 43 mod
  Patch: https://git.openjdk.org/jdk/pull/28512.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/28512/head:pull/28512

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


More information about the hotspot-compiler-dev mailing list