[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