Mercurial > hg > truffle
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 |