< 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 >