class org.graalvm.compiler.lir.alloc.lsra.LinearScanIntervalDumper implements org.graalvm.compiler.lir.debug.IntervalDumper
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.graalvm.compiler.lir.alloc.lsra.LinearScanIntervalDumper
  super_class: java.lang.Object
{
  private final org.graalvm.compiler.lir.alloc.lsra.Interval[] intervals;
    descriptor: [Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    flags: (0x0012) ACC_PRIVATE, 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=1, locals=0, args_size=0
         0: .line 33
            ldc Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanIntervalDumper;
            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.alloc.lsra.LinearScanIntervalDumper.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(org.graalvm.compiler.lir.alloc.lsra.Interval[]);
    descriptor: ([Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanIntervalDumper this
        start local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval[] intervals
         0: .line 36
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 37
            aload 0 /* this */
            aload 1 /* intervals */
            putfield org.graalvm.compiler.lir.alloc.lsra.LinearScanIntervalDumper.intervals:[Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
         2: .line 38
            return
        end local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval[] intervals
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanIntervalDumper this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanIntervalDumper;
            0    3     1  intervals  [Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    MethodParameters:
           Name  Flags
      intervals  

  public void visitIntervals(org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor);
    descriptor: (Lorg/graalvm/compiler/lir/debug/IntervalDumper$IntervalVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanIntervalDumper this
        start local 1 // org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor visitor
         0: .line 42
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanIntervalDumper.intervals:[Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanIntervalDumper org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor top int int org.graalvm.compiler.lir.alloc.lsra.Interval[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* interval */
        start local 2 // org.graalvm.compiler.lir.alloc.lsra.Interval interval
         2: .line 43
            aload 2 /* interval */
            ifnull 4
         3: .line 44
            aload 2 /* interval */
            aload 1 /* visitor */
            invokestatic org.graalvm.compiler.lir.alloc.lsra.LinearScanIntervalDumper.printInterval:(Lorg/graalvm/compiler/lir/alloc/lsra/Interval;Lorg/graalvm/compiler/lir/debug/IntervalDumper$IntervalVisitor;)V
        end local 2 // org.graalvm.compiler.lir.alloc.lsra.Interval interval
         4: .line 42
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 1
         6: .line 47
            return
        end local 1 // org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor visitor
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanIntervalDumper this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanIntervalDumper;
            0    7     1   visitor  Lorg/graalvm/compiler/lir/debug/IntervalDumper$IntervalVisitor;
            2    4     2  interval  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    MethodParameters:
         Name  Flags
      visitor  

  private static void printInterval(org.graalvm.compiler.lir.alloc.lsra.Interval, org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/lsra/Interval;Lorg/graalvm/compiler/lir/debug/IntervalDumper$IntervalVisitor;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval interval
        start local 1 // org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor visitor
         0: .line 50
            aload 0 /* interval */
            iconst_0
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.locationHint:(Z)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            ifnull 1
            aload 0 /* interval */
            iconst_0
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.locationHint:(Z)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operand:Ljdk/vm/ci/meta/AllocatableValue;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: jdk.vm.ci.meta.AllocatableValue
         2: astore 2 /* hint */
        start local 2 // jdk.vm.ci.meta.Value hint
         3: .line 51
            aload 0 /* interval */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operand:Ljdk/vm/ci/meta/AllocatableValue;
            astore 3 /* operand */
        start local 3 // jdk.vm.ci.meta.AllocatableValue operand
         4: .line 52
            aload 3 /* operand */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 5
            ldc "fixed"
            goto 6
      StackMap locals: jdk.vm.ci.meta.Value jdk.vm.ci.meta.AllocatableValue
      StackMap stack:
         5: aload 3 /* operand */
            invokevirtual jdk.vm.ci.meta.AllocatableValue.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         6: astore 4 /* type */
        start local 4 // java.lang.String type
         7: .line 53
            aload 1 /* visitor */
            aload 0 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operand:Ljdk/vm/ci/meta/AllocatableValue;
            aload 3 /* operand */
            aload 0 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.location:()Ljdk/vm/ci/meta/AllocatableValue;
            aload 2 /* hint */
            aload 4 /* type */
            invokeinterface org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor.visitIntervalStart:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljava/lang/String;)V
         8: .line 56
            aload 0 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.first:()Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            astore 5 /* cur */
        start local 5 // org.graalvm.compiler.lir.alloc.lsra.Range cur
         9: .line 57
            goto 13
        10: .line 58
      StackMap locals: java.lang.String org.graalvm.compiler.lir.alloc.lsra.Range
      StackMap stack:
            aload 1 /* visitor */
            aload 5 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.from:I
            aload 5 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.to:I
            invokeinterface org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor.visitRange:(II)V
        11: .line 59
            aload 5 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.next:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            astore 5 /* cur */
        12: .line 60
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanIntervalDumper.$assertionsDisabled:Z
            ifne 13
            aload 5 /* cur */
            ifnonnull 13
            new java.lang.AssertionError
            dup
            ldc "range list not closed with range sentinel"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        13: .line 57
      StackMap locals:
      StackMap stack:
            aload 5 /* cur */
            getstatic org.graalvm.compiler.lir.alloc.lsra.Range.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            if_acmpne 10
        14: .line 64
            iconst_m1
            istore 6 /* prev */
        start local 6 // int prev
        15: .line 65
            aload 0 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            astore 7 /* usePosList */
        start local 7 // org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList usePosList
        16: .line 66
            aload 7 /* usePosList */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.size:()I
            iconst_1
            isub
            istore 8 /* i */
        start local 8 // int i
        17: goto 22
        18: .line 67
      StackMap locals: int org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList int
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanIntervalDumper.$assertionsDisabled:Z
            ifne 19
            iload 6 /* prev */
            aload 7 /* usePosList */
            iload 8 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.usePos:(I)I
            if_icmplt 19
            new java.lang.AssertionError
            dup
            ldc "use positions not sorted"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        19: .line 68
      StackMap locals:
      StackMap stack:
            aload 1 /* visitor */
            aload 7 /* usePosList */
            iload 8 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.usePos:(I)I
            aload 7 /* usePosList */
            iload 8 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.registerPriority:(I)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
            invokeinterface org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor.visitUsePos:(ILjava/lang/Object;)V
        20: .line 69
            aload 7 /* usePosList */
            iload 8 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.usePos:(I)I
            istore 6 /* prev */
        21: .line 66
            iinc 8 /* i */ -1
      StackMap locals:
      StackMap stack:
        22: iload 8 /* i */
            ifge 18
        end local 8 // int i
        23: .line 72
            aload 1 /* visitor */
            aload 0 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillState:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
            invokeinterface org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor.visitIntervalEnd:(Ljava/lang/Object;)V
        24: .line 73
            return
        end local 7 // org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList usePosList
        end local 6 // int prev
        end local 5 // org.graalvm.compiler.lir.alloc.lsra.Range cur
        end local 4 // java.lang.String type
        end local 3 // jdk.vm.ci.meta.AllocatableValue operand
        end local 2 // jdk.vm.ci.meta.Value hint
        end local 1 // org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor visitor
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval interval
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   25     0    interval  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0   25     1     visitor  Lorg/graalvm/compiler/lir/debug/IntervalDumper$IntervalVisitor;
            3   25     2        hint  Ljdk/vm/ci/meta/Value;
            4   25     3     operand  Ljdk/vm/ci/meta/AllocatableValue;
            7   25     4        type  Ljava/lang/String;
            9   25     5         cur  Lorg/graalvm/compiler/lir/alloc/lsra/Range;
           15   25     6        prev  I
           16   25     7  usePosList  Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
           17   23     8           i  I
    MethodParameters:
          Name  Flags
      interval  
      visitor   
}
SourceFile: "LinearScanIntervalDumper.java"
InnerClasses:
  public final RegisterPriority = org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority of org.graalvm.compiler.lir.alloc.lsra.Interval
  public final SpillState = org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState of org.graalvm.compiler.lir.alloc.lsra.Interval
  public final UsePosList = org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList of org.graalvm.compiler.lir.alloc.lsra.Interval
  public abstract IntervalVisitor = org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor of org.graalvm.compiler.lir.debug.IntervalDumper