< prev index next >

src/hotspot/share/opto/node.cpp

Print this page

        

@@ -547,10 +547,13 @@
     n->as_SafePoint()->clone_replaced_nodes();
   }
   if (n->is_Load()) {
     n->as_Load()->copy_barrier_info(this);
   }
+  if (n->is_ValueTypeBase()) {
+    C->add_value_type(n);
+  }
   return n;                     // Return the clone
 }
 
 //---------------------------setup_is_top--------------------------------------
 // Call this when changing the top node, to reassert the invariants

@@ -624,10 +627,13 @@
     compile->remove_range_check_cast(cast);
   }
   if (Opcode() == Op_Opaque4) {
     compile->remove_opaque4_node(this);
   }
+  if (is_ValueTypeBase()) {
+    compile->remove_value_type(this);
+  }
 
   if (is_SafePoint()) {
     as_SafePoint()->delete_replaced_nodes();
   }
   BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2();

@@ -1378,10 +1384,13 @@
         igvn->C->remove_range_check_cast(cast);
       }
       if (dead->Opcode() == Op_Opaque4) {
         igvn->C->remove_opaque4_node(dead);
       }
+      if (dead->is_ValueTypeBase()) {
+        igvn->C->remove_value_type(dead);
+      }
       BarrierSetC2* bs = BarrierSet::barrier_set()->barrier_set_c2();
       bs->unregister_potential_barrier_node(dead);
       igvn->C->record_dead_node(dead->_idx);
       // Kill all inputs to the dead guy
       for (uint i=0; i < dead->req(); i++) {
< prev index next >