Mercurial > hg > truffle
comparison src/share/vm/opto/loopopts.cpp @ 17978:ad51f24671c2
8046275: Fastdebug build failing on jdk9/hs/ control jobs after pulling some hs-comp changes
Summary: Add missing check for Opaque nodes from loop predicates in clone_loop().
Reviewed-by: iveresov
author | kvn |
---|---|
date | Mon, 09 Jun 2014 15:42:31 -0700 |
parents | cd3c534f8f4a |
children | 4077c61b03a0 |
comparison
equal
deleted
inserted
replaced
17977:0b9500028980 | 17978:ad51f24671c2 |
---|---|
1399 // If the Data use is an IF, that means we have an IF outside of the | 1399 // If the Data use is an IF, that means we have an IF outside of the |
1400 // loop that is switching on a condition that is set inside of the | 1400 // loop that is switching on a condition that is set inside of the |
1401 // loop. Happens if people set a loop-exit flag; then test the flag | 1401 // loop. Happens if people set a loop-exit flag; then test the flag |
1402 // in the loop to break the loop, then test is again outside of the | 1402 // in the loop to break the loop, then test is again outside of the |
1403 // loop to determine which way the loop exited. | 1403 // loop to determine which way the loop exited. |
1404 if( use->is_If() || use->is_CMove() ) { | 1404 // Loop predicate If node connects to Bool node through Opaque1 node. |
1405 if (use->is_If() || use->is_CMove() || C->is_predicate_opaq(use)) { | |
1405 // Since this code is highly unlikely, we lazily build the worklist | 1406 // Since this code is highly unlikely, we lazily build the worklist |
1406 // of such Nodes to go split. | 1407 // of such Nodes to go split. |
1407 if( !split_if_set ) | 1408 if( !split_if_set ) |
1408 split_if_set = new Node_List(area); | 1409 split_if_set = new Node_List(area); |
1409 split_if_set->push(use); | 1410 split_if_set->push(use); |