src/share/vm/opto/coalesce.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/opto/coalesce.cpp	Wed Jan 29 11:56:23 2014
--- new/src/share/vm/opto/coalesce.cpp	Wed Jan 29 11:56:23 2014

*** 289,299 **** --- 289,299 ---- pred->add_inst(copy); // Copy any flags as well _phc.clone_projs(pred, pred->end_idx(), m, copy, _phc._lrg_map); } else { const RegMask *rm = C->matcher()->idealreg2spillmask[m->ideal_reg()]; ! copy = new (C) MachSpillCopyNode(MachSpillCopyNode::PhiInput, m, *rm, *rm); // Find a good place to insert. Kinda tricky, use a subroutine insert_copy_with_overlap(pred,copy,phi_name,src_name); } // Insert the copy in the use-def chain n->set_req(j, copy);
*** 323,333 **** --- 323,333 ---- // Insert the copy in the basic block, just before us b->insert_node(copy, l++); l += _phc.clone_projs(b, l, m, copy, _phc._lrg_map); } else { const RegMask *rm = C->matcher()->idealreg2spillmask[m->ideal_reg()]; ! copy = new (C) MachSpillCopyNode(MachSpillCopyNode::TwoAddress, m, *rm, *rm); // Insert the copy in the basic block, just before us b->insert_node(copy, l++); } // Insert the copy in the use-def chain n->set_req(idx, copy);
*** 370,380 **** --- 370,380 ---- break; // Live in to some successor block? if( k < b->_num_succs ) continue; // Live out; do not pre-split // Split the lrg at this use const RegMask *rm = C->matcher()->idealreg2spillmask[inp->ideal_reg()]; ! Node *copy = new (C) MachSpillCopyNode( inp, *rm, *rm ); ! Node* copy = new (C) MachSpillCopyNode(MachSpillCopyNode::DebugUse, inp, *rm, *rm); // Insert the copy in the use-def chain n->set_req(inpidx, copy ); // Insert the copy in the basic block, just before us b->insert_node(copy, l++); // Extend ("register allocate") the names array for the copy.

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