Mercurial > hg > graal-jvmci-8
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. |