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

Tobias Hartmann thartmann at openjdk.java.net
Mon Jul 26 12:03:52 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

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

Commit messages:
 - 8270995: [lworld] G1BarrierSetC2::step_over_gc_barrier asserts with "bad barrier shape"

Changes: https://git.openjdk.java.net/valhalla/pull/495/files
 Webrev: https://webrevs.openjdk.java.net/?repo=valhalla&pr=495&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8270995
  Stats: 106 lines in 3 files changed: 95 ins; 5 del; 6 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