diff -r 8b0a4867acf0 -r 5e990493719e src/share/vm/opto/domgraph.cpp --- a/src/share/vm/opto/domgraph.cpp Tue Jun 12 14:31:44 2012 -0700 +++ b/src/share/vm/opto/domgraph.cpp Tue Jun 12 16:23:31 2012 -0700 @@ -465,15 +465,11 @@ // Kill dead input path assert( !visited.test(whead->in(i)->_idx), "input with no loop must be dead" ); - _igvn.hash_delete(whead); - whead->del_req(i); - _igvn._worklist.push(whead); + _igvn.delete_input_of(whead, i); for (DUIterator_Fast jmax, j = whead->fast_outs(jmax); j < jmax; j++) { Node* p = whead->fast_out(j); if( p->is_Phi() ) { - _igvn.hash_delete(p); - p->del_req(i); - _igvn._worklist.push(p); + _igvn.delete_input_of(p, i); } } i--; // Rerun same iteration