src/share/vm/opto/block.cpp

changeset 1040
98cb887364d3
parent 1036
523ded093c31
child 1063
7bb995fbd3c0
equal deleted inserted replaced
1039:ec59443af135 1040:98cb887364d3
179 179
180 return not_empty; 180 return not_empty;
181 } 181 }
182 182
183 //------------------------------has_uncommon_code------------------------------ 183 //------------------------------has_uncommon_code------------------------------
184 // Return true if the block's code implies that it is not likely to be 184 // Return true if the block's code implies that it is likely to be
185 // executed infrequently. Check to see if the block ends in a Halt or 185 // executed infrequently. Check to see if the block ends in a Halt or
186 // a low probability call. 186 // a low probability call.
187 bool Block::has_uncommon_code() const { 187 bool Block::has_uncommon_code() const {
188 Node* en = end(); 188 Node* en = end();
189 189
1309 union_traces(targ_trace, src_trace); 1309 union_traces(targ_trace, src_trace);
1310 } 1310 }
1311 } 1311 }
1312 } else if (e->state() == CFGEdge::open) { 1312 } else if (e->state() == CFGEdge::open) {
1313 // Append traces, even without a fall-thru connection. 1313 // Append traces, even without a fall-thru connection.
1314 // But leave root entry at the begining of the block list. 1314 // But leave root entry at the beginning of the block list.
1315 if (targ_trace != trace(_cfg._broot)) { 1315 if (targ_trace != trace(_cfg._broot)) {
1316 e->set_state(CFGEdge::connected); 1316 e->set_state(CFGEdge::connected);
1317 src_trace->append(targ_trace); 1317 src_trace->append(targ_trace);
1318 union_traces(src_trace, targ_trace); 1318 union_traces(src_trace, targ_trace);
1319 } 1319 }
1432 break_loop_after(b); 1432 break_loop_after(b);
1433 } 1433 }
1434 } 1434 }
1435 1435
1436 // Backbranch to the top of a trace 1436 // Backbranch to the top of a trace
1437 // Scroll foward through the trace from the targ_block. If we find 1437 // Scroll forward through the trace from the targ_block. If we find
1438 // a loop head before another loop top, use the the loop head alignment. 1438 // a loop head before another loop top, use the the loop head alignment.
1439 for (Block *b = targ_block; b != NULL; b = next(b)) { 1439 for (Block *b = targ_block; b != NULL; b = next(b)) {
1440 if (b->has_loop_alignment()) { 1440 if (b->has_loop_alignment()) {
1441 break; 1441 break;
1442 } 1442 }

mercurial