final class org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure
  super_class: java.lang.Object
{
  private final java.util.BitSet currentSet;
    descriptor: Ljava/util/BitSet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  org.graalvm.compiler.lir.InstructionValueConsumer useConsumer;
    descriptor: Lorg/graalvm/compiler/lir/InstructionValueConsumer;
    flags: (0x0000) 

  org.graalvm.compiler.lir.InstructionValueConsumer defConsumer;
    descriptor: Lorg/graalvm/compiler/lir/InstructionValueConsumer;
    flags: (0x0000) 

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

  private void <init>(org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder, java.util.BitSet);
    descriptor: (Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder;Ljava/util/BitSet;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure this
        start local 2 // java.util.BitSet set
         0: .line 181
            aload 0 /* this */
            aload 1
            putfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure.this$0:Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 209
            aload 0 /* this */
            new org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$1
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$1.<init>:(Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder$BlockClosure;)V
            putfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure.useConsumer:Lorg/graalvm/compiler/lir/InstructionValueConsumer;
         2: .line 223
            aload 0 /* this */
            new org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$2
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$2.<init>:(Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder$BlockClosure;)V
            putfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure.defConsumer:Lorg/graalvm/compiler/lir/InstructionValueConsumer;
         3: .line 182
            aload 0 /* this */
            aload 2 /* set */
            putfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure.currentSet:Ljava/util/BitSet;
         4: .line 183
            return
        end local 2 // java.util.BitSet set
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder$BlockClosure;
            0    5     2   set  Ljava/util/BitSet;
    MethodParameters:
        Name  Flags
      this$0  final
      set     

  private java.util.BitSet getCurrentSet();
    descriptor: ()Ljava/util/BitSet;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure this
         0: .line 186
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure.currentSet:Ljava/util/BitSet;
            areturn
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder$BlockClosure;

  private void processInstructionBottomUp(org.graalvm.compiler.lir.LIRInstruction);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure this
        start local 1 // org.graalvm.compiler.lir.LIRInstruction op
         0: .line 195
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: ldc "handle op %d, %s"
            aload 1 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
            aload 1 /* op */
            invokestatic org.graalvm.compiler.debug.Debug.logAndIndent:(Ljava/lang/String;ILjava/lang/Object;)Lorg/graalvm/compiler/debug/Indent;
            astore 4 /* indent */
        start local 4 // org.graalvm.compiler.debug.Indent indent
         2: .line 197
            aload 1 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure.defConsumer:Lorg/graalvm/compiler/lir/InstructionValueConsumer;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachTemp:(Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
         3: .line 198
            aload 1 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure.defConsumer:Lorg/graalvm/compiler/lir/InstructionValueConsumer;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachOutput:(Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
         4: .line 201
            aload 1 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure.useConsumer:Lorg/graalvm/compiler/lir/InstructionValueConsumer;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachAlive:(Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
         5: .line 202
            aload 1 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure.useConsumer:Lorg/graalvm/compiler/lir/InstructionValueConsumer;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachState:(Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
         6: .line 205
            aload 1 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure.useConsumer:Lorg/graalvm/compiler/lir/InstructionValueConsumer;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachInput:(Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
         7: .line 206
            aload 4 /* indent */
            ifnull 13
            aload 4 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
            goto 13
      StackMap locals: org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure org.graalvm.compiler.lir.LIRInstruction java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
      StackMap stack: java.lang.Throwable
         8: astore 2
            aload 4 /* indent */
            ifnull 9
            aload 4 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
        end local 4 // org.graalvm.compiler.debug.Indent indent
      StackMap locals:
      StackMap stack:
         9: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 3
            aload 2
            ifnonnull 11
            aload 3
            astore 2
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 2
            aload 3
            if_acmpeq 12
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 2
            athrow
        13: .line 207
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.lir.LIRInstruction op
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder$BlockClosure;
            0   14     1      op  Lorg/graalvm/compiler/lir/LIRInstruction;
            2    9     4  indent  Lorg/graalvm/compiler/debug/Indent;
      Exception table:
        from    to  target  type
           2     7       8  any
           1    10      10  any
    MethodParameters:
      Name  Flags
      op    

  private void addUse(org.graalvm.compiler.lir.VirtualStackSlot, org.graalvm.compiler.lir.LIRInstruction, java.util.EnumSet<org.graalvm.compiler.lir.LIRInstruction$OperandFlag>);
    descriptor: (Lorg/graalvm/compiler/lir/VirtualStackSlot;Lorg/graalvm/compiler/lir/LIRInstruction;Ljava/util/EnumSet;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure this
        start local 1 // org.graalvm.compiler.lir.VirtualStackSlot stackSlot
        start local 2 // org.graalvm.compiler.lir.LIRInstruction inst
        start local 3 // java.util.EnumSet flags
         0: .line 239
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure.this$0:Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder;
            aload 1 /* stackSlot */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder.getOrCreateInterval:(Lorg/graalvm/compiler/lir/VirtualStackSlot;)Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
            astore 4 /* interval */
        start local 4 // org.graalvm.compiler.lir.stackslotalloc.StackInterval interval
         1: .line 240
            aload 3 /* flags */
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.UNINITIALIZED:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 7
         2: .line 243
            invokestatic org.graalvm.compiler.debug.Debug.isCountEnabled:()Z
            ifeq 4
            aload 4 /* interval */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.StackInterval.from:()I
            ifne 3
            aload 4 /* interval */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.StackInterval.to:()I
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure.this$0:Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder;
            getfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder.maxOpId:I
            if_icmpeq 4
         3: .line 244
      StackMap locals: org.graalvm.compiler.lir.stackslotalloc.StackInterval
      StackMap stack:
            getstatic org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder.uninitializedSlots:Lorg/graalvm/compiler/debug/DebugCounter;
            invokeinterface org.graalvm.compiler.debug.DebugCounter.increment:()V
         4: .line 246
      StackMap locals:
      StackMap stack:
            aload 4 /* interval */
            iconst_0
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.StackInterval.addFrom:(I)V
         5: .line 247
            aload 4 /* interval */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure.this$0:Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder;
            getfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder.maxOpId:I
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.StackInterval.addTo:(I)V
         6: .line 248
            goto 8
         7: .line 249
      StackMap locals:
      StackMap stack:
            aload 4 /* interval */
            aload 2 /* inst */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.StackInterval.addTo:(I)V
         8: .line 251
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.lir.stackslotalloc.StackInterval interval
        end local 3 // java.util.EnumSet flags
        end local 2 // org.graalvm.compiler.lir.LIRInstruction inst
        end local 1 // org.graalvm.compiler.lir.VirtualStackSlot stackSlot
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder$BlockClosure;
            0    9     1  stackSlot  Lorg/graalvm/compiler/lir/VirtualStackSlot;
            0    9     2       inst  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    9     3      flags  Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
            1    9     4   interval  Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
    Signature: (Lorg/graalvm/compiler/lir/VirtualStackSlot;Lorg/graalvm/compiler/lir/LIRInstruction;Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;)V
    MethodParameters:
           Name  Flags
      stackSlot  
      inst       
      flags      

  private void addDef(org.graalvm.compiler.lir.VirtualStackSlot, org.graalvm.compiler.lir.LIRInstruction);
    descriptor: (Lorg/graalvm/compiler/lir/VirtualStackSlot;Lorg/graalvm/compiler/lir/LIRInstruction;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure this
        start local 1 // org.graalvm.compiler.lir.VirtualStackSlot stackSlot
        start local 2 // org.graalvm.compiler.lir.LIRInstruction inst
         0: .line 254
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure.this$0:Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder;
            aload 1 /* stackSlot */
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder.getOrCreateInterval:(Lorg/graalvm/compiler/lir/VirtualStackSlot;)Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
            astore 3 /* interval */
        start local 3 // org.graalvm.compiler.lir.stackslotalloc.StackInterval interval
         1: .line 255
            aload 3 /* interval */
            aload 2 /* inst */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
            invokevirtual org.graalvm.compiler.lir.stackslotalloc.StackInterval.addFrom:(I)V
         2: .line 256
            return
        end local 3 // org.graalvm.compiler.lir.stackslotalloc.StackInterval interval
        end local 2 // org.graalvm.compiler.lir.LIRInstruction inst
        end local 1 // org.graalvm.compiler.lir.VirtualStackSlot stackSlot
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder$BlockClosure;
            0    3     1  stackSlot  Lorg/graalvm/compiler/lir/VirtualStackSlot;
            0    3     2       inst  Lorg/graalvm/compiler/lir/LIRInstruction;
            1    3     3   interval  Lorg/graalvm/compiler/lir/stackslotalloc/StackInterval;
    MethodParameters:
           Name  Flags
      stackSlot  
      inst       

  void addRegisterHint(org.graalvm.compiler.lir.LIRInstruction, org.graalvm.compiler.lir.VirtualStackSlot, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet<org.graalvm.compiler.lir.LIRInstruction$OperandFlag>, );
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/VirtualStackSlot;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;Z)V
    flags: (0x0000) 
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure this
        start local 1 // org.graalvm.compiler.lir.LIRInstruction op
        start local 2 // org.graalvm.compiler.lir.VirtualStackSlot targetValue
        start local 3 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        start local 4 // java.util.EnumSet flags
        start local 5 // boolean hintAtDef
         0: .line 259
            aload 4 /* flags */
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.HINT:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 260
            new org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$3
            dup
            aload 0 /* this */
            aload 2 /* targetValue */
            iload 5 /* hintAtDef */
            aload 1 /* op */
            invokespecial org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$3.<init>:(Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder$BlockClosure;Lorg/graalvm/compiler/lir/VirtualStackSlot;ZLorg/graalvm/compiler/lir/LIRInstruction;)V
            astore 6 /* proc */
        start local 6 // org.graalvm.compiler.lir.InstructionValueProcedure proc
         2: .line 282
            aload 1 /* op */
            aload 2 /* targetValue */
            aload 3 /* mode */
            aload 6 /* proc */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachRegisterHint:(Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Lorg/graalvm/compiler/lir/InstructionValueProcedure;)Ljdk/vm/ci/meta/Value;
            pop
        end local 6 // org.graalvm.compiler.lir.InstructionValueProcedure proc
         3: .line 284
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean hintAtDef
        end local 4 // java.util.EnumSet flags
        end local 3 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        end local 2 // org.graalvm.compiler.lir.VirtualStackSlot targetValue
        end local 1 // org.graalvm.compiler.lir.LIRInstruction op
        end local 0 // org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder$BlockClosure;
            0    4     1           op  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    4     2  targetValue  Lorg/graalvm/compiler/lir/VirtualStackSlot;
            0    4     3         mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            0    4     4        flags  Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
            0    4     5    hintAtDef  Z
            2    3     6         proc  Lorg/graalvm/compiler/lir/InstructionValueProcedure;
    Signature: (Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/VirtualStackSlot;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;Z)V
    MethodParameters:
             Name  Flags
      op           final
      targetValue  
      mode         
      flags        
      hintAtDef    final

  static org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder access$0(org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure);
    descriptor: (Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder$BlockClosure;)Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 178
            aload 0
            getfield org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure.this$0:Lorg/graalvm/compiler/lir/stackslotalloc/FixPointIntervalBuilder;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "FixPointIntervalBuilder.java"
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$1
  org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$2
  org.graalvm.compiler.lir.stackslotalloc.FixPointIntervalBuilder$BlockClosure$3