Opcode (Java SE 22 & JDK 22)
Description: declaration: module: java.base, package: java.lang.classfile, enum: Opcode
Keywords: java.lang.classfile.Opcode class

Module java.base
Package java.lang.classfilePREVIEW

# Enum Class Opcode

java.lang.Object
java.lang.Enum<OpcodePREVIEW>
java.lang.classfile.Opcode

All Implemented Interfaces:
  `Serializable`, `Comparable<OpcodePREVIEW>`, `Constable`

public enum Opcode extends Enum<OpcodePREVIEW>
`Opcode` is a preview API of the Java platform.
Programs can only use `Opcode` when preview features are enabled.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
Describes the opcodes of the JVM instruction set, as described in 6.5. As well as a number of pseudo-instructions that may be encountered when traversing the instructions of a method.

Since:
  22
See Also:
  - `Instruction`PREVIEW
  - `PseudoInstruction`PREVIEW

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static enum`
  `Opcode.KindPREVIEW`
  Preview.
  Kinds of opcodes.

  ### Nested classes/interfaces declared in class java.lang.Enum

  `Enum.EnumDesc<E extends Enum<E>>`

- ## Enum Constant Summary

  Enum Constants
  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 0
  `ALOAD_1`
  Load reference from local variable 1
  `ALOAD_2`
  Load reference from local variable 2
  `ALOAD_3`
  Load reference from local variable 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 0
  `ASTORE_1`
  Store reference into local variable 1
  `ASTORE_2`
  Store reference into local variable 2
  `ASTORE_3`
  Store reference into local variable 3
  `ASTORE_W`
  Store reference into local variable (wide index)
  `ATHROW`
  Throw exception or error
  `BALOAD`
  Load byte from array
  `BASTORE`
  Store into byte array
  `BIPUSH`
  Push byte
  `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
  `DCONST_1`
  Push double constant 1
  `DDIV`
  Divide double
  `DLOAD`
  Load double from local variable
  `DLOAD_0`
  Load double from local variable 0
  `DLOAD_1`
  Load double from local variable 1
  `DLOAD_2`
  Load double from local variable 2
  `DLOAD_3`
  Load double from local variable 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 0
  `DSTORE_1`
  Store double into local variable 1
  `DSTORE_2`
  Store double into local variable 2
  `DSTORE_3`
  Store double into local variable 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
  `FCONST_1`
  Push float constant 1
  `FCONST_2`
  Push float constant 2
  `FDIV`
  Divide float
  `FLOAD`
  Load float from local variable
  `FLOAD_0`
  Load float from local variable 0
  `FLOAD_1`
  Load float from local variable 1
  `FLOAD_2`
  Load float from local variable 2
  `FLOAD_3`
  Load float from local variable 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 0
  `FSTORE_1`
  Store float into local variable 1
  `FSTORE_2`
  Store float into local variable 2
  `FSTORE_3`
  Store float into local variable 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`
  Boolean 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 succeeds
  `IF_ACMPNE`
  Branch if reference comparison succeeds
  `IF_ICMPEQ`
  Branch if int comparison succeeds
  `IF_ICMPGE`
  Branch if int comparison succeeds
  `IF_ICMPGT`
  Branch if int comparison succeeds
  `IF_ICMPLE`
  Branch if int comparison succeeds
  `IF_ICMPLT`
  Branch if int comparison succeeds
  `IF_ICMPNE`
  Branch if int comparison succeeds
  `IFEQ`
  Branch if int comparison with zero succeeds
  `IFGE`
  Branch if int comparison with zero succeeds
  `IFGT`
  Branch if int comparison with zero succeeds
  `IFLE`
  Branch if int comparison with zero succeeds
  `IFLT`
  Branch if int comparison with zero succeeds
  `IFNE`
  Branch if int comparison with zero succeeds
  `IFNONNULL`
  Branch if reference not null
  `IFNULL`
  Branch if reference is null
  `IINC`
  Increment 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 0
  `ILOAD_1`
  Load int from local variable 1
  `ILOAD_2`
  Load int from local variable 2
  `ILOAD_3`
  Load int from local variable3
  `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`
  Boolean OR int
  `IREM`
  Remainder int
  `IRETURN`
  Return int from method
  `ISHL`
  Shift left int
  `ISHR`
  Shift right int
  `ISTORE`
  Store int into local variable
  `ISTORE_0`
  Store int into local variable 0
  `ISTORE_1`
  Store int into local variable 1
  `ISTORE_2`
  Store int into local variable 2
  `ISTORE_3`
  Store int into local variable 3
  `ISTORE_W`
  Store int into local variable (wide index)
  `ISUB`
  Subtract int
  `IUSHR`
  Logical shift right int
  `IXOR`
  Boolean XOR int
  `JSR`
  Jump subroutine is discontinued opcode
  `JSR_W`
  Jump subroutine (wide index) is discontinued opcode
  `L2D`
  Convert long to double
  `L2F`
  Convert long to float
  `L2I`
  Convert long to int
  `LADD`
  Add long
  `LALOAD`
  Load long from array
  `LAND`
  Boolean AND long
  `LASTORE`
  Store into long array
  `LCMP`
  Compare long
  `LCONST_0`
  Push long constant 0
  `LCONST_1`
  Push long constant 1
  `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 0
  `LLOAD_1`
  Load long from local variable 1
  `LLOAD_2`
  Load long from local variable 2
  `LLOAD_3`
  Load long from local variable 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`
  Boolean OR long
  `LREM`
  Remainder long
  `LRETURN`
  Return long from method
  `LSHL`
  Shift left long
  `LSHR`
  Shift right long
  `LSTORE`
  Store long into local variable
  `LSTORE_0`
  Store long into local variable 0
  `LSTORE_1`
  Store long into local variable 1
  `LSTORE_2`
  Store long into local variable 2
  `LSTORE_3`
  Store long into local variable 3
  `LSTORE_W`
  Store long into local variable (wide index)
  `LSUB`
  Subtract long
  `LUSHR`
  Logical shift right long
  `LXOR`
  Boolean 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`
  Return from subroutine is discontinued opcode
  `RET_W`
  Return from subroutine (wide index) is discontinued opcode
  `RETURN`
  Return void from method
  `SALOAD`
  Load short from array
  `SASTORE`
  Store into short array
  `SIPUSH`
  Push short
  `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 bytecode.
  `ConstantDesc`
  `constantValue()`
  Returns constant value for constant instructions, or null otherwise.
  `boolean`
  `isUnconditionalBranch()`
  Returns true if the instruction represents an unconditional branch.
  `boolean`
  `isWide()`
  Returns true if the instruction has extended local variable index by additional bytes.
  `Opcode.KindPREVIEW`
  `kind()`
  Returns instruction kind.
  `TypeKindPREVIEW`
  `primaryTypeKind()`
  Returns primary type kind for instructions operating with at least one type, or null otherwise.
  `TypeKindPREVIEW`
  `secondaryTypeKind()`
  Returns secondary type kind for instructions operating with two types, or null otherwise.
  `int`
  `sizeIfFixed()`
  Returns size of the instruction if fixed, or -1 otherwise.
  `int`
  `slot()`
  Returns local variable slot for instructions operating with local variable, or -1 otherwise.
  `static OpcodePREVIEW`
  `valueOf(String name)`
  Returns the enum constant of this class with the specified name.
  `static OpcodePREVIEW[]`
  `values()`
  Returns an array containing the constants of this enum class, in the order they are declared.

  ### Methods declared in class java.lang.Enum

  `clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

  ### Methods declared in class java.lang.Object

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Enum Constant Details

  - ### NOP

    public static final OpcodePREVIEW NOP
    Do nothing

  - ### ACONST_NULL

    public static final OpcodePREVIEW ACONST_NULL
    Push null

  - ### ICONST_M1

    public static final OpcodePREVIEW ICONST_M1
    Push int constant -1

  - ### ICONST_0

    public static final OpcodePREVIEW ICONST_0
    Push int constant 0

  - ### ICONST_1

    public static final OpcodePREVIEW ICONST_1
    Push int constant 1

  - ### ICONST_2

    public static final OpcodePREVIEW ICONST_2
    Push int constant 2

  - ### ICONST_3

    public static final OpcodePREVIEW ICONST_3
    Push int constant 3

  - ### ICONST_4

    public static final OpcodePREVIEW ICONST_4
    Push int constant 4

  - ### ICONST_5

    public static final OpcodePREVIEW ICONST_5
    Push int constant 5

  - ### LCONST_0

    public static final OpcodePREVIEW LCONST_0
    Push long constant 0

  - ### LCONST_1

    public static final OpcodePREVIEW LCONST_1
    Push long constant 1

  - ### FCONST_0

    public static final OpcodePREVIEW FCONST_0
    Push float constant 0

  - ### FCONST_1

    public static final OpcodePREVIEW FCONST_1
    Push float constant 1

  - ### FCONST_2

    public static final OpcodePREVIEW FCONST_2
    Push float constant 2

  - ### DCONST_0

    public static final OpcodePREVIEW DCONST_0
    Push double constant 0

  - ### DCONST_1

    public static final OpcodePREVIEW DCONST_1
    Push double constant 1

  - ### BIPUSH

    public static final OpcodePREVIEW BIPUSH
    Push byte

  - ### SIPUSH

    public static final OpcodePREVIEW SIPUSH
    Push short

  - ### LDC

    public static final OpcodePREVIEW LDC
    Push item from run-time constant pool

  - ### LDC_W

    public static final OpcodePREVIEW LDC_W
    Push item from run-time constant pool (wide index)

  - ### LDC2_W

    public static final OpcodePREVIEW LDC2_W
    Push long or double from run-time constant pool (wide index)

  - ### ILOAD

    public static final OpcodePREVIEW ILOAD
    Load int from local variable

  - ### LLOAD

    public static final OpcodePREVIEW LLOAD
    Load long from local variable

  - ### FLOAD

    public static final OpcodePREVIEW FLOAD
    Load float from local variable

  - ### DLOAD

    public static final OpcodePREVIEW DLOAD
    Load double from local variable

  - ### ALOAD

    public static final OpcodePREVIEW ALOAD
    Load reference from local variable

  - ### ILOAD_0

    public static final OpcodePREVIEW ILOAD_0
    Load int from local variable 0

  - ### ILOAD_1

    public static final OpcodePREVIEW ILOAD_1
    Load int from local variable 1

  - ### ILOAD_2

    public static final OpcodePREVIEW ILOAD_2
    Load int from local variable 2

  - ### ILOAD_3

    public static final OpcodePREVIEW ILOAD_3
    Load int from local variable3

  - ### LLOAD_0

    public static final OpcodePREVIEW LLOAD_0
    Load long from local variable 0

  - ### LLOAD_1

    public static final OpcodePREVIEW LLOAD_1
    Load long from local variable 1

  - ### LLOAD_2

    public static final OpcodePREVIEW LLOAD_2
    Load long from local variable 2

  - ### LLOAD_3

    public static final OpcodePREVIEW LLOAD_3
    Load long from local variable 3

  - ### FLOAD_0

    public static final OpcodePREVIEW FLOAD_0
    Load float from local variable 0

  - ### FLOAD_1

    public static final OpcodePREVIEW FLOAD_1
    Load float from local variable 1

  - ### FLOAD_2

    public static final OpcodePREVIEW FLOAD_2
    Load float from local variable 2

  - ### FLOAD_3

    public static final OpcodePREVIEW FLOAD_3
    Load float from local variable 3

  - ### DLOAD_0

    public static final OpcodePREVIEW DLOAD_0
    Load double from local variable 0

  - ### DLOAD_1

    public static final OpcodePREVIEW DLOAD_1
    Load double from local variable 1

  - ### DLOAD_2

    public static final OpcodePREVIEW DLOAD_2
    Load double from local variable 2

  - ### DLOAD_3

    public static final OpcodePREVIEW DLOAD_3
    Load double from local variable 3

  - ### ALOAD_0

    public static final OpcodePREVIEW ALOAD_0
    Load reference from local variable 0

  - ### ALOAD_1

    public static final OpcodePREVIEW ALOAD_1
    Load reference from local variable 1

  - ### ALOAD_2

    public static final OpcodePREVIEW ALOAD_2
    Load reference from local variable 2

  - ### ALOAD_3

    public static final OpcodePREVIEW ALOAD_3
    Load reference from local variable 3

  - ### IALOAD

    public static final OpcodePREVIEW IALOAD
    Load int from array

  - ### LALOAD

    public static final OpcodePREVIEW LALOAD
    Load long from array

  - ### FALOAD

    public static final OpcodePREVIEW FALOAD
    Load float from array

  - ### DALOAD

    public static final OpcodePREVIEW DALOAD
    Load double from array

  - ### AALOAD

    public static final OpcodePREVIEW AALOAD
    Load reference from array

  - ### BALOAD

    public static final OpcodePREVIEW BALOAD
    Load byte from array

  - ### CALOAD

    public static final OpcodePREVIEW CALOAD
    Load char from array

  - ### SALOAD

    public static final OpcodePREVIEW SALOAD
    Load short from array

  - ### ISTORE

    public static final OpcodePREVIEW ISTORE
    Store int into local variable

  - ### LSTORE

    public static final OpcodePREVIEW LSTORE
    Store long into local variable

  - ### FSTORE

    public static final OpcodePREVIEW FSTORE
    Store float into local variable

  - ### DSTORE

    public static final OpcodePREVIEW DSTORE
    Store double into local variable

  - ### ASTORE

    public static final OpcodePREVIEW ASTORE
    Store reference into local variable

  - ### ISTORE_0

    public static final OpcodePREVIEW ISTORE_0
    Store int into local variable 0

  - ### ISTORE_1

    public static final OpcodePREVIEW ISTORE_1
    Store int into local variable 1

  - ### ISTORE_2

    public static final OpcodePREVIEW ISTORE_2
    Store int into local variable 2

  - ### ISTORE_3

    public static final OpcodePREVIEW ISTORE_3
    Store int into local variable 3

  - ### LSTORE_0

    public static final OpcodePREVIEW LSTORE_0
    Store long into local variable 0

  - ### LSTORE_1

    public static final OpcodePREVIEW LSTORE_1
    Store long into local variable 1

  - ### LSTORE_2

    public static final OpcodePREVIEW LSTORE_2
    Store long into local variable 2

  - ### LSTORE_3

    public static final OpcodePREVIEW LSTORE_3
    Store long into local variable 3

  - ### FSTORE_0

    public static final OpcodePREVIEW FSTORE_0
    Store float into local variable 0

  - ### FSTORE_1

    public static final OpcodePREVIEW FSTORE_1
    Store float into local variable 1

  - ### FSTORE_2

    public static final OpcodePREVIEW FSTORE_2
    Store float into local variable 2

  - ### FSTORE_3

    public static final OpcodePREVIEW FSTORE_3
    Store float into local variable 3

  - ### DSTORE_0

    public static final OpcodePREVIEW DSTORE_0
    Store double into local variable 0

  - ### DSTORE_1

    public static final OpcodePREVIEW DSTORE_1
    Store double into local variable 1

  - ### DSTORE_2

    public static final OpcodePREVIEW DSTORE_2
    Store double into local variable 2

  - ### DSTORE_3

    public static final OpcodePREVIEW DSTORE_3
    Store double into local variable 3

  - ### ASTORE_0

    public static final OpcodePREVIEW ASTORE_0
    Store reference into local variable 0

  - ### ASTORE_1

    public static final OpcodePREVIEW ASTORE_1
    Store reference into local variable 1

  - ### ASTORE_2

    public static final OpcodePREVIEW ASTORE_2
    Store reference into local variable 2

  - ### ASTORE_3

    public static final OpcodePREVIEW ASTORE_3
    Store reference into local variable 3

  - ### IASTORE

    public static final OpcodePREVIEW IASTORE
    Store into int array

  - ### LASTORE

    public static final OpcodePREVIEW LASTORE
    Store into long array

  - ### FASTORE

    public static final OpcodePREVIEW FASTORE
    Store into float array

  - ### DASTORE

    public static final OpcodePREVIEW DASTORE
    Store into double array

  - ### AASTORE

    public static final OpcodePREVIEW AASTORE
    Store into reference array

  - ### BASTORE

    public static final OpcodePREVIEW BASTORE
    Store into byte array

  - ### CASTORE

    public static final OpcodePREVIEW CASTORE
    Store into char array

  - ### SASTORE

    public static final OpcodePREVIEW SASTORE
    Store into short array

  - ### POP

    public static final OpcodePREVIEW POP
    Pop the top operand stack value

  - ### POP2

    public static final OpcodePREVIEW POP2
    Pop the top one or two operand stack values

  - ### DUP

    public static final OpcodePREVIEW DUP
    Duplicate the top operand stack value

  - ### DUP_X1

    public static final OpcodePREVIEW DUP_X1
    Duplicate the top operand stack value and insert two values down

  - ### DUP_X2

    public static final OpcodePREVIEW DUP_X2
    Duplicate the top operand stack value and insert two or three values down

  - ### DUP2

    public static final OpcodePREVIEW DUP2
    Duplicate the top one or two operand stack values

  - ### DUP2_X1

    public static final OpcodePREVIEW DUP2_X1
    Duplicate the top one or two operand stack values and insert two or three values down

  - ### DUP2_X2

    public static final OpcodePREVIEW DUP2_X2
    Duplicate the top one or two operand stack values and insert two, three, or four values down

  - ### SWAP

    public static final OpcodePREVIEW SWAP
    Swap the top two operand stack values

  - ### IADD

    public static final OpcodePREVIEW IADD
    Add int

  - ### LADD

    public static final OpcodePREVIEW LADD
    Add long

  - ### FADD

    public static final OpcodePREVIEW FADD
    Add float

  - ### DADD

    public static final OpcodePREVIEW DADD
    Add double

  - ### ISUB

    public static final OpcodePREVIEW ISUB
    Subtract int

  - ### LSUB

    public static final OpcodePREVIEW LSUB
    Subtract long

  - ### FSUB

    public static final OpcodePREVIEW FSUB
    Subtract float

  - ### DSUB

    public static final OpcodePREVIEW DSUB
    Subtract double

  - ### IMUL

    public static final OpcodePREVIEW IMUL
    Multiply int

  - ### LMUL

    public static final OpcodePREVIEW LMUL
    Multiply long

  - ### FMUL

    public static final OpcodePREVIEW FMUL
    Multiply float

  - ### DMUL

    public static final OpcodePREVIEW DMUL
    Multiply double

  - ### IDIV

    public static final OpcodePREVIEW IDIV
    Divide int

  - ### LDIV

    public static final OpcodePREVIEW LDIV
    Divide long

  - ### FDIV

    public static final OpcodePREVIEW FDIV
    Divide float

  - ### DDIV

    public static final OpcodePREVIEW DDIV
    Divide double

  - ### IREM

    public static final OpcodePREVIEW IREM
    Remainder int

  - ### LREM

    public static final OpcodePREVIEW LREM
    Remainder long

  - ### FREM

    public static final OpcodePREVIEW FREM
    Remainder float

  - ### DREM

    public static final OpcodePREVIEW DREM
    Remainder double

  - ### INEG

    public static final OpcodePREVIEW INEG
    Negate int

  - ### LNEG

    public static final OpcodePREVIEW LNEG
    Negate long

  - ### FNEG

    public static final OpcodePREVIEW FNEG
    Negate float

  - ### DNEG

    public static final OpcodePREVIEW DNEG
    Negate double

  - ### ISHL

    public static final OpcodePREVIEW ISHL
    Shift left int

  - ### LSHL

    public static final OpcodePREVIEW LSHL
    Shift left long

  - ### ISHR

    public static final OpcodePREVIEW ISHR
    Shift right int

  - ### LSHR

    public static final OpcodePREVIEW LSHR
    Shift right long

  - ### IUSHR

    public static final OpcodePREVIEW IUSHR
    Logical shift right int

  - ### LUSHR

    public static final OpcodePREVIEW LUSHR
    Logical shift right long

  - ### IAND

    public static final OpcodePREVIEW IAND
    Boolean AND int

  - ### LAND

    public static final OpcodePREVIEW LAND
    Boolean AND long

  - ### IOR

    public static final OpcodePREVIEW IOR
    Boolean OR int

  - ### LOR

    public static final OpcodePREVIEW LOR
    Boolean OR long

  - ### IXOR

    public static final OpcodePREVIEW IXOR
    Boolean XOR int

  - ### LXOR

    public static final OpcodePREVIEW LXOR
    Boolean XOR long

  - ### IINC

    public static final OpcodePREVIEW IINC
    Increment local variable by constant

  - ### I2L

    public static final OpcodePREVIEW I2L
    Convert int to long

  - ### I2F

    public static final OpcodePREVIEW I2F
    Convert int to float

  - ### I2D

    public static final OpcodePREVIEW I2D
    Convert int to double

  - ### L2I

    public static final OpcodePREVIEW L2I
    Convert long to int

  - ### L2F

    public static final OpcodePREVIEW L2F
    Convert long to float

  - ### L2D

    public static final OpcodePREVIEW L2D
    Convert long to double

  - ### F2I

    public static final OpcodePREVIEW F2I
    Convert float to int

  - ### F2L

    public static final OpcodePREVIEW F2L
    Convert float to long

  - ### F2D

    public static final OpcodePREVIEW F2D
    Convert float to double

  - ### D2I

    public static final OpcodePREVIEW D2I
    Convert double to int

  - ### D2L

    public static final OpcodePREVIEW D2L
    Convert double to long

  - ### D2F

    public static final OpcodePREVIEW D2F
    Convert double to float

  - ### I2B

    public static final OpcodePREVIEW I2B
    Convert int to byte

  - ### I2C

    public static final OpcodePREVIEW I2C
    Convert int to char

  - ### I2S

    public static final OpcodePREVIEW I2S
    Convert int to short

  - ### LCMP

    public static final OpcodePREVIEW LCMP
    Compare long

  - ### FCMPL

    public static final OpcodePREVIEW FCMPL
    Compare float

  - ### FCMPG

    public static final OpcodePREVIEW FCMPG
    Compare float

  - ### DCMPL

    public static final OpcodePREVIEW DCMPL
    Compare double

  - ### DCMPG

    public static final OpcodePREVIEW DCMPG
    Compare double

  - ### IFEQ

    public static final OpcodePREVIEW IFEQ
    Branch if int comparison with zero succeeds

  - ### IFNE

    public static final OpcodePREVIEW IFNE
    Branch if int comparison with zero succeeds

  - ### IFLT

    public static final OpcodePREVIEW IFLT
    Branch if int comparison with zero succeeds

  - ### IFGE

    public static final OpcodePREVIEW IFGE
    Branch if int comparison with zero succeeds

  - ### IFGT

    public static final OpcodePREVIEW IFGT
    Branch if int comparison with zero succeeds

  - ### IFLE

    public static final OpcodePREVIEW IFLE
    Branch if int comparison with zero succeeds

  - ### IF_ICMPEQ

    public static final OpcodePREVIEW IF_ICMPEQ
    Branch if int comparison succeeds

  - ### IF_ICMPNE

    public static final OpcodePREVIEW IF_ICMPNE
    Branch if int comparison succeeds

  - ### IF_ICMPLT

    public static final OpcodePREVIEW IF_ICMPLT
    Branch if int comparison succeeds

  - ### IF_ICMPGE

    public static final OpcodePREVIEW IF_ICMPGE
    Branch if int comparison succeeds

  - ### IF_ICMPGT

    public static final OpcodePREVIEW IF_ICMPGT
    Branch if int comparison succeeds

  - ### IF_ICMPLE

    public static final OpcodePREVIEW IF_ICMPLE
    Branch if int comparison succeeds

  - ### IF_ACMPEQ

    public static final OpcodePREVIEW IF_ACMPEQ
    Branch if reference comparison succeeds

  - ### IF_ACMPNE

    public static final OpcodePREVIEW IF_ACMPNE
    Branch if reference comparison succeeds

  - ### GOTO

    public static final OpcodePREVIEW GOTO
    Branch always

  - ### JSR

    public static final OpcodePREVIEW JSR
    Jump subroutine is discontinued opcode
    See Also:
      - `DiscontinuedInstruction`PREVIEW

  - ### RET

    public static final OpcodePREVIEW RET
    Return from subroutine is discontinued opcode
    See Also:
      - `DiscontinuedInstruction`PREVIEW

  - ### TABLESWITCH

    public static final OpcodePREVIEW TABLESWITCH
    Access jump table by index and jump

  - ### LOOKUPSWITCH

    public static final OpcodePREVIEW LOOKUPSWITCH
    Access jump table by key match and jump

  - ### IRETURN

    public static final OpcodePREVIEW IRETURN
    Return int from method

  - ### LRETURN

    public static final OpcodePREVIEW LRETURN
    Return long from method

  - ### FRETURN

    public static final OpcodePREVIEW FRETURN
    Return float from method

  - ### DRETURN

    public static final OpcodePREVIEW DRETURN
    Return double from method

  - ### ARETURN

    public static final OpcodePREVIEW ARETURN
    Return reference from method

  - ### RETURN

    public static final OpcodePREVIEW RETURN
    Return void from method

  - ### GETSTATIC

    public static final OpcodePREVIEW GETSTATIC
    Get static field from class

  - ### PUTSTATIC

    public static final OpcodePREVIEW PUTSTATIC
    Set static field in class

  - ### GETFIELD

    public static final OpcodePREVIEW GETFIELD
    Fetch field from object

  - ### PUTFIELD

    public static final OpcodePREVIEW PUTFIELD
    Set field in object

  - ### INVOKEVIRTUAL

    public static final OpcodePREVIEW INVOKEVIRTUAL
    Invoke instance method; dispatch based on class

  - ### INVOKESPECIAL

    public static final OpcodePREVIEW INVOKESPECIAL
    Invoke instance method; direct invocation of instance initialization methods and methods of the current class and its supertypes

  - ### INVOKESTATIC

    public static final OpcodePREVIEW INVOKESTATIC
    Invoke a class (static) method

  - ### INVOKEINTERFACE

    public static final OpcodePREVIEW INVOKEINTERFACE
    Invoke interface method

  - ### INVOKEDYNAMIC

    public static final OpcodePREVIEW INVOKEDYNAMIC
    Invoke a dynamically-computed call site

  - ### NEW

    public static final OpcodePREVIEW NEW
    Create new object

  - ### NEWARRAY

    public static final OpcodePREVIEW NEWARRAY
    Create new array

  - ### ANEWARRAY

    public static final OpcodePREVIEW ANEWARRAY
    Create new array of reference

  - ### ARRAYLENGTH

    public static final OpcodePREVIEW ARRAYLENGTH
    Get length of array

  - ### ATHROW

    public static final OpcodePREVIEW ATHROW
    Throw exception or error

  - ### CHECKCAST

    public static final OpcodePREVIEW CHECKCAST
    Check whether object is of given type

  - ### INSTANCEOF

    public static final OpcodePREVIEW INSTANCEOF
    Determine if object is of given type

  - ### MONITORENTER

    public static final OpcodePREVIEW MONITORENTER
    Enter monitor for object

  - ### MONITOREXIT

    public static final OpcodePREVIEW MONITOREXIT
    Exit monitor for object

  - ### MULTIANEWARRAY

    public static final OpcodePREVIEW MULTIANEWARRAY
    Create new multidimensional array

  - ### IFNULL

    public static final OpcodePREVIEW IFNULL
    Branch if reference is null

  - ### IFNONNULL

    public static final OpcodePREVIEW IFNONNULL
    Branch if reference not null

  - ### GOTO_W

    public static final OpcodePREVIEW GOTO_W
    Branch always (wide index)

  - ### JSR_W

    public static final OpcodePREVIEW JSR_W
    Jump subroutine (wide index) is discontinued opcode
    See Also:
      - `DiscontinuedInstruction`PREVIEW

  - ### ILOAD_W

    public static final OpcodePREVIEW ILOAD_W
    Load int from local variable (wide index)

  - ### LLOAD_W

    public static final OpcodePREVIEW LLOAD_W
    Load long from local variable (wide index)

  - ### FLOAD_W

    public static final OpcodePREVIEW FLOAD_W
    Load float from local variable (wide index)

  - ### DLOAD_W

    public static final OpcodePREVIEW DLOAD_W
    Load double from local variable (wide index)

  - ### ALOAD_W

    public static final OpcodePREVIEW ALOAD_W
    Load reference from local variable (wide index)

  - ### ISTORE_W

    public static final OpcodePREVIEW ISTORE_W
    Store int into local variable (wide index)

  - ### LSTORE_W

    public static final OpcodePREVIEW LSTORE_W
    Store long into local variable (wide index)

  - ### FSTORE_W

    public static final OpcodePREVIEW FSTORE_W
    Store float into local variable (wide index)

  - ### DSTORE_W

    public static final OpcodePREVIEW DSTORE_W
    Store double into local variable (wide index)

  - ### ASTORE_W

    public static final OpcodePREVIEW ASTORE_W
    Store reference into local variable (wide index)

  - ### RET_W

    public static final OpcodePREVIEW RET_W
    Return from subroutine (wide index) is discontinued opcode
    See Also:
      - `DiscontinuedInstruction`PREVIEW

  - ### IINC_W

    public static final OpcodePREVIEW IINC_W
    Increment local variable by constant (wide index)

- ## Method Details

  - ### values

    public static OpcodePREVIEW[] 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 OpcodePREVIEW 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 bytecode.
    Returns:
      bytecode

  - ### isWide

    public boolean isWide()
    Returns true if the instruction has extended local variable index by additional bytes.
    Returns:
      true if the instruction has extended local variable index by additional bytes

  - ### sizeIfFixed

    public int sizeIfFixed()
    Returns size of the instruction if fixed, or -1 otherwise.
    Returns:
      size of the instruction if fixed, or -1 otherwise

  - ### kind

    public Opcode.KindPREVIEW kind()
    Returns instruction kind.
    Returns:
      instruction kind

  - ### primaryTypeKind

    public TypeKindPREVIEW primaryTypeKind()
    Returns primary type kind for instructions operating with at least one type, or null otherwise.
    Returns:
      primary type kind for instructions operating with at least one type, or null otherwise

  - ### secondaryTypeKind

    public TypeKindPREVIEW secondaryTypeKind()
    Returns secondary type kind for instructions operating with two types, or null otherwise.
    Returns:
      secondary type kind for instructions operating with two types, or null otherwise

  - ### slot

    public int slot()
    Returns local variable slot for instructions operating with local variable, or -1 otherwise.
    Returns:
      local variable slot for instructions operating with local variable, or -1 otherwise

  - ### constantValue

    public ConstantDesc constantValue()
    Returns constant value for constant instructions, or null otherwise.
    Returns:
      constant value for constant instructions, or null otherwise

  - ### isUnconditionalBranch

    public boolean isUnconditionalBranch()
    Returns true if the instruction represents an unconditional branch.
    Returns:
      true if the instruction represents an unconditional branch