Mercurial > hg > graal-compiler
changeset 19580:5ea6754f091d
Parameterize return type of findDuplicate
author | Tom Rodriguez <tom.rodriguez@oracle.com> |
---|---|
date | Wed, 18 Feb 2015 10:10:00 -0800 |
parents | 30acd2162728 |
children | ea8e0540da95 |
files | graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java |
diffstat | 1 files changed, 8 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- 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 extends Node> 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 extends Node> 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;