Mercurial > hg > graal-compiler
diff src/share/vm/opto/macro.cpp @ 1621:6027dddc26c6
6677629: PhaseIterGVN::subsume_node() should call hash_delete() and add_users_to_worklist()
Summary: Use replace_node() method instead of subsume_node().
Reviewed-by: jrose, never
author | kvn |
---|---|
date | Mon, 28 Jun 2010 14:54:39 -0700 |
parents | 4311f23817fd |
children | e5dfb3ccb88b |
line wrap: on
line diff
--- a/src/share/vm/opto/macro.cpp Mon Jun 28 10:52:50 2010 -0700 +++ b/src/share/vm/opto/macro.cpp Mon Jun 28 14:54:39 2010 -0700 @@ -135,8 +135,7 @@ if (parm1 != NULL) call->init_req(TypeFunc::Parms+1, parm1); copy_call_debug_info(oldcall, call); call->set_cnt(PROB_UNLIKELY_MAG(4)); // Same effect as RC_UNCOMMON. - _igvn.hash_delete(oldcall); - _igvn.subsume_node(oldcall, call); + _igvn.replace_node(oldcall, call); transform_later(call); return call; @@ -523,8 +522,7 @@ // Kill all new Phis while(value_phis.is_nonempty()) { Node* n = value_phis.node(); - _igvn.hash_delete(n); - _igvn.subsume_node(n, C->top()); + _igvn.replace_node(n, C->top()); value_phis.pop(); } } @@ -1311,8 +1309,7 @@ if (!always_slow) { call->set_cnt(PROB_UNLIKELY_MAG(4)); // Same effect as RC_UNCOMMON. } - _igvn.hash_delete(alloc); - _igvn.subsume_node(alloc, call); + _igvn.replace_node(alloc, call); transform_later(call); // Identify the output projections from the allocate node and