diff graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/CompareNode.java @ 18720:ab9d3ff6829b

Pass constant reflection into ConvertNode.convert
author Tom Rodriguez <tom.rodriguez@oracle.com>
date Thu, 18 Dec 2014 09:17:22 -0800
parents cbb097347545
children f57d86eb036f
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/CompareNode.java	Thu Dec 18 15:31:12 2014 +0100
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/CompareNode.java	Thu Dec 18 09:17:22 2014 -0800
@@ -137,9 +137,10 @@
     }
 
     private ConstantNode canonicalConvertConstant(CanonicalizerTool tool, ConvertNode convert, Constant constant) {
-        if (convert.preservesOrder(condition(), constant)) {
-            Constant reverseConverted = convert.reverse(constant);
-            if (convert.convert(reverseConverted).equals(constant)) {
+        ConstantReflectionProvider constantReflection = tool.getConstantReflection();
+        if (convert.preservesOrder(condition(), constant, constantReflection)) {
+            Constant reverseConverted = convert.reverse(constant, constantReflection);
+            if (convert.convert(reverseConverted, constantReflection).equals(constant)) {
                 return ConstantNode.forConstant(convert.getValue().stamp(), reverseConverted, tool.getMetaAccess());
             }
         }