[jdk16] RFR: 8260284: C2: assert(_base == Int) failed: Not an Int

Christian Hagedorn chagedorn at openjdk.java.net
Fri Jan 22 14:14:07 UTC 2021


`PhaseIterGVN::no_dependent_zero_check()` does not handle the case when the divisor `n->in(2)` is top when a Div/Mod node is dying. As a result, we hit the assertion in `is_int()` because the type is top.

The fix is straight forward to handle this case and just return false to avoid any further redundant optimization on a dead node.

Thanks,
Christian

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

Commit messages:
 - 8260284: C2: assert(_base == Int) failed: Not an Int

Changes: https://git.openjdk.java.net/jdk16/pull/129/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk16&pr=129&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8260284
  Stats: 94 lines in 2 files changed: 94 ins; 0 del; 0 mod
  Patch: https://git.openjdk.java.net/jdk16/pull/129.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk16 pull/129/head:pull/129

PR: https://git.openjdk.java.net/jdk16/pull/129


More information about the hotspot-compiler-dev mailing list