< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/calc/IntegerLessThanNode.java

Print this page

        

*** 50,60 **** import org.graalvm.compiler.options.OptionValues; @NodeInfo(shortName = "<") public final class IntegerLessThanNode extends IntegerLowerThanNode { public static final NodeClass<IntegerLessThanNode> TYPE = NodeClass.create(IntegerLessThanNode.class); ! public static final LessThanOp OP = new LessThanOp(); public IntegerLessThanNode(ValueNode x, ValueNode y) { super(TYPE, x, y, OP); assert !x.getStackKind().isNumericFloat() && x.getStackKind() != JavaKind.Object; assert !y.getStackKind().isNumericFloat() && y.getStackKind() != JavaKind.Object; --- 50,60 ---- import org.graalvm.compiler.options.OptionValues; @NodeInfo(shortName = "<") public final class IntegerLessThanNode extends IntegerLowerThanNode { public static final NodeClass<IntegerLessThanNode> TYPE = NodeClass.create(IntegerLessThanNode.class); ! private static final LessThanOp OP = new LessThanOp(); public IntegerLessThanNode(ValueNode x, ValueNode y) { super(TYPE, x, y, OP); assert !x.getStackKind().isNumericFloat() && x.getStackKind() != JavaKind.Object; assert !y.getStackKind().isNumericFloat() && y.getStackKind() != JavaKind.Object;
*** 201,210 **** --- 201,212 ---- return logic; } } } + if (forX.stamp() instanceof IntegerStamp) { + assert forY.stamp() instanceof IntegerStamp; int bits = ((IntegerStamp) forX.stamp()).getBits(); assert ((IntegerStamp) forY.stamp()).getBits() == bits; long min = OP.minValue(bits); long xResidue = 0; ValueNode left = null;
*** 247,256 **** --- 249,259 ---- } return new IntegerBelowNode(left, right); } } } + } return null; } @Override protected Condition getCondition() {
< prev index next >