[lworld] RFR: 8266086: [lworld][lw3] C1 produces incorrect code when GlobalValueNumbering is used
Frederic Parain
fparain at openjdk.java.net
Wed Apr 28 18:45:40 UTC 2021
Please review this fix in C1 GlobalValueNumbering.
The problem is that C1 doesn't track that a flattened field has been updated when it writes the individual values of this flattened field. The proposed fix is to record the enclosing flattened field with the StoreField node of each individual field, and use this information when the GlobalValueNumbering processes those nodes to kill the flattened field in the ValueMap.
Tested locally (Linux 64) with hotspot_valhalla (including new unit test) and jdk_valhalla test suites.
Thank you,
Fred
-------------
Commit messages:
- Fix C1 GlobalValueNumbering for flattened fields
Changes: https://git.openjdk.java.net/valhalla/pull/395/files
Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=395&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8266086
Stats: 85 lines in 6 files changed: 80 ins; 0 del; 5 mod
Patch: https://git.openjdk.java.net/valhalla/pull/395.diff
Fetch: git fetch https://git.openjdk.java.net/valhalla pull/395/head:pull/395
PR: https://git.openjdk.java.net/valhalla/pull/395
More information about the valhalla-dev
mailing list