public final class org.graalvm.compiler.lir.alloc.lsra.Interval
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.lir.alloc.lsra.Interval
  super_class: java.lang.Object
{
  public final jdk.vm.ci.meta.AllocatableValue operand;
    descriptor: Ljdk/vm/ci/meta/AllocatableValue;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final int operandNumber;
    descriptor: I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  private jdk.vm.ci.meta.AllocatableValue location;
    descriptor: Ljdk/vm/ci/meta/AllocatableValue;
    flags: (0x0002) ACC_PRIVATE

  private jdk.vm.ci.meta.AllocatableValue spillSlot;
    descriptor: Ljdk/vm/ci/meta/AllocatableValue;
    flags: (0x0002) ACC_PRIVATE

  private jdk.vm.ci.meta.ValueKind<?> kind;
    descriptor: Ljdk/vm/ci/meta/ValueKind;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljdk/vm/ci/meta/ValueKind<*>;

  private org.graalvm.compiler.lir.alloc.lsra.Range first;
    descriptor: Lorg/graalvm/compiler/lir/alloc/lsra/Range;
    flags: (0x0002) ACC_PRIVATE

  private org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList usePosList;
    descriptor: Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
    flags: (0x0002) ACC_PRIVATE

  private org.graalvm.compiler.lir.alloc.lsra.Range current;
    descriptor: Lorg/graalvm/compiler/lir/alloc/lsra/Range;
    flags: (0x0002) ACC_PRIVATE

  org.graalvm.compiler.lir.alloc.lsra.Interval next;
    descriptor: Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    flags: (0x0000) 

  org.graalvm.compiler.lir.alloc.lsra.Interval$State state;
    descriptor: Lorg/graalvm/compiler/lir/alloc/lsra/Interval$State;
    flags: (0x0000) 

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

  private org.graalvm.compiler.lir.alloc.lsra.Interval splitParent;
    descriptor: Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<org.graalvm.compiler.lir.alloc.lsra.Interval> splitChildren;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/graalvm/compiler/lir/alloc/lsra/Interval;>;

  private org.graalvm.compiler.lir.alloc.lsra.Interval currentSplitChild;
    descriptor: Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    flags: (0x0002) ACC_PRIVATE

  private boolean insertMoveWhenActivated;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState spillState;
    descriptor: Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
    flags: (0x0002) ACC_PRIVATE

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

  private org.graalvm.compiler.lir.alloc.lsra.Interval locationHint;
    descriptor: Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    flags: (0x0002) ACC_PRIVATE

  private jdk.vm.ci.meta.Constant materializedValue;
    descriptor: Ljdk/vm/ci/meta/Constant;
    flags: (0x0002) ACC_PRIVATE

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

  static final org.graalvm.compiler.lir.alloc.lsra.Interval EndMarker;
    descriptor: Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    flags: (0x0018) 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=4, locals=0, args_size=0
         0: .line 56
            ldc Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            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.Interval.$assertionsDisabled:Z
         3: .line 731
            new org.graalvm.compiler.lir.alloc.lsra.Interval
            dup
            getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
            iconst_m1
            invokespecial org.graalvm.compiler.lir.alloc.lsra.Interval.<init>:(Ljdk/vm/ci/meta/AllocatableValue;I)V
            putstatic org.graalvm.compiler.lir.alloc.lsra.Interval.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void assignLocation(jdk.vm.ci.meta.AllocatableValue);
    descriptor: (Ljdk/vm/ci/meta/AllocatableValue;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // jdk.vm.ci.meta.AllocatableValue newLocation
         0: .line 557
            aload 1 /* newLocation */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 5
         1: .line 558
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.location:Ljdk/vm/ci/meta/AllocatableValue;
            ifnull 2
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "cannot re-assign location for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 559
      StackMap locals:
      StackMap stack:
            aload 1 /* newLocation */
            invokevirtual jdk.vm.ci.meta.AllocatableValue.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            getstatic org.graalvm.compiler.core.common.LIRKind.Illegal:Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 12
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.kind:Ljdk/vm/ci/meta/ValueKind;
            getstatic org.graalvm.compiler.core.common.LIRKind.Illegal:Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 12
         3: .line 560
            aload 0 /* this */
            aload 1 /* newLocation */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.kind:Ljdk/vm/ci/meta/ValueKind;
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.location:Ljdk/vm/ci/meta/AllocatableValue;
         4: .line 561
            return
         5: .line 563
      StackMap locals:
      StackMap stack:
            aload 1 /* newLocation */
            invokestatic jdk.vm.ci.code.ValueUtil.isIllegal:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 7
         6: .line 564
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 12
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.canMaterialize:()Z
            ifne 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 566
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 9
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.location:Ljdk/vm/ci/meta/AllocatableValue;
            ifnull 9
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.location:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifne 9
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.location:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVirtualStackSlot:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 8
            aload 1 /* newLocation */
            invokestatic jdk.vm.ci.code.ValueUtil.isStackSlot:(Ljdk/vm/ci/meta/Value;)Z
            ifne 9
      StackMap locals:
      StackMap stack:
         8: new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "cannot re-assign location for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 567
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 10
            aload 1 /* newLocation */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isStackSlotValue:(Ljdk/vm/ci/meta/Value;)Z
            ifne 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 568
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 11
            aload 1 /* newLocation */
            invokevirtual jdk.vm.ci.meta.AllocatableValue.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            getstatic org.graalvm.compiler.core.common.LIRKind.Illegal:Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 569
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 12
            aload 1 /* newLocation */
            invokevirtual jdk.vm.ci.meta.AllocatableValue.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.kind:Ljdk/vm/ci/meta/ValueKind;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 571
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* newLocation */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.location:Ljdk/vm/ci/meta/AllocatableValue;
        13: .line 572
            return
        end local 1 // jdk.vm.ci.meta.AllocatableValue newLocation
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0   14     1  newLocation  Ljdk/vm/ci/meta/AllocatableValue;
    MethodParameters:
             Name  Flags
      newLocation  

  public jdk.vm.ci.meta.AllocatableValue location();
    descriptor: ()Ljdk/vm/ci/meta/AllocatableValue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 579
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.location:Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  public jdk.vm.ci.meta.ValueKind<?> kind();
    descriptor: ()Ljdk/vm/ci/meta/ValueKind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 583
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operand:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 1
            new java.lang.AssertionError
            dup
            ldc "cannot access type for fixed interval"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 584
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.kind:Ljdk/vm/ci/meta/ValueKind;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    Signature: ()Ljdk/vm/ci/meta/ValueKind<*>;

  public void setKind(jdk.vm.ci.meta.ValueKind<?>);
    descriptor: (Ljdk/vm/ci/meta/ValueKind;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // jdk.vm.ci.meta.ValueKind kind
         0: .line 588
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operand:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.kind:()Ljdk/vm/ci/meta/ValueKind;
            getstatic org.graalvm.compiler.core.common.LIRKind.Illegal:Lorg/graalvm/compiler/core/common/LIRKind;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.kind:()Ljdk/vm/ci/meta/ValueKind;
            aload 1 /* kind */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "overwriting existing type"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 589
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* kind */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.kind:Ljdk/vm/ci/meta/ValueKind;
         2: .line 590
            return
        end local 1 // jdk.vm.ci.meta.ValueKind kind
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0    3     1  kind  Ljdk/vm/ci/meta/ValueKind<*>;
    Signature: (Ljdk/vm/ci/meta/ValueKind<*>;)V
    MethodParameters:
      Name  Flags
      kind  

  public org.graalvm.compiler.lir.alloc.lsra.Range first();
    descriptor: ()Lorg/graalvm/compiler/lir/alloc/lsra/Range;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 593
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  public int from();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 597
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.from:I
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  int to();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 601
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.cachedTo:I
            iconst_m1
            if_icmpne 2
         1: .line 602
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.calcTo:()I
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.cachedTo:I
         2: .line 604
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.cachedTo:I
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.calcTo:()I
            if_icmpeq 3
            new java.lang.AssertionError
            dup
            ldc "invalid cached value"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 605
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.cachedTo:I
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  int numUsePositions();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 609
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.size:()I
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  public void setLocationHint(org.graalvm.compiler.lir.alloc.lsra.Interval);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval interval
         0: .line 613
            aload 0 /* this */
            aload 1 /* interval */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.locationHint:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
         1: .line 614
            return
        end local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval interval
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0    2     1  interval  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    MethodParameters:
          Name  Flags
      interval  

  public boolean isSplitParent();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 617
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            aload 0 /* this */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  boolean isSplitChild();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 621
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            aload 0 /* this */
            if_acmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  public org.graalvm.compiler.lir.alloc.lsra.Interval splitParent();
    descriptor: ()Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 628
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.isSplitParent:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "not a split parent: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 629
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  public jdk.vm.ci.meta.AllocatableValue spillSlot();
    descriptor: ()Ljdk/vm/ci/meta/AllocatableValue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 636
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.spillSlot:Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  public void setSpillSlot(jdk.vm.ci.meta.AllocatableValue);
    descriptor: (Ljdk/vm/ci/meta/AllocatableValue;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // jdk.vm.ci.meta.AllocatableValue slot
         0: .line 640
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 1
            aload 1 /* slot */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isStackSlotValue:(Ljdk/vm/ci/meta/Value;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 641
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.spillSlot:Ljdk/vm/ci/meta/AllocatableValue;
            ifnull 3
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.spillSlot:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVirtualStackSlot:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 2
            aload 1 /* slot */
            invokestatic jdk.vm.ci.code.ValueUtil.isStackSlot:(Ljdk/vm/ci/meta/Value;)Z
            ifne 3
      StackMap locals:
      StackMap stack:
         2: new java.lang.AssertionError
            dup
            ldc "connot overwrite existing spill slot"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 642
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            aload 1 /* slot */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.spillSlot:Ljdk/vm/ci/meta/AllocatableValue;
         4: .line 643
            return
        end local 1 // jdk.vm.ci.meta.AllocatableValue slot
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0    5     1  slot  Ljdk/vm/ci/meta/AllocatableValue;
    MethodParameters:
      Name  Flags
      slot  

  org.graalvm.compiler.lir.alloc.lsra.Interval currentSplitChild();
    descriptor: ()Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 646
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.currentSplitChild:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  void makeCurrentSplitChild();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 650
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            aload 0 /* this */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.currentSplitChild:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
         1: .line 651
            return
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  boolean insertMoveWhenActivated();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 654
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.insertMoveWhenActivated:Z
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  void setInsertMoveWhenActivated(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // boolean b
         0: .line 658
            aload 0 /* this */
            iload 1 /* b */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.insertMoveWhenActivated:Z
         1: .line 659
            return
        end local 1 // boolean b
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0    2     1     b  Z
    MethodParameters:
      Name  Flags
      b     

  public org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState spillState();
    descriptor: ()Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 663
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.spillState:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  public int spillDefinitionPos();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 667
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.spillDefinitionPos:I
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  public void setSpillState(org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState state
         0: .line 671
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 1
            aload 1 /* state */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.ordinal:()I
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillState:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.ordinal:()I
            if_icmpge 1
            new java.lang.AssertionError
            dup
            ldc "state cannot decrease"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 672
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            aload 1 /* state */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.spillState:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
         2: .line 673
            return
        end local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState state
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0    3     1  state  Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
    MethodParameters:
       Name  Flags
      state  

  public void setSpillDefinitionPos(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // int pos
         0: .line 676
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillState:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.SpillInDominator:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
            if_acmpeq 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillState:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.NoDefinitionFound:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
            if_acmpeq 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillDefinitionPos:()I
            iconst_m1
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            ldc "cannot set the position twice"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 677
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            iload 1 /* pos */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.spillDefinitionPos:I
         2: .line 678
            return
        end local 1 // int pos
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0    3     1   pos  I
    MethodParameters:
      Name  Flags
      pos   

  public boolean alwaysInMemory();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 682
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.ALWAYS_IN_MEMORY:Ljava/util/EnumSet;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillState:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.canMaterialize:()Z
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  void removeFirstUsePos();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 686
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.removeLowestUsePos:()V
         1: .line 687
            return
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  boolean intersects(org.graalvm.compiler.lir.alloc.lsra.Interval);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval i
         0: .line 691
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            aload 1 /* i */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Range.intersects:(Lorg/graalvm/compiler/lir/alloc/lsra/Range;)Z
            ireturn
        end local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval i
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0    1     1     i  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    MethodParameters:
      Name  Flags
      i     

  int intersectsAt(org.graalvm.compiler.lir.alloc.lsra.Interval);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)I
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval i
         0: .line 695
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            aload 1 /* i */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Range.intersectsAt:(Lorg/graalvm/compiler/lir/alloc/lsra/Range;)I
            ireturn
        end local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval i
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0    1     1     i  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    MethodParameters:
      Name  Flags
      i     

  void rewindRange();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 700
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.current:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
         1: .line 701
            return
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  void nextRange();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 704
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            if_acmpne 1
            new java.lang.AssertionError
            dup
            ldc "not allowed on sentinel"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 705
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.current:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.next:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.current:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
         2: .line 706
            return
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  int currentFrom();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 709
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.current:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.from:I
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  int currentTo();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 713
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.current:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.to:I
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  boolean currentAtEnd();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 717
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.current:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getstatic org.graalvm.compiler.lir.alloc.lsra.Range.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  boolean currentIntersects(org.graalvm.compiler.lir.alloc.lsra.Interval);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval it
         0: .line 721
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.current:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            aload 1 /* it */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.current:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Range.intersects:(Lorg/graalvm/compiler/lir/alloc/lsra/Range;)Z
            ireturn
        end local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval it
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0    1     1    it  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    MethodParameters:
      Name  Flags
      it    

  int currentIntersectsAt(org.graalvm.compiler.lir.alloc.lsra.Interval);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)I
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval it
         0: .line 725
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.current:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            aload 1 /* it */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.current:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Range.intersectsAt:(Lorg/graalvm/compiler/lir/alloc/lsra/Range;)I
            ireturn
        end local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval it
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0    1     1    it  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    MethodParameters:
      Name  Flags
      it    

  void <init>(jdk.vm.ci.meta.AllocatableValue, int);
    descriptor: (Ljdk/vm/ci/meta/AllocatableValue;I)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // jdk.vm.ci.meta.AllocatableValue operand
        start local 2 // int operandNumber
         0: .line 733
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 517
            aload 0 /* this */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
         2: .line 734
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 3
            aload 1 /* operand */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 735
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval jdk.vm.ci.meta.AllocatableValue int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* operand */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.operand:Ljdk/vm/ci/meta/AllocatableValue;
         4: .line 736
            aload 0 /* this */
            iload 2 /* operandNumber */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.operandNumber:I
         5: .line 737
            aload 1 /* operand */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 8
         6: .line 738
            aload 0 /* this */
            aload 1 /* operand */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.location:Ljdk/vm/ci/meta/AllocatableValue;
         7: .line 739
            goto 9
         8: .line 740
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 9
            aload 1 /* operand */
            invokestatic jdk.vm.ci.code.ValueUtil.isIllegal:(Ljdk/vm/ci/meta/Value;)Z
            ifne 9
            aload 1 /* operand */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
            ifne 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 742
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.core.common.LIRKind.Illegal:Lorg/graalvm/compiler/core/common/LIRKind;
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.kind:Ljdk/vm/ci/meta/ValueKind;
        10: .line 743
            aload 0 /* this */
            getstatic org.graalvm.compiler.lir.alloc.lsra.Range.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
        11: .line 744
            aload 0 /* this */
            new org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList
            dup
            iconst_4
            invokespecial org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.<init>:(I)V
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
        12: .line 745
            aload 0 /* this */
            getstatic org.graalvm.compiler.lir.alloc.lsra.Range.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.current:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
        13: .line 746
            aload 0 /* this */
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.next:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
        14: .line 747
            aload 0 /* this */
            iconst_m1
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.cachedTo:I
        15: .line 748
            aload 0 /* this */
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.NoDefinitionFound:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.spillState:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
        16: .line 749
            aload 0 /* this */
            iconst_m1
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.spillDefinitionPos:I
        17: .line 750
            aload 0 /* this */
            aload 0 /* this */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
        18: .line 751
            aload 0 /* this */
            aload 0 /* this */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.currentSplitChild:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
        19: .line 752
            return
        end local 2 // int operandNumber
        end local 1 // jdk.vm.ci.meta.AllocatableValue operand
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0   20     1        operand  Ljdk/vm/ci/meta/AllocatableValue;
            0   20     2  operandNumber  I
    MethodParameters:
               Name  Flags
      operand        
      operandNumber  

  public void addMaterializationValue(jdk.vm.ci.meta.Constant);
    descriptor: (Ljdk/vm/ci/meta/Constant;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // jdk.vm.ci.meta.Constant value
         0: .line 758
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.numMaterializationValuesAdded:I
            ifne 3
         1: .line 759
            aload 0 /* this */
            aload 1 /* value */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.materializedValue:Ljdk/vm/ci/meta/Constant;
         2: .line 760
            goto 4
         3: .line 762
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.materializedValue:Ljdk/vm/ci/meta/Constant;
         4: .line 764
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.numMaterializationValuesAdded:I
            iconst_1
            iadd
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.numMaterializationValuesAdded:I
         5: .line 765
            return
        end local 1 // jdk.vm.ci.meta.Constant value
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0    6     1  value  Ljdk/vm/ci/meta/Constant;
    MethodParameters:
       Name  Flags
      value  

  public boolean canMaterialize();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 772
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.getMaterializedValue:()Ljdk/vm/ci/meta/Constant;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  public jdk.vm.ci.meta.Constant getMaterializedValue();
    descriptor: ()Ljdk/vm/ci/meta/Constant;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 779
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.materializedValue:Ljdk/vm/ci/meta/Constant;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  int calcTo();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 783
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getstatic org.graalvm.compiler.lir.alloc.lsra.Range.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            if_acmpne 1
            new java.lang.AssertionError
            dup
            ldc "interval has no range"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 785
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            astore 1 /* r */
        start local 1 // org.graalvm.compiler.lir.alloc.lsra.Range r
         2: .line 786
            goto 4
         3: .line 787
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Range
      StackMap stack:
            aload 1 /* r */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.next:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            astore 1 /* r */
         4: .line 786
      StackMap locals:
      StackMap stack:
            aload 1 /* r */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.next:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getstatic org.graalvm.compiler.lir.alloc.lsra.Range.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            if_acmpne 3
         5: .line 789
            aload 1 /* r */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.to:I
            ireturn
        end local 1 // org.graalvm.compiler.lir.alloc.lsra.Range r
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            2    6     1     r  Lorg/graalvm/compiler/lir/alloc/lsra/Range;

  boolean checkSplitChildren();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 794
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 23
         1: .line 795
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.isSplitParent:()Z
            ifne 2
            new java.lang.AssertionError
            dup
            ldc "only split parents can have children"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 797
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         3: goto 22
         4: .line 798
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            iload 1 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.lsra.Interval
            astore 2 /* i1 */
        start local 2 // org.graalvm.compiler.lir.alloc.lsra.Interval i1
         5: .line 800
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 6
            aload 2 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            aload 0 /* this */
            if_acmpeq 6
            new java.lang.AssertionError
            dup
            ldc "not a split child of this interval"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 801
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 7
            aload 2 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.kind:()Ljdk/vm/ci/meta/ValueKind;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.kind:()Ljdk/vm/ci/meta/ValueKind;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            ldc "must be equal for all split children"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 802
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 9
            aload 2 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillSlot:()Ljdk/vm/ci/meta/AllocatableValue;
            ifnonnull 8
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.spillSlot:Ljdk/vm/ci/meta/AllocatableValue;
            ifnull 9
      StackMap locals:
      StackMap stack:
         8: aload 2 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillSlot:()Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillSlot:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual jdk.vm.ci.meta.AllocatableValue.equals:(Ljava/lang/Object;)Z
            ifne 9
            new java.lang.AssertionError
            dup
            ldc "must be equal for all split children"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 804
      StackMap locals:
      StackMap stack:
            iload 1 /* i */
            iconst_1
            iadd
            istore 3 /* j */
        start local 3 // int j
        10: goto 20
        11: .line 805
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            iload 3 /* j */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.lsra.Interval
            astore 4 /* i2 */
        start local 4 // org.graalvm.compiler.lir.alloc.lsra.Interval i2
        12: .line 807
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 13
            aload 2 /* i1 */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operand:Ljdk/vm/ci/meta/AllocatableValue;
            aload 4 /* i2 */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operand:Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual jdk.vm.ci.meta.AllocatableValue.equals:(Ljava/lang/Object;)Z
            ifeq 13
            new java.lang.AssertionError
            dup
            ldc "same register number"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        13: .line 809
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval
      StackMap stack:
            aload 2 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
            aload 4 /* i2 */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
            if_icmpge 16
        14: .line 810
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 19
            aload 2 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.to:()I
            aload 4 /* i2 */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
            if_icmpgt 15
            aload 2 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.to:()I
            aload 4 /* i2 */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.to:()I
            if_icmplt 19
      StackMap locals:
      StackMap stack:
        15: new java.lang.AssertionError
            dup
            ldc "intervals overlapping"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        16: .line 812
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 17
            aload 4 /* i2 */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
            aload 2 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
            if_icmplt 17
            new java.lang.AssertionError
            dup
            ldc "intervals start at same opId"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        17: .line 813
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 19
            aload 4 /* i2 */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.to:()I
            aload 2 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
            if_icmpgt 18
            aload 4 /* i2 */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.to:()I
            aload 2 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.to:()I
            if_icmplt 19
      StackMap locals:
      StackMap stack:
        18: new java.lang.AssertionError
            dup
            ldc "intervals overlapping"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 4 // org.graalvm.compiler.lir.alloc.lsra.Interval i2
        19: .line 804
      StackMap locals:
      StackMap stack:
            iinc 3 /* j */ 1
      StackMap locals:
      StackMap stack:
        20: iload 3 /* j */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 11
        end local 3 // int j
        end local 2 // org.graalvm.compiler.lir.alloc.lsra.Interval i1
        21: .line 797
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 1 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 4
        end local 1 // int i
        23: .line 819
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   24     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            3   23     1     i  I
            5   21     2    i1  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
           10   21     3     j  I
           12   19     4    i2  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  public org.graalvm.compiler.lir.alloc.lsra.Interval locationHint(boolean);
    descriptor: (Z)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // boolean searchSplitChild
         0: .line 823
            iload 1 /* searchSplitChild */
            ifne 2
         1: .line 824
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.locationHint:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            areturn
         2: .line 827
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.locationHint:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            ifnull 15
         3: .line 828
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.locationHint:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.isSplitParent:()Z
            ifne 4
            new java.lang.AssertionError
            dup
            ldc "ony split parents are valid hint registers"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 830
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.locationHint:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.location:Ljdk/vm/ci/meta/AllocatableValue;
            ifnull 6
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.locationHint:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.location:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 6
         5: .line 831
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.locationHint:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            areturn
         6: .line 832
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.locationHint:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 15
         7: .line 834
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.locationHint:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 2 /* len */
        start local 2 // int len
         8: .line 835
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         9: goto 14
        10: .line 836
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.locationHint:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.lsra.Interval
            astore 4 /* interval */
        start local 4 // org.graalvm.compiler.lir.alloc.lsra.Interval interval
        11: .line 837
            aload 4 /* interval */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.location:Ljdk/vm/ci/meta/AllocatableValue;
            ifnull 13
            aload 4 /* interval */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.location:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 13
        12: .line 838
            aload 4 /* interval */
            areturn
        end local 4 // org.graalvm.compiler.lir.alloc.lsra.Interval interval
        13: .line 835
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 3 /* i */
            iload 2 /* len */
            if_icmplt 10
        end local 3 // int i
        end local 2 // int len
        15: .line 845
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // boolean searchSplitChild
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   16     0              this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0   16     1  searchSplitChild  Z
            8   15     2               len  I
            9   15     3                 i  I
           11   13     4          interval  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    MethodParameters:
                  Name  Flags
      searchSplitChild  

  org.graalvm.compiler.lir.alloc.lsra.Interval getSplitChildAtOpId(int, org.graalvm.compiler.lir.LIRInstruction$OperandMode, org.graalvm.compiler.lir.alloc.lsra.LinearScan);
    descriptor: (ILorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    flags: (0x0000) 
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // int opId
        start local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        start local 3 // org.graalvm.compiler.lir.alloc.lsra.LinearScan allocator
         0: .line 849
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.isSplitParent:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "can only be called for split parents"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 850
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 2
            iload 1 /* opId */
            ifge 2
            new java.lang.AssertionError
            dup
            ldc "invalid opId (method cannot be called for spill moves)"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 852
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 5
         3: .line 853
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            iload 1 /* opId */
            aload 2 /* mode */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.covers:(ILorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " does not cover "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* opId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 854
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
         5: .line 856
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* result */
        start local 4 // org.graalvm.compiler.lir.alloc.lsra.Interval result
         6: .line 857
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 5 /* len */
        start local 5 // int len
         7: .line 860
            aload 2 /* mode */
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandMode.DEF:Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            if_acmpne 8
            iconst_0
            goto 9
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval int
      StackMap stack:
         8: iconst_1
      StackMap locals:
      StackMap stack: int
         9: istore 6 /* toOffset */
        start local 6 // int toOffset
        10: .line 863
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        11: goto 20
        12: .line 864
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            iload 7 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.lsra.Interval
            astore 8 /* cur */
        start local 8 // org.graalvm.compiler.lir.alloc.lsra.Interval cur
        13: .line 865
            aload 8 /* cur */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
            iload 1 /* opId */
            if_icmpgt 19
            iload 1 /* opId */
            aload 8 /* cur */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.to:()I
            iload 6 /* toOffset */
            iadd
            if_icmpge 19
        14: .line 866
            iload 7 /* i */
            ifle 17
        15: .line 869
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            iload 7 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.lsra.Interval
            aconst_null
            invokestatic org.graalvm.compiler.core.common.util.Util.atPutGrow:(Ljava/util/List;ILjava/lang/Object;Ljava/lang/Object;)V
        16: .line 870
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            iconst_0
            aload 8 /* cur */
            aconst_null
            invokestatic org.graalvm.compiler.core.common.util.Util.atPutGrow:(Ljava/util/List;ILjava/lang/Object;Ljava/lang/Object;)V
        17: .line 874
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval
      StackMap stack:
            aload 8 /* cur */
            astore 4 /* result */
        18: .line 875
            goto 21
        end local 8 // org.graalvm.compiler.lir.alloc.lsra.Interval cur
        19: .line 863
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 7 /* i */
            iload 5 /* len */
            if_icmplt 12
        21: .line 879
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 22
            aload 0 /* this */
            aload 4 /* result */
            iload 1 /* opId */
            aload 3 /* allocator */
            iload 6 /* toOffset */
            aload 2 /* mode */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.checkSplitChild:(Lorg/graalvm/compiler/lir/alloc/lsra/Interval;ILorg/graalvm/compiler/lir/alloc/lsra/LinearScan;ILorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Z
            ifne 22
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        22: .line 880
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            areturn
        end local 7 // int i
        end local 6 // int toOffset
        end local 5 // int len
        end local 4 // org.graalvm.compiler.lir.alloc.lsra.Interval result
        end local 3 // org.graalvm.compiler.lir.alloc.lsra.LinearScan allocator
        end local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        end local 1 // int opId
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   23     0       this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0   23     1       opId  I
            0   23     2       mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            0   23     3  allocator  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
            6   23     4     result  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            7   23     5        len  I
           10   23     6   toOffset  I
           11   23     7          i  I
           13   19     8        cur  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    MethodParameters:
           Name  Flags
      opId       
      mode       
      allocator  

  private boolean checkSplitChild(org.graalvm.compiler.lir.alloc.lsra.Interval, int, org.graalvm.compiler.lir.alloc.lsra.LinearScan, int, org.graalvm.compiler.lir.LIRInstruction$OperandMode);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/lsra/Interval;ILorg/graalvm/compiler/lir/alloc/lsra/LinearScan;ILorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=9, args_size=6
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval result
        start local 2 // int opId
        start local 3 // org.graalvm.compiler.lir.alloc.lsra.LinearScan allocator
        start local 4 // int toOffset
        start local 5 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
         0: .line 885
            aload 1 /* result */
            ifnonnull 7
         1: .line 887
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.toString:()Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " has no child at "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* opId */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            astore 6 /* msg */
        start local 6 // java.lang.StringBuilder msg
         2: .line 888
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 6
         3: .line 889
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.lsra.Interval
            astore 7 /* firstChild */
        start local 7 // org.graalvm.compiler.lir.alloc.lsra.Interval firstChild
         4: .line 890
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.lsra.Interval
            astore 8 /* lastChild */
        start local 8 // org.graalvm.compiler.lir.alloc.lsra.Interval lastChild
         5: .line 891
            aload 6 /* msg */
            ldc " (first = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* firstChild */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", last = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* lastChild */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 8 // org.graalvm.compiler.lir.alloc.lsra.Interval lastChild
        end local 7 // org.graalvm.compiler.lir.alloc.lsra.Interval firstChild
         6: .line 893
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            new org.graalvm.compiler.debug.GraalError
            dup
            ldc "Linear Scan Error: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* msg */
            aastore
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 6 // java.lang.StringBuilder msg
         7: .line 896
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 15
         8: .line 897
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 14
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval org.graalvm.compiler.lir.alloc.lsra.Interval int org.graalvm.compiler.lir.alloc.lsra.LinearScan int org.graalvm.compiler.lir.LIRInstruction$OperandMode top java.util.Iterator
      StackMap stack:
         9: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.lsra.Interval
            astore 6 /* interval */
        start local 6 // org.graalvm.compiler.lir.alloc.lsra.Interval interval
        10: .line 898
            aload 6 /* interval */
            aload 1 /* result */
            if_acmpeq 14
            aload 6 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
            iload 2 /* opId */
            if_icmpgt 14
            iload 2 /* opId */
            aload 6 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.to:()I
            iload 4 /* toOffset */
            iadd
            if_icmpge 14
        11: .line 903
            new org.graalvm.compiler.debug.GraalError
            dup
            ldc "two valid result intervals found for opId %d: %d and %d\n%s\n"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* opId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 1 /* result */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operandNumber:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 6 /* interval */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operandNumber:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
        12: .line 904
            aload 1 /* result */
            aload 3 /* allocator */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.logString:(Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;)Ljava/lang/String;
            aastore
            dup
            iconst_4
            aload 6 /* interval */
            aload 3 /* allocator */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.logString:(Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;)Ljava/lang/String;
        13: .line 903
            aastore
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 6 // org.graalvm.compiler.lir.alloc.lsra.Interval interval
        14: .line 897
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        15: .line 908
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval org.graalvm.compiler.lir.alloc.lsra.Interval int org.graalvm.compiler.lir.alloc.lsra.LinearScan int org.graalvm.compiler.lir.LIRInstruction$OperandMode
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 16
            aload 1 /* result */
            iload 2 /* opId */
            aload 5 /* mode */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.covers:(ILorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Z
            ifne 16
            new java.lang.AssertionError
            dup
            ldc "opId not covered by interval"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        16: .line 909
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 5 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        end local 4 // int toOffset
        end local 3 // org.graalvm.compiler.lir.alloc.lsra.LinearScan allocator
        end local 2 // int opId
        end local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval result
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0   17     1      result  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0   17     2        opId  I
            0   17     3   allocator  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
            0   17     4    toOffset  I
            0   17     5        mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            2    7     6         msg  Ljava/lang/StringBuilder;
            4    6     7  firstChild  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            5    6     8   lastChild  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
           10   14     6    interval  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    MethodParameters:
           Name  Flags
      result     
      opId       
      allocator  
      toOffset   
      mode       

  org.graalvm.compiler.lir.alloc.lsra.Interval getIntervalCoveringOpId(int);
    descriptor: (I)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // int opId
         0: .line 914
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 1
            iload 1 /* opId */
            ifge 1
            new java.lang.AssertionError
            dup
            ldc "invalid opId"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 915
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 2
            iload 1 /* opId */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.to:()I
            if_icmplt 2
            new java.lang.AssertionError
            dup
            ldc "can only look into the past"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 917
      StackMap locals:
      StackMap stack:
            iload 1 /* opId */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
            if_icmplt 4
         3: .line 918
            aload 0 /* this */
            areturn
         4: .line 921
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            astore 2 /* parent */
        start local 2 // org.graalvm.compiler.lir.alloc.lsra.Interval parent
         5: .line 922
            aconst_null
            astore 3 /* result */
        start local 3 // org.graalvm.compiler.lir.alloc.lsra.Interval result
         6: .line 924
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 7
            aload 2 /* parent */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 7
            new java.lang.AssertionError
            dup
            ldc "no split children available"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 925
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval org.graalvm.compiler.lir.alloc.lsra.Interval
      StackMap stack:
            aload 2 /* parent */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 4 /* len */
        start local 4 // int len
         8: .line 927
            iload 4 /* len */
            iconst_1
            isub
            istore 5 /* i */
        start local 5 // int i
         9: goto 15
        10: .line 928
      StackMap locals: int int
      StackMap stack:
            aload 2 /* parent */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.lsra.Interval
            astore 6 /* cur */
        start local 6 // org.graalvm.compiler.lir.alloc.lsra.Interval cur
        11: .line 929
            aload 6 /* cur */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
            iload 1 /* opId */
            if_icmpgt 14
            iload 1 /* opId */
            aload 6 /* cur */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.to:()I
            if_icmpge 14
        12: .line 930
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 13
            aload 3 /* result */
            ifnull 13
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "covered by multiple split children "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* result */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* cur */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        13: .line 931
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval
      StackMap stack:
            aload 6 /* cur */
            astore 3 /* result */
        end local 6 // org.graalvm.compiler.lir.alloc.lsra.Interval cur
        14: .line 927
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ -1
      StackMap locals:
      StackMap stack:
        15: iload 5 /* i */
            ifge 10
        end local 5 // int i
        16: .line 935
            aload 3 /* result */
            areturn
        end local 4 // int len
        end local 3 // org.graalvm.compiler.lir.alloc.lsra.Interval result
        end local 2 // org.graalvm.compiler.lir.alloc.lsra.Interval parent
        end local 1 // int opId
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0    this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0   17     1    opId  I
            5   17     2  parent  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            6   17     3  result  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            8   17     4     len  I
            9   16     5       i  I
           11   14     6     cur  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    MethodParameters:
      Name  Flags
      opId  

  org.graalvm.compiler.lir.alloc.lsra.Interval getSplitChildBeforeOpId(int);
    descriptor: (I)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // int opId
         0: .line 940
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 1
            iload 1 /* opId */
            ifge 1
            new java.lang.AssertionError
            dup
            ldc "invalid opId"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 942
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            astore 2 /* parent */
        start local 2 // org.graalvm.compiler.lir.alloc.lsra.Interval parent
         2: .line 943
            aconst_null
            astore 3 /* result */
        start local 3 // org.graalvm.compiler.lir.alloc.lsra.Interval result
         3: .line 945
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 4
            aload 2 /* parent */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 4
            new java.lang.AssertionError
            dup
            ldc "no split children available"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 946
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval org.graalvm.compiler.lir.alloc.lsra.Interval
      StackMap stack:
            aload 2 /* parent */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 4 /* len */
        start local 4 // int len
         5: .line 948
            iload 4 /* len */
            iconst_1
            isub
            istore 5 /* i */
        start local 5 // int i
         6: goto 11
         7: .line 949
      StackMap locals: int int
      StackMap stack:
            aload 2 /* parent */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.lsra.Interval
            astore 6 /* cur */
        start local 6 // org.graalvm.compiler.lir.alloc.lsra.Interval cur
         8: .line 950
            aload 6 /* cur */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.to:()I
            iload 1 /* opId */
            if_icmpgt 10
            aload 3 /* result */
            ifnull 9
            aload 3 /* result */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.to:()I
            aload 6 /* cur */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.to:()I
            if_icmpge 10
         9: .line 951
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval
      StackMap stack:
            aload 6 /* cur */
            astore 3 /* result */
        end local 6 // org.graalvm.compiler.lir.alloc.lsra.Interval cur
        10: .line 948
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ -1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            ifge 7
        end local 5 // int i
        12: .line 955
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 13
            aload 3 /* result */
            ifnonnull 13
            new java.lang.AssertionError
            dup
            ldc "no split child found"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        13: .line 956
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 4 // int len
        end local 3 // org.graalvm.compiler.lir.alloc.lsra.Interval result
        end local 2 // org.graalvm.compiler.lir.alloc.lsra.Interval parent
        end local 1 // int opId
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0   14     1    opId  I
            2   14     2  parent  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            3   14     3  result  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            5   14     4     len  I
            6   12     5       i  I
            8   10     6     cur  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    MethodParameters:
      Name  Flags
      opId  

  boolean splitChildCovers(int, org.graalvm.compiler.lir.LIRInstruction$OperandMode);
    descriptor: (ILorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // int opId
        start local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
         0: .line 961
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.isSplitParent:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "can only be called for split parents"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 962
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 2
            iload 1 /* opId */
            ifge 2
            new java.lang.AssertionError
            dup
            ldc "invalid opId (method can not be called for spill moves)"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 964
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 4
         3: .line 966
            aload 0 /* this */
            iload 1 /* opId */
            aload 2 /* mode */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.covers:(ILorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Z
            ireturn
         4: .line 970
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 3 /* len */
        start local 3 // int len
         5: .line 971
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 11
         7: .line 972
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.lsra.Interval
            astore 5 /* cur */
        start local 5 // org.graalvm.compiler.lir.alloc.lsra.Interval cur
         8: .line 973
            aload 5 /* cur */
            iload 1 /* opId */
            aload 2 /* mode */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.covers:(ILorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Z
            ifeq 10
         9: .line 974
            iconst_1
            ireturn
        end local 5 // org.graalvm.compiler.lir.alloc.lsra.Interval cur
        10: .line 971
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            iload 3 /* len */
            if_icmplt 7
        end local 4 // int i
        12: .line 977
            iconst_0
            ireturn
        end local 3 // int len
        end local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        end local 1 // int opId
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0   13     1  opId  I
            0   13     2  mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            5   13     3   len  I
            6   12     4     i  I
            8   10     5   cur  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    MethodParameters:
      Name  Flags
      opId  
      mode  

  private org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority adaptPriority(org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority priority
         0: .line 987
            aload 1 /* priority */
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.ShouldHaveRegister:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
            if_acmpne 2
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.canMaterialize:()Z
            ifeq 2
         1: .line 988
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.MustHaveRegister:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
            areturn
         2: .line 990
      StackMap locals:
      StackMap stack:
            aload 1 /* priority */
            areturn
        end local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority priority
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0    3     1  priority  Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
    MethodParameters:
          Name  Flags
      priority  

  int firstUsage(org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;)I
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority minRegisterPriority
         0: .line 995
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operand:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "cannot access use positions for fixed intervals"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 997
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.size:()I
            iconst_1
            isub
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 998
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            iload 2 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.registerPriority:(I)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.adaptPriority:(Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
            astore 3 /* registerPriority */
        start local 3 // org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority registerPriority
         4: .line 999
            aload 3 /* registerPriority */
            aload 1 /* minRegisterPriority */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.greaterEqual:(Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;)Z
            ifeq 6
         5: .line 1000
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            iload 2 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.usePos:(I)I
            ireturn
        end local 3 // org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority registerPriority
         6: .line 997
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ -1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            ifge 3
        end local 2 // int i
         8: .line 1003
            ldc 2147483647
            ireturn
        end local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority minRegisterPriority
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    9     0                 this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0    9     1  minRegisterPriority  Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
            2    8     2                    i  I
            4    6     3     registerPriority  Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
    MethodParameters:
                     Name  Flags
      minRegisterPriority  

  int nextUsage(org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority, int);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;I)I
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority minRegisterPriority
        start local 2 // int from
         0: .line 1007
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operand:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "cannot access use positions for fixed intervals"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 1009
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.size:()I
            iconst_1
            isub
            istore 3 /* i */
        start local 3 // int i
         2: goto 7
         3: .line 1010
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.usePos:(I)I
            istore 4 /* usePos */
        start local 4 // int usePos
         4: .line 1011
            iload 4 /* usePos */
            iload 2 /* from */
            if_icmplt 6
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.registerPriority:(I)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.adaptPriority:(Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
            aload 1 /* minRegisterPriority */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.greaterEqual:(Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;)Z
            ifeq 6
         5: .line 1012
            iload 4 /* usePos */
            ireturn
        end local 4 // int usePos
         6: .line 1009
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            ifge 3
        end local 3 // int i
         8: .line 1015
            ldc 2147483647
            ireturn
        end local 2 // int from
        end local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority minRegisterPriority
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    9     0                 this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0    9     1  minRegisterPriority  Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
            0    9     2                 from  I
            2    8     3                    i  I
            4    6     4               usePos  I
    MethodParameters:
                     Name  Flags
      minRegisterPriority  
      from                 

  int nextUsageExact(org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority, int);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;I)I
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority exactRegisterPriority
        start local 2 // int from
         0: .line 1019
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operand:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "cannot access use positions for fixed intervals"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 1021
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.size:()I
            iconst_1
            isub
            istore 3 /* i */
        start local 3 // int i
         2: goto 7
         3: .line 1022
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.usePos:(I)I
            istore 4 /* usePos */
        start local 4 // int usePos
         4: .line 1023
            iload 4 /* usePos */
            iload 2 /* from */
            if_icmplt 6
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.registerPriority:(I)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.adaptPriority:(Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
            aload 1 /* exactRegisterPriority */
            if_acmpne 6
         5: .line 1024
            iload 4 /* usePos */
            ireturn
        end local 4 // int usePos
         6: .line 1021
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            ifge 3
        end local 3 // int i
         8: .line 1027
            ldc 2147483647
            ireturn
        end local 2 // int from
        end local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority exactRegisterPriority
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    9     0                   this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0    9     1  exactRegisterPriority  Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
            0    9     2                   from  I
            2    8     3                      i  I
            4    6     4                 usePos  I
    MethodParameters:
                       Name  Flags
      exactRegisterPriority  
      from                   

  int previousUsage(org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority, int);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;I)I
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority minRegisterPriority
        start local 2 // int from
         0: .line 1031
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operand:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "cannot access use positions for fixed intervals"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 1033
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 3 /* prev */
        start local 3 // int prev
         2: .line 1034
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.size:()I
            iconst_1
            isub
            istore 4 /* i */
        start local 4 // int i
         3: goto 10
         4: .line 1035
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            iload 4 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.usePos:(I)I
            istore 5 /* usePos */
        start local 5 // int usePos
         5: .line 1036
            iload 5 /* usePos */
            iload 2 /* from */
            if_icmple 7
         6: .line 1037
            iload 3 /* prev */
            ireturn
         7: .line 1039
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            iload 4 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.registerPriority:(I)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.adaptPriority:(Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
            aload 1 /* minRegisterPriority */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.greaterEqual:(Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;)Z
            ifeq 9
         8: .line 1040
            iload 5 /* usePos */
            istore 3 /* prev */
        end local 5 // int usePos
         9: .line 1034
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            ifge 4
        end local 4 // int i
        11: .line 1043
            iload 3 /* prev */
            ireturn
        end local 3 // int prev
        end local 2 // int from
        end local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority minRegisterPriority
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   12     0                 this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0   12     1  minRegisterPriority  Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
            0   12     2                 from  I
            2   12     3                 prev  I
            3   11     4                    i  I
            5    9     5               usePos  I
    MethodParameters:
                     Name  Flags
      minRegisterPriority  
      from                 

  public void addUsePos(int, org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority);
    descriptor: (ILorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // int pos
        start local 2 // org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority registerPriority
         0: .line 1047
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            iload 1 /* pos */
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandMode.USE:Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.covers:(ILorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "use position %d not covered by live range of interval %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* pos */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 1050
      StackMap locals:
      StackMap stack:
            aload 2 /* registerPriority */
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.None:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
            if_acmpeq 17
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operand:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 17
         2: .line 1051
            getstatic org.graalvm.compiler.core.common.GraalOptions.DetailedAsserts:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 10
         3: .line 1052
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 1053
      StackMap locals: int
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 6
            iload 1 /* pos */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.usePos:(I)I
            if_icmple 6
            new java.lang.AssertionError
            dup
            ldc "already added a use-position with lower position"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 1054
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            ifle 8
         7: .line 1055
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 8
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.usePos:(I)I
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            iload 3 /* i */
            iconst_1
            isub
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.usePos:(I)I
            if_icmplt 8
            new java.lang.AssertionError
            dup
            ldc "not sorted descending"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 1052
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.size:()I
            if_icmplt 5
        end local 3 // int i
        10: .line 1062
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.size:()I
            istore 3 /* len */
        start local 3 // int len
        11: .line 1063
            iload 3 /* len */
            ifeq 12
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            iload 3 /* len */
            iconst_1
            isub
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.usePos:(I)I
            iload 1 /* pos */
            if_icmple 14
        12: .line 1064
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            iload 1 /* pos */
            aload 2 /* registerPriority */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.add:(ILorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;)V
        13: .line 1065
            goto 17
      StackMap locals:
      StackMap stack:
        14: aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            iload 3 /* len */
            iconst_1
            isub
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.registerPriority:(I)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
            aload 2 /* registerPriority */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.lessThan:(Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;)Z
            ifeq 17
        15: .line 1066
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 16
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            iload 3 /* len */
            iconst_1
            isub
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.usePos:(I)I
            iload 1 /* pos */
            if_icmpeq 16
            new java.lang.AssertionError
            dup
            ldc "list not sorted correctly"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        16: .line 1067
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            iload 3 /* len */
            iconst_1
            isub
            aload 2 /* registerPriority */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.setRegisterPriority:(ILorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;)V
        end local 3 // int len
        17: .line 1070
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority registerPriority
        end local 1 // int pos
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0              this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0   18     1               pos  I
            0   18     2  registerPriority  Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
            4   10     3                 i  I
           11   17     3               len  I
    MethodParameters:
                  Name  Flags
      pos               
      registerPriority  

  public void addRange(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // int from
        start local 2 // int to
         0: .line 1073
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 1
            iload 1 /* from */
            iload 2 /* to */
            if_icmplt 1
            new java.lang.AssertionError
            dup
            ldc "invalid range"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 1074
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.first:()Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getstatic org.graalvm.compiler.lir.alloc.lsra.Range.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            if_acmpeq 2
            iload 2 /* to */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.first:()Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.next:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.from:I
            if_icmplt 2
            new java.lang.AssertionError
            dup
            ldc "not inserting at begin of interval"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 1075
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 3
            iload 1 /* from */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.first:()Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.to:I
            if_icmple 3
            new java.lang.AssertionError
            dup
            ldc "not inserting at begin of interval"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 1077
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.from:I
            iload 2 /* to */
            if_icmpgt 8
         4: .line 1078
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 5
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getstatic org.graalvm.compiler.lir.alloc.lsra.Range.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            if_acmpne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 1080
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            iload 1 /* from */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.first:()Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.from:I
            invokestatic java.lang.Math.min:(II)I
            putfield org.graalvm.compiler.lir.alloc.lsra.Range.from:I
         6: .line 1081
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            iload 2 /* to */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.first:()Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.to:I
            invokestatic java.lang.Math.max:(II)I
            putfield org.graalvm.compiler.lir.alloc.lsra.Range.to:I
         7: .line 1082
            goto 9
         8: .line 1084
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.graalvm.compiler.lir.alloc.lsra.Range
            dup
            iload 1 /* from */
            iload 2 /* to */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.first:()Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            invokespecial org.graalvm.compiler.lir.alloc.lsra.Range.<init>:(IILorg/graalvm/compiler/lir/alloc/lsra/Range;)V
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
         9: .line 1086
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int to
        end local 1 // int from
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0   10     1  from  I
            0   10     2    to  I
    MethodParameters:
      Name  Flags
      from  
      to    

  org.graalvm.compiler.lir.alloc.lsra.Interval newSplitChild(org.graalvm.compiler.lir.alloc.lsra.LinearScan);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // org.graalvm.compiler.lir.alloc.lsra.LinearScan allocator
         0: .line 1090
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            astore 2 /* parent */
        start local 2 // org.graalvm.compiler.lir.alloc.lsra.Interval parent
         1: .line 1091
            aload 1 /* allocator */
            aload 2 /* parent */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.createDerivedInterval:(Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            astore 3 /* result */
        start local 3 // org.graalvm.compiler.lir.alloc.lsra.Interval result
         2: .line 1092
            aload 3 /* result */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.kind:()Ljdk/vm/ci/meta/ValueKind;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.setKind:(Ljdk/vm/ci/meta/ValueKind;)V
         3: .line 1094
            aload 3 /* result */
            aload 2 /* parent */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
         4: .line 1095
            aload 3 /* result */
            aload 2 /* parent */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.setLocationHint:(Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)V
         5: .line 1098
            aload 2 /* parent */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 9
         6: .line 1099
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 7
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.isSplitParent:()Z
            ifne 7
            new java.lang.AssertionError
            dup
            ldc "list must be initialized at first split"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 1102
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval org.graalvm.compiler.lir.alloc.lsra.Interval
      StackMap stack:
            aload 2 /* parent */
            new java.util.ArrayList
            dup
            iconst_4
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
         8: .line 1103
            aload 2 /* parent */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            aload 0 /* this */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1105
      StackMap locals:
      StackMap stack:
            aload 2 /* parent */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            aload 3 /* result */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        10: .line 1107
            aload 3 /* result */
            areturn
        end local 3 // org.graalvm.compiler.lir.alloc.lsra.Interval result
        end local 2 // org.graalvm.compiler.lir.alloc.lsra.Interval parent
        end local 1 // org.graalvm.compiler.lir.alloc.lsra.LinearScan allocator
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0   11     1  allocator  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
            1   11     2     parent  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            2   11     3     result  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    MethodParameters:
           Name  Flags
      allocator  

  org.graalvm.compiler.lir.alloc.lsra.Interval split(int, org.graalvm.compiler.lir.alloc.lsra.LinearScan);
    descriptor: (ILorg/graalvm/compiler/lir/alloc/lsra/LinearScan;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    flags: (0x0000) 
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // int splitPos
        start local 2 // org.graalvm.compiler.lir.alloc.lsra.LinearScan allocator
         0: .line 1125
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operand:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "cannot split fixed intervals"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 1128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* allocator */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.newSplitChild:(Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            astore 3 /* result */
        start local 3 // org.graalvm.compiler.lir.alloc.lsra.Interval result
         2: .line 1131
            aconst_null
            astore 4 /* prev */
        start local 4 // org.graalvm.compiler.lir.alloc.lsra.Range prev
         3: .line 1132
            aload 0 /* this */
            getfield 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
         4: .line 1133
            goto 7
         5: .line 1134
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval org.graalvm.compiler.lir.alloc.lsra.Range org.graalvm.compiler.lir.alloc.lsra.Range
      StackMap stack:
            aload 5 /* cur */
            astore 4 /* prev */
         6: .line 1135
            aload 5 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.next:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            astore 5 /* cur */
         7: .line 1133
      StackMap locals:
      StackMap stack:
            aload 5 /* cur */
            getstatic org.graalvm.compiler.lir.alloc.lsra.Range.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            if_acmpeq 8
            aload 5 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.to:I
            iload 1 /* splitPos */
            if_icmple 5
         8: .line 1137
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 9
            aload 5 /* cur */
            getstatic org.graalvm.compiler.lir.alloc.lsra.Range.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            if_acmpne 9
            new java.lang.AssertionError
            dup
            ldc "split interval after end of last range"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 1139
      StackMap locals:
      StackMap stack:
            aload 5 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.from:I
            iload 1 /* splitPos */
            if_icmpge 14
        10: .line 1140
            aload 3 /* result */
            new org.graalvm.compiler.lir.alloc.lsra.Range
            dup
            iload 1 /* splitPos */
            aload 5 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.to:I
            aload 5 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.next:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            invokespecial org.graalvm.compiler.lir.alloc.lsra.Range.<init>:(IILorg/graalvm/compiler/lir/alloc/lsra/Range;)V
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
        11: .line 1141
            aload 5 /* cur */
            iload 1 /* splitPos */
            putfield org.graalvm.compiler.lir.alloc.lsra.Range.to:I
        12: .line 1142
            aload 5 /* cur */
            getstatic org.graalvm.compiler.lir.alloc.lsra.Range.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            putfield org.graalvm.compiler.lir.alloc.lsra.Range.next:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
        13: .line 1144
            goto 17
        14: .line 1145
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 15
            aload 4 /* prev */
            ifnonnull 15
            new java.lang.AssertionError
            dup
            ldc "split before start of first range"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        15: .line 1146
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            aload 5 /* cur */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
        16: .line 1147
            aload 4 /* prev */
            getstatic org.graalvm.compiler.lir.alloc.lsra.Range.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            putfield org.graalvm.compiler.lir.alloc.lsra.Range.next:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
        17: .line 1149
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            aload 3 /* result */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.current:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
        18: .line 1150
            aload 0 /* this */
            iconst_m1
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.cachedTo:I
        19: .line 1153
            aload 3 /* result */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            iload 1 /* splitPos */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.splitAt:(I)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
        20: .line 1155
            getstatic org.graalvm.compiler.core.common.GraalOptions.DetailedAsserts:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 31
        21: .line 1156
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        22: goto 25
        23: .line 1157
      StackMap locals: int
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 24
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            iload 6 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.usePos:(I)I
            iload 1 /* splitPos */
            if_icmplt 24
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        24: .line 1156
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 6 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.size:()I
            if_icmplt 23
        end local 6 // int i
        26: .line 1159
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        27: goto 30
        28: .line 1160
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 29
            aload 3 /* result */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            iload 6 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.usePos:(I)I
            iload 1 /* splitPos */
            if_icmpge 29
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        29: .line 1159
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 6 /* i */
            aload 3 /* result */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.size:()I
            if_icmplt 28
        end local 6 // int i
        31: .line 1163
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 5 // org.graalvm.compiler.lir.alloc.lsra.Range cur
        end local 4 // org.graalvm.compiler.lir.alloc.lsra.Range prev
        end local 3 // org.graalvm.compiler.lir.alloc.lsra.Interval result
        end local 2 // org.graalvm.compiler.lir.alloc.lsra.LinearScan allocator
        end local 1 // int splitPos
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   32     0       this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0   32     1   splitPos  I
            0   32     2  allocator  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
            2   32     3     result  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            3   32     4       prev  Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            4   32     5        cur  Lorg/graalvm/compiler/lir/alloc/lsra/Range;
           22   26     6          i  I
           27   31     6          i  I
    MethodParameters:
           Name  Flags
      splitPos   
      allocator  

  org.graalvm.compiler.lir.alloc.lsra.Interval splitFromStart(int, org.graalvm.compiler.lir.alloc.lsra.LinearScan);
    descriptor: (ILorg/graalvm/compiler/lir/alloc/lsra/LinearScan;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // int splitPos
        start local 2 // org.graalvm.compiler.lir.alloc.lsra.LinearScan allocator
         0: .line 1174
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operand:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "cannot split fixed intervals"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 1175
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 3
            iload 1 /* splitPos */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
            if_icmple 2
            iload 1 /* splitPos */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.to:()I
            if_icmplt 3
      StackMap locals:
      StackMap stack:
         2: new java.lang.AssertionError
            dup
            ldc "can only split inside interval"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 1176
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 5
            iload 1 /* splitPos */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.from:I
            if_icmple 4
            iload 1 /* splitPos */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.to:I
            if_icmple 5
      StackMap locals:
      StackMap stack:
         4: new java.lang.AssertionError
            dup
            ldc "can only split inside first range"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 1177
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 6
            aload 0 /* this */
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.None:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.firstUsage:(Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;)I
            iload 1 /* splitPos */
            if_icmpgt 6
            new java.lang.AssertionError
            dup
            ldc "can not split when use positions are present"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 1180
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* allocator */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.newSplitChild:(Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            astore 3 /* result */
        start local 3 // org.graalvm.compiler.lir.alloc.lsra.Interval result
         7: .line 1184
            aload 3 /* result */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.from:I
            iload 1 /* splitPos */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.addRange:(II)V
         8: .line 1186
            iload 1 /* splitPos */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.to:I
            if_icmpne 12
         9: .line 1187
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 10
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.next:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getstatic org.graalvm.compiler.lir.alloc.lsra.Range.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            if_acmpne 10
            new java.lang.AssertionError
            dup
            ldc "must not be at end"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 1188
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.next:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
        11: .line 1189
            goto 13
        12: .line 1190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            iload 1 /* splitPos */
            putfield org.graalvm.compiler.lir.alloc.lsra.Range.from:I
        13: .line 1193
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // org.graalvm.compiler.lir.alloc.lsra.Interval result
        end local 2 // org.graalvm.compiler.lir.alloc.lsra.LinearScan allocator
        end local 1 // int splitPos
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0   14     1   splitPos  I
            0   14     2  allocator  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
            7   14     3     result  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    MethodParameters:
           Name  Flags
      splitPos   
      allocator  

  boolean covers(int, org.graalvm.compiler.lir.LIRInstruction$OperandMode);
    descriptor: (ILorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // int opId
        start local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
         0: .line 1198
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            astore 3 /* cur */
        start local 3 // org.graalvm.compiler.lir.alloc.lsra.Range cur
         1: .line 1200
            goto 3
         2: .line 1201
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Range
      StackMap stack:
            aload 3 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.next:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            astore 3 /* cur */
         3: .line 1200
      StackMap locals:
      StackMap stack:
            aload 3 /* cur */
            getstatic org.graalvm.compiler.lir.alloc.lsra.Range.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            if_acmpeq 4
            aload 3 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.to:I
            iload 1 /* opId */
            if_icmplt 2
         4: .line 1203
      StackMap locals:
      StackMap stack:
            aload 3 /* cur */
            getstatic org.graalvm.compiler.lir.alloc.lsra.Range.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            if_acmpeq 11
         5: .line 1204
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 6
            aload 3 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.to:I
            aload 3 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.next:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.from:I
            if_icmpne 6
            new java.lang.AssertionError
            dup
            ldc "ranges not separated"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 1206
      StackMap locals:
      StackMap stack:
            aload 2 /* mode */
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandMode.DEF:Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            if_acmpne 9
         7: .line 1207
            aload 3 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.from:I
            iload 1 /* opId */
            if_icmpgt 8
            iload 1 /* opId */
            aload 3 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.to:I
            if_icmpge 8
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         8: iconst_0
            ireturn
         9: .line 1209
      StackMap locals:
      StackMap stack:
            aload 3 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.from:I
            iload 1 /* opId */
            if_icmpgt 10
            iload 1 /* opId */
            aload 3 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.to:I
            if_icmpgt 10
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        10: iconst_0
            ireturn
        11: .line 1212
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // org.graalvm.compiler.lir.alloc.lsra.Range cur
        end local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        end local 1 // int opId
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0   12     1  opId  I
            0   12     2  mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            1   12     3   cur  Lorg/graalvm/compiler/lir/alloc/lsra/Range;
    MethodParameters:
      Name  Flags
      opId  
      mode  

  boolean hasHoleBetween(int, int);
    descriptor: (II)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // int holeFrom
        start local 2 // int holeTo
         0: .line 1218
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 1
            iload 1 /* holeFrom */
            iload 2 /* holeTo */
            if_icmplt 1
            new java.lang.AssertionError
            dup
            ldc "check"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 1219
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
            iload 1 /* holeFrom */
            if_icmpgt 2
            iload 2 /* holeTo */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.to:()I
            if_icmple 3
      StackMap locals:
      StackMap stack:
         2: new java.lang.AssertionError
            dup
            ldc "index out of interval"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 1221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            astore 3 /* cur */
        start local 3 // org.graalvm.compiler.lir.alloc.lsra.Range cur
         4: .line 1222
            goto 13
         5: .line 1223
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Range
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 6
            aload 3 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.to:I
            aload 3 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.next:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.from:I
            if_icmplt 6
            new java.lang.AssertionError
            dup
            ldc "no space between ranges"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 1226
      StackMap locals:
      StackMap stack:
            iload 1 /* holeFrom */
            aload 3 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.from:I
            if_icmpge 8
         7: .line 1227
            iconst_1
            ireturn
         8: .line 1231
      StackMap locals:
      StackMap stack:
            iload 2 /* holeTo */
            aload 3 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.to:I
            if_icmpgt 10
         9: .line 1232
            iconst_0
            ireturn
        10: .line 1236
      StackMap locals:
      StackMap stack:
            iload 1 /* holeFrom */
            aload 3 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.to:I
            if_icmpgt 12
        11: .line 1237
            iconst_1
            ireturn
        12: .line 1242
      StackMap locals:
      StackMap stack:
            aload 3 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.next:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            astore 3 /* cur */
        13: .line 1222
      StackMap locals:
      StackMap stack:
            aload 3 /* cur */
            getstatic org.graalvm.compiler.lir.alloc.lsra.Range.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            if_acmpne 5
        14: .line 1245
            iconst_0
            ireturn
        end local 3 // org.graalvm.compiler.lir.alloc.lsra.Range cur
        end local 2 // int holeTo
        end local 1 // int holeFrom
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0   15     1  holeFrom  I
            0   15     2    holeTo  I
            4   15     3       cur  Lorg/graalvm/compiler/lir/alloc/lsra/Range;
    MethodParameters:
          Name  Flags
      holeFrom  
      holeTo    

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 1250
            ldc "?"
            astore 1 /* from */
        start local 1 // java.lang.String from
         1: .line 1251
            ldc "?"
            astore 2 /* to */
        start local 2 // java.lang.String to
         2: .line 1252
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            ifnull 5
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            getstatic org.graalvm.compiler.lir.alloc.lsra.Range.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            if_acmpeq 5
         3: .line 1253
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            astore 1 /* from */
         4: .line 1256
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.calcTo:()I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            astore 2 /* to */
         5: .line 1258
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.location:Ljdk/vm/ci/meta/AllocatableValue;
            ifnonnull 6
            ldc ""
            goto 7
      StackMap locals:
      StackMap stack:
         6: new java.lang.StringBuilder
            dup
            ldc "@"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.location:Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         7: astore 3 /* locationString */
        start local 3 // java.lang.String locationString
         8: .line 1259
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operandNumber:I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operand:Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operand:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 9
            ldc ""
            goto 10
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval java.lang.String java.lang.String java.lang.String
      StackMap stack: java.lang.StringBuilder
         9: aload 3 /* locationString */
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval java.lang.String java.lang.String java.lang.String
      StackMap stack: java.lang.StringBuilder java.lang.String
        10: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* from */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* to */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.String locationString
        end local 2 // java.lang.String to
        end local 1 // java.lang.String from
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            1   11     1            from  Ljava/lang/String;
            2   11     2              to  Ljava/lang/String;
            8   11     3  locationString  Ljava/lang/String;

  public org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList usePosList();
    descriptor: ()Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 1266
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;

  public java.lang.String logString(org.graalvm.compiler.lir.alloc.lsra.LinearScan);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
        start local 1 // org.graalvm.compiler.lir.alloc.lsra.LinearScan allocator
         0: .line 1275
            new java.lang.StringBuilder
            dup
            bipush 100
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuilder buf
         1: .line 1276
            aload 2 /* buf */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operandNumber:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operand:Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         2: .line 1277
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operand:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifne 5
         3: .line 1278
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.location:Ljdk/vm/ci/meta/AllocatableValue;
            ifnull 5
         4: .line 1279
            aload 2 /* buf */
            ldc "location{"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.location:Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "} "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 1283
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 2 /* buf */
            ldc "hints{"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operandNumber:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         6: .line 1284
            aload 0 /* this */
            iconst_0
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.locationHint:(Z)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            astore 3 /* hint */
        start local 3 // org.graalvm.compiler.lir.alloc.lsra.Interval hint
         7: .line 1285
            aload 3 /* hint */
            ifnull 9
            aload 3 /* hint */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operandNumber:I
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operandNumber:I
            if_icmpeq 9
         8: .line 1286
            aload 2 /* buf */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* hint */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operandNumber:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         9: .line 1288
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval
      StackMap stack:
            aload 2 /* buf */
            ldc "} ranges{"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 1291
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            astore 4 /* cur */
        start local 4 // org.graalvm.compiler.lir.alloc.lsra.Range cur
        11: .line 1292
            goto 17
        12: .line 1293
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Range
      StackMap stack:
            aload 4 /* cur */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            if_acmpeq 14
        13: .line 1294
            aload 2 /* buf */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 1296
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            aload 4 /* cur */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        15: .line 1297
            aload 4 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.next:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            astore 4 /* cur */
        16: .line 1298
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 17
            aload 4 /* cur */
            ifnonnull 17
            new java.lang.AssertionError
            dup
            ldc "range list not closed with range sentinel"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        17: .line 1292
      StackMap locals:
      StackMap stack:
            aload 4 /* cur */
            getstatic org.graalvm.compiler.lir.alloc.lsra.Range.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            if_acmpne 12
        18: .line 1300
            aload 2 /* buf */
            ldc "} uses{"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 1303
            iconst_m1
            istore 5 /* prev */
        start local 5 // int prev
        20: .line 1304
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.size:()I
            iconst_1
            isub
            istore 6 /* i */
        start local 6 // int i
        21: goto 28
        22: .line 1305
      StackMap locals: int int
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 23
            iload 5 /* prev */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            iload 6 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.usePos:(I)I
            if_icmplt 23
            new java.lang.AssertionError
            dup
            ldc "use positions not sorted"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        23: .line 1306
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.size:()I
            iconst_1
            isub
            if_icmpeq 25
        24: .line 1307
            aload 2 /* buf */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        25: .line 1309
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            iload 6 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.usePos:(I)I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            iload 6 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.registerPriority:(I)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        26: .line 1310
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            iload 6 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.usePos:(I)I
            istore 5 /* prev */
        27: .line 1304
            iinc 6 /* i */ -1
      StackMap locals:
      StackMap stack:
        28: iload 6 /* i */
            ifge 22
        end local 6 // int i
        29: .line 1312
            aload 2 /* buf */
            ldc "} spill-state{"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillState:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        30: .line 1313
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.canMaterialize:()Z
            ifeq 32
        31: .line 1314
            aload 2 /* buf */
            ldc " (remat:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.getMaterializedValue:()Ljdk/vm/ci/meta/Constant;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        32: .line 1316
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 5 // int prev
        end local 4 // org.graalvm.compiler.lir.alloc.lsra.Range cur
        end local 3 // org.graalvm.compiler.lir.alloc.lsra.Interval hint
        end local 2 // java.lang.StringBuilder buf
        end local 1 // org.graalvm.compiler.lir.alloc.lsra.LinearScan allocator
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   33     0       this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0   33     1  allocator  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
            1   33     2        buf  Ljava/lang/StringBuilder;
            7   33     3       hint  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
           11   33     4        cur  Lorg/graalvm/compiler/lir/alloc/lsra/Range;
           20   33     5       prev  I
           21   29     6          i  I
    MethodParameters:
           Name  Flags
      allocator  

  java.util.List<org.graalvm.compiler.lir.alloc.lsra.Interval> getSplitChildren();
    descriptor: ()Ljava/util/List;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 1320
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitChildren:Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    Signature: ()Ljava/util/List<Lorg/graalvm/compiler/lir/alloc/lsra/Interval;>;
}
SourceFile: "Interval.java"
NestMembers:
  org.graalvm.compiler.lir.alloc.lsra.Interval$Pair  org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterBinding  org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterBindingLists  org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority  org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState  org.graalvm.compiler.lir.alloc.lsra.Interval$State  org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList
InnerClasses:
  public final OperandMode = org.graalvm.compiler.lir.LIRInstruction$OperandMode of org.graalvm.compiler.lir.LIRInstruction
  final Pair = org.graalvm.compiler.lir.alloc.lsra.Interval$Pair of org.graalvm.compiler.lir.alloc.lsra.Interval
  final RegisterBinding = org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterBinding of org.graalvm.compiler.lir.alloc.lsra.Interval
  final RegisterBindingLists = org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterBindingLists of org.graalvm.compiler.lir.alloc.lsra.Interval
  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
  final State = org.graalvm.compiler.lir.alloc.lsra.Interval$State 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