Heads-up: sh/jdk CTW failure with Traversal

Roland Westrelin rwestrel at redhat.com
Wed Mar 27 14:28:03 UTC 2019


Fix is below. If one enqueue barrier feeds into another one, we only
need to keep one.

Roland.

diff -r 6277fcfd1269 src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp
--- a/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp	Mon Mar 25 19:57:08 2019 +0100
+++ b/src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp	Wed Mar 27 15:25:24 2019 +0100
@@ -2101,6 +2101,7 @@
 int ShenandoahEnqueueBarrierNode::needed(Node* n) {
   if (n == NULL ||
       n->is_Allocate() ||
+      n->Opcode() == Op_ShenandoahEnqueueBarrier ||
       n->bottom_type() == TypePtr::NULL_PTR ||
       (n->bottom_type()->make_oopptr() != NULL && n->bottom_type()->make_oopptr()->const_oop() != NULL)) {
     return NotNeeded;


More information about the shenandoah-dev mailing list