RFR: 8308660: C2 compilation hits 'node must be dead' assert
Roland Westrelin
roland at openjdk.org
Thu Mar 14 14:28:01 UTC 2024
In `IfNode::fold_compares_helper()`, `adjusted_val` is:
(SubI (AddI top constant) 0)
which is then transformed to the `top` node. The code, next, tries to
destroy the `adjusted_val` node i.e. the `top` node. That results in
the assert failure. Given We're trying to fold 2 ifs in a dying part
of the graph, the fix is straightforward: test `adjusted_val` for top
and bail out from the transformation if that's the case.
-------------
Commit messages:
- whitespaces
- fix & test
Changes: https://git.openjdk.org/jdk/pull/18305/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18305&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8308660
Stats: 70 lines in 2 files changed: 70 ins; 0 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/18305.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/18305/head:pull/18305
PR: https://git.openjdk.org/jdk/pull/18305
More information about the hotspot-compiler-dev
mailing list