1.1 --- a/src/share/vm/opto/split_if.cpp Tue Jun 12 14:31:44 2012 -0700 1.2 +++ b/src/share/vm/opto/split_if.cpp Tue Jun 12 16:23:31 2012 -0700 1.3 @@ -137,9 +137,7 @@ 1.4 Node *iff_ctrl = iff->is_If() ? iff->in(0) : get_ctrl(iff); 1.5 Node *x = bol->clone(); 1.6 register_new_node(x, iff_ctrl); 1.7 - _igvn.hash_delete(iff); 1.8 - iff->set_req(1, x); 1.9 - _igvn._worklist.push(iff); 1.10 + _igvn.replace_input_of(iff, 1, x); 1.11 } 1.12 _igvn.remove_dead_node( bol ); 1.13 --i; 1.14 @@ -151,9 +149,7 @@ 1.15 assert( bol->in(1) == n, "" ); 1.16 Node *x = n->clone(); 1.17 register_new_node(x, get_ctrl(bol)); 1.18 - _igvn.hash_delete(bol); 1.19 - bol->set_req(1, x); 1.20 - _igvn._worklist.push(bol); 1.21 + _igvn.replace_input_of(bol, 1, x); 1.22 } 1.23 _igvn.remove_dead_node( n ); 1.24 1.25 @@ -387,9 +383,7 @@ 1.26 if( use->in(i) == def ) 1.27 break; 1.28 assert( i < use->req(), "def should be among use's inputs" ); 1.29 - _igvn.hash_delete(use); 1.30 - use->set_req(i, new_def); 1.31 - _igvn._worklist.push(use); 1.32 + _igvn.replace_input_of(use, i, new_def); 1.33 } 1.34 1.35 //------------------------------do_split_if------------------------------------