[lworld] RFR: 8262308: [lworld] Various small C2 fixes for bugs found by stress testing

Tobias Hartmann thartmann at openjdk.java.net
Thu Feb 25 07:36:07 UTC 2021

More testing with stress flags enabled revealed the following bugs:
- We should not call `remove_dead_node` from `InlineTypeBaseNode::Ideal`. Instead, we should just make sure the dead node is on the IGVN worklist to be removed. I've also removed the `VerifyVM` option from the framework. Such flags can be added manually or via the CI job definitions.
- `PhaseMacroExpand::process_users_of_allocation` needs to handle `InlineTypePtrNodes` because we now keep them until after macro expansion.
- `GraphKit::type_check_receiver` should create a `InlineTypePtrNode` instead of a `InlineTypeNode` because it operates on pointers. 

I have a job definition file with all these stress flags enabled that I will integrate separately soon.

Best regards,


Commit messages:
 - More fixes
 - 8262308: [lworld] VerifyIterativeGVN fails with "can not use dead node"

Changes: https://git.openjdk.java.net/valhalla/pull/351/files
 Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=351&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8262308
  Stats: 21 lines in 4 files changed: 11 ins; 7 del; 3 mod
  Patch: https://git.openjdk.java.net/valhalla/pull/351.diff
  Fetch: git fetch https://git.openjdk.java.net/valhalla pull/351/head:pull/351

PR: https://git.openjdk.java.net/valhalla/pull/351

More information about the valhalla-dev mailing list