diff -r d678e3277048 -r 6027dddc26c6 src/share/vm/opto/loopTransform.cpp --- a/src/share/vm/opto/loopTransform.cpp Mon Jun 28 10:52:50 2010 -0700 +++ b/src/share/vm/opto/loopTransform.cpp Mon Jun 28 14:54:39 2010 -0700 @@ -194,8 +194,7 @@ addx = new (phase->C, 3) AddINode(x, inv); } phase->register_new_node(addx, phase->get_ctrl(x)); - phase->_igvn.hash_delete(n1); - phase->_igvn.subsume_node(n1, addx); + phase->_igvn.replace_node(n1, addx); return addx; } @@ -1586,8 +1585,7 @@ Node *phi = cl->phi(); Node *final = new (phase->C, 3) SubINode( cl->limit(), cl->stride() ); phase->register_new_node(final,cl->in(LoopNode::EntryControl)); - phase->_igvn.hash_delete(phi); - phase->_igvn.subsume_node(phi,final); + phase->_igvn.replace_node(phi,final); phase->C->set_major_progress(); return true; }