Mercurial > hg > truffle
diff src/share/vm/opto/phaseX.hpp @ 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 | c18cbe5936b8 |
children | f95d63e2154a |
line wrap: on
line diff
--- a/src/share/vm/opto/phaseX.hpp Mon Jun 28 10:52:50 2010 -0700 +++ b/src/share/vm/opto/phaseX.hpp Mon Jun 28 14:54:39 2010 -0700 @@ -393,6 +393,10 @@ // Idealize old Node 'n' with respect to its inputs and its value virtual Node *transform_old( Node *a_node ); + + // Subsume users of node 'old' into node 'nn' + void subsume_node( Node *old, Node *nn ); + protected: // Idealize new Node 'n' with respect to its inputs and its value @@ -439,10 +443,6 @@ remove_globally_dead_node(dead); } - // Subsume users of node 'old' into node 'nn' - // If no Def-Use info existed for 'nn' it will after call. - void subsume_node( Node *old, Node *nn ); - // Add users of 'n' to worklist void add_users_to_worklist0( Node *n ); void add_users_to_worklist ( Node *n ); @@ -450,7 +450,7 @@ // Replace old node with new one. void replace_node( Node *old, Node *nn ) { add_users_to_worklist(old); - hash_delete(old); + hash_delete(old); // Yank from hash before hacking edges subsume_node(old, nn); }