> The bug is caused by a mismatch in the way `LoadFlat` and `StoreFlat` > are handled in `ConnectionGraph::find_inst_mem()` and > `MemNode::optimize_simple_memory_chain()`. Once EA has run a first > time, found some value array allocations as non escaping, and removed > their `LoadFlat`/`StoreFlat`, igvn runs and is able to further > transform the memory subgraph which introduces inconsistencies that > are then caught the next time EA runs. > > The fix tries to make sure `ConnectionGraph::find_inst_mem()` and > `MemNode::optimize_simple_memory_chain()` handle `LoadFlat` and > `StoreFlat` similarly. > > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai).
Roland Westrelin has updated the pull request incrementally with one additional commit since the last revision: more ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/2489/files - new: https://git.openjdk.org/valhalla/pull/2489/files/8f88da88..1032e0a2 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=2489&range=02 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=2489&range=01-02 Stats: 41 lines in 2 files changed: 38 ins; 2 del; 1 mod Patch: https://git.openjdk.org/valhalla/pull/2489.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/2489/head:pull/2489 PR: https://git.openjdk.org/valhalla/pull/2489
