[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