< prev index next >

src/hotspot/share/opto/node.cpp

Print this page
rev 52180 : JDK-8212603: Need to step over GC barriers in Node::eqv_uncast()
Reviewed-by: shade, kvn, eosterlund

@@ -897,10 +897,17 @@
     return uncast_helper(this);
   else
     return (Node*) this;
 }
 
+bool Node::eqv_uncast(const Node* n) const {
+  BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2();
+  Node* obj1 = bs->step_over_gc_barrier(const_cast<Node*>(this));
+  Node* obj2 = bs->step_over_gc_barrier(const_cast<Node*>(n));
+  return (obj1->uncast() == obj2->uncast());
+}
+
 // Find out of current node that matches opcode.
 Node* Node::find_out_with(int opcode) {
   for (DUIterator_Fast imax, i = fast_outs(imax); i < imax; i++) {
     Node* use = fast_out(i);
     if (use->Opcode() == opcode) {
< prev index next >