RFR: 8341976: C2: use_mem_state != load->find_exact_control(load->in(0)) assert failure [v5]
Damon Fenacci
dfenacci at openjdk.org
Mon Mar 24 15:48:21 UTC 2025
On Mon, 24 Mar 2025 12:01:30 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:
>> ` ArrayCopyNode::may_modify()` performs some pattern matching and needs to be in sync with the shape of the array copy once expanded. If that shape changes then ` ArrayCopyNode::may_modify()` needs to be adjusted. The code you points to was added when the shape of the expanded array copy was changed to avoid a complicated update to the pattern matching in ` ArrayCopyNode::may_modify()`. What I propose is to get rid of the pattern matching because it's fragile and to instead always use the trick from that change where the final `MemBarNode` is marked, so make it unconditional.
>
> Makes sense, thanks for the explanation!
Do we still need `is_partial_array_copy` in production builds? It seems to be used only in an assertion block.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23465#discussion_r2010436381
More information about the hotspot-compiler-dev
mailing list