Module java.base
Package java.lang.classfile

# Enum Opcode

≠
public final enum Opcode
extends java.lang.Enum<java.lang.classfile.Opcode>
Comparing master and cf

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 Types

- = Kind

## Enum Constants

- =
  AALOAD
- =
  AASTORE
- =
  ACONST_NULL
- =
  ALOAD
- =
  ALOAD_0
- =
  ALOAD_1
- =
  ALOAD_2
- =
  ALOAD_3
- =
  ALOAD_W
- =
  ANEWARRAY
- =
  ARETURN
- =
  ARRAYLENGTH
- =
  ASTORE
- =
  ASTORE_0
- =
  ASTORE_1
- =
  ASTORE_2
- =
  ASTORE_3
- =
  ASTORE_W
- =
  ATHROW
- =
  BALOAD
- =
  BASTORE
- =
  BIPUSH
- =
  CALOAD
- =
  CASTORE
- =
  CHECKCAST
- =
  D2F
- =
  D2I
- =
  D2L
- =
  DADD
- =
  DALOAD
- =
  DASTORE
- =
  DCMPG
- =
  DCMPL
- =
  DCONST_0
- =
  DCONST_1
- =
  DDIV
- =
  DLOAD
- =
  DLOAD_0
- =
  DLOAD_1
- =
  DLOAD_2
- =
  DLOAD_3
- =
  DLOAD_W
- =
  DMUL
- =
  DNEG
- =
  DREM
- =
  DRETURN
- =
  DSTORE
- =
  DSTORE_0
- =
  DSTORE_1
- =
  DSTORE_2
- =
  DSTORE_3
- =
  DSTORE_W
- =
  DSUB
- =
  DUP
- =
  DUP2
- =
  DUP2_X1
- =
  DUP2_X2
- =
  DUP_X1
- =
  DUP_X2
- =
  F2D
- =
  F2I
- =
  F2L
- =
  FADD
- =
  FALOAD
- =
  FASTORE
- =
  FCMPG
- =
  FCMPL
- =
  FCONST_0
- =
  FCONST_1
- =
  FCONST_2
- =
  FDIV
- =
  FLOAD
- =
  FLOAD_0
- =
  FLOAD_1
- =
  FLOAD_2
- =
  FLOAD_3
- =
  FLOAD_W
- =
  FMUL
- =
  FNEG
- =
  FREM
- =
  FRETURN
- =
  FSTORE
- =
  FSTORE_0
- =
  FSTORE_1
- =
  FSTORE_2
- =
  FSTORE_3
- =
  FSTORE_W
- =
  FSUB
- =
  GETFIELD
- =
  GETSTATIC
- =
  GOTO
- =
  GOTO_W
- =
  I2B
- =
  I2C
- =
  I2D
- =
  I2F
- =
  I2L
- =
  I2S
- =
  IADD
- =
  IALOAD
- =
  IAND
- =
  IASTORE
- =
  ICONST_0
- =
  ICONST_1
- =
  ICONST_2
- =
  ICONST_3
- =
  ICONST_4
- =
  ICONST_5
- =
  ICONST_M1
- =
  IDIV
- =
  IFEQ
- =
  IFGE
- =
  IFGT
- =
  IFLE
- =
  IFLT
- =
  IFNE
- =
  IFNONNULL
- =
  IFNULL
- =
  IF_ACMPEQ
- =
  IF_ACMPNE
- =
  IF_ICMPEQ
- =
  IF_ICMPGE
- =
  IF_ICMPGT
- =
  IF_ICMPLE
- =
  IF_ICMPLT
- =
  IF_ICMPNE
- ≠
  IINC
  Comparing master and cf

  ### 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`
- =
  IINC_W
- =
  ILOAD
- =
  ILOAD_0
- =
  ILOAD_1
- =
  ILOAD_2
- =
  ILOAD_3
- =
  ILOAD_W
- =
  IMUL
- =
  INEG
- =
  INSTANCEOF
- =
  INVOKEDYNAMIC
- =
  INVOKEINTERFACE
- =
  INVOKESPECIAL
- =
  INVOKESTATIC
- =
  INVOKEVIRTUAL
- =
  IOR
- =
  IREM
- =
  IRETURN
- =
  ISHL
- =
  ISHR
- =
  ISTORE
- =
  ISTORE_0
- =
  ISTORE_1
- =
  ISTORE_2
- =
  ISTORE_3
- =
  ISTORE_W
- =
  ISUB
- =
  IUSHR
- =
  IXOR
- =
  JSR
- =
  JSR_W
- =
  L2D
- =
  L2F
- =
  L2I
- =
  LADD
- =
  LALOAD
- =
  LAND
- =
  LASTORE
- =
  LCMP
- =
  LCONST_0
- =
  LCONST_1
- =
  LDC
- =
  LDC2_W
- =
  LDC_W
- =
  LDIV
- =
  LLOAD
- =
  LLOAD_0
- =
  LLOAD_1
- =
  LLOAD_2
- =
  LLOAD_3
- =
  LLOAD_W
- =
  LMUL
- =
  LNEG
- =
  LOOKUPSWITCH
- =
  LOR
- =
  LREM
- =
  LRETURN
- =
  LSHL
- =
  LSHR
- =
  LSTORE
- =
  LSTORE_0
- =
  LSTORE_1
- =
  LSTORE_2
- =
  LSTORE_3
- =
  LSTORE_W
- =
  LSUB
- =
  LUSHR
- =
  LXOR
- =
  MONITORENTER
- =
  MONITOREXIT
- =
  MULTIANEWARRAY
- =
  NEW
- =
  NEWARRAY
- =
  NOP
- =
  POP
- =
  POP2
- =
  PUTFIELD
- =
  PUTSTATIC
- =
  RET
- =
  RETURN
- =
  RET_W
- =
  SALOAD
- =
  SASTORE
- =
  SIPUSH
- =
  SWAP
- =
  TABLESWITCH

## Methods

- =
  public int bytecode()
- =
  public boolean isWide()
- =
  public java.lang.classfile.Opcode.Kind kind()
- =
  public int sizeIfFixed()
- =
  public static java.lang.classfile.Opcode valueOf(java.lang.String arg0)
- =
  public static java.lang.classfile.Opcode[] values()

## Summary

Differences
| Elements | Comments | Descriptions | Total
Added | Changed | Removed | Added | Changed | Removed | Added | Changed | Removed
--- | --- | --- | --- | --- | --- | --- | --- | ---
Opcode |  |  |  |  |  |  | 4 |  |  | 4
IINC |  |  |  |  |  |  | 2 |  |  | 2
Total |  |  |  |  |  |  | 6 |  |  | 6