public abstract class org.graalvm.compiler.lir.LIRInstruction
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.compiler.lir.LIRInstruction
  super_class: java.lang.Object
{
  protected static final java.util.EnumMap<org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet<org.graalvm.compiler.lir.LIRInstruction$OperandFlag>> ALLOWED_FLAGS;
    descriptor: Ljava/util/EnumMap;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/EnumMap<Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;>;

  protected static final java.util.EnumSet<org.graalvm.compiler.lir.LIRInstruction$OperandFlag> ADDRESS_FLAGS;
    descriptor: Ljava/util/EnumSet;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;

  private final org.graalvm.compiler.lir.LIRInstructionClass<?> instructionClass;
    descriptor: Lorg/graalvm/compiler/lir/LIRInstructionClass;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/graalvm/compiler/lir/LIRInstructionClass<*>;

  private int id;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private org.graalvm.compiler.graph.NodeSourcePosition position;
    descriptor: Lorg/graalvm/compiler/graph/NodeSourcePosition;
    flags: (0x0002) ACC_PRIVATE

  private static final org.graalvm.compiler.debug.DebugCounter LIR_NODE_COUNT;
    descriptor: Lorg/graalvm/compiler/debug/DebugCounter;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 60
            ldc Lorg/graalvm/compiler/lir/LIRInstruction;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.graalvm.compiler.lir.LIRInstruction.$assertionsDisabled:Z
         3: .line 179
            new java.util.EnumMap
            dup
            ldc Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            invokespecial java.util.EnumMap.<init>:(Ljava/lang/Class;)V
            putstatic org.graalvm.compiler.lir.LIRInstruction.ALLOWED_FLAGS:Ljava/util/EnumMap;
         4: .line 180
            getstatic org.graalvm.compiler.lir.LIRInstruction.ALLOWED_FLAGS:Ljava/util/EnumMap;
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandMode.USE:Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            bipush 6
            anewarray org.graalvm.compiler.lir.LIRInstruction$OperandFlag
            dup
            iconst_0
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.STACK:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            aastore
            dup
            iconst_1
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.COMPOSITE:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            aastore
            dup
            iconst_2
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.CONST:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            aastore
            dup
            iconst_3
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            aastore
            dup
            iconst_4
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.HINT:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            aastore
            dup
            iconst_5
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.UNINITIALIZED:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            aastore
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;[Ljava/lang/Enum;)Ljava/util/EnumSet;
            invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 181
            getstatic org.graalvm.compiler.lir.LIRInstruction.ALLOWED_FLAGS:Ljava/util/EnumMap;
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandMode.ALIVE:Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            bipush 7
            anewarray org.graalvm.compiler.lir.LIRInstruction$OperandFlag
            dup
            iconst_0
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.STACK:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            aastore
            dup
            iconst_1
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.COMPOSITE:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            aastore
            dup
            iconst_2
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.CONST:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            aastore
            dup
            iconst_3
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            aastore
            dup
            iconst_4
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.HINT:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            aastore
            dup
            iconst_5
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.UNINITIALIZED:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            aastore
            dup
            bipush 6
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.OUTGOING:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            aastore
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;[Ljava/lang/Enum;)Ljava/util/EnumSet;
            invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 182
            getstatic org.graalvm.compiler.lir.LIRInstruction.ALLOWED_FLAGS:Ljava/util/EnumMap;
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandMode.TEMP:Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.STACK:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.COMPOSITE:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.HINT:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
            invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 183
            getstatic org.graalvm.compiler.lir.LIRInstruction.ALLOWED_FLAGS:Ljava/util/EnumMap;
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandMode.DEF:Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.STACK:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.COMPOSITE:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.HINT:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
            invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 189
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.ILLEGAL:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
            putstatic org.graalvm.compiler.lir.LIRInstruction.ADDRESS_FLAGS:Ljava/util/EnumSet;
         9: .line 203
            ldc "LIRNodes"
            invokestatic org.graalvm.compiler.debug.Debug.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugCounter;
            putstatic org.graalvm.compiler.lir.LIRInstruction.LIR_NODE_COUNT:Lorg/graalvm/compiler/debug/DebugCounter;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.graalvm.compiler.lir.LIRInstructionClass<? extends org.graalvm.compiler.lir.LIRInstruction>);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstructionClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // org.graalvm.compiler.lir.LIRInstructionClass c
         0: .line 208
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 209
            getstatic org.graalvm.compiler.lir.LIRInstruction.LIR_NODE_COUNT:Lorg/graalvm/compiler/debug/DebugCounter;
            invokeinterface org.graalvm.compiler.debug.DebugCounter.increment:()V
         2: .line 210
            aload 0 /* this */
            aload 1 /* c */
            putfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
         3: .line 211
            getstatic org.graalvm.compiler.lir.LIRInstruction.$assertionsDisabled:Z
            ifne 4
            aload 1 /* c */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.getClazz:()Ljava/lang/Class;
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 212
      StackMap locals: org.graalvm.compiler.lir.LIRInstruction org.graalvm.compiler.lir.LIRInstructionClass
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield org.graalvm.compiler.lir.LIRInstruction.id:I
         5: .line 213
            return
        end local 1 // org.graalvm.compiler.lir.LIRInstructionClass c
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    6     1     c  Lorg/graalvm/compiler/lir/LIRInstructionClass<+Lorg/graalvm/compiler/lir/LIRInstruction;>;
    Signature: (Lorg/graalvm/compiler/lir/LIRInstructionClass<+Lorg/graalvm/compiler/lir/LIRInstruction;>;)V
    MethodParameters:
      Name  Flags
      c     

  public abstract void emitCode(org.graalvm.compiler.lir.asm.CompilationResultBuilder);
    descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      crb   

  public final int id();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
         0: .line 218
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.id:I
            ireturn
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;

  public final void setId(int);
    descriptor: (I)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // int id
         0: .line 222
            aload 0 /* this */
            iload 1 /* id */
            putfield org.graalvm.compiler.lir.LIRInstruction.id:I
         1: .line 223
            return
        end local 1 // int id
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    2     1    id  I
    MethodParameters:
      Name  Flags
      id    

  public final org.graalvm.compiler.graph.NodeSourcePosition getPosition();
    descriptor: ()Lorg/graalvm/compiler/graph/NodeSourcePosition;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
         0: .line 226
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.position:Lorg/graalvm/compiler/graph/NodeSourcePosition;
            areturn
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;

  public final void setPosition(org.graalvm.compiler.graph.NodeSourcePosition);
    descriptor: (Lorg/graalvm/compiler/graph/NodeSourcePosition;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // org.graalvm.compiler.graph.NodeSourcePosition position
         0: .line 230
            aload 0 /* this */
            aload 1 /* position */
            putfield org.graalvm.compiler.lir.LIRInstruction.position:Lorg/graalvm/compiler/graph/NodeSourcePosition;
         1: .line 231
            return
        end local 1 // org.graalvm.compiler.graph.NodeSourcePosition position
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    2     1  position  Lorg/graalvm/compiler/graph/NodeSourcePosition;
    MethodParameters:
          Name  Flags
      position  

  public final java.lang.String name();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
         0: .line 234
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.getOpcode:(Lorg/graalvm/compiler/lir/LIRInstruction;)Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;

  public final boolean hasOperands();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
         0: .line 238
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.hasOperands:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.hasState:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.destroysCallerSavedRegisters:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;

  public final boolean hasState();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
         0: .line 242
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.hasState:(Lorg/graalvm/compiler/lir/LIRInstruction;)Z
            ireturn
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;

  public boolean destroysCallerSavedRegisters();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
         0: .line 246
            iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;

  public final void forEachInput(org.graalvm.compiler.lir.InstructionValueProcedure);
    descriptor: (Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // org.graalvm.compiler.lir.InstructionValueProcedure proc
         0: .line 251
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            aload 1 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.forEachUse:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
         1: .line 252
            return
        end local 1 // org.graalvm.compiler.lir.InstructionValueProcedure proc
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    2     1  proc  Lorg/graalvm/compiler/lir/InstructionValueProcedure;
    MethodParameters:
      Name  Flags
      proc  

  public final void forEachAlive(org.graalvm.compiler.lir.InstructionValueProcedure);
    descriptor: (Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // org.graalvm.compiler.lir.InstructionValueProcedure proc
         0: .line 255
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            aload 1 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.forEachAlive:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
         1: .line 256
            return
        end local 1 // org.graalvm.compiler.lir.InstructionValueProcedure proc
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    2     1  proc  Lorg/graalvm/compiler/lir/InstructionValueProcedure;
    MethodParameters:
      Name  Flags
      proc  

  public final void forEachTemp(org.graalvm.compiler.lir.InstructionValueProcedure);
    descriptor: (Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // org.graalvm.compiler.lir.InstructionValueProcedure proc
         0: .line 259
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            aload 1 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.forEachTemp:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
         1: .line 260
            return
        end local 1 // org.graalvm.compiler.lir.InstructionValueProcedure proc
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    2     1  proc  Lorg/graalvm/compiler/lir/InstructionValueProcedure;
    MethodParameters:
      Name  Flags
      proc  

  public final void forEachOutput(org.graalvm.compiler.lir.InstructionValueProcedure);
    descriptor: (Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // org.graalvm.compiler.lir.InstructionValueProcedure proc
         0: .line 263
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            aload 1 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.forEachDef:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
         1: .line 264
            return
        end local 1 // org.graalvm.compiler.lir.InstructionValueProcedure proc
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    2     1  proc  Lorg/graalvm/compiler/lir/InstructionValueProcedure;
    MethodParameters:
      Name  Flags
      proc  

  public final void forEachState(org.graalvm.compiler.lir.InstructionValueProcedure);
    descriptor: (Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // org.graalvm.compiler.lir.InstructionValueProcedure proc
         0: .line 267
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            aload 1 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.forEachState:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
         1: .line 268
            return
        end local 1 // org.graalvm.compiler.lir.InstructionValueProcedure proc
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    2     1  proc  Lorg/graalvm/compiler/lir/InstructionValueProcedure;
    MethodParameters:
      Name  Flags
      proc  

  public final void forEachInput(org.graalvm.compiler.lir.ValueProcedure);
    descriptor: (Lorg/graalvm/compiler/lir/ValueProcedure;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // org.graalvm.compiler.lir.ValueProcedure proc
         0: .line 272
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            aload 1 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.forEachUse:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
         1: .line 273
            return
        end local 1 // org.graalvm.compiler.lir.ValueProcedure proc
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    2     1  proc  Lorg/graalvm/compiler/lir/ValueProcedure;
    MethodParameters:
      Name  Flags
      proc  

  public final void forEachAlive(org.graalvm.compiler.lir.ValueProcedure);
    descriptor: (Lorg/graalvm/compiler/lir/ValueProcedure;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // org.graalvm.compiler.lir.ValueProcedure proc
         0: .line 276
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            aload 1 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.forEachAlive:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
         1: .line 277
            return
        end local 1 // org.graalvm.compiler.lir.ValueProcedure proc
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    2     1  proc  Lorg/graalvm/compiler/lir/ValueProcedure;
    MethodParameters:
      Name  Flags
      proc  

  public final void forEachTemp(org.graalvm.compiler.lir.ValueProcedure);
    descriptor: (Lorg/graalvm/compiler/lir/ValueProcedure;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // org.graalvm.compiler.lir.ValueProcedure proc
         0: .line 280
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            aload 1 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.forEachTemp:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
         1: .line 281
            return
        end local 1 // org.graalvm.compiler.lir.ValueProcedure proc
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    2     1  proc  Lorg/graalvm/compiler/lir/ValueProcedure;
    MethodParameters:
      Name  Flags
      proc  

  public final void forEachOutput(org.graalvm.compiler.lir.ValueProcedure);
    descriptor: (Lorg/graalvm/compiler/lir/ValueProcedure;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // org.graalvm.compiler.lir.ValueProcedure proc
         0: .line 284
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            aload 1 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.forEachDef:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
         1: .line 285
            return
        end local 1 // org.graalvm.compiler.lir.ValueProcedure proc
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    2     1  proc  Lorg/graalvm/compiler/lir/ValueProcedure;
    MethodParameters:
      Name  Flags
      proc  

  public final void forEachState(org.graalvm.compiler.lir.ValueProcedure);
    descriptor: (Lorg/graalvm/compiler/lir/ValueProcedure;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // org.graalvm.compiler.lir.ValueProcedure proc
         0: .line 288
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            aload 1 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.forEachState:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/InstructionValueProcedure;)V
         1: .line 289
            return
        end local 1 // org.graalvm.compiler.lir.ValueProcedure proc
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    2     1  proc  Lorg/graalvm/compiler/lir/ValueProcedure;
    MethodParameters:
      Name  Flags
      proc  

  public final void forEachState(org.graalvm.compiler.lir.InstructionStateProcedure);
    descriptor: (Lorg/graalvm/compiler/lir/InstructionStateProcedure;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // org.graalvm.compiler.lir.InstructionStateProcedure proc
         0: .line 293
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            aload 1 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.forEachState:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/InstructionStateProcedure;)V
         1: .line 294
            return
        end local 1 // org.graalvm.compiler.lir.InstructionStateProcedure proc
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    2     1  proc  Lorg/graalvm/compiler/lir/InstructionStateProcedure;
    MethodParameters:
      Name  Flags
      proc  

  public final void forEachState(org.graalvm.compiler.lir.StateProcedure);
    descriptor: (Lorg/graalvm/compiler/lir/StateProcedure;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // org.graalvm.compiler.lir.StateProcedure proc
         0: .line 297
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            aload 1 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.forEachState:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/InstructionStateProcedure;)V
         1: .line 298
            return
        end local 1 // org.graalvm.compiler.lir.StateProcedure proc
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    2     1  proc  Lorg/graalvm/compiler/lir/StateProcedure;
    MethodParameters:
      Name  Flags
      proc  

  public final void visitEachInput(org.graalvm.compiler.lir.InstructionValueConsumer);
    descriptor: (Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // org.graalvm.compiler.lir.InstructionValueConsumer proc
         0: .line 302
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            aload 1 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.visitEachUse:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
         1: .line 303
            return
        end local 1 // org.graalvm.compiler.lir.InstructionValueConsumer proc
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    2     1  proc  Lorg/graalvm/compiler/lir/InstructionValueConsumer;
    MethodParameters:
      Name  Flags
      proc  

  public final void visitEachAlive(org.graalvm.compiler.lir.InstructionValueConsumer);
    descriptor: (Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // org.graalvm.compiler.lir.InstructionValueConsumer proc
         0: .line 306
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            aload 1 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.visitEachAlive:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
         1: .line 307
            return
        end local 1 // org.graalvm.compiler.lir.InstructionValueConsumer proc
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    2     1  proc  Lorg/graalvm/compiler/lir/InstructionValueConsumer;
    MethodParameters:
      Name  Flags
      proc  

  public final void visitEachTemp(org.graalvm.compiler.lir.InstructionValueConsumer);
    descriptor: (Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // org.graalvm.compiler.lir.InstructionValueConsumer proc
         0: .line 310
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            aload 1 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.visitEachTemp:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
         1: .line 311
            return
        end local 1 // org.graalvm.compiler.lir.InstructionValueConsumer proc
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    2     1  proc  Lorg/graalvm/compiler/lir/InstructionValueConsumer;
    MethodParameters:
      Name  Flags
      proc  

  public final void visitEachOutput(org.graalvm.compiler.lir.InstructionValueConsumer);
    descriptor: (Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // org.graalvm.compiler.lir.InstructionValueConsumer proc
         0: .line 314
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            aload 1 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.visitEachDef:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
         1: .line 315
            return
        end local 1 // org.graalvm.compiler.lir.InstructionValueConsumer proc
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    2     1  proc  Lorg/graalvm/compiler/lir/InstructionValueConsumer;
    MethodParameters:
      Name  Flags
      proc  

  public final void visitEachState(org.graalvm.compiler.lir.InstructionValueConsumer);
    descriptor: (Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // org.graalvm.compiler.lir.InstructionValueConsumer proc
         0: .line 318
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            aload 1 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.visitEachState:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
         1: .line 319
            return
        end local 1 // org.graalvm.compiler.lir.InstructionValueConsumer proc
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    2     1  proc  Lorg/graalvm/compiler/lir/InstructionValueConsumer;
    MethodParameters:
      Name  Flags
      proc  

  public final void visitEachInput(org.graalvm.compiler.lir.ValueConsumer);
    descriptor: (Lorg/graalvm/compiler/lir/ValueConsumer;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // org.graalvm.compiler.lir.ValueConsumer proc
         0: .line 323
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            aload 1 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.visitEachUse:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
         1: .line 324
            return
        end local 1 // org.graalvm.compiler.lir.ValueConsumer proc
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    2     1  proc  Lorg/graalvm/compiler/lir/ValueConsumer;
    MethodParameters:
      Name  Flags
      proc  

  public final void visitEachAlive(org.graalvm.compiler.lir.ValueConsumer);
    descriptor: (Lorg/graalvm/compiler/lir/ValueConsumer;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // org.graalvm.compiler.lir.ValueConsumer proc
         0: .line 327
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            aload 1 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.visitEachAlive:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
         1: .line 328
            return
        end local 1 // org.graalvm.compiler.lir.ValueConsumer proc
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    2     1  proc  Lorg/graalvm/compiler/lir/ValueConsumer;
    MethodParameters:
      Name  Flags
      proc  

  public final void visitEachTemp(org.graalvm.compiler.lir.ValueConsumer);
    descriptor: (Lorg/graalvm/compiler/lir/ValueConsumer;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // org.graalvm.compiler.lir.ValueConsumer proc
         0: .line 331
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            aload 1 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.visitEachTemp:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
         1: .line 332
            return
        end local 1 // org.graalvm.compiler.lir.ValueConsumer proc
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    2     1  proc  Lorg/graalvm/compiler/lir/ValueConsumer;
    MethodParameters:
      Name  Flags
      proc  

  public final void visitEachOutput(org.graalvm.compiler.lir.ValueConsumer);
    descriptor: (Lorg/graalvm/compiler/lir/ValueConsumer;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // org.graalvm.compiler.lir.ValueConsumer proc
         0: .line 335
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            aload 1 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.visitEachDef:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
         1: .line 336
            return
        end local 1 // org.graalvm.compiler.lir.ValueConsumer proc
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    2     1  proc  Lorg/graalvm/compiler/lir/ValueConsumer;
    MethodParameters:
      Name  Flags
      proc  

  public final void visitEachState(org.graalvm.compiler.lir.ValueConsumer);
    descriptor: (Lorg/graalvm/compiler/lir/ValueConsumer;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // org.graalvm.compiler.lir.ValueConsumer proc
         0: .line 339
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            aload 1 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.visitEachState:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
         1: .line 340
            return
        end local 1 // org.graalvm.compiler.lir.ValueConsumer proc
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    2     1  proc  Lorg/graalvm/compiler/lir/ValueConsumer;
    MethodParameters:
      Name  Flags
      proc  

  public final jdk.vm.ci.meta.Value forEachRegisterHint(jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, org.graalvm.compiler.lir.InstructionValueProcedure);
    descriptor: (Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Lorg/graalvm/compiler/lir/InstructionValueProcedure;)Ljdk/vm/ci/meta/Value;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // jdk.vm.ci.meta.Value value
        start local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        start local 3 // org.graalvm.compiler.lir.InstructionValueProcedure proc
         0: .line 344
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            aload 2 /* mode */
            aload 3 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.forEachRegisterHint:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Lorg/graalvm/compiler/lir/InstructionValueProcedure;)Ljdk/vm/ci/meta/Value;
            areturn
        end local 3 // org.graalvm.compiler.lir.InstructionValueProcedure proc
        end local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        end local 1 // jdk.vm.ci.meta.Value value
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    1     1  value  Ljdk/vm/ci/meta/Value;
            0    1     2   mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            0    1     3   proc  Lorg/graalvm/compiler/lir/InstructionValueProcedure;
    MethodParameters:
       Name  Flags
      value  
      mode   
      proc   

  public final jdk.vm.ci.meta.Value forEachRegisterHint(jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, org.graalvm.compiler.lir.ValueProcedure);
    descriptor: (Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Lorg/graalvm/compiler/lir/ValueProcedure;)Ljdk/vm/ci/meta/Value;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
        start local 1 // jdk.vm.ci.meta.Value value
        start local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        start local 3 // org.graalvm.compiler.lir.ValueProcedure proc
         0: .line 349
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            aload 2 /* mode */
            aload 3 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.forEachRegisterHint:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Lorg/graalvm/compiler/lir/InstructionValueProcedure;)Ljdk/vm/ci/meta/Value;
            areturn
        end local 3 // org.graalvm.compiler.lir.ValueProcedure proc
        end local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        end local 1 // jdk.vm.ci.meta.Value value
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    1     1  value  Ljdk/vm/ci/meta/Value;
            0    1     2   mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            0    1     3   proc  Lorg/graalvm/compiler/lir/ValueProcedure;
    MethodParameters:
       Name  Flags
      value  
      mode   
      proc   

  protected static jdk.vm.ci.meta.Value[] addStackSlotsToTemporaries(jdk.vm.ci.meta.Value[], jdk.vm.ci.meta.Value[]);
    descriptor: ([Ljdk/vm/ci/meta/Value;[Ljdk/vm/ci/meta/Value;)[Ljdk/vm/ci/meta/Value;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // jdk.vm.ci.meta.Value[] parameters
        start local 1 // jdk.vm.ci.meta.Value[] temporaries
         0: .line 359
            iconst_0
            istore 2 /* extraTemps */
        start local 2 // int extraTemps
         1: .line 360
            aload 0 /* parameters */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: jdk.vm.ci.meta.Value[] jdk.vm.ci.meta.Value[] int top int int jdk.vm.ci.meta.Value[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* p */
        start local 3 // jdk.vm.ci.meta.Value p
         3: .line 361
            aload 3 /* p */
            invokestatic jdk.vm.ci.code.ValueUtil.isStackSlot:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 5
         4: .line 362
            iinc 2 /* extraTemps */ 1
         5: .line 364
      StackMap locals: jdk.vm.ci.meta.Value[] jdk.vm.ci.meta.Value[] int jdk.vm.ci.meta.Value int int jdk.vm.ci.meta.Value[]
      StackMap stack:
            getstatic org.graalvm.compiler.lir.LIRInstruction.$assertionsDisabled:Z
            ifne 6
            aload 3 /* p */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVirtualStackSlot:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 6
            new java.lang.AssertionError
            dup
            ldc "only real stack slots in calling convention"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 3 // jdk.vm.ci.meta.Value p
         6: .line 360
      StackMap locals: jdk.vm.ci.meta.Value[] jdk.vm.ci.meta.Value[] int top int int jdk.vm.ci.meta.Value[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 2
         8: .line 366
            iload 2 /* extraTemps */
            ifeq 18
         9: .line 367
            aload 1 /* temporaries */
            arraylength
            istore 3 /* index */
        start local 3 // int index
        10: .line 368
            aload 1 /* temporaries */
            aload 1 /* temporaries */
            arraylength
            iload 2 /* extraTemps */
            iadd
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast jdk.vm.ci.meta.Value[]
            astore 4 /* newTemporaries */
        start local 4 // jdk.vm.ci.meta.Value[] newTemporaries
        11: .line 369
            aload 0 /* parameters */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 16
      StackMap locals: jdk.vm.ci.meta.Value[] jdk.vm.ci.meta.Value[] int int jdk.vm.ci.meta.Value[] top int int jdk.vm.ci.meta.Value[]
      StackMap stack:
        12: aload 8
            iload 6
            aaload
            astore 5 /* p */
        start local 5 // jdk.vm.ci.meta.Value p
        13: .line 370
            aload 5 /* p */
            invokestatic jdk.vm.ci.code.ValueUtil.isStackSlot:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 15
        14: .line 371
            aload 4 /* newTemporaries */
            iload 3 /* index */
            iinc 3 /* index */ 1
            aload 5 /* p */
            aastore
        end local 5 // jdk.vm.ci.meta.Value p
        15: .line 369
      StackMap locals:
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        16: iload 6
            iload 7
            if_icmplt 12
        17: .line 374
            aload 4 /* newTemporaries */
            areturn
        end local 4 // jdk.vm.ci.meta.Value[] newTemporaries
        end local 3 // int index
        18: .line 376
      StackMap locals: jdk.vm.ci.meta.Value[] jdk.vm.ci.meta.Value[] int
      StackMap stack:
            aload 1 /* temporaries */
            areturn
        end local 2 // int extraTemps
        end local 1 // jdk.vm.ci.meta.Value[] temporaries
        end local 0 // jdk.vm.ci.meta.Value[] parameters
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   19     0      parameters  [Ljdk/vm/ci/meta/Value;
            0   19     1     temporaries  [Ljdk/vm/ci/meta/Value;
            1   19     2      extraTemps  I
            3    6     3               p  Ljdk/vm/ci/meta/Value;
           10   18     3           index  I
           11   18     4  newTemporaries  [Ljdk/vm/ci/meta/Value;
           13   15     5               p  Ljdk/vm/ci/meta/Value;
    MethodParameters:
             Name  Flags
      parameters   
      temporaries  

  public void verify();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
         0: .line 380
            return
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;

  public final java.lang.String toStringWithIdPrefix();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
         0: .line 383
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.id:I
            iconst_m1
            if_icmpeq 2
         1: .line 384
            ldc "%4d %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.id:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.toString:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
         2: .line 386
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "     "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
         0: .line 391
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.LIRInstructionClass.toString:(Lorg/graalvm/compiler/lir/LIRInstruction;)Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;

  public org.graalvm.compiler.lir.LIRInstructionClass<?> getLIRInstructionClass();
    descriptor: ()Lorg/graalvm/compiler/lir/LIRInstructionClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.LIRInstruction this
         0: .line 395
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.LIRInstruction.instructionClass:Lorg/graalvm/compiler/lir/LIRInstructionClass;
            areturn
        end local 0 // org.graalvm.compiler.lir.LIRInstruction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/LIRInstruction;
    Signature: ()Lorg/graalvm/compiler/lir/LIRInstructionClass<*>;
}
SourceFile: "LIRInstruction.java"
NestMembers:
  org.graalvm.compiler.lir.LIRInstruction$Alive  org.graalvm.compiler.lir.LIRInstruction$Def  org.graalvm.compiler.lir.LIRInstruction$OperandFlag  org.graalvm.compiler.lir.LIRInstruction$OperandMode  org.graalvm.compiler.lir.LIRInstruction$State  org.graalvm.compiler.lir.LIRInstruction$Temp  org.graalvm.compiler.lir.LIRInstruction$Use
InnerClasses:
  public abstract Alive = org.graalvm.compiler.lir.LIRInstruction$Alive of org.graalvm.compiler.lir.LIRInstruction
  public abstract Def = org.graalvm.compiler.lir.LIRInstruction$Def of org.graalvm.compiler.lir.LIRInstruction
  public final OperandFlag = org.graalvm.compiler.lir.LIRInstruction$OperandFlag of org.graalvm.compiler.lir.LIRInstruction
  public final OperandMode = org.graalvm.compiler.lir.LIRInstruction$OperandMode of org.graalvm.compiler.lir.LIRInstruction
  public abstract State = org.graalvm.compiler.lir.LIRInstruction$State of org.graalvm.compiler.lir.LIRInstruction
  public abstract Temp = org.graalvm.compiler.lir.LIRInstruction$Temp of org.graalvm.compiler.lir.LIRInstruction
  public abstract Use = org.graalvm.compiler.lir.LIRInstruction$Use of org.graalvm.compiler.lir.LIRInstruction