[lworld] RFR: 8270995: [lworld] G1BarrierSetC2::step_over_gc_barrier asserts with "bad barrier shape" [v2]

Tobias Hartmann thartmann at openjdk.java.net
Tue Jul 27 06:42:28 UTC 2021

> The `G1BarrierSetC2::step_over_gc_barrier` code gets confused by a `MemBarCPUOrder`, assuming it belongs to a GC barrier. However, it comes from a `MemBarStoreStore` added by `InlineTypeBaseNode::buffer` that is then transformed to a `MemBarCPUOrder` by Escape Analysis because the allocation is non-escaping (`ConnectionGraph::optimize_ideal_graph`). I don't think we need a `MemBarCPUOrder` for inline type buffer allocations, EA should simply remove it.
> I've filed [JDK-8271280](https://bugs.openjdk.java.net/browse/JDK-8271280) to re-visit the barrier code.
> Best regards,
> Tobias

Tobias Hartmann has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains two additional commits since the last revision:

 - Merge branch 'lworld' into JDK-8270995
 - 8270995: [lworld] G1BarrierSetC2::step_over_gc_barrier asserts with "bad barrier shape"


  - all: https://git.openjdk.java.net/valhalla/pull/495/files
  - new: https://git.openjdk.java.net/valhalla/pull/495/files/c8c1feda..676b45a1

 - full: https://webrevs.openjdk.java.net/?repo=valhalla&pr=495&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=valhalla&pr=495&range=00-01

  Stats: 100 lines in 3 files changed: 5 ins; 81 del; 14 mod
  Patch: https://git.openjdk.java.net/valhalla/pull/495.diff
  Fetch: git fetch https://git.openjdk.java.net/valhalla pull/495/head:pull/495

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

More information about the valhalla-dev mailing list