< prev index next >

src/share/vm/opto/lcm.cpp

Print this page
rev 11496 : 8157306: Random infrequent null pointer exceptions in javac
Reviewed-by: kvn

@@ -1291,15 +1291,16 @@
   // 'end' indices.
   for( uint i = 0; i < block->_num_succs; i++ ) {
     Block *sb = block->_succs[i];
     // Clone the entire area; ignoring the edge fixup for now.
     for( uint j = end; j > beg; j-- ) {
-      // It is safe here to clone a node with anti_dependence
-      // since clones dominate on each path.
       Node *clone = block->get_node(j-1)->clone();
       sb->insert_node(clone, 1);
       map_node_to_block(clone, sb);
+      if (clone->needs_anti_dependence_check()) {
+        insert_anti_dependences(sb, clone);
+      }
     }
   }
 
 
   // Fixup edges.  Check the def-use info per cloned Node
< prev index next >