comparison graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java @ 5425:0364a2a874b8

changes towards a canonical representation of comparisons: * new createNullCheckGuard helper method on CiLoweringTool * replaced NullCheckNode with IsNullNode * GuardNode and FixedGuardNode can be negated * keep a list of conditions that are true/false in CheckCastEliminationPhase * FixedGuardNode has only one condition * GraphBuilderPhase creates canonical CompareNodes * BooleanNodes can negate their usages * added junit test for canonicalized compares * removed junit test for negated instanceof * added more thorough graph comparison for junit tests * CheckCastEliminationPhase keeps track of conditions that are known to be true/false
author Lukas Stadler <lukas.stadler@jku.at>
date Tue, 22 May 2012 16:19:02 +0200
parents 0ebd9cfdc11f
children d89b20486d87
comparison
equal deleted inserted replaced
5424:068cc464e0cf 5425:0364a2a874b8
225 return super.toString(Verbosity.Name) + "(" + value.kind.format(value.boxedValue()) + ")"; 225 return super.toString(Verbosity.Name) + "(" + value.kind.format(value.boxedValue()) + ")";
226 } else { 226 } else {
227 return super.toString(verbosity); 227 return super.toString(verbosity);
228 } 228 }
229 } 229 }
230
231 @Override
232 public BooleanNode negate() {
233 return ConstantNode.forBoolean(!value.asBoolean(), graph());
234 }
235 } 230 }