diff -r d678e3277048 -r 6027dddc26c6 src/share/vm/opto/superword.cpp --- a/src/share/vm/opto/superword.cpp Mon Jun 28 10:52:50 2010 -0700 +++ b/src/share/vm/opto/superword.cpp Mon Jun 28 14:54:39 2010 -0700 @@ -1172,8 +1172,7 @@ _phase->set_ctrl(vn, _phase->get_ctrl(p->at(0))); for (uint j = 0; j < p->size(); j++) { Node* pm = p->at(j); - _igvn.hash_delete(pm); - _igvn.subsume_node(pm, vn); + _igvn.replace_node(pm, vn); } _igvn._worklist.push(vn); }