From 0853423f46c43d5a2cd8ccfab6223287a693d5cb Mon Sep 17 00:00:00 2001 From: Vladimir Kozlov Date: Mon, 9 Jun 2014 15:42:31 -0700 Subject: [PATCH] 8046275: Fastdebug build failing on jdk9/hs/ control jobs after pulling some hs-comp changes Add missing check for Opaque nodes from loop predicates in clone_loop(). Reviewed-by: iveresov --- hotspot/src/share/vm/opto/loopopts.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hotspot/src/share/vm/opto/loopopts.cpp b/hotspot/src/share/vm/opto/loopopts.cpp index 7b722674391..93519a7cdb1 100644 --- a/hotspot/src/share/vm/opto/loopopts.cpp +++ b/hotspot/src/share/vm/opto/loopopts.cpp @@ -1403,7 +1403,8 @@ void PhaseIdealLoop::clone_loop( IdealLoopTree *loop, Node_List &old_new, int dd // loop. Happens if people set a loop-exit flag; then test the flag // in the loop to break the loop, then test is again outside of the // loop to determine which way the loop exited. - if( use->is_If() || use->is_CMove() ) { + // Loop predicate If node connects to Bool node through Opaque1 node. + if (use->is_If() || use->is_CMove() || C->is_predicate_opaq(use)) { // Since this code is highly unlikely, we lazily build the worklist // of such Nodes to go split. if( !split_if_set )