comparison src/share/vm/opto/reg_split.cpp @ 566:91263420e1c6

6791852: assert(b->_nodes[insidx] == n,"got insidx set incorrectly") Summary: Move the CreateEx up before each round of IFG construction Reviewed-by: never, phh
author kvn
date Fri, 06 Feb 2009 13:31:03 -0800
parents 96964ebdb154
children 0fbdb4381b99 98cb887364d3
comparison
equal deleted inserted replaced
565:7fe62bb75bf4 566:91263420e1c6
94 void PhaseChaitin::insert_proj( Block *b, uint i, Node *spill, uint maxlrg ) { 94 void PhaseChaitin::insert_proj( Block *b, uint i, Node *spill, uint maxlrg ) {
95 // Skip intervening ProjNodes. Do not insert between a ProjNode and 95 // Skip intervening ProjNodes. Do not insert between a ProjNode and
96 // its definer. 96 // its definer.
97 while( i < b->_nodes.size() && 97 while( i < b->_nodes.size() &&
98 (b->_nodes[i]->is_Proj() || 98 (b->_nodes[i]->is_Proj() ||
99 b->_nodes[i]->is_Phi() || 99 b->_nodes[i]->is_Phi() ) )
100 (b->_nodes[i]->is_Mach() &&
101 b->_nodes[i]->as_Mach()->ideal_Opcode() == Op_CreateEx)) )
102 i++; 100 i++;
103 101
104 // Do not insert between a call and his Catch 102 // Do not insert between a call and his Catch
105 if( b->_nodes[i]->is_Catch() ) { 103 if( b->_nodes[i]->is_Catch() ) {
106 // Put the instruction at the top of the fall-thru block. 104 // Put the instruction at the top of the fall-thru block.