Modifier and Type | Field and Description |
---|---|
static DivideOp |
$Sl |
static DivideOp |
div |
static DivideOp |
div0 |
static DivideOp |
idiv |
static DivideOp |
mod |
static DivideOp |
mod0 |
static DivideOp |
modulo |
static DivideOp |
quotient |
static DivideOp |
remainder |
AND, ASHIFT_GENERAL, ASHIFT_LEFT, ASHIFT_RIGHT, DIVIDE_GENERIC, DIVIDE_INEXACT, IOR, LSHIFT_RIGHT, MODULO, NOT, QUOTIENT, QUOTIENT_EXACT, XOR
noArgs
compilerKey, validateApplyKey
nameKey
Constructor and Description |
---|
DivideOp(java.lang.String name,
int op) |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
applyN(java.lang.Object[] args) |
int |
getRoundingMode()
Return one of FLOOR, CEILING, TRUNCATE, ROUND, or 0 if not applicable.
|
int |
numArgs()
Return
minArgs()|(maxArgs<<12) . |
classify, defaultResult, isSideEffectFree
apply, apply, check0, check1, check2, check3, check4, checkArgCount, checkN, getReturnType, getSetter, getSourceLocation, match0, match1, match2, match3, match4, matchN, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation, toString
getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
public static final DivideOp $Sl
public static final DivideOp idiv
public static final DivideOp quotient
public static final DivideOp remainder
public static final DivideOp modulo
public static final DivideOp div
public static final DivideOp mod
public static final DivideOp div0
public static final DivideOp mod0
public int getRoundingMode()
public java.lang.Object applyN(java.lang.Object[] args) throws java.lang.Throwable
applyN
in class ProcedureN
java.lang.Throwable
public int numArgs()
Procedure
minArgs()|(maxArgs<<12)
.
We use a single virtual function to reduce the number of methods
in the system, as well as the number of virtual method table entries.
We shift by 12 so the number can normally be represented using a
sipush instruction, without requiring a constant pool entry.