< prev index next >

src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp

Print this page
rev 55887 : 822900: Shenandoah: Missing node types in ShenandoahLoadReferenceBarrier::needs_barrier_impl()

@@ -3085,10 +3085,11 @@
     case Op_DecodeN:
     case Op_EncodeP:
       return needs_barrier_impl(phase, n->in(1), visited);
     case Op_LoadN:
       return true;
+    case Op_CMoveN:
     case Op_CMoveP:
       return needs_barrier_impl(phase, n->in(2), visited) ||
              needs_barrier_impl(phase, n->in(3), visited);
     case Op_ShenandoahEnqueueBarrier:
       return needs_barrier_impl(phase, n->in(1), visited);

@@ -3236,10 +3237,11 @@
       }
       case Op_StrEquals:
       case Op_StrComp:
       case Op_StrIndexOf:
       case Op_StrIndexOfChar:
+      case Op_HasNegatives:
         if (!ShenandoahOptimizeStableFinals) {
            strength = WEAK;
         }
         break;
       case Op_Conv2B:
< prev index next >