Blame SOURCES/8157306-pr3121-rh1360863.patch

2b939e
# HG changeset patch
2b939e
# User aph
2b939e
# Date 1470065634 -3600
2b939e
#      Mon Aug 01 16:33:54 2016 +0100
2b939e
# Node ID ee9bffb3bd390b2ad805c7b59d7d2ab8a68a4367
2b939e
# Parent  ab3e0bde3c15bbba60de4decabcd70ffef657448
2b939e
8157306, PR3121: Random infrequent null pointer exceptions in javac
2b939e
Reviewed-by: kvn
2b939e
2b939e
diff -r ab3e0bde3c15 -r ee9bffb3bd39 src/share/vm/opto/lcm.cpp
2b939e
--- openjdk/hotspot/src/share/vm/opto/lcm.cpp	Tue Jul 26 04:42:03 2016 +0100
2b939e
+++ openjdk/hotspot/src/share/vm/opto/lcm.cpp	Mon Aug 01 16:33:54 2016 +0100
2b939e
@@ -1090,11 +1090,14 @@
2b939e
     Block *sb = block->_succs[i];
2b939e
     // Clone the entire area; ignoring the edge fixup for now.
2b939e
     for( uint j = end; j > beg; j-- ) {
2b939e
-      // It is safe here to clone a node with anti_dependence
2b939e
-      // since clones dominate on each path.
2b939e
       Node *clone = block->get_node(j-1)->clone();
2b939e
       sb->insert_node(clone, 1);
2b939e
       map_node_to_block(clone, sb);
2b939e
+#ifdef AARCH64
2b939e
+      if (clone->needs_anti_dependence_check()) {
2b939e
+        insert_anti_dependences(sb, clone);
2b939e
+      }
2b939e
+#endif
2b939e
     }
2b939e
   }
2b939e