Spec-Zone.ru › OpenJDK 27

Enum Class Opcode

java.lang.Object
java.lang.Enum<Opcode>
java.lang.classfile.Opcode
All Implemented Interfaces:
Serializable, Comparable<Opcode>, Constable
public enum Opcode extends Enum<Opcode>
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, and jsr_w are legitimate opcodes instead of wide pseudo-opcodes.
See Java Virtual Machine Specification:
6.5 Instructions
Since:
24
See Also:
  • Instruction

Nested Class Summary

Modifier and Type Class Description
static enum  Opcode.Kind
Kinds of opcodes.

Nested classes/interfaces declared in class Enum

Enum.EnumDesc<E>
Modifier and Type Class Description
static final class  Enum.EnumDesc<E extends Enum<E>>
A nominal descriptor for an enum constant.

Enum Constant Summary

Enum Constant Description
AALOAD
Load reference from array.
AASTORE
Store into reference array.
ACONST_NULL
Push null.
ALOAD
Load reference from local variable.
ALOAD_0
Load reference from local variable slot 0.
ALOAD_1
Load reference from local variable slot 1.
ALOAD_2
Load reference from local variable slot 2.
ALOAD_3
Load reference from local variable slot 3.
ALOAD_W
Load reference from local variable (wide index).
ANEWARRAY
Create new array of reference.
ARETURN
Return reference from method.
ARRAYLENGTH
Get length of array.
ASTORE
Store reference into local variable.
ASTORE_0
Store reference into local variable slot 0.
ASTORE_1
Store reference into local variable slot 1.
ASTORE_2
Store reference into local variable slot 2.
ASTORE_3
Store reference into local variable slot 3.
ASTORE_W
Store reference into local variable (wide index).
ATHROW
Throw exception or error.
BALOAD
Load byte or boolean from array.
BASTORE
Store into byte or boolean array.
BIPUSH
Push int value from sign-extension of immediate byte value.
CALOAD
Load char from array.
CASTORE
Store into char array.
CHECKCAST
Check whether object is of given type.
D2F
Convert double to float.
D2I
Convert double to int.
D2L
Convert double to long.
DADD
Add double.
DALOAD
Load double from array.
DASTORE
Store into double array.
DCMPG
Compare double.
DCMPL
Compare double.
DCONST_0
Push double constant 0.0D.
DCONST_1
Push double constant 1.0D.
DDIV
Divide double.
DLOAD
Load double from local variable.
DLOAD_0
Load double from local variable slot 0.
DLOAD_1
Load double from local variable slot 1.
DLOAD_2
Load double from local variable slot 2.
DLOAD_3
Load double from local variable slot 3.
DLOAD_W
Load double from local variable (wide index).
DMUL
Multiply double.
DNEG
Negate double.
DREM
Remainder double.
DRETURN
Return double from method.
DSTORE
Store double into local variable.
DSTORE_0
Store double into local variable slot 0.
DSTORE_1
Store double into local variable slot 1.
DSTORE_2
Store double into local variable slot 2.
DSTORE_3
Store double into local variable slot 3.
DSTORE_W
Store double into local variable (wide index).
DSUB
Subtract double.
DUP
Duplicate the top operand stack value.
DUP_X1
Duplicate the top operand stack value and insert two values down.
DUP_X2
Duplicate the top operand stack value and insert two or three values down.
DUP2
Duplicate the top one or two operand stack values.
DUP2_X1
Duplicate the top one or two operand stack values and insert two or three values down.
DUP2_X2
Duplicate the top one or two operand stack values and insert two, three, or four values down.
F2D
Convert float to double.
F2I
Convert float to int.
F2L
Convert float to long.
FADD
Add float.
FALOAD
Load float from array.
FASTORE
Store into float array.
FCMPG
Compare float.
FCMPL
Compare float.
FCONST_0
Push float constant 0.0F.
FCONST_1
Push float constant 1.0F.
FCONST_2
Push float constant 2.0F.
FDIV
Divide float.
FLOAD
Load float from local variable.
FLOAD_0
Load float from local variable slot 0.
FLOAD_1
Load float from local variable slot 1.
FLOAD_2
Load float from local variable slot 2.
FLOAD_3
Load float from local variable slot 3.
FLOAD_W
Load float from local variable (wide index).
FMUL
Multiply float.
FNEG
Negate float.
FREM
Remainder float.
FRETURN
Return float from method.
FSTORE
Store float into local variable.
FSTORE_0
Store float into local variable slot 0.
FSTORE_1
Store float into local variable slot 1.
FSTORE_2
Store float into local variable slot 2.
FSTORE_3
Store float into local variable slot 3.
FSTORE_W
Store float into local variable (wide index).
FSUB
Subtract float.
GETFIELD
Fetch field from object.
GETSTATIC
Get static field from class.
GOTO
Branch always.
GOTO_W
Branch always (wide index).
I2B
Convert int to byte.
I2C
Convert int to char.
I2D
Convert int to double.
I2F
Convert int to float.
I2L
Convert int to long.
I2S
Convert int to short.
IADD
Add int.
IALOAD
Load int from array.
IAND
Bitwise AND int.
IASTORE
Store into int array.
ICONST_0
Push int constant 0.
ICONST_1
Push int constant 1.
ICONST_2
Push int constant 2.
ICONST_3
Push int constant 3.
ICONST_4
Push int constant 4.
ICONST_5
Push int constant 5.
ICONST_M1
Push int constant -1.
IDIV
Divide int.
IF_ACMPEQ
Branch if reference comparison operand1 == operand2 succeeds.
IF_ACMPNE
Branch if reference comparison operand1 != operand2 succeeds.
IF_ICMPEQ
Branch if int comparison operand1 == operand2 succeeds.
IF_ICMPGE
Branch if int comparison operand1 >= operand2 succeeds.
IF_ICMPGT
Branch if int comparison operand1 > operand2 succeeds.
IF_ICMPLE
Branch if int comparison operand1 <= operand2 succeeds.
IF_ICMPLT
Branch if int comparison operand1 < operand2 succeeds.
IF_ICMPNE
Branch if int comparison operand1 != operand2 succeeds.
IFEQ
Branch if int comparison == 0 succeeds.
IFGE
Branch if int comparison >= 0 succeeds.
IFGT
Branch if int comparison > 0 succeeds.
IFLE
Branch if int comparison <= 0 succeeds.
IFLT
Branch if int comparison < 0 succeeds.
IFNE
Branch if int comparison != 0 succeeds.
IFNONNULL
Branch if reference is not null.
IFNULL
Branch if reference is null.
IINC
Increment int local variable by constant.
IINC_W
Increment local variable by constant (wide index).
ILOAD
Load int from local variable.
ILOAD_0
Load int from local variable slot 0.
ILOAD_1
Load int from local variable slot 1.
ILOAD_2
Load int from local variable slot 2.
ILOAD_3
Load int from local variable slot 3.
ILOAD_W
Load int from local variable (wide index).
IMUL
Multiply int.
INEG
Negate int.
INSTANCEOF
Determine if object is of given type.
INVOKEDYNAMIC
Invoke a dynamically-computed call site.
INVOKEINTERFACE
Invoke interface method.
INVOKESPECIAL
Invoke instance method; direct invocation of instance initialization methods and methods of the current class and its supertypes.
INVOKESTATIC
Invoke a class (static) method.
INVOKEVIRTUAL
Invoke instance method; dispatch based on class.
IOR
Bitwise OR int.
IREM
Remainder int.
IRETURN
Return int from method.
ISHL
Shift left int.
ISHR
Arithmetic shift right int.
ISTORE
Store int into local variable.
ISTORE_0
Store int into local variable slot 0.
ISTORE_1
Store int into local variable slot 1.
ISTORE_2
Store int into local variable slot 2.
ISTORE_3
Store int into local variable slot 3.
ISTORE_W
Store int into local variable (wide index).
ISUB
Subtract int.
IUSHR
Logical shift right int.
IXOR
Bitwise XOR int.
JSR
(Discontinued) Jump subroutine; last used in major version 50.
JSR_W
(Discontinued) Jump subroutine (wide index); last used in major version 50.
L2D
Convert long to double.
L2F
Convert long to float.
L2I
Convert long to int.
LADD
Add long.
LALOAD
Load long from array.
LAND
Bitwise AND long.
LASTORE
Store into long array.
LCMP
Compare long.
LCONST_0
Push long constant 0L.
LCONST_1
Push long constant 1L.
LDC
Push item from run-time constant pool.
LDC_W
Push item from run-time constant pool (wide index).
LDC2_W
Push long or double from run-time constant pool (wide index).
LDIV
Divide long.
LLOAD
Load long from local variable.
LLOAD_0
Load long from local variable slot 0.
LLOAD_1
Load long from local variable slot 1.
LLOAD_2
Load long from local variable slot 2.
LLOAD_3
Load long from local variable slot 3.
LLOAD_W
Load long from local variable (wide index).
LMUL
Multiply long.
LNEG
Negate long.
LOOKUPSWITCH
Access jump table by key match and jump.
LOR
Bitwise OR long.
LREM
Remainder long.
LRETURN
Return long from method.
LSHL
Shift left long.
LSHR
Arithmetic shift right long.
LSTORE
Store long into local variable.
LSTORE_0
Store long into local variable slot 0.
LSTORE_1
Store long into local variable slot 1.
LSTORE_2
Store long into local variable slot 2.
LSTORE_3
Store long into local variable slot 3.
LSTORE_W
Store long into local variable (wide index).
LSUB
Subtract long.
LUSHR
Logical shift right long.
LXOR
Bitwise XOR long.
MONITORENTER
Enter monitor for object.
MONITOREXIT
Exit monitor for object.
MULTIANEWARRAY
Create new multidimensional array.
NEW
Create new object.
NEWARRAY
Create new array.
NOP
Do nothing.
POP
Pop the top operand stack value.
POP2
Pop the top one or two operand stack values.
PUTFIELD
Set field in object.
PUTSTATIC
Set static field in class.
RET
(Discontinued) Return from subroutine; last used in major version 50.
RET_W
(Discontinued) Return from subroutine (wide index); last used in major version 50.
RETURN
Return void from method.
SALOAD
Load short from array.
SASTORE
Store into short array.
SIPUSH
Push int value from sign-extension of immediate short value.
SWAP
Swap the top two operand stack values.
TABLESWITCH
Access jump table by index and jump.

Method Summary

Modifier and Type Method Description
int bytecode()
Returns the opcode value.
boolean isWide()
Returns true if this is a pseudo-opcode modified by wide opcode.
Opcode.Kind kind()
Returns operation kind.
int sizeIfFixed()
Returns size of the instruction in bytes if fixed, or -1 otherwise.
static Opcode valueOf(String name)
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.

Methods declared in class Enum

clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
Modifier and Type Method Description
protected final Object clone()
Throws CloneNotSupportedException.
final int compareTo(Opcode o)
Compares this enum with the specified object for order.
final Optional<Enum.EnumDesc<Opcode>> describeConstable()
Returns an enum descriptor EnumDesc for this instance, if one can be constructed, or an empty Optional if one cannot be.
final boolean equals(Object other)
Returns true if the specified object is equal to this enum constant.
protected final void finalize()
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization has been deprecated for removal.
final Class<Opcode> getDeclaringClass()
Returns the Class object corresponding to this enum constant's enum type.
final int hashCode()
Returns a hash code for this enum constant.
final String name()
Returns the name of this enum constant, exactly as declared in its enum declaration.
final int ordinal()
Returns the ordinal of this enumeration constant (its position in its enum declaration, where the initial constant is assigned an ordinal of zero).
String toString()
Returns the name of this enum constant, as contained in the declaration.
static <T extends Enum<T>>
T
valueOf(Class<T> enumClass, String name)
Returns the enum constant of the specified enum class with the specified name.

Methods declared in class Object

getClass, notify, notifyAll, wait, wait, wait
Modifier and Type Method Description
final Class<?> getClass()
Returns the runtime class of this Object.
final void notify()
Wakes up a single thread that is waiting on this object's monitor.
final void notifyAll()
Wakes up all threads that are waiting on this object's monitor.
final void wait()
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
final void wait(long timeoutMillis)
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
final void wait(long timeoutMillis, int nanos)
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

Enum Constant Details

NOP

public static final Opcode NOP
Do nothing.
See Java Virtual Machine Specification:
6.5.nop nop
See Also:
  • Opcode.Kind.NOP

ACONST_NULL

public static final Opcode ACONST_NULL
Push null.
See Java Virtual Machine Specification:
6.5.aconst_null aconst_null
See Also:
  • ConstantInstruction.IntrinsicConstantInstruction
  • Opcode.Kind.CONSTANT

ICONST_M1

public static final Opcode ICONST_M1
Push int constant -1.
See Java Virtual Machine Specification:
6.5.iconst_i iconst_<i>
See Also:
  • ConstantInstruction.IntrinsicConstantInstruction
  • Opcode.Kind.CONSTANT

ICONST_0

public static final Opcode ICONST_0
Push int constant 0.
See Java Virtual Machine Specification:
6.5.iconst_i iconst_<i>
See Also:
  • ConstantInstruction.IntrinsicConstantInstruction
  • Opcode.Kind.CONSTANT

ICONST_1

public static final Opcode ICONST_1
Push int constant 1.
See Java Virtual Machine Specification:
6.5.iconst_i iconst_<i>
See Also:
  • ConstantInstruction.IntrinsicConstantInstruction
  • Opcode.Kind.CONSTANT

ICONST_2

public static final Opcode ICONST_2
Push int constant 2.
See Java Virtual Machine Specification:
6.5.iconst_i iconst_<i>
See Also:
  • ConstantInstruction.IntrinsicConstantInstruction
  • Opcode.Kind.CONSTANT

ICONST_3

public static final Opcode ICONST_3
Push int constant 3.
See Java Virtual Machine Specification:
6.5.iconst_i iconst_<i>
See Also:
  • ConstantInstruction.IntrinsicConstantInstruction
  • Opcode.Kind.CONSTANT

ICONST_4

public static final Opcode ICONST_4
Push int constant 4.
See Java Virtual Machine Specification:
6.5.iconst_i iconst_<i>
See Also:
  • ConstantInstruction.IntrinsicConstantInstruction
  • Opcode.Kind.CONSTANT

ICONST_5

public static final Opcode ICONST_5
Push int constant 5.
See Java Virtual Machine Specification:
6.5.iconst_i iconst_<i>
See Also:
  • ConstantInstruction.IntrinsicConstantInstruction
  • Opcode.Kind.CONSTANT

LCONST_0

public static final Opcode LCONST_0
Push long constant 0L.
See Java Virtual Machine Specification:
6.5.lconst_l lconst_<l>
See Also:
  • ConstantInstruction.IntrinsicConstantInstruction
  • Opcode.Kind.CONSTANT

LCONST_1

public static final Opcode LCONST_1
Push long constant 1L.
See Java Virtual Machine Specification:
6.5.lconst_l lconst_<l>
See Also:
  • ConstantInstruction.IntrinsicConstantInstruction
  • Opcode.Kind.CONSTANT

FCONST_0

public static final Opcode FCONST_0
Push float constant 0.0F.
See Java Virtual Machine Specification:
6.5.fconst_f fconst_<f>
See Also:
  • ConstantInstruction.IntrinsicConstantInstruction
  • Opcode.Kind.CONSTANT

FCONST_1

public static final Opcode FCONST_1
Push float constant 1.0F.
See Java Virtual Machine Specification:
6.5.fconst_f fconst_<f>
See Also:
  • ConstantInstruction.IntrinsicConstantInstruction
  • Opcode.Kind.CONSTANT

FCONST_2

public static final Opcode FCONST_2
Push float constant 2.0F.
See Java Virtual Machine Specification:
6.5.fconst_f fconst_<f>
See Also:
  • ConstantInstruction.IntrinsicConstantInstruction
  • Opcode.Kind.CONSTANT

DCONST_0

public static final Opcode DCONST_0
Push double constant 0.0D.
See Java Virtual Machine Specification:
6.5.dconst_d dconst_<d>
See Also:
  • ConstantInstruction.IntrinsicConstantInstruction
  • Opcode.Kind.CONSTANT

DCONST_1

public static final Opcode DCONST_1
Push double constant 1.0D.
See Java Virtual Machine Specification:
6.5.dconst_d dconst_<d>
See Also:
  • ConstantInstruction.IntrinsicConstantInstruction
  • Opcode.Kind.CONSTANT

BIPUSH

public static final Opcode BIPUSH
Push int value from sign-extension of immediate byte value.
See Java Virtual Machine Specification:
6.5.bipush bipush
See Also:
  • ConstantInstruction.ArgumentConstantInstruction
  • Opcode.Kind.CONSTANT

SIPUSH

public static final Opcode SIPUSH
Push int value from sign-extension of immediate short value.
See Java Virtual Machine Specification:
6.5.sipush sipush
See Also:
  • ConstantInstruction.ArgumentConstantInstruction
  • Opcode.Kind.CONSTANT

LDC

public static final Opcode LDC
Push item from run-time constant pool.
See Java Virtual Machine Specification:
6.5.ldc ldc
See Also:
  • ConstantInstruction.LoadConstantInstruction
  • Opcode.Kind.CONSTANT

LDC_W

public static final Opcode LDC_W
Push item from run-time constant pool (wide index).
See Java Virtual Machine Specification:
6.5.ldc_w ldc_w
See Also:
  • ConstantInstruction.LoadConstantInstruction
  • Opcode.Kind.CONSTANT

LDC2_W

public static final Opcode LDC2_W
Push long or double from run-time constant pool (wide index).
See Java Virtual Machine Specification:
6.5.ldc2_w ldc2_w
See Also:
  • ConstantInstruction.LoadConstantInstruction
  • Opcode.Kind.CONSTANT

ILOAD

public static final Opcode ILOAD
Load int from local variable.
See Java Virtual Machine Specification:
6.5.iload iload
See Also:
  • Opcode.Kind.LOAD

LLOAD

public static final Opcode LLOAD
Load long from local variable.
See Java Virtual Machine Specification:
6.5.lload lload
See Also:
  • Opcode.Kind.LOAD

FLOAD

public static final Opcode FLOAD
Load float from local variable.
See Java Virtual Machine Specification:
6.5.fload fload
See Also:
  • Opcode.Kind.LOAD

DLOAD

public static final Opcode DLOAD
Load double from local variable.
See Java Virtual Machine Specification:
6.5.dload dload
See Also:
  • Opcode.Kind.LOAD

ALOAD

public static final Opcode ALOAD
Load reference from local variable.
See Java Virtual Machine Specification:
6.5.aload aload
See Also:
  • Opcode.Kind.LOAD

ILOAD_0

public static final Opcode ILOAD_0
Load int from local variable slot 0.
See Java Virtual Machine Specification:
6.5.iload_n iload_<n>
See Also:
  • Opcode.Kind.LOAD

ILOAD_1

public static final Opcode ILOAD_1
Load int from local variable slot 1.
See Java Virtual Machine Specification:
6.5.iload_n iload_<n>
See Also:
  • Opcode.Kind.LOAD

ILOAD_2

public static final Opcode ILOAD_2
Load int from local variable slot 2.
See Java Virtual Machine Specification:
6.5.iload_n iload_<n>
See Also:
  • Opcode.Kind.LOAD

ILOAD_3

public static final Opcode ILOAD_3
Load int from local variable slot 3.
See Java Virtual Machine Specification:
6.5.iload_n iload_<n>
See Also:
  • Opcode.Kind.LOAD

LLOAD_0

public static final Opcode LLOAD_0
Load long from local variable slot 0.
See Java Virtual Machine Specification:
6.5.lload_n lload_<n>
See Also:
  • Opcode.Kind.LOAD

LLOAD_1

public static final Opcode LLOAD_1
Load long from local variable slot 1.
See Java Virtual Machine Specification:
6.5.lload_n lload_<n>
See Also:
  • Opcode.Kind.LOAD

LLOAD_2

public static final Opcode LLOAD_2
Load long from local variable slot 2.
See Java Virtual Machine Specification:
6.5.lload_n lload_<n>
See Also:
  • Opcode.Kind.LOAD

LLOAD_3

public static final Opcode LLOAD_3
Load long from local variable slot 3.
See Java Virtual Machine Specification:
6.5.lload_n lload_<n>
See Also:
  • Opcode.Kind.LOAD

FLOAD_0

public static final Opcode FLOAD_0
Load float from local variable slot 0.
See Java Virtual Machine Specification:
6.5.fload_n fload_<n>
See Also:
  • Opcode.Kind.LOAD

FLOAD_1

public static final Opcode FLOAD_1
Load float from local variable slot 1.
See Java Virtual Machine Specification:
6.5.fload_n fload_<n>
See Also:
  • Opcode.Kind.LOAD

FLOAD_2

public static final Opcode FLOAD_2
Load float from local variable slot 2.
See Java Virtual Machine Specification:
6.5.fload_n fload_<n>
See Also:
  • Opcode.Kind.LOAD

FLOAD_3

public static final Opcode FLOAD_3
Load float from local variable slot 3.
See Java Virtual Machine Specification:
6.5.fload_n fload_<n>
See Also:
  • Opcode.Kind.LOAD

DLOAD_0

public static final Opcode DLOAD_0
Load double from local variable slot 0.
See Java Virtual Machine Specification:
6.5.dload_n dload_<n>
See Also:
  • Opcode.Kind.LOAD

DLOAD_1

public static final Opcode DLOAD_1
Load double from local variable slot 1.
See Java Virtual Machine Specification:
6.5.dload_n dload_<n>
See Also:
  • Opcode.Kind.LOAD

DLOAD_2

public static final Opcode DLOAD_2
Load double from local variable slot 2.
See Java Virtual Machine Specification:
6.5.dload_n dload_<n>
See Also:
  • Opcode.Kind.LOAD

DLOAD_3

public static final Opcode DLOAD_3
Load double from local variable slot 3.
See Java Virtual Machine Specification:
6.5.dload_n dload_<n>
See Also:
  • Opcode.Kind.LOAD

ALOAD_0

public static final Opcode ALOAD_0
Load reference from local variable slot 0.
See Java Virtual Machine Specification:
6.5.aload_n aload_<n>
See Also:
  • Opcode.Kind.LOAD

ALOAD_1

public static final Opcode ALOAD_1
Load reference from local variable slot 1.
See Java Virtual Machine Specification:
6.5.aload_n aload_<n>
See Also:
  • Opcode.Kind.LOAD

ALOAD_2

public static final Opcode ALOAD_2
Load reference from local variable slot 2.
See Java Virtual Machine Specification:
6.5.aload_n aload_<n>
See Also:
  • Opcode.Kind.LOAD

ALOAD_3

public static final Opcode ALOAD_3
Load reference from local variable slot 3.
See Java Virtual Machine Specification:
6.5.aload_n aload_<n>
See Also:
  • Opcode.Kind.LOAD

IALOAD

public static final Opcode IALOAD
Load int from array.
See Java Virtual Machine Specification:
6.5.iaload iaload
See Also:
  • Opcode.Kind.ARRAY_LOAD

LALOAD

public static final Opcode LALOAD
Load long from array.
See Java Virtual Machine Specification:
6.5.laload laload
See Also:
  • Opcode.Kind.ARRAY_LOAD

FALOAD

public static final Opcode FALOAD
Load float from array.
See Java Virtual Machine Specification:
6.5.faload faload
See Also:
  • Opcode.Kind.ARRAY_LOAD

DALOAD

public static final Opcode DALOAD
Load double from array.
See Java Virtual Machine Specification:
6.5.daload daload
See Also:
  • Opcode.Kind.ARRAY_LOAD

AALOAD

public static final Opcode AALOAD
Load reference from array.
See Java Virtual Machine Specification:
6.5.aaload aaload
See Also:
  • Opcode.Kind.ARRAY_LOAD

BALOAD

public static final Opcode BALOAD
Load byte or boolean from array.
See Java Virtual Machine Specification:
6.5.baload baload
See Also:
  • Opcode.Kind.ARRAY_LOAD

CALOAD

public static final Opcode CALOAD
Load char from array.
See Java Virtual Machine Specification:
6.5.caload caload
See Also:
  • Opcode.Kind.ARRAY_LOAD

SALOAD

public static final Opcode SALOAD
Load short from array.
See Java Virtual Machine Specification:
6.5.saload saload
See Also:
  • Opcode.Kind.ARRAY_LOAD

ISTORE

public static final Opcode ISTORE
Store int into local variable.
See Java Virtual Machine Specification:
6.5.istore istore
See Also:
  • Opcode.Kind.STORE

LSTORE

public static final Opcode LSTORE
Store long into local variable.
See Java Virtual Machine Specification:
6.5.lstore lstore
See Also:
  • Opcode.Kind.STORE

FSTORE

public static final Opcode FSTORE
Store float into local variable.
See Java Virtual Machine Specification:
6.5.fstore fstore
See Also:
  • Opcode.Kind.STORE

DSTORE

public static final Opcode DSTORE
Store double into local variable.
See Java Virtual Machine Specification:
6.5.dstore dstore
See Also:
  • Opcode.Kind.STORE

ASTORE

public static final Opcode ASTORE
Store reference into local variable. Can also store the returnAddress type.
See Java Virtual Machine Specification:
6.5.astore astore
See Also:
  • Opcode.Kind.STORE

ISTORE_0

public static final Opcode ISTORE_0
Store int into local variable slot 0.
See Java Virtual Machine Specification:
6.5.istore_n istore_<n>
See Also:
  • Opcode.Kind.STORE

ISTORE_1

public static final Opcode ISTORE_1
Store int into local variable slot 1.
See Java Virtual Machine Specification:
6.5.istore_n istore_<n>
See Also:
  • Opcode.Kind.STORE

ISTORE_2

public static final Opcode ISTORE_2
Store int into local variable slot 2.
See Java Virtual Machine Specification:
6.5.istore_n istore_<n>
See Also:
  • Opcode.Kind.STORE

ISTORE_3

public static final Opcode ISTORE_3
Store int into local variable slot 3.
See Java Virtual Machine Specification:
6.5.istore_n istore_<n>
See Also:
  • Opcode.Kind.STORE

LSTORE_0

public static final Opcode LSTORE_0
Store long into local variable slot 0.
See Java Virtual Machine Specification:
6.5.lstore_n lstore_<n>
See Also:
  • Opcode.Kind.STORE

LSTORE_1

public static final Opcode LSTORE_1
Store long into local variable slot 1.
See Java Virtual Machine Specification:
6.5.lstore_n lstore_<n>
See Also:
  • Opcode.Kind.STORE

LSTORE_2

public static final Opcode LSTORE_2
Store long into local variable slot 2.
See Java Virtual Machine Specification:
6.5.lstore_n lstore_<n>
See Also:
  • Opcode.Kind.STORE

LSTORE_3

public static final Opcode LSTORE_3
Store long into local variable slot 3.
See Java Virtual Machine Specification:
6.5.lstore_n lstore_<n>
See Also:
  • Opcode.Kind.STORE

FSTORE_0

public static final Opcode FSTORE_0
Store float into local variable slot 0.
See Java Virtual Machine Specification:
6.5.fstore_n fstore_<n>
See Also:
  • Opcode.Kind.STORE

FSTORE_1

public static final Opcode FSTORE_1
Store float into local variable slot 1.
See Java Virtual Machine Specification:
6.5.fstore_n fstore_<n>
See Also:
  • Opcode.Kind.STORE

FSTORE_2

public static final Opcode FSTORE_2
Store float into local variable slot 2.
See Java Virtual Machine Specification:
6.5.fstore_n fstore_<n>
See Also:
  • Opcode.Kind.STORE

FSTORE_3

public static final Opcode FSTORE_3
Store float into local variable slot 3.
See Java Virtual Machine Specification:
6.5.fstore_n fstore_<n>
See Also:
  • Opcode.Kind.STORE

DSTORE_0

public static final Opcode DSTORE_0
Store double into local variable slot 0.
See Java Virtual Machine Specification:
6.5.dstore_n dstore_<n>
See Also:
  • Opcode.Kind.STORE

DSTORE_1

public static final Opcode DSTORE_1
Store double into local variable slot 1.
See Java Virtual Machine Specification:
6.5.dstore_n dstore_<n>
See Also:
  • Opcode.Kind.STORE

DSTORE_2

public static final Opcode DSTORE_2
Store double into local variable slot 2.
See Java Virtual Machine Specification:
6.5.dstore_n dstore_<n>
See Also:
  • Opcode.Kind.STORE

DSTORE_3

public static final Opcode DSTORE_3
Store double into local variable slot 3.
See Java Virtual Machine Specification:
6.5.dstore_n dstore_<n>
See Also:
  • Opcode.Kind.STORE

ASTORE_0

public static final Opcode ASTORE_0
Store reference into local variable slot 0. Can also store the returnAddress type.
See Java Virtual Machine Specification:
6.5.astore_n astore_<n>
See Also:
  • Opcode.Kind.STORE

ASTORE_1

public static final Opcode ASTORE_1
Store reference into local variable slot 1. Can also store the returnAddress type.
See Java Virtual Machine Specification:
6.5.astore_n astore_<n>
See Also:
  • Opcode.Kind.STORE

ASTORE_2

public static final Opcode ASTORE_2
Store reference into local variable slot 2. Can also store the returnAddress type.
See Java Virtual Machine Specification:
6.5.astore_n astore_<n>
See Also:
  • Opcode.Kind.STORE

ASTORE_3

public static final Opcode ASTORE_3
Store reference into local variable slot 3. Can also store the returnAddress type.
See Java Virtual Machine Specification:
6.5.astore_n astore_<n>
See Also:
  • Opcode.Kind.STORE

IASTORE

public static final Opcode IASTORE
Store into int array.
See Java Virtual Machine Specification:
6.5.iastore iastore
See Also:
  • Opcode.Kind.ARRAY_STORE

LASTORE

public static final Opcode LASTORE
Store into long array.
See Java Virtual Machine Specification:
6.5.lastore lastore
See Also:
  • Opcode.Kind.ARRAY_STORE

FASTORE

public static final Opcode FASTORE
Store into float array.
See Java Virtual Machine Specification:
6.5.fastore fastore
See Also:
  • Opcode.Kind.ARRAY_STORE

DASTORE

public static final Opcode DASTORE
Store into double array.
See Java Virtual Machine Specification:
6.5.dastore dastore
See Also:
  • Opcode.Kind.ARRAY_STORE

AASTORE

public static final Opcode AASTORE
Store into reference array.
See Java Virtual Machine Specification:
6.5.aastore aastore
See Also:
  • Opcode.Kind.ARRAY_STORE

BASTORE

public static final Opcode BASTORE
Store into byte or boolean array.
See Java Virtual Machine Specification:
6.5.bastore bastore
See Also:
  • Opcode.Kind.ARRAY_STORE

CASTORE

public static final Opcode CASTORE
Store into char array.
See Java Virtual Machine Specification:
6.5.castore castore
See Also:
  • Opcode.Kind.ARRAY_STORE

SASTORE

public static final Opcode SASTORE
Store into short array.
See Java Virtual Machine Specification:
6.5.sastore sastore
See Also:
  • Opcode.Kind.ARRAY_STORE

POP

public static final Opcode POP
Pop the top operand stack value.
See Java Virtual Machine Specification:
6.5.pop pop
See Also:
  • Opcode.Kind.STACK

POP2

public static final Opcode POP2
Pop the top one or two operand stack values.
See Java Virtual Machine Specification:
6.5.pop2 pop2
See Also:
  • Opcode.Kind.STACK

DUP

public static final Opcode DUP
Duplicate the top operand stack value.
See Java Virtual Machine Specification:
6.5.dup dup
See Also:
  • Opcode.Kind.STACK

DUP_X1

public static final Opcode 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:
  • Opcode.Kind.STACK

DUP_X2

public static final Opcode 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:
  • Opcode.Kind.STACK

DUP2

public static final Opcode DUP2
Duplicate the top one or two operand stack values.
See Java Virtual Machine Specification:
6.5.dup2 dup2
See Also:
  • Opcode.Kind.STACK

DUP2_X1

public static final Opcode 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:
  • Opcode.Kind.STACK

DUP2_X2

public static final Opcode 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:
  • Opcode.Kind.STACK

SWAP

public static final Opcode SWAP
Swap the top two operand stack values.
See Java Virtual Machine Specification:
6.5.swap swap
See Also:
  • Opcode.Kind.STACK

IADD

public static final Opcode IADD
Add int.
See Java Virtual Machine Specification:
6.5.iadd iadd
See Also:
  • Opcode.Kind.OPERATOR

LADD

public static final Opcode LADD
Add long.
See Java Virtual Machine Specification:
6.5.ladd ladd
See Also:
  • Opcode.Kind.OPERATOR

FADD

public static final Opcode FADD
Add float.
See Java Virtual Machine Specification:
6.5.fadd fadd
See Also:
  • Opcode.Kind.OPERATOR

DADD

public static final Opcode DADD
Add double.
See Java Virtual Machine Specification:
6.5.dadd dadd
See Also:
  • Opcode.Kind.OPERATOR

ISUB

public static final Opcode ISUB
Subtract int.
See Java Virtual Machine Specification:
6.5.isub isub
See Also:
  • Opcode.Kind.OPERATOR

LSUB

public static final Opcode LSUB
Subtract long.
See Java Virtual Machine Specification:
6.5.lsub lsub
See Also:
  • Opcode.Kind.OPERATOR

FSUB

public static final Opcode FSUB
Subtract float.
See Java Virtual Machine Specification:
6.5.fsub fsub
See Also:
  • Opcode.Kind.OPERATOR

DSUB

public static final Opcode DSUB
Subtract double.
See Java Virtual Machine Specification:
6.5.dsub dsub
See Also:
  • Opcode.Kind.OPERATOR

IMUL

public static final Opcode IMUL
Multiply int.
See Java Virtual Machine Specification:
6.5.imul imul
See Also:
  • Opcode.Kind.OPERATOR

LMUL

public static final Opcode LMUL
Multiply long.
See Java Virtual Machine Specification:
6.5.lmul lmul
See Also:
  • Opcode.Kind.OPERATOR

FMUL

public static final Opcode FMUL
Multiply float.
See Java Virtual Machine Specification:
6.5.fmul fmul
See Also:
  • Opcode.Kind.OPERATOR

DMUL

public static final Opcode DMUL
Multiply double.
See Java Virtual Machine Specification:
6.5.dmul dmul
See Also:
  • Opcode.Kind.OPERATOR

IDIV

public static final Opcode IDIV
Divide int.
See Java Virtual Machine Specification:
6.5.idiv idiv
See Also:
  • Opcode.Kind.OPERATOR

LDIV

public static final Opcode LDIV
Divide long.
See Java Virtual Machine Specification:
6.5.ldiv ldiv
See Also:
  • Opcode.Kind.OPERATOR

FDIV

public static final Opcode FDIV
Divide float.
See Java Virtual Machine Specification:
6.5.fdiv fdiv
See Also:
  • Opcode.Kind.OPERATOR

DDIV

public static final Opcode DDIV
Divide double.
See Java Virtual Machine Specification:
6.5.ddiv ddiv
See Also:
  • Opcode.Kind.OPERATOR

IREM

public static final Opcode IREM
Remainder int.
See Java Virtual Machine Specification:
6.5.irem irem
See Also:
  • Opcode.Kind.OPERATOR

LREM

public static final Opcode LREM
Remainder long.
See Java Virtual Machine Specification:
6.5.lrem lrem
See Also:
  • Opcode.Kind.OPERATOR

FREM

public static final Opcode FREM
Remainder float.
See Java Virtual Machine Specification:
6.5.frem frem
See Also:
  • Opcode.Kind.OPERATOR

DREM

public static final Opcode DREM
Remainder double.
See Java Virtual Machine Specification:
6.5.drem drem
See Also:
  • Opcode.Kind.OPERATOR

INEG

public static final Opcode INEG
Negate int.
See Java Virtual Machine Specification:
6.5.ineg ineg
See Also:
  • Opcode.Kind.OPERATOR

LNEG

public static final Opcode LNEG
Negate long.
See Java Virtual Machine Specification:
6.5.lneg lneg
See Also:
  • Opcode.Kind.OPERATOR

FNEG

public static final Opcode FNEG
Negate float.
See Java Virtual Machine Specification:
6.5.fneg fneg
See Also:
  • Opcode.Kind.OPERATOR

DNEG

public static final Opcode DNEG
Negate double.
See Java Virtual Machine Specification:
6.5.dneg dneg
See Also:
  • Opcode.Kind.OPERATOR

ISHL

public static final Opcode ISHL
Shift left int.
See Java Virtual Machine Specification:
6.5.ishl ishl
See Also:
  • Opcode.Kind.OPERATOR

LSHL

public static final Opcode LSHL
Shift left long.
See Java Virtual Machine Specification:
6.5.lshl lshl
See Also:
  • Opcode.Kind.OPERATOR

ISHR

public static final Opcode ISHR
Arithmetic shift right int.
See Java Virtual Machine Specification:
6.5.ishr ishr
See Also:
  • Opcode.Kind.OPERATOR

LSHR

public static final Opcode LSHR
Arithmetic shift right long.
See Java Virtual Machine Specification:
6.5.lshr lshr
See Also:
  • Opcode.Kind.OPERATOR

IUSHR

public static final Opcode IUSHR
Logical shift right int.
See Java Virtual Machine Specification:
6.5.iushr iushr
See Also:
  • Opcode.Kind.OPERATOR

LUSHR

public static final Opcode LUSHR
Logical shift right long.
See Java Virtual Machine Specification:
6.5.lushr lushr
See Also:
  • Opcode.Kind.OPERATOR

IAND

public static final Opcode IAND
Bitwise AND int.
API Note:
This may be used to implement boolean AND.
See Java Virtual Machine Specification:
6.5.iand iand
See Also:
  • Opcode.Kind.OPERATOR

LAND

public static final Opcode LAND
Bitwise AND long.
See Java Virtual Machine Specification:
6.5.land land
See Also:
  • Opcode.Kind.OPERATOR

IOR

public static final Opcode IOR
Bitwise OR int.
API Note:
This may be used to implement boolean OR.
See Java Virtual Machine Specification:
6.5.ior ior
See Also:
  • Opcode.Kind.OPERATOR

LOR

public static final Opcode LOR
Bitwise OR long.
See Java Virtual Machine Specification:
6.5.lor lor
See Also:
  • Opcode.Kind.OPERATOR

IXOR

public static final Opcode IXOR
Bitwise XOR int.
API Note:
This may be used to implement boolean XOR.
See Java Virtual Machine Specification:
6.5.ixor ixor
See Also:
  • Opcode.Kind.OPERATOR

LXOR

public static final Opcode LXOR
Bitwise XOR long.
See Java Virtual Machine Specification:
6.5.lxor lxor
See Also:
  • Opcode.Kind.OPERATOR

IINC

public static final Opcode IINC
Increment int local variable by constant.
See Java Virtual Machine Specification:
6.5.iinc iinc
See Also:
  • Opcode.Kind.INCREMENT

I2L

public static final Opcode I2L
Convert int to long.
See Java Language Specification:
5.1.2 Widening Primitive Conversion
See Java Virtual Machine Specification:
6.5.i2l i2l
See Also:
  • Opcode.Kind.CONVERT

I2F

public static final Opcode I2F
Convert int to float.
See Java Language Specification:
5.1.2 Widening Primitive Conversion
See Java Virtual Machine Specification:
6.5.i2f i2f
See Also:
  • Opcode.Kind.CONVERT

I2D

public static final Opcode I2D
Convert int to double.
See Java Language Specification:
5.1.2 Widening Primitive Conversion
See Java Virtual Machine Specification:
6.5.i2d i2d
See Also:
  • Opcode.Kind.CONVERT

L2I

public static final Opcode L2I
Convert long to int.
See Java Language Specification:
5.1.3 Narrowing Primitive Conversion
See Java Virtual Machine Specification:
6.5.l2i l2i
See Also:
  • Opcode.Kind.CONVERT

L2F

public static final Opcode L2F
Convert long to float.
See Java Language Specification:
5.1.2 Widening Primitive Conversion
See Java Virtual Machine Specification:
6.5.l2f l2f
See Also:
  • Opcode.Kind.CONVERT

L2D

public static final Opcode L2D
Convert long to double.
See Java Language Specification:
5.1.2 Widening Primitive Conversion
See Java Virtual Machine Specification:
6.5.l2d l2d
See Also:
  • Opcode.Kind.CONVERT

F2I

public static final Opcode F2I
Convert float to int.
See Java Language Specification:
5.1.3 Narrowing Primitive Conversion
See Java Virtual Machine Specification:
6.5.f2i f2i
See Also:
  • Opcode.Kind.CONVERT

F2L

public static final Opcode F2L
Convert float to long.
See Java Language Specification:
5.1.3 Narrowing Primitive Conversion
See Java Virtual Machine Specification:
6.5.f2l f2l
See Also:
  • Opcode.Kind.CONVERT

F2D

public static final Opcode F2D
Convert float to double.
See Java Language Specification:
5.1.2 Widening Primitive Conversion
See Java Virtual Machine Specification:
6.5.f2d f2d
See Also:
  • Opcode.Kind.CONVERT

D2I

public static final Opcode D2I
Convert double to int.
See Java Language Specification:
5.1.3 Narrowing Primitive Conversion
See Java Virtual Machine Specification:
6.5.d2i d2i
See Also:
  • Opcode.Kind.CONVERT

D2L

public static final Opcode D2L
Convert double to long.
See Java Virtual Machine Specification:
6.5.d2l d2l
See Also:
  • Opcode.Kind.CONVERT

D2F

public static final Opcode D2F
Convert double to float.
See Java Language Specification:
5.1.3 Narrowing Primitive Conversion
See Java Virtual Machine Specification:
6.5.d2f d2f
See Also:
  • Opcode.Kind.CONVERT

I2B

public static final Opcode I2B
Convert int to byte. This is as if storing the computational int into a byte and loading it back.
See Java Language Specification:
5.1.3 Narrowing Primitive Conversion
See Java Virtual Machine Specification:
6.5.i2b i2b
See Also:
  • Opcode.Kind.CONVERT

I2C

public static final Opcode I2C
Convert int to char. This is as if storing the computational int into a char and loading it back.
See Java Language Specification:
5.1.3 Narrowing Primitive Conversion
See Java Virtual Machine Specification:
6.5.i2c i2c
See Also:
  • Opcode.Kind.CONVERT

I2S

public static final Opcode I2S
Convert int to short. This is as if storing the computational int into a short and loading it back.
See Java Language Specification:
5.1.3 Narrowing Primitive Conversion
See Java Virtual Machine Specification:
6.5.i2s i2s
See Also:
  • Opcode.Kind.CONVERT

LCMP

public static final Opcode LCMP
Compare long.
See Java Virtual Machine Specification:
6.5.lcmp lcmp
See Also:
  • Long.compare(long, long)
  • Opcode.Kind.OPERATOR

FCMPL

public static final Opcode FCMPL
Compare float. Produces -1 if any operand is NaN.
See Java Virtual Machine Specification:
6.5.fcmp_op fcmp<op>
See Also:
  • Floating-point Equality, Equivalence, and Comparison
  • Opcode.Kind.OPERATOR

FCMPG

public static final Opcode FCMPG
Compare float. Produces 1 if any operand is NaN.
See Java Virtual Machine Specification:
6.5.fcmp_op fcmp<op>
See Also:
  • Floating-point Equality, Equivalence, and Comparison
  • Opcode.Kind.OPERATOR

DCMPL

public static final Opcode DCMPL
Compare double. Produces -1 if any operand is NaN.
See Java Virtual Machine Specification:
6.5.dcmp_op dcmp<op>
See Also:
  • Floating-point Equality, Equivalence, and Comparison
  • Opcode.Kind.OPERATOR

DCMPG

public static final Opcode DCMPG
Compare double. Produces 1 if any operand is NaN.
See Java Virtual Machine Specification:
6.5.dcmp_op dcmp<op>
See Also:
  • Floating-point Equality, Equivalence, and Comparison
  • Opcode.Kind.OPERATOR

IFEQ

public static final Opcode IFEQ
Branch if int comparison == 0 succeeds.
See Java Virtual Machine Specification:
6.5.if_cond if_<cond>
See Also:
  • Opcode.Kind.BRANCH

IFNE

public static final Opcode IFNE
Branch if int comparison != 0 succeeds.
See Java Virtual Machine Specification:
6.5.if_cond if_<cond>
See Also:
  • Opcode.Kind.BRANCH

IFLT

public static final Opcode IFLT
Branch if int comparison < 0 succeeds.
See Java Virtual Machine Specification:
6.5.if_cond if_<cond>
See Also:
  • Opcode.Kind.BRANCH

IFGE

public static final Opcode IFGE
Branch if int comparison >= 0 succeeds.
See Java Virtual Machine Specification:
6.5.if_cond if_<cond>
See Also:
  • Opcode.Kind.BRANCH

IFGT

public static final Opcode IFGT
Branch if int comparison > 0 succeeds.
See Java Virtual Machine Specification:
6.5.if_cond if_<cond>
See Also:
  • Opcode.Kind.BRANCH

IFLE

public static final Opcode IFLE
Branch if int comparison <= 0 succeeds.
See Java Virtual Machine Specification:
6.5.if_cond if_<cond>
See Also:
  • Opcode.Kind.BRANCH

IF_ICMPEQ

public static final Opcode IF_ICMPEQ
Branch if int comparison operand1 == operand2 succeeds.
See Java Virtual Machine Specification:
6.5.if_icmp_cond if_icmp<cond>
See Also:
  • Opcode.Kind.BRANCH

IF_ICMPNE

public static final Opcode IF_ICMPNE
Branch if int comparison operand1 != operand2 succeeds.
See Java Virtual Machine Specification:
6.5.if_icmp_cond if_icmp<cond>
See Also:
  • Opcode.Kind.BRANCH

IF_ICMPLT

public static final Opcode IF_ICMPLT
Branch if int comparison operand1 < operand2 succeeds.
See Java Virtual Machine Specification:
6.5.if_icmp_cond if_icmp<cond>
See Also:
  • Opcode.Kind.BRANCH

IF_ICMPGE

public static final Opcode IF_ICMPGE
Branch if int comparison operand1 >= operand2 succeeds.
See Java Virtual Machine Specification:
6.5.if_icmp_cond if_icmp<cond>
See Also:
  • Opcode.Kind.BRANCH

IF_ICMPGT

public static final Opcode IF_ICMPGT
Branch if int comparison operand1 > operand2 succeeds.
See Java Virtual Machine Specification:
6.5.if_icmp_cond if_icmp<cond>
See Also:
  • Opcode.Kind.BRANCH

IF_ICMPLE

public static final Opcode IF_ICMPLE
Branch if int comparison operand1 <= operand2 succeeds.
See Java Virtual Machine Specification:
6.5.if_icmp_cond if_icmp<cond>
See Also:
  • Opcode.Kind.BRANCH

IF_ACMPEQ

public static final Opcode IF_ACMPEQ
Branch if reference comparison operand1 == operand2 succeeds.
See Java Virtual Machine Specification:
6.5.if_acmp_cond if_acmp<cond>
See Also:
  • Opcode.Kind.BRANCH

IF_ACMPNE

public static final Opcode IF_ACMPNE
Branch if reference comparison operand1 != operand2 succeeds.
See Java Virtual Machine Specification:
6.5.if_acmp_cond if_acmp<cond>
See Also:
  • Opcode.Kind.BRANCH

GOTO

public static final Opcode GOTO
Branch always.
See Java Virtual Machine Specification:
6.5.goto goto
See Also:
  • Opcode.Kind.BRANCH

JSR

public static final Opcode 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:
  • Opcode.Kind.DISCONTINUED_JSR

RET

public static final Opcode 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:
  • Opcode.Kind.DISCONTINUED_RET

TABLESWITCH

public static final Opcode TABLESWITCH
Access jump table by index and jump.
See Java Virtual Machine Specification:
6.5.tableswitch tableswitch
See Also:
  • Opcode.Kind.TABLE_SWITCH

LOOKUPSWITCH

public static final Opcode LOOKUPSWITCH
Access jump table by key match and jump.
See Java Virtual Machine Specification:
6.5.lookupswitch lookupswitch
See Also:
  • Opcode.Kind.LOOKUP_SWITCH

IRETURN

public static final Opcode IRETURN
Return int from method.
See Java Virtual Machine Specification:
6.5.ireturn ireturn
See Also:
  • Opcode.Kind.RETURN

LRETURN

public static final Opcode LRETURN
Return long from method.
See Java Virtual Machine Specification:
6.5.lreturn lreturn
See Also:
  • Opcode.Kind.RETURN

FRETURN

public static final Opcode FRETURN
Return float from method.
See Java Virtual Machine Specification:
6.5.freturn freturn
See Also:
  • Opcode.Kind.RETURN

DRETURN

public static final Opcode DRETURN
Return double from method.
See Java Virtual Machine Specification:
6.5.dreturn dreturn
See Also:
  • Opcode.Kind.RETURN

ARETURN

public static final Opcode ARETURN
Return reference from method.
See Java Virtual Machine Specification:
6.5.areturn areturn
See Also:
  • Opcode.Kind.RETURN

RETURN

public static final Opcode RETURN
Return void from method.
See Java Virtual Machine Specification:
6.5.return return
See Also:
  • Opcode.Kind.RETURN

GETSTATIC

public static final Opcode GETSTATIC
Get static field from class.
See Java Virtual Machine Specification:
6.5.getstatic getstatic
See Also:
  • Opcode.Kind.FIELD_ACCESS

PUTSTATIC

public static final Opcode PUTSTATIC
Set static field in class.
See Java Virtual Machine Specification:
6.5.putstatic putstatic
See Also:
  • Opcode.Kind.FIELD_ACCESS

GETFIELD

public static final Opcode GETFIELD
Fetch field from object.
See Java Virtual Machine Specification:
6.5.getfield getfield
See Also:
  • Opcode.Kind.FIELD_ACCESS

PUTFIELD

public static final Opcode PUTFIELD
Set field in object.
See Java Virtual Machine Specification:
6.5.putfield putfield
See Also:
  • Opcode.Kind.FIELD_ACCESS

INVOKEVIRTUAL

public static final Opcode INVOKEVIRTUAL
Invoke instance method; dispatch based on class.
See Java Virtual Machine Specification:
6.5.invokevirtual invokevirtual
See Also:
  • Opcode.Kind.INVOKE

INVOKESPECIAL

public static final Opcode 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:
  • Opcode.Kind.INVOKE

INVOKESTATIC

public static final Opcode INVOKESTATIC
Invoke a class (static) method.
See Java Virtual Machine Specification:
6.5.invokestatic invokestatic
See Also:
  • Opcode.Kind.INVOKE

INVOKEINTERFACE

public static final Opcode INVOKEINTERFACE
Invoke interface method.
See Java Virtual Machine Specification:
6.5.invokeinterface invokeinterface
See Also:
  • Opcode.Kind.INVOKE

INVOKEDYNAMIC

public static final Opcode INVOKEDYNAMIC
Invoke a dynamically-computed call site.
See Java Virtual Machine Specification:
6.5.invokedynamic invokedynamic
See Also:
  • Opcode.Kind.INVOKE_DYNAMIC

NEW

public static final Opcode NEW
Create new object.
See Java Virtual Machine Specification:
6.5.new new
See Also:
  • Opcode.Kind.NEW_OBJECT

NEWARRAY

public static final Opcode NEWARRAY
Create new array.
See Java Virtual Machine Specification:
6.5.newarray newarray
See Also:
  • Opcode.Kind.NEW_PRIMITIVE_ARRAY

ANEWARRAY

public static final Opcode ANEWARRAY
Create new array of reference.
See Java Virtual Machine Specification:
6.5.anewarray anewarray
See Also:
  • Opcode.Kind.NEW_REF_ARRAY

ARRAYLENGTH

public static final Opcode ARRAYLENGTH
Get length of array.
See Java Virtual Machine Specification:
6.5.arraylength arraylength
See Also:
  • Opcode.Kind.OPERATOR

ATHROW

public static final Opcode ATHROW
Throw exception or error.
See Java Virtual Machine Specification:
6.5.athrow athrow
See Also:
  • Opcode.Kind.THROW_EXCEPTION

CHECKCAST

public static final Opcode CHECKCAST
Check whether object is of given type.
See Java Virtual Machine Specification:
6.5.checkcast checkcast
See Also:
  • Class.cast(Object)
  • Opcode.Kind.TYPE_CHECK

INSTANCEOF

public static final Opcode INSTANCEOF
Determine if object is of given type.
See Java Virtual Machine Specification:
6.5.instanceof instanceof
See Also:
  • Class.isInstance(Object)
  • Opcode.Kind.TYPE_CHECK

MONITORENTER

public static final Opcode MONITORENTER
Enter monitor for object.
See Java Virtual Machine Specification:
6.5.monitorenter monitorenter
See Also:
  • Opcode.Kind.MONITOR

MONITOREXIT

public static final Opcode MONITOREXIT
Exit monitor for object.
See Java Virtual Machine Specification:
6.5.monitorexit monitorexit
See Also:
  • Opcode.Kind.MONITOR

MULTIANEWARRAY

public static final Opcode MULTIANEWARRAY
Create new multidimensional array.
See Java Virtual Machine Specification:
6.5.multianewarray multianewarray
See Also:
  • Opcode.Kind.NEW_MULTI_ARRAY

IFNULL

public static final Opcode IFNULL
Branch if reference is null.
See Java Virtual Machine Specification:
6.5.ifnull ifnull
See Also:
  • Opcode.Kind.BRANCH

IFNONNULL

public static final Opcode IFNONNULL
Branch if reference is not null.
See Java Virtual Machine Specification:
6.5.ifnonnull ifnonnull
See Also:
  • Opcode.Kind.BRANCH

GOTO_W

public static final Opcode GOTO_W
Branch always (wide index).
See Java Virtual Machine Specification:
6.5.goto_w goto_w
See Also:
  • Opcode.Kind.BRANCH

JSR_W

public static final Opcode 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:
  • Opcode.Kind.DISCONTINUED_JSR

ILOAD_W

public static final Opcode ILOAD_W
Load int from local variable (wide index). This is a wide-modified pseudo-opcode.
See Java Virtual Machine Specification:
6.5.wide wide
6.5.iload iload
See Also:
  • Opcode.Kind.LOAD

LLOAD_W

public static final Opcode LLOAD_W
Load long from local variable (wide index). This is a wide-modified pseudo-opcode.
See Java Virtual Machine Specification:
6.5.wide wide
6.5.lload lload
See Also:
  • Opcode.Kind.LOAD

FLOAD_W

public static final Opcode FLOAD_W
Load float from local variable (wide index). This is a wide-modified pseudo-opcode.
See Java Virtual Machine Specification:
6.5.wide wide
6.5.fload fload
See Also:
  • Opcode.Kind.LOAD

DLOAD_W

public static final Opcode DLOAD_W
Load double from local variable (wide index). This is a wide-modified pseudo-opcode.
See Java Virtual Machine Specification:
6.5.wide wide
6.5.dload dload
See Also:
  • Opcode.Kind.LOAD

ALOAD_W

public static final Opcode ALOAD_W
Load reference from local variable (wide index). This is a wide-modified pseudo-opcode.
See Java Virtual Machine Specification:
6.5.wide wide
6.5.aload aload
See Also:
  • Opcode.Kind.LOAD

ISTORE_W

public static final Opcode ISTORE_W
Store int into local variable (wide index). This is a wide-modified pseudo-opcode.
See Java Virtual Machine Specification:
6.5.wide wide
6.5.istore istore
See Also:
  • Opcode.Kind.STORE

LSTORE_W

public static final Opcode LSTORE_W
Store long into local variable (wide index). This is a wide-modified pseudo-opcode.
See Java Virtual Machine Specification:
6.5.wide wide
6.5.lstore lstore
See Also:
  • Opcode.Kind.STORE

FSTORE_W

public static final Opcode FSTORE_W
Store float into local variable (wide index). This is a wide-modified pseudo-opcode.
See Java Virtual Machine Specification:
6.5.wide wide
6.5.fstore fstore
See Also:
  • Opcode.Kind.STORE

DSTORE_W

public static final Opcode DSTORE_W
Store double into local variable (wide index). This is a wide-modified pseudo-opcode.
See Java Virtual Machine Specification:
6.5.wide wide
6.5.dstore dstore
See Also:
  • Opcode.Kind.STORE

ASTORE_W

public static final Opcode ASTORE_W
Store reference into local variable (wide index). This is a wide-modified pseudo-opcode. Can also store the returnAddress type.
See Java Virtual Machine Specification:
6.5.wide wide
6.5.astore astore
See Also:
  • Opcode.Kind.STORE

RET_W

public static final Opcode 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:
  • Opcode.Kind.DISCONTINUED_RET

IINC_W

public static final Opcode 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:
  • Opcode.Kind.INCREMENT

Method Details

values

public static Opcode[] 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

public static Opcode valueOf(String name)
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 name
NullPointerException - 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 opcode 196 (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:
  • ILOAD_W
  • LLOAD_W
  • FLOAD_W
  • DLOAD_W
  • ALOAD_W
  • ISTORE_W
  • LSTORE_W
  • FSTORE_W
  • DSTORE_W
  • ASTORE_W
  • RET_W
  • IINC_W

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:
  • Instruction::sizeInBytes

kind

public Opcode.Kind kind()
Returns operation kind. Each kind of operation has its own modeling interface to model instructions belonging to that kind.
Returns:
operation kind

Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples. Other versions.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2026, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API