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