[lworld] RFR: 8306986: [lworld] C2 compilation fails with assert "Should have been buffered"
Tobias Hartmann
thartmann at openjdk.org
Thu Apr 27 15:53:23 UTC 2023
An assert failed because C2 was not able to prove that an inline type was always buffered. I replaced the hacky `InlineTypeNode::_is_buffered` field by a proper node input to propagate the allocation state through C2 IR. We need it in addition to the oop input because for a `null` the oop input is `null` but the node should still be treated as buffered. Reviving my prototype test generator, I found some tests that trigger two too strong asserts. I added the tests and removed the asserts.
Best regards,
Tobias
-------------
Commit messages:
- 8306986: [lworld] C2 compilation fails with assert "Should have been buffered"
Changes: https://git.openjdk.org/valhalla/pull/844/files
Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=844&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8306986
Stats: 142 lines in 7 files changed: 72 ins; 28 del; 42 mod
Patch: https://git.openjdk.org/valhalla/pull/844.diff
Fetch: git fetch https://git.openjdk.org/valhalla.git pull/844/head:pull/844
PR: https://git.openjdk.org/valhalla/pull/844
More information about the valhalla-dev
mailing list