# HG changeset patch # User Thomas Wuerthinger # Date 1365858304 -7200 # Node ID 908cac5f443c20a5f1c40a2c4fda8abfbebb51d1 # Parent cfe822a31f679bb196609d6bca3f13f89886a4ac Change the parameter to the custom canonicalizer to always be of ValueNode type. diff -r cfe822a31f67 -r 908cac5f443c graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java --- 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;