[lworld] RFR: 8262287: [lworld] C2 compilation fails with assert "should have been removed from the graph" [v2]
Roland Westrelin
roland at openjdk.java.net
Fri Mar 12 13:15:27 UTC 2021
> hook_memory_on_init() sets up memory edges so stores can be captured
> at an allocation. To do that, it adds extra edges for each field after
> and before the InitializeNode. This also happens for flat arrays
> eventhough until Compile::adjust_flattened_array_access_aliases() runs
> there's a single slice for all fields of a flat array element. The
> extra edges added after the InitalizeNode can cause PhiNodes to be
> created for each fields of the array element which confuses
> Compile::adjust_flattened_array_access_aliases() (because it expects
> no Phi for individual fields until it runs). I don't think the memory
> edges out of the InitializeNode are needed as
> Compile::adjust_flattened_array_access_aliases() should create
> them. So I propose not adding them.
Roland Westrelin has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains two commits:
- comments & test
- fix
-------------
Changes: https://git.openjdk.java.net/valhalla/pull/361/files
Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=361&range=01
Stats: 42 lines in 4 files changed: 40 ins; 0 del; 2 mod
Patch: https://git.openjdk.java.net/valhalla/pull/361.diff
Fetch: git fetch https://git.openjdk.java.net/valhalla pull/361/head:pull/361
PR: https://git.openjdk.java.net/valhalla/pull/361
More information about the valhalla-dev
mailing list