# HG changeset patch # User aph # Date 1470065634 -3600 # Mon Aug 01 16:33:54 2016 +0100 # Node ID ee9bffb3bd390b2ad805c7b59d7d2ab8a68a4367 # Parent ab3e0bde3c15bbba60de4decabcd70ffef657448 8157306, PR3121: Random infrequent null pointer exceptions in javac Reviewed-by: kvn diff -r ab3e0bde3c15 -r ee9bffb3bd39 src/share/vm/opto/lcm.cpp --- openjdk/hotspot/src/share/vm/opto/lcm.cpp Tue Jul 26 04:42:03 2016 +0100 +++ openjdk/hotspot/src/share/vm/opto/lcm.cpp Mon Aug 01 16:33:54 2016 +0100 @@ -1090,11 +1090,14 @@ 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); +#ifdef AARCH64 + if (clone->needs_anti_dependence_check()) { + insert_anti_dependences(sb, clone); + } +#endif } }