comparison src/share/vm/opto/ifnode.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 c18cbe5936b8
children f95d63e2154a
comparison
equal deleted inserted replaced
1620:d678e3277048 1621:6027dddc26c6
1079 Node* new_if_f = (Node*)(new (phase->C, 1) IfFalseNode( iff )); 1079 Node* new_if_f = (Node*)(new (phase->C, 1) IfFalseNode( iff ));
1080 Node* new_if_t = (Node*)(new (phase->C, 1) IfTrueNode ( iff )); 1080 Node* new_if_t = (Node*)(new (phase->C, 1) IfTrueNode ( iff ));
1081 1081
1082 igvn->register_new_node_with_optimizer(new_if_f); 1082 igvn->register_new_node_with_optimizer(new_if_f);
1083 igvn->register_new_node_with_optimizer(new_if_t); 1083 igvn->register_new_node_with_optimizer(new_if_t);
1084 igvn->hash_delete(old_if_f);
1085 igvn->hash_delete(old_if_t);
1086 // Flip test, so flip trailing control 1084 // Flip test, so flip trailing control
1087 igvn->subsume_node(old_if_f, new_if_t); 1085 igvn->replace_node(old_if_f, new_if_t);
1088 igvn->subsume_node(old_if_t, new_if_f); 1086 igvn->replace_node(old_if_t, new_if_f);
1089 1087
1090 // Progress 1088 // Progress
1091 return iff; 1089 return iff;
1092 } 1090 }
1093 1091