changeset 18792:7bb1abca2c0d

avoid re-adding "this" during PhiNode simplification
author Lukas Stadler <lukas.stadler@oracle.com>
date Wed, 07 Jan 2015 13:40:01 +0100
parents 60384ae61d95
children ef51dadd50f7 e688e42b41e3
files graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java
diffstat 1 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java	Tue Jan 06 08:44:53 2015 -0800
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java	Wed Jan 07 13:40:01 2015 +0100
@@ -209,8 +209,13 @@
                     graph().replaceFloating((FloatingNode) node, singleValue);
                 }
             }
-            graph().replaceFloating(this, singleValue);
-            usages().forEach(tool::addToWorkList);
+            for (Node usage : usages().snapshot()) {
+                if (usage != this) {
+                    usage.replaceFirstInput(this, singleValue);
+                }
+            }
+            clearInputs();
+            safeDelete();
         }
     }