Enum Class Opcode
- All Implemented Interfaces:
Serializable
,Comparable<Opcode>
,Constable
Describes the opcodes of the JVM instruction set, as described in JVMS 6.5.
This includes a few pseudo-opcodes modified by
wide
.
An opcode describes the operation of an instruction.
- API Note:
- The enum constants are named after the opcodes' mnemonics in uppercase.
Wide pseudo-opcodes are named with the original opcodes' mnemonic plus
a
_W
suffix. However,ldc_w
,ldc2_w
,goto_w
, andjsr_w
are legitimate opcodes instead of wide pseudo-opcodes. - See Java Virtual Machine Specification:
-
6.5 Instructions
- Since:
- 24
- See Also:
-
Nested Class Summary
Nested ClassesNested classes/interfaces declared in class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionLoadreference
from array.Store intoreference
array.Pushnull
.Loadreference
from local variable.Loadreference
from local variable slot0
.Loadreference
from local variable slot1
.Loadreference
from local variable slot2
.Loadreference
from local variable slot3
.Loadreference
from local variable (wide index).Create new array ofreference
.Returnreference
from method.Get length of array.Storereference
into local variable.Storereference
into local variable slot0
.Storereference
into local variable slot1
.Storereference
into local variable slot2
.Storereference
into local variable slot3
.Storereference
into local variable (wide index).Throw exception or error.Loadchar
from array.Store intochar
array.Check whether object is of given type.Adddouble
.Loaddouble
from array.Store intodouble
array.Comparedouble
.Comparedouble
.Pushdouble
constant0.0D
.Pushdouble
constant1.0D
.Dividedouble
.Loaddouble
from local variable.Loaddouble
from local variable slot0
.Loaddouble
from local variable slot1
.Loaddouble
from local variable slot2
.Loaddouble
from local variable slot3
.Loaddouble
from local variable (wide index).Multiplydouble
.Negatedouble
.Remainderdouble
.Returndouble
from method.Storedouble
into local variable.Storedouble
into local variable slot0
.Storedouble
into local variable slot1
.Storedouble
into local variable slot2
.Storedouble
into local variable slot3
.Storedouble
into local variable (wide index).Subtractdouble
.Duplicate the top operand stack value.Duplicate the top operand stack value and insert two values down.Duplicate the top operand stack value and insert two or three values down.Duplicate the top one or two operand stack values.Duplicate the top one or two operand stack values and insert two or three values down.Duplicate the top one or two operand stack values and insert two, three, or four values down.Addfloat
.Loadfloat
from array.Store intofloat
array.Comparefloat
.Comparefloat
.Pushfloat
constant0.0F
.Pushfloat
constant1.0F
.Pushfloat
constant2.0F
.Dividefloat
.Loadfloat
from local variable.Loadfloat
from local variable slot0
.Loadfloat
from local variable slot1
.Loadfloat
from local variable slot2
.Loadfloat
from local variable slot3
.Loadfloat
from local variable (wide index).Multiplyfloat
.Negatefloat
.Remainderfloat
.Returnfloat
from method.Storefloat
into local variable.Storefloat
into local variable slot0
.Storefloat
into local variable slot1
.Storefloat
into local variable slot2
.Storefloat
into local variable slot3
.Storefloat
into local variable (wide index).Subtractfloat
.Fetch field from object.Getstatic
field from class.Branch always.Branch always (wide index).Addint
.Loadint
from array.Bitwise ANDint
.Store intoint
array.Pushint
constant0
.Pushint
constant1
.Pushint
constant2
.Pushint
constant3
.Pushint
constant4
.Pushint
constant5
.Pushint
constant-1
.Divideint
.Branch ifreference
comparisonoperand1 == operand2
succeeds.Branch ifreference
comparisonoperand1 != operand2
succeeds.Branch ifint
comparisonoperand1 == operand2
succeeds.Branch ifint
comparisonoperand1 >= operand2
succeeds.Branch ifint
comparisonoperand1 > operand2
succeeds.Branch ifint
comparisonoperand1 <= operand2
succeeds.Branch ifint
comparisonoperand1 < operand2
succeeds.Branch ifint
comparisonoperand1 != operand2
succeeds.Branch ifint
comparison== 0
succeeds.Branch ifint
comparison>= 0
succeeds.Branch ifint
comparison> 0
succeeds.Branch ifint
comparison<= 0
succeeds.Branch ifint
comparison< 0
succeeds.Branch ifint
comparison!= 0
succeeds.Branch ifreference
is notnull
.Branch ifreference
isnull
.Incrementint
local variable by constant.Increment local variable by constant (wide index).Loadint
from local variable.Loadint
from local variable slot0
.Loadint
from local variable slot1
.Loadint
from local variable slot2
.Loadint
from local variable slot3
.Loadint
from local variable (wide index).Multiplyint
.Negateint
.Determine if object is of given type.Invoke a dynamically-computed call site.Invoke interface method.Invoke instance method; direct invocation of instance initialization methods and methods of the current class and its supertypes.Invoke a class (static
) method.Invoke instance method; dispatch based on class.Bitwise ORint
.Remainderint
.Returnint
from method.Shift leftint
.Arithmetic shift rightint
.Storeint
into local variable.Storeint
into local variable slot0
.Storeint
into local variable slot1
.Storeint
into local variable slot2
.Storeint
into local variable slot3
.Storeint
into local variable (wide index).Subtractint
.Logical shift rightint
.Bitwise XORint
.(Discontinued) Jump subroutine; last used in major version 50.(Discontinued) Jump subroutine (wide index); last used in major version 50.Addlong
.Loadlong
from array.Bitwise ANDlong
.Store intolong
array.Comparelong
.Pushlong
constant0L
.Pushlong
constant1L
.Push item from run-time constant pool.Push item from run-time constant pool (wide index).Dividelong
.Loadlong
from local variable.Loadlong
from local variable slot0
.Loadlong
from local variable slot1
.Loadlong
from local variable slot2
.Loadlong
from local variable slot3
.Loadlong
from local variable (wide index).Multiplylong
.Negatelong
.Access jump table by key match and jump.Bitwise ORlong
.Remainderlong
.Returnlong
from method.Shift leftlong
.Arithmetic shift rightlong
.Storelong
into local variable.Storelong
into local variable slot0
.Storelong
into local variable slot1
.Storelong
into local variable slot2
.Storelong
into local variable slot3
.Storelong
into local variable (wide index).Subtractlong
.Logical shift rightlong
.Bitwise XORlong
.Enter monitor for object.Exit monitor for object.Create new multidimensional array.Create new object.Create new array.Do nothing.Pop the top operand stack value.Pop the top one or two operand stack values.Set field in object.Setstatic
field in class.(Discontinued) Return from subroutine; last used in major version 50.(Discontinued) Return from subroutine (wide index); last used in major version 50.Returnvoid
from method.Loadshort
from array.Store intoshort
array.Swap the top two operand stack values.Access jump table by index and jump. -
Method Summary
Modifier and TypeMethodDescriptionint
bytecode()
Returns the opcode value.boolean
isWide()
Returns true if this is a pseudo-opcode modified by wide opcode.kind()
Returns operation kind.int
Returns size of the instruction in bytes if fixed, or -1 otherwise.static Opcode
Returns the enum constant of this class with the specified name.static Opcode[]
values()
Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
NOP
Do nothing.- See Java Virtual Machine Specification:
-
6.5.nop nop
- See Also:
-
ACONST_NULL
Pushnull
.- See Java Virtual Machine Specification:
-
6.5.aconst_null aconst_null
- See Also:
-
ICONST_M1
Pushint
constant-1
.- See Java Virtual Machine Specification:
-
6.5.iconst_i iconst_<i>
- See Also:
-
ICONST_0
Pushint
constant0
.- See Java Virtual Machine Specification:
-
6.5.iconst_i iconst_<i>
- See Also:
-
ICONST_1
Pushint
constant1
.- See Java Virtual Machine Specification:
-
6.5.iconst_i iconst_<i>
- See Also:
-
ICONST_2
Pushint
constant2
.- See Java Virtual Machine Specification:
-
6.5.iconst_i iconst_<i>
- See Also:
-
ICONST_3
Pushint
constant3
.- See Java Virtual Machine Specification:
-
6.5.iconst_i iconst_<i>
- See Also:
-
ICONST_4
Pushint
constant4
.- See Java Virtual Machine Specification:
-
6.5.iconst_i iconst_<i>
- See Also:
-
ICONST_5
Pushint
constant5
.- See Java Virtual Machine Specification:
-
6.5.iconst_i iconst_<i>
- See Also:
-
LCONST_0
Pushlong
constant0L
.- See Java Virtual Machine Specification:
-
6.5.lconst_l lconst_<l>
- See Also:
-
LCONST_1
Pushlong
constant1L
.- See Java Virtual Machine Specification:
-
6.5.lconst_l lconst_<l>
- See Also:
-
FCONST_0
Pushfloat
constant0.0F
.- See Java Virtual Machine Specification:
-
6.5.fconst_f fconst_<f>
- See Also:
-
FCONST_1
Pushfloat
constant1.0F
.- See Java Virtual Machine Specification:
-
6.5.fconst_f fconst_<f>
- See Also:
-
FCONST_2
Pushfloat
constant2.0F
.- See Java Virtual Machine Specification:
-
6.5.fconst_f fconst_<f>
- See Also:
-
DCONST_0
Pushdouble
constant0.0D
.- See Java Virtual Machine Specification:
-
6.5.dconst_d dconst_<d>
- See Also:
-
DCONST_1
Pushdouble
constant1.0D
.- See Java Virtual Machine Specification:
-
6.5.dconst_d dconst_<d>
- See Also:
-
BIPUSH
- See Java Virtual Machine Specification:
-
6.5.bipush bipush
- See Also:
-
SIPUSH
- See Java Virtual Machine Specification:
-
6.5.sipush sipush
- See Also:
-
LDC
Push item from run-time constant pool.- See Java Virtual Machine Specification:
-
6.5.ldc ldc
- See Also:
-
LDC_W
Push item from run-time constant pool (wide index).- See Java Virtual Machine Specification:
-
6.5.ldc_w ldc_w
- See Also:
-
LDC2_W
- See Java Virtual Machine Specification:
-
6.5.ldc2_w ldc2_w
- See Also:
-
ILOAD
Loadint
from local variable.- See Java Virtual Machine Specification:
-
6.5.iload iload
- See Also:
-
LLOAD
Loadlong
from local variable.- See Java Virtual Machine Specification:
-
6.5.lload lload
- See Also:
-
FLOAD
Loadfloat
from local variable.- See Java Virtual Machine Specification:
-
6.5.fload fload
- See Also:
-
DLOAD
Loaddouble
from local variable.- See Java Virtual Machine Specification:
-
6.5.dload dload
- See Also:
-
ALOAD
Loadreference
from local variable.- See Java Virtual Machine Specification:
-
6.5.aload aload
- See Also:
-
ILOAD_0
Loadint
from local variable slot0
.- See Java Virtual Machine Specification:
-
6.5.iload_n iload_<n>
- See Also:
-
ILOAD_1
Loadint
from local variable slot1
.- See Java Virtual Machine Specification:
-
6.5.iload_n iload_<n>
- See Also:
-
ILOAD_2
Loadint
from local variable slot2
.- See Java Virtual Machine Specification:
-
6.5.iload_n iload_<n>
- See Also:
-
ILOAD_3
Loadint
from local variable slot3
.- See Java Virtual Machine Specification:
-
6.5.iload_n iload_<n>
- See Also:
-
LLOAD_0
Loadlong
from local variable slot0
.- See Java Virtual Machine Specification:
-
6.5.lload_n lload_<n>
- See Also:
-
LLOAD_1
Loadlong
from local variable slot1
.- See Java Virtual Machine Specification:
-
6.5.lload_n lload_<n>
- See Also:
-
LLOAD_2
Loadlong
from local variable slot2
.- See Java Virtual Machine Specification:
-
6.5.lload_n lload_<n>
- See Also:
-
LLOAD_3
Loadlong
from local variable slot3
.- See Java Virtual Machine Specification:
-
6.5.lload_n lload_<n>
- See Also:
-
FLOAD_0
Loadfloat
from local variable slot0
.- See Java Virtual Machine Specification:
-
6.5.fload_n fload_<n>
- See Also:
-
FLOAD_1
Loadfloat
from local variable slot1
.- See Java Virtual Machine Specification:
-
6.5.fload_n fload_<n>
- See Also:
-
FLOAD_2
Loadfloat
from local variable slot2
.- See Java Virtual Machine Specification:
-
6.5.fload_n fload_<n>
- See Also:
-
FLOAD_3
Loadfloat
from local variable slot3
.- See Java Virtual Machine Specification:
-
6.5.fload_n fload_<n>
- See Also:
-
DLOAD_0
Loaddouble
from local variable slot0
.- See Java Virtual Machine Specification:
-
6.5.dload_n dload_<n>
- See Also:
-
DLOAD_1
Loaddouble
from local variable slot1
.- See Java Virtual Machine Specification:
-
6.5.dload_n dload_<n>
- See Also:
-
DLOAD_2
Loaddouble
from local variable slot2
.- See Java Virtual Machine Specification:
-
6.5.dload_n dload_<n>
- See Also:
-
DLOAD_3
Loaddouble
from local variable slot3
.- See Java Virtual Machine Specification:
-
6.5.dload_n dload_<n>
- See Also:
-
ALOAD_0
Loadreference
from local variable slot0
.- See Java Virtual Machine Specification:
-
6.5.aload_n aload_<n>
- See Also:
-
ALOAD_1
Loadreference
from local variable slot1
.- See Java Virtual Machine Specification:
-
6.5.aload_n aload_<n>
- See Also:
-
ALOAD_2
Loadreference
from local variable slot2
.- See Java Virtual Machine Specification:
-
6.5.aload_n aload_<n>
- See Also:
-
ALOAD_3
Loadreference
from local variable slot3
.- See Java Virtual Machine Specification:
-
6.5.aload_n aload_<n>
- See Also:
-
IALOAD
Loadint
from array.- See Java Virtual Machine Specification:
-
6.5.iaload iaload
- See Also:
-
LALOAD
Loadlong
from array.- See Java Virtual Machine Specification:
-
6.5.laload laload
- See Also:
-
FALOAD
Loadfloat
from array.- See Java Virtual Machine Specification:
-
6.5.faload faload
- See Also:
-
DALOAD
Loaddouble
from array.- See Java Virtual Machine Specification:
-
6.5.daload daload
- See Also:
-
AALOAD
Loadreference
from array.- See Java Virtual Machine Specification:
-
6.5.aaload aaload
- See Also:
-
BALOAD
- See Java Virtual Machine Specification:
-
6.5.baload baload
- See Also:
-
CALOAD
Loadchar
from array.- See Java Virtual Machine Specification:
-
6.5.caload caload
- See Also:
-
SALOAD
Loadshort
from array.- See Java Virtual Machine Specification:
-
6.5.saload saload
- See Also:
-
ISTORE
Storeint
into local variable.- See Java Virtual Machine Specification:
-
6.5.istore istore
- See Also:
-
LSTORE
Storelong
into local variable.- See Java Virtual Machine Specification:
-
6.5.lstore lstore
- See Also:
-
FSTORE
Storefloat
into local variable.- See Java Virtual Machine Specification:
-
6.5.fstore fstore
- See Also:
-
DSTORE
Storedouble
into local variable.- See Java Virtual Machine Specification:
-
6.5.dstore dstore
- See Also:
-
ASTORE
Storereference
into local variable. Can also store thereturnAddress
type.- See Java Virtual Machine Specification:
-
6.5.astore astore
- See Also:
-
ISTORE_0
Storeint
into local variable slot0
.- See Java Virtual Machine Specification:
-
6.5.istore_n istore_<n>
- See Also:
-
ISTORE_1
Storeint
into local variable slot1
.- See Java Virtual Machine Specification:
-
6.5.istore_n istore_<n>
- See Also:
-
ISTORE_2
Storeint
into local variable slot2
.- See Java Virtual Machine Specification:
-
6.5.istore_n istore_<n>
- See Also:
-
ISTORE_3
Storeint
into local variable slot3
.- See Java Virtual Machine Specification:
-
6.5.istore_n istore_<n>
- See Also:
-
LSTORE_0
Storelong
into local variable slot0
.- See Java Virtual Machine Specification:
-
6.5.lstore_n lstore_<n>
- See Also:
-
LSTORE_1
Storelong
into local variable slot1
.- See Java Virtual Machine Specification:
-
6.5.lstore_n lstore_<n>
- See Also:
-
LSTORE_2
Storelong
into local variable slot2
.- See Java Virtual Machine Specification:
-
6.5.lstore_n lstore_<n>
- See Also:
-
LSTORE_3
Storelong
into local variable slot3
.- See Java Virtual Machine Specification:
-
6.5.lstore_n lstore_<n>
- See Also:
-
FSTORE_0
Storefloat
into local variable slot0
.- See Java Virtual Machine Specification:
-
6.5.fstore_n fstore_<n>
- See Also:
-
FSTORE_1
Storefloat
into local variable slot1
.- See Java Virtual Machine Specification:
-
6.5.fstore_n fstore_<n>
- See Also:
-
FSTORE_2
Storefloat
into local variable slot2
.- See Java Virtual Machine Specification:
-
6.5.fstore_n fstore_<n>
- See Also:
-
FSTORE_3
Storefloat
into local variable slot3
.- See Java Virtual Machine Specification:
-
6.5.fstore_n fstore_<n>
- See Also:
-
DSTORE_0
Storedouble
into local variable slot0
.- See Java Virtual Machine Specification:
-
6.5.dstore_n dstore_<n>
- See Also:
-
DSTORE_1
Storedouble
into local variable slot1
.- See Java Virtual Machine Specification:
-
6.5.dstore_n dstore_<n>
- See Also:
-
DSTORE_2
Storedouble
into local variable slot2
.- See Java Virtual Machine Specification:
-
6.5.dstore_n dstore_<n>
- See Also:
-
DSTORE_3
Storedouble
into local variable slot3
.- See Java Virtual Machine Specification:
-
6.5.dstore_n dstore_<n>
- See Also:
-
ASTORE_0
- See Java Virtual Machine Specification:
-
6.5.astore_n astore_<n>
- See Also:
-
ASTORE_1
- See Java Virtual Machine Specification:
-
6.5.astore_n astore_<n>
- See Also:
-
ASTORE_2
- See Java Virtual Machine Specification:
-
6.5.astore_n astore_<n>
- See Also:
-
ASTORE_3
- See Java Virtual Machine Specification:
-
6.5.astore_n astore_<n>
- See Also:
-
IASTORE
Store intoint
array.- See Java Virtual Machine Specification:
-
6.5.iastore iastore
- See Also:
-
LASTORE
Store intolong
array.- See Java Virtual Machine Specification:
-
6.5.lastore lastore
- See Also:
-
FASTORE
Store intofloat
array.- See Java Virtual Machine Specification:
-
6.5.fastore fastore
- See Also:
-
DASTORE
Store intodouble
array.- See Java Virtual Machine Specification:
-
6.5.dastore dastore
- See Also:
-
AASTORE
Store intoreference
array.- See Java Virtual Machine Specification:
-
6.5.aastore aastore
- See Also:
-
BASTORE
- See Java Virtual Machine Specification:
-
6.5.bastore bastore
- See Also:
-
CASTORE
Store intochar
array.- See Java Virtual Machine Specification:
-
6.5.castore castore
- See Also:
-
SASTORE
Store intoshort
array.- See Java Virtual Machine Specification:
-
6.5.sastore sastore
- See Also:
-
POP
Pop the top operand stack value.- See Java Virtual Machine Specification:
-
6.5.pop pop
- See Also:
-
POP2
Pop the top one or two operand stack values.- See Java Virtual Machine Specification:
-
6.5.pop2 pop2
- See Also:
-
DUP
Duplicate the top operand stack value.- See Java Virtual Machine Specification:
-
6.5.dup dup
- See Also:
-
DUP_X1
Duplicate the top operand stack value and insert two values down.- See Java Virtual Machine Specification:
-
6.5.dup_x1 dup_x1
- See Also:
-
DUP_X2
Duplicate the top operand stack value and insert two or three values down.- See Java Virtual Machine Specification:
-
6.5.dup_x2 dup_x2
- See Also:
-
DUP2
Duplicate the top one or two operand stack values.- See Java Virtual Machine Specification:
-
6.5.dup2 dup2
- See Also:
-
DUP2_X1
Duplicate the top one or two operand stack values and insert two or three values down.- See Java Virtual Machine Specification:
-
6.5.dup2_x1 dup2_x1
- See Also:
-
DUP2_X2
Duplicate the top one or two operand stack values and insert two, three, or four values down.- See Java Virtual Machine Specification:
-
6.5.dup2_x2 dup2_x2
- See Also:
-
SWAP
Swap the top two operand stack values.- See Java Virtual Machine Specification:
-
6.5.swap swap
- See Also:
-
IADD
Addint
.- See Java Virtual Machine Specification:
-
6.5.iadd iadd
- See Also:
-
LADD
Addlong
.- See Java Virtual Machine Specification:
-
6.5.ladd ladd
- See Also:
-
FADD
Addfloat
.- See Java Virtual Machine Specification:
-
6.5.fadd fadd
- See Also:
-
DADD
Adddouble
.- See Java Virtual Machine Specification:
-
6.5.dadd dadd
- See Also:
-
ISUB
Subtractint
.- See Java Virtual Machine Specification:
-
6.5.isub isub
- See Also:
-
LSUB
Subtractlong
.- See Java Virtual Machine Specification:
-
6.5.lsub lsub
- See Also:
-
FSUB
Subtractfloat
.- See Java Virtual Machine Specification:
-
6.5.fsub fsub
- See Also:
-
DSUB
Subtractdouble
.- See Java Virtual Machine Specification:
-
6.5.dsub dsub
- See Also:
-
IMUL
Multiplyint
.- See Java Virtual Machine Specification:
-
6.5.imul imul
- See Also:
-
LMUL
Multiplylong
.- See Java Virtual Machine Specification:
-
6.5.lmul lmul
- See Also:
-
FMUL
Multiplyfloat
.- See Java Virtual Machine Specification:
-
6.5.fmul fmul
- See Also:
-
DMUL
Multiplydouble
.- See Java Virtual Machine Specification:
-
6.5.dmul dmul
- See Also:
-
IDIV
Divideint
.- See Java Virtual Machine Specification:
-
6.5.idiv idiv
- See Also:
-
LDIV
Dividelong
.- See Java Virtual Machine Specification:
-
6.5.ldiv ldiv
- See Also:
-
FDIV
Dividefloat
.- See Java Virtual Machine Specification:
-
6.5.fdiv fdiv
- See Also:
-
DDIV
Dividedouble
.- See Java Virtual Machine Specification:
-
6.5.ddiv ddiv
- See Also:
-
IREM
Remainderint
.- See Java Virtual Machine Specification:
-
6.5.irem irem
- See Also:
-
LREM
Remainderlong
.- See Java Virtual Machine Specification:
-
6.5.lrem lrem
- See Also:
-
FREM
Remainderfloat
.- See Java Virtual Machine Specification:
-
6.5.frem frem
- See Also:
-
DREM
Remainderdouble
.- See Java Virtual Machine Specification:
-
6.5.drem drem
- See Also:
-
INEG
Negateint
.- See Java Virtual Machine Specification:
-
6.5.ineg ineg
- See Also:
-
LNEG
Negatelong
.- See Java Virtual Machine Specification:
-
6.5.lneg lneg
- See Also:
-
FNEG
Negatefloat
.- See Java Virtual Machine Specification:
-
6.5.fneg fneg
- See Also:
-
DNEG
Negatedouble
.- See Java Virtual Machine Specification:
-
6.5.dneg dneg
- See Also:
-
ISHL
Shift leftint
.- See Java Virtual Machine Specification:
-
6.5.ishl ishl
- See Also:
-
LSHL
Shift leftlong
.- See Java Virtual Machine Specification:
-
6.5.lshl lshl
- See Also:
-
ISHR
Arithmetic shift rightint
.- See Java Virtual Machine Specification:
-
6.5.ishr ishr
- See Also:
-
LSHR
Arithmetic shift rightlong
.- See Java Virtual Machine Specification:
-
6.5.lshr lshr
- See Also:
-
IUSHR
Logical shift rightint
.- See Java Virtual Machine Specification:
-
6.5.iushr iushr
- See Also:
-
LUSHR
Logical shift rightlong
.- See Java Virtual Machine Specification:
-
6.5.lushr lushr
- See Also:
-
IAND
Bitwise ANDint
.- API Note:
- This may be used to implement
boolean
AND. - See Java Virtual Machine Specification:
-
6.5.iand iand
- See Also:
-
LAND
Bitwise ANDlong
.- See Java Virtual Machine Specification:
-
6.5.land land
- See Also:
-
IOR
Bitwise ORint
.- API Note:
- This may be used to implement
boolean
OR. - See Java Virtual Machine Specification:
-
6.5.ior ior
- See Also:
-
LOR
Bitwise ORlong
.- See Java Virtual Machine Specification:
-
6.5.lor lor
- See Also:
-
IXOR
Bitwise XORint
.- API Note:
- This may be used to implement
boolean
XOR. - See Java Virtual Machine Specification:
-
6.5.ixor ixor
- See Also:
-
LXOR
Bitwise XORlong
.- See Java Virtual Machine Specification:
-
6.5.lxor lxor
- See Also:
-
IINC
Incrementint
local variable by constant.- See Java Virtual Machine Specification:
-
6.5.iinc iinc
- See Also:
-
I2L
- See Java Language Specification:
-
5.1.2 Widening Primitive Conversion
- See Java Virtual Machine Specification:
-
6.5.i2l i2l
- See Also:
-
I2F
- See Java Language Specification:
-
5.1.2 Widening Primitive Conversion
- See Java Virtual Machine Specification:
-
6.5.i2f i2f
- See Also:
-
I2D
- See Java Language Specification:
-
5.1.2 Widening Primitive Conversion
- See Java Virtual Machine Specification:
-
6.5.i2d i2d
- See Also:
-
L2I
- See Java Language Specification:
-
5.1.3 Narrowing Primitive Conversion
- See Java Virtual Machine Specification:
-
6.5.l2i l2i
- See Also:
-
L2F
- See Java Language Specification:
-
5.1.2 Widening Primitive Conversion
- See Java Virtual Machine Specification:
-
6.5.l2f l2f
- See Also:
-
L2D
- See Java Language Specification:
-
5.1.2 Widening Primitive Conversion
- See Java Virtual Machine Specification:
-
6.5.l2d l2d
- See Also:
-
F2I
- See Java Language Specification:
-
5.1.3 Narrowing Primitive Conversion
- See Java Virtual Machine Specification:
-
6.5.f2i f2i
- See Also:
-
F2L
- See Java Language Specification:
-
5.1.3 Narrowing Primitive Conversion
- See Java Virtual Machine Specification:
-
6.5.f2l f2l
- See Also:
-
F2D
- See Java Language Specification:
-
5.1.2 Widening Primitive Conversion
- See Java Virtual Machine Specification:
-
6.5.f2d f2d
- See Also:
-
D2I
- See Java Language Specification:
-
5.1.3 Narrowing Primitive Conversion
- See Java Virtual Machine Specification:
-
6.5.d2i d2i
- See Also:
-
D2L
- See Java Virtual Machine Specification:
-
6.5.d2l d2l
- See Also:
-
D2F
- See Java Language Specification:
-
5.1.3 Narrowing Primitive Conversion
- See Java Virtual Machine Specification:
-
6.5.d2f d2f
- See Also:
-
I2B
- See Java Language Specification:
-
5.1.3 Narrowing Primitive Conversion
- See Java Virtual Machine Specification:
-
6.5.i2b i2b
- See Also:
-
I2C
- See Java Language Specification:
-
5.1.3 Narrowing Primitive Conversion
- See Java Virtual Machine Specification:
-
6.5.i2c i2c
- See Also:
-
I2S
- See Java Language Specification:
-
5.1.3 Narrowing Primitive Conversion
- See Java Virtual Machine Specification:
-
6.5.i2s i2s
- See Also:
-
LCMP
Comparelong
.- See Java Virtual Machine Specification:
-
6.5.lcmp lcmp
- See Also:
-
FCMPL
- See Java Virtual Machine Specification:
-
6.5.fcmp_op fcmp<op>
- See Also:
-
FCMPG
- See Java Virtual Machine Specification:
-
6.5.fcmp_op fcmp<op>
- See Also:
-
DCMPL
- See Java Virtual Machine Specification:
-
6.5.dcmp_op dcmp<op>
- See Also:
-
DCMPG
- See Java Virtual Machine Specification:
-
6.5.dcmp_op dcmp<op>
- See Also:
-
IFEQ
Branch ifint
comparison== 0
succeeds.- See Java Virtual Machine Specification:
-
6.5.if_cond if_<cond>
- See Also:
-
IFNE
Branch ifint
comparison!= 0
succeeds.- See Java Virtual Machine Specification:
-
6.5.if_cond if_<cond>
- See Also:
-
IFLT
Branch ifint
comparison< 0
succeeds.- See Java Virtual Machine Specification:
-
6.5.if_cond if_<cond>
- See Also:
-
IFGE
Branch ifint
comparison>= 0
succeeds.- See Java Virtual Machine Specification:
-
6.5.if_cond if_<cond>
- See Also:
-
IFGT
Branch ifint
comparison> 0
succeeds.- See Java Virtual Machine Specification:
-
6.5.if_cond if_<cond>
- See Also:
-
IFLE
Branch ifint
comparison<= 0
succeeds.- See Java Virtual Machine Specification:
-
6.5.if_cond if_<cond>
- See Also:
-
IF_ICMPEQ
Branch ifint
comparisonoperand1 == operand2
succeeds.- See Java Virtual Machine Specification:
-
6.5.if_icmp_cond if_icmp<cond>
- See Also:
-
IF_ICMPNE
Branch ifint
comparisonoperand1 != operand2
succeeds.- See Java Virtual Machine Specification:
-
6.5.if_icmp_cond if_icmp<cond>
- See Also:
-
IF_ICMPLT
Branch ifint
comparisonoperand1 < operand2
succeeds.- See Java Virtual Machine Specification:
-
6.5.if_icmp_cond if_icmp<cond>
- See Also:
-
IF_ICMPGE
Branch ifint
comparisonoperand1 >= operand2
succeeds.- See Java Virtual Machine Specification:
-
6.5.if_icmp_cond if_icmp<cond>
- See Also:
-
IF_ICMPGT
Branch ifint
comparisonoperand1 > operand2
succeeds.- See Java Virtual Machine Specification:
-
6.5.if_icmp_cond if_icmp<cond>
- See Also:
-
IF_ICMPLE
Branch ifint
comparisonoperand1 <= operand2
succeeds.- See Java Virtual Machine Specification:
-
6.5.if_icmp_cond if_icmp<cond>
- See Also:
-
IF_ACMPEQ
Branch ifreference
comparisonoperand1 == operand2
succeeds.- See Java Virtual Machine Specification:
-
6.5.if_acmp_cond if_acmp<cond>
- See Also:
-
IF_ACMPNE
Branch ifreference
comparisonoperand1 != operand2
succeeds.- See Java Virtual Machine Specification:
-
6.5.if_acmp_cond if_acmp<cond>
- See Also:
-
GOTO
Branch always.- See Java Virtual Machine Specification:
-
6.5.goto goto
- See Also:
-
JSR
(Discontinued) Jump subroutine; last used in major version 50.- See Java Virtual Machine Specification:
-
4.9.1 Static Constraints
6.5.jsr jsr - See Also:
-
RET
(Discontinued) Return from subroutine; last used in major version 50.- See Java Virtual Machine Specification:
-
4.9.1 Static Constraints
6.5.ret ret - See Also:
-
TABLESWITCH
Access jump table by index and jump.- See Java Virtual Machine Specification:
-
6.5.tableswitch tableswitch
- See Also:
-
LOOKUPSWITCH
Access jump table by key match and jump.- See Java Virtual Machine Specification:
-
6.5.lookupswitch lookupswitch
- See Also:
-
IRETURN
Returnint
from method.- See Java Virtual Machine Specification:
-
6.5.ireturn ireturn
- See Also:
-
LRETURN
Returnlong
from method.- See Java Virtual Machine Specification:
-
6.5.lreturn lreturn
- See Also:
-
FRETURN
Returnfloat
from method.- See Java Virtual Machine Specification:
-
6.5.freturn freturn
- See Also:
-
DRETURN
Returndouble
from method.- See Java Virtual Machine Specification:
-
6.5.dreturn dreturn
- See Also:
-
ARETURN
Returnreference
from method.- See Java Virtual Machine Specification:
-
6.5.areturn areturn
- See Also:
-
RETURN
Returnvoid
from method.- See Java Virtual Machine Specification:
-
6.5.return return
- See Also:
-
GETSTATIC
Getstatic
field from class.- See Java Virtual Machine Specification:
-
6.5.getstatic getstatic
- See Also:
-
PUTSTATIC
Setstatic
field in class.- See Java Virtual Machine Specification:
-
6.5.putstatic putstatic
- See Also:
-
GETFIELD
Fetch field from object.- See Java Virtual Machine Specification:
-
6.5.getfield getfield
- See Also:
-
PUTFIELD
Set field in object.- See Java Virtual Machine Specification:
-
6.5.putfield putfield
- See Also:
-
INVOKEVIRTUAL
Invoke instance method; dispatch based on class.- See Java Virtual Machine Specification:
-
6.5.invokevirtual invokevirtual
- See Also:
-
INVOKESPECIAL
Invoke instance method; direct invocation of instance initialization methods and methods of the current class and its supertypes.- See Java Virtual Machine Specification:
-
6.5.invokevirtual invokevirtual
- See Also:
-
INVOKESTATIC
Invoke a class (static
) method.- See Java Virtual Machine Specification:
-
6.5.invokestatic invokestatic
- See Also:
-
INVOKEINTERFACE
Invoke interface method.- See Java Virtual Machine Specification:
-
6.5.invokeinterface invokeinterface
- See Also:
-
INVOKEDYNAMIC
Invoke a dynamically-computed call site.- See Java Virtual Machine Specification:
-
6.5.invokedynamic invokedynamic
- See Also:
-
NEW
Create new object.- See Java Virtual Machine Specification:
-
6.5.new new
- See Also:
-
NEWARRAY
Create new array.- See Java Virtual Machine Specification:
-
6.5.newarray newarray
- See Also:
-
ANEWARRAY
Create new array ofreference
.- See Java Virtual Machine Specification:
-
6.5.anewarray anewarray
- See Also:
-
ARRAYLENGTH
Get length of array.- See Java Virtual Machine Specification:
-
6.5.arraylength arraylength
- See Also:
-
ATHROW
Throw exception or error.- See Java Virtual Machine Specification:
-
6.5.athrow athrow
- See Also:
-
CHECKCAST
Check whether object is of given type.- See Java Virtual Machine Specification:
-
6.5.checkcast checkcast
- See Also:
-
INSTANCEOF
Determine if object is of given type.- See Java Virtual Machine Specification:
-
6.5.instanceof instanceof
- See Also:
-
MONITORENTER
Enter monitor for object.- See Java Virtual Machine Specification:
-
6.5.monitorenter monitorenter
- See Also:
-
MONITOREXIT
Exit monitor for object.- See Java Virtual Machine Specification:
-
6.5.monitorexit monitorexit
- See Also:
-
MULTIANEWARRAY
Create new multidimensional array.- See Java Virtual Machine Specification:
-
6.5.multianewarray multianewarray
- See Also:
-
IFNULL
Branch ifreference
isnull
.- See Java Virtual Machine Specification:
-
6.5.ifnull ifnull
- See Also:
-
IFNONNULL
Branch ifreference
is notnull
.- See Java Virtual Machine Specification:
-
6.5.ifnonnull ifnonnull
- See Also:
-
GOTO_W
Branch always (wide index).- See Java Virtual Machine Specification:
-
6.5.goto_w goto_w
- See Also:
-
JSR_W
(Discontinued) Jump subroutine (wide index); last used in major version 50.- See Java Virtual Machine Specification:
-
4.9.1 Static Constraints
6.5.jsr_w jsr_w - See Also:
-
ILOAD_W
- See Java Virtual Machine Specification:
-
6.5.wide wide
6.5.iload iload - See Also:
-
LLOAD_W
- See Java Virtual Machine Specification:
-
6.5.wide wide
6.5.lload lload - See Also:
-
FLOAD_W
- See Java Virtual Machine Specification:
-
6.5.wide wide
6.5.fload fload - See Also:
-
DLOAD_W
- See Java Virtual Machine Specification:
-
6.5.wide wide
6.5.dload dload - See Also:
-
ALOAD_W
- See Java Virtual Machine Specification:
-
6.5.wide wide
6.5.aload aload - See Also:
-
ISTORE_W
- See Java Virtual Machine Specification:
-
6.5.wide wide
6.5.istore istore - See Also:
-
LSTORE_W
- See Java Virtual Machine Specification:
-
6.5.wide wide
6.5.lstore lstore - See Also:
-
FSTORE_W
- See Java Virtual Machine Specification:
-
6.5.wide wide
6.5.fstore fstore - See Also:
-
DSTORE_W
- See Java Virtual Machine Specification:
-
6.5.wide wide
6.5.dstore dstore - See Also:
-
ASTORE_W
Storereference
into local variable (wide index). This is a wide-modified pseudo-opcode. Can also store thereturnAddress
type.- See Java Virtual Machine Specification:
-
6.5.wide wide
6.5.astore astore - See Also:
-
RET_W
(Discontinued) Return from subroutine (wide index); last used in major version 50. This is a wide-modified pseudo-opcode.- See Java Virtual Machine Specification:
-
4.9.1 Static Constraints
6.5.wide wide
6.5.ret ret - See Also:
-
IINC_W
Increment local variable by constant (wide index). This is a wide-modified pseudo-opcode.- See Java Virtual Machine Specification:
-
6.5.wide wide
6.5.iinc iinc - See Also:
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum class has no constant with the specified nameNullPointerException
- if the argument is null
-
bytecode
public int bytecode()Returns the opcode value. For wide pseudo-opcodes, returns the first 2 bytes of the instruction, which are the wide opcode196
(0xC4
) and the functional opcode, as a U2 value.- Returns:
- the opcode value
-
isWide
public boolean isWide()Returns true if this is a pseudo-opcode modified by wide opcode.wide
extends local variable index by additional bytes.- Returns:
- true if this is a pseudo-opcode modified by wide opcode
- See Java Virtual Machine Specification:
-
6.5.wide wide
- See Also:
-
sizeIfFixed
public int sizeIfFixed()Returns size of the instruction in bytes if fixed, or -1 otherwise. This size includes the opcode itself.- Returns:
- size of the instruction in bytes if fixed, or -1 otherwise
- See Also:
-
kind
Returns operation kind. Each kind of operation has its own modeling interface to model instructions belonging to that kind.- Returns:
- operation kind
-