Class Assembler
- All Implemented Interfaces:
OpCode
- Direct Known Subclasses:
DoubleASM, FloatASM, IntASM, LongASM, MethodCompiler, ReferenceASM, VoidASM
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ReferenceASMprotected TypeASMprivate ByteASMprivate CharASMprivate DoubleASMprivate FloatASMprivate IntASMprivate LongASMprivate intprivate booleanprotected CodeDataOutputprivate ShortASMstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intprivate VoidASMprotected static final intprotected booleanprivate BooleanASMFields inherited from interface OpCode
AALOAD, AASTORE, ACONST_NULL, ALOAD, ALOAD_0, ALOAD_1, ALOAD_2, ALOAD_3, ANEWARRAY, ARETURN, ARRAYLENGTH, ASTORE, ASTORE_0, ASTORE_1, ASTORE_2, ASTORE_3, ATHROW, BALOAD, BASTORE, BIPUSH, BREAKPOINT, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DLOAD_0, DLOAD_1, DLOAD_2, DLOAD_3, DMUL, DNEG, DRETURN, DSTORE, DSTORE_0, DSTORE_1, DSTORE_2, DSTORE_3, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAD_0, FLOAD_1, FLOAD_2, FLOAD_3, FMUL, FNEG, FREM, FRETURN, FSTORE, FSTORE_0, FSTORE_1, FSTORE_2, FSTORE_3, FSUB, GETFIELD, GETSTATIC, GOTO, GOTO_W, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, ILOAD_0, ILOAD_1, ILOAD_2, ILOAD_3, IMPDEP1, IMPDEP2, IMUL, INEG, INSTANCEOF, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISTORE_0, ISTORE_1, ISTORE_2, ISTORE_3, ISUB, IUSHR, IXOR, JSR, JSR_W, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDC_W, LDC2_W, LDIV, LLOAD, LLOAD_0, LLOAD_1, LLOAD_2, LLOAD_3, LMUL, LNEG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSTORE_0, LSTORE_1, LSTORE_2, LSTORE_3, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NOT_IF_ACMPEQ, NOT_IF_ACMPNE, NOT_IF_ICMPEQ, NOT_IF_ICMPGE, NOT_IF_ICMPGT, NOT_IF_ICMPLE, NOT_IF_ICMPLT, NOT_IF_ICMPNE, NOT_IFEQ, NOT_IFGE, NOT_IFGT, NOT_IFLE, NOT_IFLT, NOT_IFNE, NOT_IFNONNULL, NOT_IFNULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, TABLESWITCH, WIDE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaaload()Load Object from arrayvoidaastore()Store into Object arrayvoidvoidaload(int index) Load Object from local variablevoidanew(int index) voidanewarray(int count) voidvoidastore(int index) Store Object into local variablevoidathrow()voidbaload()Load byte from arrayvoidbastore()Store into byte arrayvoidbipush(byte value) Push byte constantvoidcaload()Load char from arrayvoidcastore()Store into char arrayvoidcheckcast(int objectref) voidconvert(TypeMirror from, TypeMirror to) Return a unique branch namecreateBranch(String name) Creates a branch for possibly unknown addressvoidd2f()Convert double to floatvoidd2i()Convert double to intvoidd2l()Convert double to longvoidd2t()voiddadd()Add doublevoiddaload()Load double from arrayvoiddastore()Store into double arrayvoiddconst(int value) Push double constantvoidddiv()Divide doublevoiddload(int index) Load double from local variablevoiddmul()Multiply doublevoiddneg()Negate doublevoiddstore(int index) Store double into local variablevoiddsub()Subtract doublevoiddup()Duplicate the top operand stack valuevoiddup_x1()Duplicate the top operand stack value and insert two values downvoiddup_x2()Duplicate the top operand stack value and insert two or three values downvoiddup2()Duplicate the top one or two operand stack valuesvoiddup2_x1()Duplicate the top one or two operand stack values and insert two or three values downvoiddup2_x2()Duplicate the top one or two operand stack values and insert two, three, or four values downvoidvoidf2d()Convert float to doublevoidf2i()Convert float to intvoidf2l()Convert float to longvoidf2t()voidfadd()Add floatvoidfaload()Load float from arrayvoidfastore()Store into float arrayvoidfconst(int value) Push float constantvoidfdiv()Divide floatvoidfixAddress(String name) Fixes address here for objectvoidfixLabels(byte[] code) voidfload(int index) Load float from local variablevoidfmul()Multiply floatvoidfneg()Negate floatvoidfrem()Remainder floatvoidfstore(int index) Store float into local variablevoidfsub()Subtract floatbyte[]getCode()voidgetfield(int index) voidgetstatic(int index) voidBranch alwaysvoidvoidi2b()Convert int to bytevoidi2c()voidi2d()Convert int to doublevoidi2f()Convert int to floatvoidi2l()Convert int to longvoidi2s()Convert int to shortvoidi2t()voidiadd()Add intvoidiaload()Load int from arrayvoidiand()Boolean AND intvoidiastore()Store into int arrayvoidiconst(int value) Push int constantvoididiv()Divide intvoidBranch if value1 = value2voidBranch if value1 >= value2voidBranch if value1 > value2voidBranch if value1 <= value2voidBranch if value1 < value2voidBranch if value1 != value2private voidvoidif_tcmpeq(TypeMirror type, String target) eq succeeds if and only if value1 == value2private voidvoidif_tcmpge(TypeMirror type, String target) ge succeeds if and only if value1 >= value2private voidvoidif_tcmpgt(TypeMirror type, String target) gt succeeds if and only if value1 > value2private voidvoidif_tcmple(TypeMirror type, String target) le succeeds if and only if value1 <= value2private voidvoidif_tcmplt(TypeMirror type, String target) lt succeeds if and only if value1 < value2private voidvoidif_tcmpne(TypeMirror type, String target) ne succeeds if and only if value1 != value2voideq succeeds if and only if value == 0voidge succeeds if and only if value >= 0voidgt succeeds if and only if value > 0voidle succeeds if and only if value <= 0voidlt succeeds if and only if value < 0voidne succeeds if and only if value != 0voidvoidvoidiinc(int index, int con) Increment local variable by constantvoidiload(int index) Load int from local variablevoidimul()Multiply intvoidinstanceo(int index) voidinvokeinterface(int index, int count) voidinvokespecial(int index) voidinvokestatic(int index) voidinvokevirtual(int index) voidior()voidirem()voidireturn()voidishl()voidishr()booleanisReferenced(String target) voidistore(int index) voidisub()voidiushr()voidixor()voidvoidvoidl2d()Convert long to doublevoidl2f()Convert long to floatvoidl2i()Convert long to intvoidl2t()labelForAddress(int address) voidladd()Add longvoidlaload()Load long from arrayvoidland()Boolean AND longvoidlastore()Store into long arrayvoidlconst(int value) Push long constantvoidldc(int index) voidldc_w(int index) voidldc2_w(int index) voidldiv()Divide longvoidlload(int index) Load long from local variablevoidlmul()Multiply longvoidlneg()Negate longvoidlookupswitch(String def, LookupList list) voidlor()Boolean OR longvoidlrem()Remainder longvoidlshl()Shift left longvoidlshr()Arithmetic shift right longvoidlstore(int index) Store long into local variablevoidlsub()Subtract longvoidlushr()Logical shift right longvoidlxor()Boolean XOR longvoidvoidvoidmultianewarray(int index, int dimensions) voidnewarray(int type) voidnop()private booleanoptimizeGoto(String target) Branch always (wide index)voidpop()voidpop2()private voidpopType()intposition()private voidpushType(TypeMirror type) voidputfield(int index) voidputstatic(int index) voidret(int index) voidsaload()Load short from arrayvoidsastore()Store into short arrayvoidsetWideIndex(boolean wideIndex) Set goto and jsr to use wide indexvoidsipush(short value) Push short constantvoidswap()voidtableswitch(String def, int low, int high, String... symbols) private voidtadd()voidtadd(TypeMirror type) private voidtaload()Load from arrayvoidtaload(TypeMirror type) Load from arrayprivate voidtand()voidtand(TypeMirror type) private voidtastore()Store into arrayvoidtastore(TypeMirror type) private voidtcmp()voidtcmp(TypeMirror type) private voidtcmpg()voidtcmpg(TypeMirror type) voidtcmpl()voidtcmpl(TypeMirror type) private voidtconst(int i) voidtconst(TypeMirror type, int i) private voidprivate voidtdiv()voidtdiv(TypeMirror type) private voidtinc(int index, int con) voidtinc(TypeMirror type, int index, int con) private voidtipush(int b) voidtipush(TypeMirror type, int b) private voidtload(int index) voidtload(TypeMirror type, int index) private voidtmul()voidtmul(TypeMirror type) private voidtneg()voidtneg(TypeMirror type) private voidtor()voidtor(TypeMirror type) private voidtrem()voidtrem(TypeMirror type) private voidtreturn()voidtreturn(TypeMirror type) private voidtshl()voidtshl(TypeMirror type) private voidtshr()voidtshr(TypeMirror type) private voidtstore(int index) voidtstore(TypeMirror type, int index) private voidtsub()voidtsub(TypeMirror type) private voidtushr()voidtushr(TypeMirror type) private voidtxor()voidtxor(TypeMirror type)
-
Field Details
-
T_BOOLEAN
public static final int T_BOOLEAN- See Also:
-
T_CHAR
public static final int T_CHAR- See Also:
-
T_FLOAT
public static final int T_FLOAT- See Also:
-
T_DOUBLE
public static final int T_DOUBLE- See Also:
-
T_BYTE
public static final int T_BYTE- See Also:
-
T_SHORT
public static final int T_SHORT- See Also:
-
T_INT
public static final int T_INT- See Also:
-
T_LONG
public static final int T_LONG- See Also:
-
WIDEFIXOFFSET
protected static final int WIDEFIXOFFSET- See Also:
-
out
-
labels
-
labelMap
-
asmStack
-
nextBranch
private int nextBranch -
asm
-
types
-
z
-
b
-
c
-
s
-
i
-
l
-
f
-
d
-
v
-
a
-
optimizeGoto
private boolean optimizeGoto -
wideIndex
protected boolean wideIndex
-
-
Constructor Details
-
Assembler
public Assembler() -
Assembler
-
-
Method Details
-
setWideIndex
public void setWideIndex(boolean wideIndex) Set goto and jsr to use wide index- Parameters:
wideIndex-
-
fixAddress
Fixes address here for object- Parameters:
name-- Throws:
IOException
-
getLabel
-
labelForAddress
-
createBranch
Creates a branch for possibly unknown address- Parameters:
name-- Returns:
- Throws:
IOException
-
isReferenced
-
getCode
public byte[] getCode() -
fixLabels
public void fixLabels(byte[] code) -
position
- Throws:
IOException
-
pushType
- Parameters:
type-
-
popType
private void popType() -
txor
- Throws:
IOException
-
txor
- Throws:
IOException
-
tushr
- Throws:
IOException
-
tushr
- Throws:
IOException
-
tsub
- Throws:
IOException
-
tsub
- Throws:
IOException
-
tstore
- Throws:
IOException
-
tstore
- Throws:
IOException
-
tshr
- Throws:
IOException
-
tshr
- Throws:
IOException
-
tshl
- Throws:
IOException
-
tshl
- Throws:
IOException
-
treturn
- Throws:
IOException
-
treturn
- Throws:
IOException
-
trem
- Throws:
IOException
-
trem
- Throws:
IOException
-
tor
- Throws:
IOException
-
tor
- Throws:
IOException
-
tneg
- Throws:
IOException
-
tneg
- Throws:
IOException
-
tmul
- Throws:
IOException
-
tmul
- Throws:
IOException
-
tload
- Throws:
IOException
-
tload
- Throws:
IOException
-
tipush
- Throws:
IOException
-
tipush
- Throws:
IOException
-
tinc
- Throws:
IOException
-
tinc
- Throws:
IOException
-
tdiv
- Throws:
IOException
-
tdiv
- Throws:
IOException
-
tconst_null
- Throws:
IOException
-
tconst
- Throws:
IOException
-
tconst
- Throws:
IOException
-
tcmpl
- Throws:
IOException
-
tcmpl
- Throws:
IOException
-
tcmpg
- Throws:
IOException
-
tcmpg
- Throws:
IOException
-
tcmp
- Throws:
IOException
-
tcmp
- Throws:
IOException
-
tastore
Store into arrayStack: ..., arrayref, index, value => ...
- Throws:
IOException
-
tastore
- Throws:
IOException
-
tand
- Throws:
IOException
-
tand
- Throws:
IOException
-
taload
Load from arrayStack: ..., arrayref, index => ..., value
- Throws:
IOException
-
taload
Load from arrayStack: ..., arrayref, index => ..., value
- Parameters:
type-- Throws:
IOException
-
tadd
- Throws:
IOException
-
tadd
- Throws:
IOException
-
l2t
- Throws:
IOException
-
if_tcmpne
- Throws:
IOException
-
if_tcmpne
ne succeeds if and only if value1 != value2Stack: ..., value1, value2 => ...
- Parameters:
type-target-- Throws:
IOException
-
if_tcmplt
- Throws:
IOException
-
if_tcmplt
lt succeeds if and only if value1 < value2Stack: ..., value1, value2 => ...
- Parameters:
type-target-- Throws:
IOException
-
if_tcmple
- Throws:
IOException
-
if_tcmple
le succeeds if and only if value1 <= value2Stack: ..., value1, value2 => ...
- Parameters:
type-target-- Throws:
IOException
-
if_tcmpgt
- Throws:
IOException
-
if_tcmpgt
gt succeeds if and only if value1 > value2Stack: ..., value1, value2 => ...
- Parameters:
type-target-- Throws:
IOException
-
if_tcmpge
- Throws:
IOException
-
if_tcmpge
ge succeeds if and only if value1 >= value2Stack: ..., value1, value2 => ...
- Parameters:
type-target-- Throws:
IOException
-
if_tcmpeq
- Throws:
IOException
-
if_tcmpeq
eq succeeds if and only if value1 == value2Stack: ..., value1, value2 => ...
- Parameters:
type-target-- Throws:
IOException
-
if_icmpeq
Branch if value1 = value2Stack: ..., value1, value2 => ...
- Throws:
IOException
-
if_icmpne
Branch if value1 != value2Stack: ..., value1, value2 => ...
- Throws:
IOException
-
if_icmplt
Branch if value1 < value2Stack: ..., value1, value2 => ...
- Throws:
IOException
-
if_icmple
Branch if value1 <= value2Stack: ..., value1, value2 => ...
- Throws:
IOException
-
if_icmpgt
Branch if value1 > value2Stack: ..., value1, value2 => ...
- Throws:
IOException
-
if_icmpge
Branch if value1 >= value2Stack: ..., value1, value2 => ...
- Throws:
IOException
-
i2t
- Throws:
IOException
-
f2t
- Throws:
IOException
-
d2t
- Throws:
IOException
-
anewarray
- Throws:
IOException
-
arraylength
- Throws:
IOException
-
athrow
- Throws:
IOException
-
checkcast
- Throws:
IOException
-
dup
Duplicate the top operand stack valueStack: ..., value =invalid input: '>' ;..., value, value
Duplicate the top value on the operand stack and push the duplicated value onto the operand stack. The dup instruction must not be used unless value is a value of a category 1 computational type
- Throws:
IOException- See Also:
-
dup_x1
Duplicate the top operand stack value and insert two values downStack: ..., value2, value1 => ..., value1, value2, value1
Duplicate the top value on the operand stack and insert the duplicated value two values down in the operand stack. The dup_x1 instruction must not be used unless both value1 and value2 are values of a category 1 computational type
- Throws:
IOException- See Also:
-
dup_x2
Duplicate the top operand stack value and insert two or three values downStack1: ..., value3, value2, value1 => ..., value1, value3, value2, value1
where value1, value2, and value3 are all values of a category 1 computational type
Stack2: ..., value2, value1 => ..., value1, value2, value1
where value1 is a value of a category 1 computational type and value2 is a value of a category 2 computational type
Duplicate the top value on the operand stack and insert the duplicated value two or three values down in the operand stack
- Throws:
IOException- See Also:
-
dup2
Duplicate the top one or two operand stack valuesStack1: ..., value2, value1 => ..., value2, value1, value2, value1
where both value1 and value2 are values of a category 1 computational type
Stack2: ..., value => ..., value, value
where value is a value of a category 2 computational type
Duplicate the top one or two values on the operand stack and push the duplicated value or values back onto the operand stack in the original order
- Throws:
IOException- See Also:
-
dup2_x1
Duplicate the top one or two operand stack values and insert two or three values downStack1: ..., value3, value2, value1 => ..., value2, value1, value3, value2, value1
where value1, value2, and value3 are all values of a category 1 computational type
Stack2: ..., value2, value1 => ..., value1, value2, value1
where value1 is a value of a category 2 computational type and value2 is a value of a category 1 computational type
Duplicate the top one or two values on the operand stack and insert the duplicated values, in the original order, one value beneath the original value or values in the operand stack.
- Throws:
IOException- See Also:
-
dup2_x2
Duplicate the top one or two operand stack values and insert two, three, or four values downStack1: ..., value4, value3, value2, value1 => ..., value2, value1, value4, value3, value2, value1
where value1, value2, value3, and value4 are all values of a category 1 computational type
Stack2: ..., value3, value2, value1 => ..., value1, value3, value2, value1
where value1 is a value of a category 2 computational type and value2 and value3 are both values of a category 1 computational type
Stack3: ..., value3, value2, value1 => ..., value2, value1, value3, value2, value1
where value1 and value2 are both values of a category 1 computational type and value3 is a value of a category 2 computational type
Stack4: ..., value2, value1 => ..., value1, value2, value1
where value1 and value2 are both values of a category 2 computational type
Duplicate the top one or two values on the operand stack and insert the duplicated values, in the original order, into the operand stack
- Throws:
IOException- See Also:
-
getfield
- Throws:
IOException
-
getstatic
- Throws:
IOException
-
goto_n
Branch always- Parameters:
target-- Throws:
IOException
-
goto_w
- Throws:
IOException
-
optimizeGoto
Branch always (wide index)- Parameters:
target-- Throws:
IOException
-
i2c
- Throws:
IOException
-
ifeq
eq succeeds if and only if value == 0- Parameters:
target-- Throws:
IOException
-
ifne
ne succeeds if and only if value != 0- Parameters:
target-- Throws:
IOException
-
iflt
lt succeeds if and only if value < 0- Parameters:
target-- Throws:
IOException
-
ifge
ge succeeds if and only if value >= 0- Parameters:
target-- Throws:
IOException
-
ifgt
gt succeeds if and only if value > 0- Parameters:
target-- Throws:
IOException
-
ifle
le succeeds if and only if value <= 0- Parameters:
target-- Throws:
IOException
-
ifnonnull
- Throws:
IOException
-
ifnull
- Throws:
IOException
-
instanceo
- Throws:
IOException
-
invokeinterface
- Throws:
IOException
-
invokespecial
- Throws:
IOException
-
invokestatic
- Throws:
IOException
-
invokevirtual
- Throws:
IOException
-
ior
- Throws:
IOException
-
irem
- Throws:
IOException
-
ireturn
- Throws:
IOException
-
ishl
- Throws:
IOException
-
ishr
- Throws:
IOException
-
istore
- Throws:
IOException
-
isub
- Throws:
IOException
-
iushr
- Throws:
IOException
-
ixor
- Throws:
IOException
-
jsr
- Throws:
IOException
-
jsr_w
- Throws:
IOException
-
ldc
- Throws:
IOException
-
ldc_w
- Throws:
IOException
-
ldc2_w
- Throws:
IOException
-
lookupswitch
- Throws:
IOException
-
monitorenter
- Throws:
IOException
-
monitorexit
- Throws:
IOException
-
multianewarray
- Throws:
IOException
-
anew
- Throws:
IOException
-
newarray
- Throws:
IOException
-
nop
- Throws:
IOException
-
pop
- Throws:
IOException
-
pop2
- Throws:
IOException
-
putfield
- Throws:
IOException
-
putstatic
- Throws:
IOException
-
ret
- Throws:
IOException
-
swap
- Throws:
IOException
-
tableswitch
- Throws:
IOException
-
aconst_null
- Throws:
IOException
-
iconst
Push int constantStack: ...=>..., i
- Parameters:
value- int value- Throws:
IOException
-
lconst
Push long constantStack: ...=>..., i
- Parameters:
value- int value- Throws:
IOException
-
fconst
Push float constantStack: ...=>..., i
- Parameters:
value- int value- Throws:
IOException
-
dconst
Push double constantStack: ...=>..., i
- Parameters:
value- int value- Throws:
IOException
-
bipush
Push byte constantStack: ...=>..., i
- Parameters:
value- int value- Throws:
IOException
-
sipush
Push short constantStack: ...=>..., i
- Parameters:
value- int value- Throws:
IOException
-
iload
Load int from local variableStack: ...=>..., value
- Parameters:
index-- Throws:
IOException
-
lload
Load long from local variableStack: ...=>..., value
- Parameters:
index-- Throws:
IOException
-
fload
Load float from local variableStack: ...=>..., value
- Parameters:
index-- Throws:
IOException
-
dload
Load double from local variableStack: ...=>..., value
- Parameters:
index-- Throws:
IOException
-
aload
Load Object from local variableStack: ...=>..., value
- Parameters:
index-- Throws:
IOException
-
iaload
Load int from arrayStack: ..., arrayref, index=>..., value
- Throws:
IOException
-
laload
Load long from arrayStack: ..., arrayref, index=>..., value
- Throws:
IOException
-
faload
Load float from arrayStack: ..., arrayref, index=>..., value
- Throws:
IOException
-
daload
Load double from arrayStack: ..., arrayref, index=>..., value
- Throws:
IOException
-
aaload
Load Object from arrayStack: ..., arrayref, index=>..., value
- Throws:
IOException
-
baload
Load byte from arrayStack: ..., arrayref, index=>..., value
- Throws:
IOException
-
caload
Load char from arrayStack: ..., arrayref, index=>..., value
- Throws:
IOException
-
saload
Load short from arrayStack: ..., arrayref, index=>..., value
- Throws:
IOException
-
lstore
Store long into local variableStack: ..., value=>...
- Parameters:
index-- Throws:
IOException
-
fstore
Store float into local variableStack: ..., value=>...
- Parameters:
index-- Throws:
IOException
-
dstore
Store double into local variableStack: ..., value=>...
- Parameters:
index-- Throws:
IOException
-
astore
Store Object into local variableStack: ..., value=>...
- Parameters:
index-- Throws:
IOException
-
iastore
Store into int arrayStack: ..., arrayref, index, value=>...
- Throws:
IOException
-
lastore
Store into long arrayStack: ..., arrayref, index, value=>...
- Throws:
IOException
-
fastore
Store into float arrayStack: ..., arrayref, index, value=>...
- Throws:
IOException
-
dastore
Store into double arrayStack: ..., arrayref, index, value=>...
- Throws:
IOException
-
aastore
Store into Object arrayStack: ..., arrayref, index, value=>...
- Throws:
IOException
-
bastore
Store into byte arrayStack: ..., arrayref, index, value=>...
- Throws:
IOException
-
castore
Store into char arrayStack: ..., arrayref, index, value=>...
- Throws:
IOException
-
sastore
Store into short arrayStack: ..., arrayref, index, value=>...
- Throws:
IOException
-
iadd
Add intStack: ..., value1, value2=>..., result
- Throws:
IOException
-
ladd
Add longStack: ..., value1, value2=>..., result
- Throws:
IOException
-
fadd
Add floatStack: ..., value1, value2=>..., result
- Throws:
IOException
-
dadd
Add doubleStack: ..., value1, value2=>..., result
- Throws:
IOException
-
lsub
Subtract longStack: ..., value1, value2=>..., result
- Throws:
IOException
-
fsub
Subtract floatStack: ..., value1, value2=>..., result
- Throws:
IOException
-
dsub
Subtract doubleStack: ..., value1, value2=>..., result
- Throws:
IOException
-
imul
Multiply intStack: ..., value1, value2=>..., result
- Throws:
IOException
-
lmul
Multiply longStack: ..., value1, value2=>..., result
- Throws:
IOException
-
fmul
Multiply floatStack: ..., value1, value2=>..., result
- Throws:
IOException
-
dmul
Multiply doubleStack: ..., value1, value2=>..., result
- Throws:
IOException
-
idiv
Divide intStack: ..., value1, value2=>..., result
- Throws:
IOException
-
ldiv
Divide longStack: ..., value1, value2=>..., result
- Throws:
IOException
-
fdiv
Divide floatStack: ..., value1, value2=>..., result
- Throws:
IOException
-
ddiv
Divide doubleStack: ..., value1, value2=>..., result
- Throws:
IOException
-
lrem
Remainder longStack: ..., value1, value2=>..., result
- Throws:
IOException
-
frem
Remainder floatStack: ..., value1, value2=>..., result
- Throws:
IOException
-
lneg
Negate longStack: ..., value=>..., result
- Throws:
IOException
-
fneg
Negate floatStack: ..., value=>..., result
- Throws:
IOException
-
dneg
Negate doubleStack: ..., value=>..., result
- Throws:
IOException
-
lshl
Shift left longStack: ..., value1, value2=>..., result
- Throws:
IOException
-
lshr
Arithmetic shift right longStack: ..., value1, value2=>..., result
- Throws:
IOException
-
lushr
Logical shift right longStack: ..., value1, value2=>..., result
- Throws:
IOException
-
iand
Boolean AND intStack: ..., value1, value2=>..., result
- Throws:
IOException
-
land
Boolean AND longStack: ..., value1, value2=>..., result
- Throws:
IOException
-
lor
Boolean OR longStack: ..., value1, value2=>..., result
- Throws:
IOException
-
lxor
Boolean XOR longStack: ..., value1, value2=>..., result
- Throws:
IOException
-
iinc
Increment local variable by constantStack: No change
- Parameters:
index- into local variablecon- constant value- Throws:
IOException
-
i2l
Convert int to longStack: ..., value=>..., result
- Throws:
IOException
-
i2f
Convert int to floatStack: ..., value=>..., result
- Throws:
IOException
-
i2d
Convert int to doubleStack: ..., value=>..., result
- Throws:
IOException
-
l2i
Convert long to intStack: ..., value=>..., result
- Throws:
IOException
-
l2f
Convert long to floatStack: ..., value=>..., result
- Throws:
IOException
-
l2d
Convert long to doubleStack: ..., value=>..., result
- Throws:
IOException
-
f2i
Convert float to intStack: ..., value=>..., result
- Throws:
IOException
-
f2l
Convert float to longStack: ..., value=>..., result
- Throws:
IOException
-
f2d
Convert float to doubleStack: ..., value=>..., result
- Throws:
IOException
-
d2i
Convert double to intStack: ..., value=>..., result
- Throws:
IOException
-
d2l
Convert double to longStack: ..., value=>..., result
- Throws:
IOException
-
d2f
Convert double to floatStack: ..., value=>..., result
- Throws:
IOException
-
i2b
Convert int to byteStack: ..., value=>..., result
- Throws:
IOException
-
i2s
Convert int to shortStack: ..., value=>..., result
- Throws:
IOException
-
createBranch
-
startBlock
- Throws:
IOException
-
endBlock
- Throws:
IOException
-
convert
- Throws:
IOException
-