class org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$3 implements org.graalvm.compiler.lir.InstructionValueProcedure
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$3
  super_class: java.lang.Object
{
  final org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure this$1;
    descriptor: Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder$BlockClosure;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private final org.graalvm.compiler.lir.VirtualStackSlot val$targetValue;
    descriptor: Lorg/graalvm/compiler/lir/VirtualStackSlot;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final boolean val$hintAtDef;
    descriptor: Z
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final org.graalvm.compiler.lir.LIRInstruction val$op;
    descriptor: Lorg/graalvm/compiler/lir/LIRInstruction;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure, org.graalvm.compiler.lir.VirtualStackSlot, boolean, org.graalvm.compiler.lir.LIRInstruction);
    descriptor: (Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder$BlockClosure;Lorg/graalvm/compiler/lir/VirtualStackSlot;ZLorg/graalvm/compiler/lir/LIRInstruction;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$3 this
         0: .line 270
            aload 0 /* this */
            aload 1
            putfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$3.this$1:Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder$BlockClosure;
            aload 0 /* this */
            aload 2
            putfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$3.val$targetValue:Lorg/graalvm/compiler/lir/VirtualStackSlot;
            aload 0 /* this */
            iload 3
            putfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$3.val$hintAtDef:Z
            aload 0 /* this */
            aload 4
            putfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$3.val$op:Lorg/graalvm/compiler/lir/LIRInstruction;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$3 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder$BlockClosure$3;
    MethodParameters:
                 Name  Flags
      this$0           final
      val$targetValue  final
      val$hintAtDef    final
      val$op           final

  public jdk.vm.ci.meta.Value doValue(org.graalvm.compiler.lir.LIRInstruction, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet<org.graalvm.compiler.lir.LIRInstruction$OperandFlag>);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;)Ljdk/vm/ci/meta/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=5
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$3 this
        start local 1 // org.graalvm.compiler.lir.LIRInstruction instruction
        start local 2 // jdk.vm.ci.meta.Value registerHint
        start local 3 // org.graalvm.compiler.lir.LIRInstruction$OperandMode vaueMode
        start local 4 // java.util.EnumSet valueFlags
         0: .line 273
            aload 2 /* registerHint */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVirtualStackSlot:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 11
         1: .line 274
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$3.this$1:Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder$BlockClosure;
            invokestatic org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure.access$0:(Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder$BlockClosure;)Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder;
            aload 2 /* registerHint */
            checkcast org.graalvm.compiler.lir.VirtualStackSlot
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder.getOrCreateInterval:(Lorg/graalvm/compiler/lir/VirtualStackSlot;)Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
            astore 5 /* from */
        start local 5 // org.graalvm.compiler.lir.stackslotalloc.StackInterval from
         2: .line 275
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$3.this$1:Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder$BlockClosure;
            invokestatic org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure.access$0:(Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder$BlockClosure;)Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$3.val$targetValue:Lorg/graalvm/compiler/lir/VirtualStackSlot;
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder.getOrCreateInterval:(Lorg/graalvm/compiler/lir/VirtualStackSlot;)Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
            astore 6 /* to */
        start local 6 // org.graalvm.compiler.lir.stackslotalloc.StackInterval to
         3: .line 278
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$3.val$hintAtDef:Z
            ifeq 6
         4: .line 279
            aload 6 /* to */
            aload 5 /* from */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.StackInterval.setLocationHint:(Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;)V
         5: .line 280
            goto 7
         6: .line 281
      StackMap locals: org.graalvm.compiler.lir.stackslotalloc.StackInterval org.graalvm.compiler.lir.stackslotalloc.StackInterval
      StackMap stack:
            aload 5 /* from */
            aload 6 /* to */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.StackInterval.setLocationHint:(Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;)V
         7: .line 283
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$3.this$1:Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder$BlockClosure;
            invokestatic org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure.access$0:(Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder$BlockClosure;)Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder;
            getfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder.lir:Lorg/graalvm/compiler/lir/LIR;
            invokevirtual org.graalvm.compiler.lir.LIR.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 7 /* debug */
        start local 7 // org.graalvm.compiler.debug.DebugContext debug
         8: .line 284
            aload 7 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 10
         9: .line 285
            aload 7 /* debug */
            ldc "operation %s at opId %d: added hint from interval %s to %s"
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$3.val$op:Lorg/graalvm/compiler/lir/LIRInstruction;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$3.val$op:Lorg/graalvm/compiler/lir/LIRInstruction;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 5 /* from */
            aload 6 /* to */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 288
      StackMap locals: org.graalvm.compiler.debug.DebugContext
      StackMap stack:
            aload 2 /* registerHint */
            areturn
        end local 7 // org.graalvm.compiler.debug.DebugContext debug
        end local 6 // org.graalvm.compiler.lir.stackslotalloc.StackInterval to
        end local 5 // org.graalvm.compiler.lir.stackslotalloc.StackInterval from
        11: .line 290
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // java.util.EnumSet valueFlags
        end local 3 // org.graalvm.compiler.lir.LIRInstruction$OperandMode vaueMode
        end local 2 // jdk.vm.ci.meta.Value registerHint
        end local 1 // org.graalvm.compiler.lir.LIRInstruction instruction
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$3 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder$BlockClosure$3;
            0   12     1   instruction  Lorg/graalvm/compiler/lir/LIRInstruction;
            0   12     2  registerHint  Ljdk/vm/ci/meta/Value;
            0   12     3      vaueMode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            0   12     4    valueFlags  Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
            2   11     5          from  Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
            3   11     6            to  Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
            8   11     7         debug  Lorg/graalvm/compiler/debug/DebugContext;
    Signature: (Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;)Ljdk/vm/ci/meta/Value;
    MethodParameters:
              Name  Flags
      instruction   
      registerHint  
      vaueMode      
      valueFlags    
}
SourceFile: "FixPointIntervalBuilder.java"
EnclosingMethod: org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure.addRegisterHint:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/VirtualStackSlot;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;Z)V
NestHost: org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder
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 BlockClosure = org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure of org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder
  org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$3