[lworld] RFR: 8336778: [lworld] C2 compilation hits "invalid node class" assert when merging object field values

Tobias Hartmann thartmann at openjdk.org
Tue Aug 13 10:52:25 UTC 2024


When preparing to merge field values, `InlineTypeNode::clone_with_phis` incorrectly looks at the field value instead of the field type to determine if Phis should be created. This leads to asserts or even incorrect execution, for example, in the case when the field type is Object, the field value in one branch is an InlineTypeNode but the field value in the other branch is not an InlineTypeNode. I added corresponding tests and also additional asserts that would catch the incorrect execution cases.

Best regards,
Tobias

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

Commit messages:
 - 8336778: [lworld] C2 compilation hits "invalid node class" assert when merging object field values

Changes: https://git.openjdk.org/valhalla/pull/1205/files
  Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1205&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8336778
  Stats: 101 lines in 3 files changed: 99 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/valhalla/pull/1205.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1205/head:pull/1205

PR: https://git.openjdk.org/valhalla/pull/1205


More information about the valhalla-dev mailing list