class org.graalvm.compiler.lir.RedundantMoveElimination$Optimization$1OutputValueConsumer implements org.graalvm.compiler.lir.ValueConsumer
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.graalvm.compiler.lir.RedundantMoveElimination$Optimization$1OutputValueConsumer
  super_class: java.lang.Object
{
  int opValueNum;
    descriptor: I
    flags: (0x0000) 

  final org.graalvm.compiler.lir.RedundantMoveElimination$Optimization this$1;
    descriptor: Lorg/graalvm/compiler/lir/RedundantMoveElimination$Optimization;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private final int[] val$state;
    descriptor: [I
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.graalvm.compiler.lir.RedundantMoveElimination$Optimization, int, int[]);
    descriptor: (Lorg/graalvm/compiler/lir/RedundantMoveElimination$Optimization;I[I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.lir.RedundantMoveElimination$Optimization$1OutputValueConsumer this
        start local 2 // int opValueNum
         0: .line 415
            aload 0 /* this */
            aload 1
            putfield org.graalvm.compiler.lir.RedundantMoveElimination$Optimization$1OutputValueConsumer.this$1:Lorg/graalvm/compiler/lir/RedundantMoveElimination$Optimization;
            aload 0 /* this */
            aload 3
            putfield org.graalvm.compiler.lir.RedundantMoveElimination$Optimization$1OutputValueConsumer.val$state:[I
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 416
            aload 0 /* this */
            iload 2 /* opValueNum */
            putfield org.graalvm.compiler.lir.RedundantMoveElimination$Optimization$1OutputValueConsumer.opValueNum:I
         2: .line 417
            return
        end local 2 // int opValueNum
        end local 0 // org.graalvm.compiler.lir.RedundantMoveElimination$Optimization$1OutputValueConsumer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/graalvm/compiler/lir/RedundantMoveElimination$Optimization$1OutputValueConsumer;
            0    3     2  opValueNum  I
    MethodParameters:
            Name  Flags
      this$0      final
      opValueNum  
      val$state   final

  public void visitValue(jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet<org.graalvm.compiler.lir.LIRInstruction$OperandFlag>);
    descriptor: (Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.lir.RedundantMoveElimination$Optimization$1OutputValueConsumer this
        start local 1 // jdk.vm.ci.meta.Value operand
        start local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        start local 3 // java.util.EnumSet flags
         0: .line 421
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.RedundantMoveElimination$Optimization$1OutputValueConsumer.this$1:Lorg/graalvm/compiler/lir/RedundantMoveElimination$Optimization;
            aload 1 /* operand */
            invokevirtual org.graalvm.compiler.lir.RedundantMoveElimination$Optimization.getStateIdx:(Ljdk/vm/ci/meta/Value;)I
            istore 4 /* stateIdx */
        start local 4 // int stateIdx
         1: .line 422
            iload 4 /* stateIdx */
            iflt 6
         2: .line 426
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.RedundantMoveElimination$Optimization$1OutputValueConsumer.val$state:[I
            iload 4 /* stateIdx */
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.lir.RedundantMoveElimination$Optimization$1OutputValueConsumer.opValueNum:I
            dup_x1
            iconst_1
            iadd
            putfield org.graalvm.compiler.lir.RedundantMoveElimination$Optimization$1OutputValueConsumer.opValueNum:I
            aload 1 /* operand */
            invokestatic org.graalvm.compiler.core.common.LIRKind.isValue:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 3
            iconst_0
            goto 4
      StackMap locals: org.graalvm.compiler.lir.RedundantMoveElimination$Optimization$1OutputValueConsumer jdk.vm.ci.meta.Value org.graalvm.compiler.lir.LIRInstruction$OperandMode java.util.EnumSet int
      StackMap stack: int[] int int
         3: iconst_1
      StackMap locals: org.graalvm.compiler.lir.RedundantMoveElimination$Optimization$1OutputValueConsumer jdk.vm.ci.meta.Value org.graalvm.compiler.lir.LIRInstruction$OperandMode java.util.EnumSet int
      StackMap stack: int[] int int int
         4: invokestatic org.graalvm.compiler.lir.RedundantMoveElimination$Optimization.encodeValueNum:(IZ)I
            iastore
         5: .line 427
            ldc "set def %d for register %s(%d): %d"
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.RedundantMoveElimination$Optimization$1OutputValueConsumer.opValueNum:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* operand */
            iload 4 /* stateIdx */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.RedundantMoveElimination$Optimization$1OutputValueConsumer.val$state:[I
            iload 4 /* stateIdx */
            iaload
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 429
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int stateIdx
        end local 3 // java.util.EnumSet flags
        end local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        end local 1 // jdk.vm.ci.meta.Value operand
        end local 0 // org.graalvm.compiler.lir.RedundantMoveElimination$Optimization$1OutputValueConsumer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/graalvm/compiler/lir/RedundantMoveElimination$Optimization$1OutputValueConsumer;
            0    7     1   operand  Ljdk/vm/ci/meta/Value;
            0    7     2      mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            0    7     3     flags  Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
            1    7     4  stateIdx  I
    Signature: (Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;)V
    MethodParameters:
         Name  Flags
      operand  
      mode     
      flags    
}
SourceFile: "RedundantMoveElimination.java"
EnclosingMethod: org.graalvm.compiler.lir.RedundantMoveElimination$Optimization.updateState:([ILorg/graalvm/compiler/lir/LIRInstruction;I)I
NestHost: org.graalvm.compiler.lir.RedundantMoveElimination
InnerClasses:
  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
  private final Optimization = org.graalvm.compiler.lir.RedundantMoveElimination$Optimization of org.graalvm.compiler.lir.RedundantMoveElimination
  OutputValueConsumer = org.graalvm.compiler.lir.RedundantMoveElimination$Optimization$1OutputValueConsumer