Mercurial > hg > truffle
diff graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/CompareNode.java @ 18188:8652481a1110
Introduce new Constant interface for use in high-level graph.
author | Roland Schatz <roland.schatz@oracle.com> |
---|---|
date | Thu, 30 Oct 2014 13:03:33 +0100 |
parents | 9619ba4daf4c |
children | 6a5dc0bbebe7 |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/CompareNode.java Thu Oct 30 12:21:07 2014 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/CompareNode.java Thu Oct 30 13:03:33 2014 +0100 @@ -62,7 +62,7 @@ */ public abstract boolean unorderedIsTrue(); - private ValueNode optimizeConditional(JavaConstant constant, ConditionalNode conditionalNode, ConstantReflectionProvider constantReflection, Condition cond) { + private ValueNode optimizeConditional(Constant constant, ConditionalNode conditionalNode, ConstantReflectionProvider constantReflection, Condition cond) { JavaConstant trueConstant = conditionalNode.trueValue().asJavaConstant(); JavaConstant falseConstant = conditionalNode.falseValue().asJavaConstant(); @@ -86,7 +86,7 @@ return this; } - protected ValueNode optimizeNormalizeCmp(JavaConstant constant, NormalizeCompareNode normalizeNode, boolean mirrored) { + protected ValueNode optimizeNormalizeCmp(Constant constant, NormalizeCompareNode normalizeNode, boolean mirrored) { throw new GraalInternalError("NormalizeCompareNode connected to %s (%s %s %s)", this, constant, normalizeNode, mirrored); } @@ -97,11 +97,11 @@ } ValueNode result; if (forX.isConstant()) { - if ((result = canonicalizeSymmetricConstant(tool, forX.asJavaConstant(), forY, true)) != this) { + if ((result = canonicalizeSymmetricConstant(tool, forX.asConstant(), forY, true)) != this) { return result; } } else if (forY.isConstant()) { - if ((result = canonicalizeSymmetricConstant(tool, forY.asJavaConstant(), forX, false)) != this) { + if ((result = canonicalizeSymmetricConstant(tool, forY.asConstant(), forX, false)) != this) { return result; } } else if (forX instanceof ConvertNode && forY instanceof ConvertNode) { @@ -116,7 +116,7 @@ protected abstract CompareNode duplicateModified(ValueNode newX, ValueNode newY); - protected ValueNode canonicalizeSymmetricConstant(CanonicalizerTool tool, JavaConstant constant, ValueNode nonConstant, boolean mirrored) { + protected ValueNode canonicalizeSymmetricConstant(CanonicalizerTool tool, Constant constant, ValueNode nonConstant, boolean mirrored) { if (nonConstant instanceof ConditionalNode) { return optimizeConditional(constant, (ConditionalNode) nonConstant, tool.getConstantReflection(), mirrored ? condition().mirror() : condition()); } else if (nonConstant instanceof NormalizeCompareNode) { @@ -135,9 +135,9 @@ return this; } - private ConstantNode canonicalConvertConstant(CanonicalizerTool tool, ConvertNode convert, JavaConstant constant) { + private ConstantNode canonicalConvertConstant(CanonicalizerTool tool, ConvertNode convert, Constant constant) { if (convert.preservesOrder(condition())) { - JavaConstant reverseConverted = convert.reverse(constant); + Constant reverseConverted = convert.reverse(constant); if (convert.convert(reverseConverted).equals(constant)) { return ConstantNode.forConstant(convert.getValue().stamp(), reverseConverted, tool.getMetaAccess()); }