--- a/hotspot/src/share/vm/opto/phaseX.hpp Mon Jun 28 10:52:50 2010 -0700
+++ b/hotspot/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);
}