Mercurial > hg > graal-compiler
changeset 9102:908cac5f443c
Change the parameter to the custom canonicalizer to always be of ValueNode type.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Sat, 13 Apr 2013 15:05:04 +0200 |
parents | cfe822a31f67 |
children | e7541d478e38 |
files | graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java |
diffstat | 1 files changed, 4 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java Fri Apr 12 17:40:53 2013 -0700 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java Sat Apr 13 15:05:04 2013 +0200 @@ -50,7 +50,7 @@ public interface CustomCanonicalizer { - ValueNode canonicalize(Node node); + ValueNode canonicalize(ValueNode node); } @Override @@ -187,11 +187,9 @@ public boolean tryCanonicalize(final Node node, final StructuredGraph graph) { boolean result = baseTryCanonicalize(node, graph); - if (!result && customCanonicalizer != null) { - ValueNode canonical = customCanonicalizer.canonicalize(node); - if (canonical == node && customCanonicalizer != null) { - canonical = customCanonicalizer.canonicalize(node); - } + if (!result && customCanonicalizer != null && node instanceof ValueNode) { + ValueNode valueNode = (ValueNode) node; + ValueNode canonical = customCanonicalizer.canonicalize(valueNode); result = performReplacement(node, graph, canonical); } return result;