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