[lworld] RFR: 8262287: [lworld] C2 compilation fails with assert "should have been removed from the graph" [v2]

Tobias Hartmann thartmann at openjdk.java.net
Fri Mar 12 13:36:22 UTC 2021


On Fri, 12 Mar 2021 13:15:27 GMT, Roland Westrelin <roland at openjdk.org> wrote:

>> 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

Looks good, thanks for making these changes.

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

Marked as reviewed by thartmann (Committer).

PR: https://git.openjdk.java.net/valhalla/pull/361


More information about the valhalla-dev mailing list