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
_Wsuffix. However,ldc_w,ldc2_w,goto_w, andjsr_ware 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 ConstantDescriptionLoadreferencefrom array.Store intoreferencearray.Pushnull.Loadreferencefrom local variable.Loadreferencefrom local variable slot0.Loadreferencefrom local variable slot1.Loadreferencefrom local variable slot2.Loadreferencefrom local variable slot3.Loadreferencefrom local variable (wide index).Create new array ofreference.Returnreferencefrom method.Get length of array.Storereferenceinto local variable.Storereferenceinto local variable slot0.Storereferenceinto local variable slot1.Storereferenceinto local variable slot2.Storereferenceinto local variable slot3.Storereferenceinto local variable (wide index).Throw exception or error.Loadcharfrom array.Store intochararray.Check whether object is of given type.Adddouble.Loaddoublefrom array.Store intodoublearray.Comparedouble.Comparedouble.Pushdoubleconstant0.0D.Pushdoubleconstant1.0D.Dividedouble.Loaddoublefrom local variable.Loaddoublefrom local variable slot0.Loaddoublefrom local variable slot1.Loaddoublefrom local variable slot2.Loaddoublefrom local variable slot3.Loaddoublefrom local variable (wide index).Multiplydouble.Negatedouble.Remainderdouble.Returndoublefrom method.Storedoubleinto local variable.Storedoubleinto local variable slot0.Storedoubleinto local variable slot1.Storedoubleinto local variable slot2.Storedoubleinto local variable slot3.Storedoubleinto 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.Loadfloatfrom array.Store intofloatarray.Comparefloat.Comparefloat.Pushfloatconstant0.0F.Pushfloatconstant1.0F.Pushfloatconstant2.0F.Dividefloat.Loadfloatfrom local variable.Loadfloatfrom local variable slot0.Loadfloatfrom local variable slot1.Loadfloatfrom local variable slot2.Loadfloatfrom local variable slot3.Loadfloatfrom local variable (wide index).Multiplyfloat.Negatefloat.Remainderfloat.Returnfloatfrom method.Storefloatinto local variable.Storefloatinto local variable slot0.Storefloatinto local variable slot1.Storefloatinto local variable slot2.Storefloatinto local variable slot3.Storefloatinto local variable (wide index).Subtractfloat.Fetch field from object.Getstaticfield from class.Branch always.Branch always (wide index).Addint.Loadintfrom array.Bitwise ANDint.Store intointarray.Pushintconstant0.Pushintconstant1.Pushintconstant2.Pushintconstant3.Pushintconstant4.Pushintconstant5.Pushintconstant-1.Divideint.Branch ifreferencecomparisonoperand1 == operand2succeeds.Branch ifreferencecomparisonoperand1 != operand2succeeds.Branch ifintcomparisonoperand1 == operand2succeeds.Branch ifintcomparisonoperand1 >= operand2succeeds.Branch ifintcomparisonoperand1 > operand2succeeds.Branch ifintcomparisonoperand1 <= operand2succeeds.Branch ifintcomparisonoperand1 < operand2succeeds.Branch ifintcomparisonoperand1 != operand2succeeds.Branch ifintcomparison== 0succeeds.Branch ifintcomparison>= 0succeeds.Branch ifintcomparison> 0succeeds.Branch ifintcomparison<= 0succeeds.Branch ifintcomparison< 0succeeds.Branch ifintcomparison!= 0succeeds.Branch ifreferenceis notnull.Branch ifreferenceisnull.Incrementintlocal variable by constant.Increment local variable by constant (wide index).Loadintfrom local variable.Loadintfrom local variable slot0.Loadintfrom local variable slot1.Loadintfrom local variable slot2.Loadintfrom local variable slot3.Loadintfrom 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.Returnintfrom method.Shift leftint.Arithmetic shift rightint.Storeintinto local variable.Storeintinto local variable slot0.Storeintinto local variable slot1.Storeintinto local variable slot2.Storeintinto local variable slot3.Storeintinto 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.Loadlongfrom array.Bitwise ANDlong.Store intolongarray.Comparelong.Pushlongconstant0L.Pushlongconstant1L.Push item from run-time constant pool.Push item from run-time constant pool (wide index).Dividelong.Loadlongfrom local variable.Loadlongfrom local variable slot0.Loadlongfrom local variable slot1.Loadlongfrom local variable slot2.Loadlongfrom local variable slot3.Loadlongfrom local variable (wide index).Multiplylong.Negatelong.Access jump table by key match and jump.Bitwise ORlong.Remainderlong.Returnlongfrom method.Shift leftlong.Arithmetic shift rightlong.Storelonginto local variable.Storelonginto local variable slot0.Storelonginto local variable slot1.Storelonginto local variable slot2.Storelonginto local variable slot3.Storelonginto 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.Setstaticfield in class.(Discontinued) Return from subroutine; last used in major version 50.(Discontinued) Return from subroutine (wide index); last used in major version 50.Returnvoidfrom method.Loadshortfrom array.Store intoshortarray.Swap the top two operand stack values.Access jump table by index and jump. -
Method Summary
Modifier and TypeMethodDescriptionintbytecode()Returns the opcode value.booleanisWide()Returns true if this is a pseudo-opcode modified by wide opcode.kind()Returns operation kind.intReturns size of the instruction in bytes if fixed, or -1 otherwise.static OpcodeReturns 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
Pushintconstant-1.- See Java Virtual Machine Specification:
-
6.5.iconst_i iconst_<i>
- See Also:
-
ICONST_0
Pushintconstant0.- See Java Virtual Machine Specification:
-
6.5.iconst_i iconst_<i>
- See Also:
-
ICONST_1
Pushintconstant1.- See Java Virtual Machine Specification:
-
6.5.iconst_i iconst_<i>
- See Also:
-
ICONST_2
Pushintconstant2.- See Java Virtual Machine Specification:
-
6.5.iconst_i iconst_<i>
- See Also:
-
ICONST_3
Pushintconstant3.- See Java Virtual Machine Specification:
-
6.5.iconst_i iconst_<i>
- See Also:
-
ICONST_4
Pushintconstant4.- See Java Virtual Machine Specification:
-
6.5.iconst_i iconst_<i>
- See Also:
-
ICONST_5
Pushintconstant5.- See Java Virtual Machine Specification:
-
6.5.iconst_i iconst_<i>
- See Also:
-
LCONST_0
Pushlongconstant0L.- See Java Virtual Machine Specification:
-
6.5.lconst_l lconst_<l>
- See Also:
-
LCONST_1
Pushlongconstant1L.- See Java Virtual Machine Specification:
-
6.5.lconst_l lconst_<l>
- See Also:
-
FCONST_0
Pushfloatconstant0.0F.- See Java Virtual Machine Specification:
-
6.5.fconst_f fconst_<f>
- See Also:
-
FCONST_1
Pushfloatconstant1.0F.- See Java Virtual Machine Specification:
-
6.5.fconst_f fconst_<f>
- See Also:
-
FCONST_2
Pushfloatconstant2.0F.- See Java Virtual Machine Specification:
-
6.5.fconst_f fconst_<f>
- See Also:
-
DCONST_0
Pushdoubleconstant0.0D.- See Java Virtual Machine Specification:
-
6.5.dconst_d dconst_<d>
- See Also:
-
DCONST_1
Pushdoubleconstant1.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
Loadintfrom local variable.- See Java Virtual Machine Specification:
-
6.5.iload iload
- See Also:
-
LLOAD
Loadlongfrom local variable.- See Java Virtual Machine Specification:
-
6.5.lload lload
- See Also:
-
FLOAD
Loadfloatfrom local variable.- See Java Virtual Machine Specification:
-
6.5.fload fload
- See Also:
-
DLOAD
Loaddoublefrom local variable.- See Java Virtual Machine Specification:
-
6.5.dload dload
- See Also:
-
ALOAD
Loadreferencefrom local variable.- See Java Virtual Machine Specification:
-
6.5.aload aload
- See Also:
-
ILOAD_0
Loadintfrom local variable slot0.- See Java Virtual Machine Specification:
-
6.5.iload_n iload_<n>
- See Also:
-
ILOAD_1
Loadintfrom local variable slot1.- See Java Virtual Machine Specification:
-
6.5.iload_n iload_<n>
- See Also:
-
ILOAD_2
Loadintfrom local variable slot2.- See Java Virtual Machine Specification:
-
6.5.iload_n iload_<n>
- See Also:
-
ILOAD_3
Loadintfrom local variable slot3.- See Java Virtual Machine Specification:
-
6.5.iload_n iload_<n>
- See Also:
-
LLOAD_0
Loadlongfrom local variable slot0.- See Java Virtual Machine Specification:
-
6.5.lload_n lload_<n>
- See Also:
-
LLOAD_1
Loadlongfrom local variable slot1.- See Java Virtual Machine Specification:
-
6.5.lload_n lload_<n>
- See Also:
-
LLOAD_2
Loadlongfrom local variable slot2.- See Java Virtual Machine Specification:
-
6.5.lload_n lload_<n>
- See Also:
-
LLOAD_3
Loadlongfrom local variable slot3.- See Java Virtual Machine Specification:
-
6.5.lload_n lload_<n>
- See Also:
-
FLOAD_0
Loadfloatfrom local variable slot0.- See Java Virtual Machine Specification:
-
6.5.fload_n fload_<n>
- See Also:
-
FLOAD_1
Loadfloatfrom local variable slot1.- See Java Virtual Machine Specification:
-
6.5.fload_n fload_<n>
- See Also:
-
FLOAD_2
Loadfloatfrom local variable slot2.- See Java Virtual Machine Specification:
-
6.5.fload_n fload_<n>
- See Also:
-
FLOAD_3
Loadfloatfrom local variable slot3.- See Java Virtual Machine Specification:
-
6.5.fload_n fload_<n>
- See Also:
-
DLOAD_0
Loaddoublefrom local variable slot0.- See Java Virtual Machine Specification:
-
6.5.dload_n dload_<n>
- See Also:
-
DLOAD_1
Loaddoublefrom local variable slot1.- See Java Virtual Machine Specification:
-
6.5.dload_n dload_<n>
- See Also:
-
DLOAD_2
Loaddoublefrom local variable slot2.- See Java Virtual Machine Specification:
-
6.5.dload_n dload_<n>
- See Also:
-
DLOAD_3
Loaddoublefrom local variable slot3.- See Java Virtual Machine Specification:
-
6.5.dload_n dload_<n>
- See Also:
-
ALOAD_0
Loadreferencefrom local variable slot0.- See Java Virtual Machine Specification:
-
6.5.aload_n aload_<n>
- See Also:
-
ALOAD_1
Loadreferencefrom local variable slot1.- See Java Virtual Machine Specification:
-
6.5.aload_n aload_<n>
- See Also:
-
ALOAD_2
Loadreferencefrom local variable slot2.- See Java Virtual Machine Specification:
-
6.5.aload_n aload_<n>
- See Also:
-
ALOAD_3
Loadreferencefrom local variable slot3.- See Java Virtual Machine Specification:
-
6.5.aload_n aload_<n>
- See Also:
-
IALOAD
Loadintfrom array.- See Java Virtual Machine Specification:
-
6.5.iaload iaload
- See Also:
-
LALOAD
Loadlongfrom array.- See Java Virtual Machine Specification:
-
6.5.laload laload
- See Also:
-
FALOAD
Loadfloatfrom array.- See Java Virtual Machine Specification:
-
6.5.faload faload
- See Also:
-
DALOAD
Loaddoublefrom array.- See Java Virtual Machine Specification:
-
6.5.daload daload
- See Also:
-
AALOAD
Loadreferencefrom 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
Loadcharfrom array.- See Java Virtual Machine Specification:
-
6.5.caload caload
- See Also:
-
SALOAD
Loadshortfrom array.- See Java Virtual Machine Specification:
-
6.5.saload saload
- See Also:
-
ISTORE
Storeintinto local variable.- See Java Virtual Machine Specification:
-
6.5.istore istore
- See Also:
-
LSTORE
Storelonginto local variable.- See Java Virtual Machine Specification:
-
6.5.lstore lstore
- See Also:
-
FSTORE
Storefloatinto local variable.- See Java Virtual Machine Specification:
-
6.5.fstore fstore
- See Also:
-
DSTORE
Storedoubleinto local variable.- See Java Virtual Machine Specification:
-
6.5.dstore dstore
- See Also:
-
ASTORE
Storereferenceinto local variable. Can also store thereturnAddresstype.- See Java Virtual Machine Specification:
-
6.5.astore astore
- See Also:
-
ISTORE_0
Storeintinto local variable slot0.- See Java Virtual Machine Specification:
-
6.5.istore_n istore_<n>
- See Also:
-
ISTORE_1
Storeintinto local variable slot1.- See Java Virtual Machine Specification:
-
6.5.istore_n istore_<n>
- See Also:
-
ISTORE_2
Storeintinto local variable slot2.- See Java Virtual Machine Specification:
-
6.5.istore_n istore_<n>
- See Also:
-
ISTORE_3
Storeintinto local variable slot3.- See Java Virtual Machine Specification:
-
6.5.istore_n istore_<n>
- See Also:
-
LSTORE_0
Storelonginto local variable slot0.- See Java Virtual Machine Specification:
-
6.5.lstore_n lstore_<n>
- See Also:
-
LSTORE_1
Storelonginto local variable slot1.- See Java Virtual Machine Specification:
-
6.5.lstore_n lstore_<n>
- See Also:
-
LSTORE_2
Storelonginto local variable slot2.- See Java Virtual Machine Specification:
-
6.5.lstore_n lstore_<n>
- See Also:
-
LSTORE_3
Storelonginto local variable slot3.- See Java Virtual Machine Specification:
-
6.5.lstore_n lstore_<n>
- See Also:
-
FSTORE_0
Storefloatinto local variable slot0.- See Java Virtual Machine Specification:
-
6.5.fstore_n fstore_<n>
- See Also:
-
FSTORE_1
Storefloatinto local variable slot1.- See Java Virtual Machine Specification:
-
6.5.fstore_n fstore_<n>
- See Also:
-
FSTORE_2
Storefloatinto local variable slot2.- See Java Virtual Machine Specification:
-
6.5.fstore_n fstore_<n>
- See Also:
-
FSTORE_3
Storefloatinto local variable slot3.- See Java Virtual Machine Specification:
-
6.5.fstore_n fstore_<n>
- See Also:
-
DSTORE_0
Storedoubleinto local variable slot0.- See Java Virtual Machine Specification:
-
6.5.dstore_n dstore_<n>
- See Also:
-
DSTORE_1
Storedoubleinto local variable slot1.- See Java Virtual Machine Specification:
-
6.5.dstore_n dstore_<n>
- See Also:
-
DSTORE_2
Storedoubleinto local variable slot2.- See Java Virtual Machine Specification:
-
6.5.dstore_n dstore_<n>
- See Also:
-
DSTORE_3
Storedoubleinto 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 intointarray.- See Java Virtual Machine Specification:
-
6.5.iastore iastore
- See Also:
-
LASTORE
Store intolongarray.- See Java Virtual Machine Specification:
-
6.5.lastore lastore
- See Also:
-
FASTORE
Store intofloatarray.- See Java Virtual Machine Specification:
-
6.5.fastore fastore
- See Also:
-
DASTORE
Store intodoublearray.- See Java Virtual Machine Specification:
-
6.5.dastore dastore
- See Also:
-
AASTORE
Store intoreferencearray.- 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 intochararray.- See Java Virtual Machine Specification:
-
6.5.castore castore
- See Also:
-
SASTORE
Store intoshortarray.- 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
booleanAND. - 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
booleanOR. - 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
booleanXOR. - 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
Incrementintlocal 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 ifintcomparison== 0succeeds.- See Java Virtual Machine Specification:
-
6.5.if_cond if_<cond>
- See Also:
-
IFNE
Branch ifintcomparison!= 0succeeds.- See Java Virtual Machine Specification:
-
6.5.if_cond if_<cond>
- See Also:
-
IFLT
Branch ifintcomparison< 0succeeds.- See Java Virtual Machine Specification:
-
6.5.if_cond if_<cond>
- See Also:
-
IFGE
Branch ifintcomparison>= 0succeeds.- See Java Virtual Machine Specification:
-
6.5.if_cond if_<cond>
- See Also:
-
IFGT
Branch ifintcomparison> 0succeeds.- See Java Virtual Machine Specification:
-
6.5.if_cond if_<cond>
- See Also:
-
IFLE
Branch ifintcomparison<= 0succeeds.- See Java Virtual Machine Specification:
-
6.5.if_cond if_<cond>
- See Also:
-
IF_ICMPEQ
Branch ifintcomparisonoperand1 == operand2succeeds.- See Java Virtual Machine Specification:
-
6.5.if_icmp_cond if_icmp<cond>
- See Also:
-
IF_ICMPNE
Branch ifintcomparisonoperand1 != operand2succeeds.- See Java Virtual Machine Specification:
-
6.5.if_icmp_cond if_icmp<cond>
- See Also:
-
IF_ICMPLT
Branch ifintcomparisonoperand1 < operand2succeeds.- See Java Virtual Machine Specification:
-
6.5.if_icmp_cond if_icmp<cond>
- See Also:
-
IF_ICMPGE
Branch ifintcomparisonoperand1 >= operand2succeeds.- See Java Virtual Machine Specification:
-
6.5.if_icmp_cond if_icmp<cond>
- See Also:
-
IF_ICMPGT
Branch ifintcomparisonoperand1 > operand2succeeds.- See Java Virtual Machine Specification:
-
6.5.if_icmp_cond if_icmp<cond>
- See Also:
-
IF_ICMPLE
Branch ifintcomparisonoperand1 <= operand2succeeds.- See Java Virtual Machine Specification:
-
6.5.if_icmp_cond if_icmp<cond>
- See Also:
-
IF_ACMPEQ
Branch ifreferencecomparisonoperand1 == operand2succeeds.- See Java Virtual Machine Specification:
-
6.5.if_acmp_cond if_acmp<cond>
- See Also:
-
IF_ACMPNE
Branch ifreferencecomparisonoperand1 != operand2succeeds.- 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
Returnintfrom method.- See Java Virtual Machine Specification:
-
6.5.ireturn ireturn
- See Also:
-
LRETURN
Returnlongfrom method.- See Java Virtual Machine Specification:
-
6.5.lreturn lreturn
- See Also:
-
FRETURN
Returnfloatfrom method.- See Java Virtual Machine Specification:
-
6.5.freturn freturn
- See Also:
-
DRETURN
Returndoublefrom method.- See Java Virtual Machine Specification:
-
6.5.dreturn dreturn
- See Also:
-
ARETURN
Returnreferencefrom method.- See Java Virtual Machine Specification:
-
6.5.areturn areturn
- See Also:
-
RETURN
Returnvoidfrom method.- See Java Virtual Machine Specification:
-
6.5.return return
- See Also:
-
GETSTATIC
Getstaticfield from class.- See Java Virtual Machine Specification:
-
6.5.getstatic getstatic
- See Also:
-
PUTSTATIC
Setstaticfield 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 ifreferenceisnull.- See Java Virtual Machine Specification:
-
6.5.ifnull ifnull
- See Also:
-
IFNONNULL
Branch ifreferenceis 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
Storereferenceinto local variable (wide index). This is a wide-modified pseudo-opcode. Can also store thereturnAddresstype.- 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.wideextends 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
-