# HG changeset patch # User Tom Rodriguez # Date 1424283000 28800 # Node ID 5ea6754f091d8899721626214eaff6ae4e7f87c9 # Parent 30acd216272817fea605153214d76cfb90b1881e Parameterize return type of findDuplicate diff -r 30acd2162728 -r 5ea6754f091d graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java --- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java Tue Feb 17 17:50:24 2015 -0800 +++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java Wed Feb 18 10:10:00 2015 -0800 @@ -452,18 +452,17 @@ return uniqueHelper(node, true); } - @SuppressWarnings("unchecked") T uniqueHelper(T node, boolean addIfMissing) { assert node.getNodeClass().valueNumberable(); - Node other = this.findDuplicate(node); + T other = this.findDuplicate(node); if (other != null) { - return (T) other; + return other; } else { - Node result = addIfMissing ? addHelper(node) : node; + T result = addIfMissing ? addHelper(node) : node; if (node.getNodeClass().isLeafNode()) { putNodeIntoCache(result); } - return (T) result; + return result; } } @@ -484,14 +483,15 @@ return result; } - public Node findDuplicate(Node node) { + @SuppressWarnings("unchecked") + public T findDuplicate(T node) { NodeClass nodeClass = node.getNodeClass(); assert nodeClass.valueNumberable(); if (nodeClass.isLeafNode()) { // Leaf node: look up in cache Node cachedNode = findNodeInCache(node); if (cachedNode != null) { - return cachedNode; + return (T) cachedNode; } else { return null; } @@ -518,7 +518,7 @@ for (Node usage : minCountNode.usages()) { if (usage != node && nodeClass == usage.getNodeClass() && node.valueEquals(usage) && nodeClass.getEdges(Inputs).areEqualIn(node, usage) && nodeClass.getEdges(Successors).areEqualIn(node, usage)) { - return usage; + return (T) usage; } } return null;