< prev index next >

src/share/vm/opto/lcm.cpp

Print this page
rev 8961 : [mq]: diff-shenandoah.patch

@@ -172,10 +172,12 @@
     case Op_LoadKlass:
     case Op_LoadNKlass:
     case Op_LoadRange:
     case Op_LoadD_unaligned:
     case Op_LoadL_unaligned:
+    case Op_ShenandoahReadBarrier:
+    case Op_ShenandoahWriteBarrier:
       assert(mach->in(2) == val, "should be address");
       break;
     case Op_StoreB:
     case Op_StoreC:
     case Op_StoreCM:

@@ -378,11 +380,11 @@
 
   // Check for flag-killing projections that also need to be hoisted
   // Should be DU safe because no edge updates.
   for (DUIterator_Fast jmax, j = best->fast_outs(jmax); j < jmax; j++) {
     Node* n = best->fast_out(j);
-    if( n->is_MachProj() ) {
+    if( n->is_MachProj() || n->Opcode() == Op_ShenandoahWBMemProj) {
       get_block_for_node(n)->find_remove(n);
       block->add_inst(n);
       map_node_to_block(n, block);
     }
   }
< prev index next >