changeset 5446:fafab5f0507d

Fix findDuplicate for nodes with no inputs
author Gilles Duboscq <duboscq@ssw.jku.at>
date Fri, 25 May 2012 12:16:23 +0200
parents 645534f5e4ab
children 78a6f682326f
files graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java
diffstat 1 files changed, 13 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java	Thu May 24 16:22:26 2012 +0200
+++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java	Fri May 25 12:16:23 2012 +0200
@@ -209,11 +209,22 @@
                             return usage;
                         }
                     }
-                    break;
+                    return null;
                 }
             }
         }
-        return null;
+        CacheEntry key = new CacheEntry(node);
+        Node cachedNode = cachedNodes.get(key);
+        if (cachedNode != null) {
+            if (!cachedNode.isAlive()) {
+                cachedNodes.remove(key);
+                return null;
+            }
+            return cachedNode != node ? cachedNode : null;
+        } else {
+            cachedNodes.put(key, node);
+            return null;
+        }
     }
 
     private static boolean checkValueNumberable(Node node) {