Blame SOURCES/8157306-pr3121-rh1360863.patch

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