src/share/vm/opto/coalesce.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/opto/coalesce.cpp	Tue Jul 26 19:26:57 2011
--- new/src/share/vm/opto/coalesce.cpp	Tue Jul 26 19:26:57 2011

*** 137,147 **** --- 137,147 ---- // use G3 as an address temp. int PhaseChaitin::clone_projs( Block *b, uint idx, Node *con, Node *copy, uint &maxlrg ) { Block *bcon = _cfg._bbs[con->_idx]; uint cindex = bcon->find_node(con); Node *con_next = bcon->_nodes[cindex+1]; ! if( con_next->in(0) != con || con_next->Opcode() != Op_MachProj ) ! if( con_next->in(0) != con || !con_next->is_MachProj() ) return false; // No MachProj's follow // Copy kills after the cloned constant Node *kills = con_next->clone(); kills->set_req( 0, copy );
*** 310,320 **** --- 310,320 ---- Node *n = b->_nodes[i]; // Check for end of virtual copies; this is also the end of the // parallel renaming effort. if( n->_idx < _unique ) break; uint idx = n->is_Copy(); ! assert( idx || n->is_Con() || n->Opcode() == Op_MachProj, "Only copies during parallel renaming" ); ! assert( idx || n->is_Con() || n->is_MachProj(), "Only copies during parallel renaming" ); if( idx && _phc.Find(n->in(idx)) == dst_name ) break; i--; } uint last_use_idx = i;
*** 327,337 **** --- 327,337 ---- while( 1 ) { Node *n = b->_nodes[i]; // Check for end of virtual copies; this is also the end of the // parallel renaming effort. if( n->_idx < _unique ) break; ! assert( n->is_Copy() || n->is_Con() || n->Opcode() == Op_MachProj, "Only copies during parallel renaming" ); ! assert( n->is_Copy() || n->is_Con() || n->is_MachProj(), "Only copies during parallel renaming" ); if( _phc.Find(n) == src_name ) { kill_src_idx = i; break; } i--;

src/share/vm/opto/coalesce.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File