Heads-up: failures with -XX:+StressLCM -XX:+StressGCM

Roland Westrelin rwestrel at redhat.com
Thu Sep 22 07:35:51 UTC 2016


> Actually no, still fails, but rarer, and in a different place. So far I
> failed to come up with a minimized jtreg test. jcstress fails with this:

Can you try the following patch?

Roland.

diff --git a/src/share/vm/opto/compile.cpp b/src/share/vm/opto/compile.cpp
--- a/src/share/vm/opto/compile.cpp
+++ b/src/share/vm/opto/compile.cpp
@@ -3281,21 +3281,7 @@
   case Op_ShenandoahReadBarrier:
     break;
   case Op_ShenandoahWriteBarrier:
-    {
-      const Type* val_t = n->in(ShenandoahBarrierNode::ValueIn)->bottom_type();
-      assert(n->in(ShenandoahBarrierNode::Control) != NULL, "should have control");
-      // only reset control if a CastPP input is not removed yet
-      if (val_t->meet(TypePtr::NULL_PTR) == val_t) {
-        n->set_req(ShenandoahBarrierNode::Control, NULL);
-        uint i = n->req();
-        for (; i < n->len() && n->in(i) == NULL; i++);
-        if (i != n->len()) {
-          n->set_req(ShenandoahBarrierNode::Control, n->in(i));
-          n->rm_prec(i);
-        }
-      }
       break;
-    }
   case Op_RangeCheck: {
     RangeCheckNode* rc = n->as_RangeCheck();
     Node* iff = new IfNode(rc->in(0), rc->in(1), rc->_prob, rc->_fcnt);


More information about the shenandoah-dev mailing list