1.1 --- a/src/share/vm/opto/loopnode.cpp Mon Jun 28 10:52:50 2010 -0700 1.2 +++ b/src/share/vm/opto/loopnode.cpp Mon Jun 28 14:54:39 2010 -0700 1.3 @@ -400,7 +400,7 @@ 1.4 nphi->set_req(LoopNode::LoopBackControl, phi->in(LoopNode::LoopBackControl)); 1.5 nphi = _igvn.register_new_node_with_optimizer(nphi); 1.6 set_ctrl(nphi, get_ctrl(phi)); 1.7 - _igvn.subsume_node(phi, nphi); 1.8 + _igvn.replace_node(phi, nphi); 1.9 phi = nphi->as_Phi(); 1.10 } 1.11 cmp = cmp->clone(); 1.12 @@ -760,7 +760,7 @@ 1.13 // which in turn prevents removing an empty loop. 1.14 Node *id_old_phi = old_phi->Identity( &igvn ); 1.15 if( id_old_phi != old_phi ) { // Found a simple identity? 1.16 - // Note that I cannot call 'subsume_node' here, because 1.17 + // Note that I cannot call 'replace_node' here, because 1.18 // that will yank the edge from old_phi to the Region and 1.19 // I'm mid-iteration over the Region's uses. 1.20 for (DUIterator_Last imin, i = old_phi->last_outs(imin); i >= imin; ) { 1.21 @@ -1065,11 +1065,9 @@ 1.22 l = igvn.register_new_node_with_optimizer(l, _head); 1.23 phase->set_created_loop_node(); 1.24 // Go ahead and replace _head 1.25 - phase->_igvn.subsume_node( _head, l ); 1.26 + phase->_igvn.replace_node( _head, l ); 1.27 _head = l; 1.28 phase->set_loop(_head, this); 1.29 - for (DUIterator_Fast imax, i = l->fast_outs(imax); i < imax; i++) 1.30 - phase->_igvn.add_users_to_worklist(l->fast_out(i)); 1.31 } 1.32 1.33 // Now recursively beautify nested loops 1.34 @@ -1329,8 +1327,7 @@ 1.35 Node* add = new (C, 3) AddINode(ratio_idx, diff); 1.36 phase->_igvn.register_new_node_with_optimizer(add); 1.37 phase->set_ctrl(add, cl); 1.38 - phase->_igvn.hash_delete( phi2 ); 1.39 - phase->_igvn.subsume_node( phi2, add ); 1.40 + phase->_igvn.replace_node( phi2, add ); 1.41 // Sometimes an induction variable is unused 1.42 if (add->outcnt() == 0) { 1.43 phase->_igvn.remove_dead_node(add);