src/hotspot/share/opto/subnode.cpp
changeset 52224 4f2215a00ed1
parent 52143 ad6384355aa3
child 54327 a4d19817609c
--- a/src/hotspot/share/opto/subnode.cpp	Tue Oct 23 13:47:17 2018 +0800
+++ b/src/hotspot/share/opto/subnode.cpp	Wed Oct 17 10:19:13 2018 +0200
@@ -883,9 +883,7 @@
   //   LoadBarrier?(LoadP(LoadP(AddP(foo:Klass, #java_mirror))))
   //   or NULL if not matching.
   BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2();
-  if (bs->is_gc_barrier_node(n)) {
     n = bs->step_over_gc_barrier(n);
-  }
 
   if (n->Opcode() != Op_LoadP) return NULL;
 
@@ -959,8 +957,14 @@
     if (k1 && (k2 || conk2)) {
       Node* lhs = k1;
       Node* rhs = (k2 != NULL) ? k2 : conk2;
-      this->set_req(1, lhs);
-      this->set_req(2, rhs);
+      PhaseIterGVN* igvn = phase->is_IterGVN();
+      if (igvn != NULL) {
+        set_req_X(1, lhs, igvn);
+        set_req_X(2, rhs, igvn);
+      } else {
+        set_req(1, lhs);
+        set_req(2, rhs);
+      }
       return this;
     }
   }