Modifier and Type | Field and Description |
---|---|
static AddOp |
MINUS |
static AddOp |
PLUS |
AND, ASHIFT_GENERAL, ASHIFT_LEFT, ASHIFT_RIGHT, DIVIDE_GENERIC, DIVIDE_INEXACT, IOR, LSHIFT_RIGHT, MODULO, NOT, QUOTIENT, QUOTIENT_EXACT, XOR
applyToObject, noArgs
applyMethodType, applyToConsumerDefault, applyToConsumerMethod, applyToObjectDefault, applyToObjectMethod, compilerKey, compilerXKey, inlineIfConstantSymbol, validateApplyKey, validateXApplyKey
nameKey
Constructor and Description |
---|
AddOp(java.lang.String name,
int plusOrMinus) |
Modifier and Type | Method and Description |
---|---|
static java.lang.Object |
apply2(int plusOrMinus,
java.lang.Object arg1,
java.lang.Object arg2) |
static java.lang.Object |
applyN(int plusOrMinus,
java.lang.Object[] args) |
static java.lang.Object |
applyN(int plusOrMinus,
java.lang.Object init,
java.lang.Object[] args) |
java.lang.Object |
applyN(java.lang.Object[] args) |
static java.lang.Object |
MINUS(java.lang.Object arg1) |
static java.lang.Object |
MINUS(java.lang.Object arg1,
java.lang.Object arg2) |
static java.lang.Object |
MINUS$V(java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object[] rest) |
int |
numArgs()
Return
minArgs()|(maxArgs<<12) . |
static java.lang.Object |
PLUS(java.lang.Object arg1,
java.lang.Object arg2) |
static java.lang.Object |
PLUS$V(java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object[] rest) |
defaultResult, isSideEffectFree
applyToObject
apply0, apply1, apply2, apply3, apply4, applyL, applyToConsumerDefault, applyToObjectDefault, checkArgCount, checkBadCode, getApplyMethod, getApplyToConsumerMethod, getApplyToObjectMethod, getReturnType, getSetter, getSourceLocation, lookupApplyHandle, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation, toString
getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
public static java.lang.Object apply2(int plusOrMinus, java.lang.Object arg1, java.lang.Object arg2)
public static java.lang.Object PLUS(java.lang.Object arg1, java.lang.Object arg2)
public static java.lang.Object MINUS(java.lang.Object arg1, java.lang.Object arg2)
public static java.lang.Object MINUS(java.lang.Object arg1)
public static java.lang.Object PLUS$V(java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object[] rest)
public static java.lang.Object MINUS$V(java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object[] rest)
public static java.lang.Object applyN(int plusOrMinus, java.lang.Object[] args)
public static java.lang.Object applyN(int plusOrMinus, java.lang.Object init, java.lang.Object[] args)
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.