< prev index next >

## src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/type/ArithmeticOpTable.java

```*** 94,103 ****
--- 94,119 ----
} else {
return EMPTY;
}
}

+     public BinaryOp<?>[] getBinaryOps() {
+         return new BinaryOp<?>[]{add, sub, mul, mulHigh, umulHigh, div, rem, and, or, xor};
+     }
+
+     public UnaryOp<?>[] getUnaryOps() {
+         return new UnaryOp<?>[]{neg, not, abs, sqrt};
+     }
+
+     public ShiftOp<?>[] getShiftOps() {
+         return new ShiftOp<?>[]{shl, shr, ushr};
+     }
+
+     public IntegerConvertOp<?>[] getIntegerConvertOps() {
+         return new IntegerConvertOp<?>[]{zeroExtend, signExtend, narrow};
+     }
+
public static final ArithmeticOpTable EMPTY = new ArithmeticOpTable(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);

public interface ArithmeticOpWrapper {

<OP> UnaryOp<OP> wrapUnaryOp(UnaryOp<OP> op);
*** 560,570 ****
this.associative = associative;
this.commutative = commutative;
}

/**
!          * Apply the operation to two {@linkplain Constant Constants}.
*/
public abstract Constant foldConstant(Constant a, Constant b);

/**
* Apply the operation to two {@linkplain Stamp Stamps}.
--- 576,589 ----
this.associative = associative;
this.commutative = commutative;
}

/**
!          * Applies this operation to {@code a} and {@code b}.
!          *
!          * @return the result of applying this operation or {@code null} if applying it would raise
!          *         an exception (e.g., {@link ArithmeticException} for dividing by 0)
*/
public abstract Constant foldConstant(Constant a, Constant b);

/**
* Apply the operation to two {@linkplain Stamp Stamps}.
```
< prev index next >