diff -r d678e3277048 -r 6027dddc26c6 src/share/vm/opto/split_if.cpp --- a/src/share/vm/opto/split_if.cpp Mon Jun 28 10:52:50 2010 -0700 +++ b/src/share/vm/opto/split_if.cpp Mon Jun 28 14:54:39 2010 -0700 @@ -217,8 +217,7 @@ register_new_node(phi, blk1); // Remove cloned-up value from optimizer; use phi instead - _igvn.hash_delete(n); - _igvn.subsume_node( n, phi ); + _igvn.replace_node( n, phi ); // (There used to be a self-recursive call to split_up() here, // but it is not needed. All necessary forward walking is done @@ -352,8 +351,7 @@ } if (use_blk == NULL) { // He's dead, Jim - _igvn.hash_delete(use); - _igvn.subsume_node(use, C->top()); + _igvn.replace_node(use, C->top()); } return use_blk;