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

  Update src/hotspot/share/opto/escape.cpp
  
  Co-authored-by: Tobias Hartmann <[email protected]>

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

Changes:
  - all: https://git.openjdk.org/valhalla/pull/2489/files
  - new: https://git.openjdk.org/valhalla/pull/2489/files/e96fb69c..f53364a1

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=valhalla&pr=2489&range=10
 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=2489&range=09-10

  Stats: 1 line in 1 file changed: 0 ins; 0 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

Reply via email to