RFR: 8262298 : G1BarrierSetC2::step_over_gc_barrier fails with assert "bad barrier shape"

Nils Eliasson neliasso at openjdk.java.net
Tue Mar 16 13:12:18 UTC 2021


During eliminate_macro_nodes an allocation and a tightly coupled arraycopy is eliminated. The gc barrier is still there but the entry condition is always false. During the subsequent igvn we can hit an assert depending on what order the barrier nodes are removed. 

If the entry to the gc barrier is removed first - the exit region node will have Parm-control as in(2). This is a sign that it is a barrier during teardown. I add a check for that in this patch.

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

Commit messages:
 - Add check for parm node

Changes: https://git.openjdk.java.net/jdk/pull/3029/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3029&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8262298
  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3029.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3029/head:pull/3029

PR: https://git.openjdk.java.net/jdk/pull/3029


More information about the hotspot-compiler-dev mailing list