< prev index next >

src/hotspot/share/opto/arraycopynode.cpp

Print this page
rev 53029 : Proper fix for C2-unrolled-clone with Shenandoah LRB

@@ -152,10 +152,13 @@
   return get_length_if_constant(phase);
 }
 
 #if INCLUDE_SHENANDOAHGC
 Node* ArrayCopyNode::shenandoah_add_storeval_barrier(PhaseGVN *phase, bool can_reshape, Node* v, MergeMemNode* mem, Node*& ctl) {
+  if (ShenandoahLoadRefBarrier) {
+    return phase->transform(new ShenandoahLoadReferenceBarrierNode(NULL, v));
+  }
   if (ShenandoahStoreValEnqueueBarrier) {
     return phase->transform(new ShenandoahEnqueueBarrierNode(v));
   }
   return v;
 }
< prev index next >