diff graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java @ 13327:c258331fdde6

removed support for external nodes (GRAAL-508)
author Doug Simon <doug.simon@oracle.com>
date Fri, 13 Dec 2013 14:41:59 +0100
parents 3f1c70baa3bd
children 5d47d69d523a
line wrap: on
line diff
--- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java	Fri Dec 13 14:10:30 2013 +0100
+++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java	Fri Dec 13 14:41:59 2013 +0100
@@ -75,11 +75,6 @@
     NodeChangedListener usagesDroppedToZeroListener;
     private final HashMap<CacheEntry, Node> cachedNodes = new HashMap<>();
 
-    /**
-     * Determines if external nodes will use {@link Graph}'s canonicalization cache.
-     */
-    public static final boolean CacheExternalNodesInGraph = Boolean.parseBoolean(System.getProperty("graal.cacheExternalNodesInGraph", "false"));
-
     private static final class CacheEntry {
 
         private final Node node;
@@ -347,24 +342,6 @@
         return uniqueHelper(node, true);
     }
 
-    /**
-     * Looks for a node <i>similar</i> to {@code node}. If not found, {@code node} is added to a
-     * cache in this graph used to canonicalize nodes.
-     * <p>
-     * Note that node must implement {@link ValueNumberable} and must be an
-     * {@linkplain Node#isExternal() external} node.
-     * 
-     * @return a node similar to {@code node} if one exists, otherwise {@code node}
-     */
-    public <T extends Node> T uniqueExternal(T node) {
-        assert node.isExternal() : node;
-        assert node instanceof ValueNumberable : node;
-        if (!CacheExternalNodesInGraph) {
-            return node;
-        }
-        return uniqueHelper(node, false);
-    }
-
     @SuppressWarnings("unchecked")
     <T extends Node> T uniqueHelper(T node, boolean addIfMissing) {
         assert node.getNodeClass().valueNumberable();
@@ -381,14 +358,13 @@
     }
 
     void putNodeIntoCache(Node node) {
-        assert node.isExternal() || node.graph() == this || node.graph() == null;
+        assert node.graph() == this || node.graph() == null;
         assert node.getNodeClass().valueNumberable();
         assert node.getNodeClass().isLeafNode() : node.getClass();
         cachedNodes.put(new CacheEntry(node), node);
     }
 
     Node findNodeInCache(Node node) {
-        assert !node.isExternal() || CacheExternalNodesInGraph;
         CacheEntry key = new CacheEntry(node);
         Node result = cachedNodes.get(key);
         if (result != null && result.isDeleted()) {
@@ -785,7 +761,6 @@
     }
 
     void register(Node node) {
-        assert !node.isExternal();
         assert node.id() == Node.INITIAL_ID;
         if (nodes.length == nodesSize) {
             nodes = Arrays.copyOf(nodes, (nodesSize * 2) + 1);