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
{
  protected static final int END_MARKER_OPERAND_NUMBER;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: -2147483648

  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 boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 55
            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 436
            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 545
            aload 1 /* newLocation */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 5
         1: .line 546
            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 547
      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 548
            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 549
            return
         5: .line 551
      StackMap locals:
      StackMap stack:
            aload 1 /* newLocation */
            invokestatic jdk.vm.ci.code.ValueUtil.isIllegal:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 7
         6: .line 552
            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 554
      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 555
      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 556
      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 557
      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 559
      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 560
            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 boolean isEndMarker();
    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 564
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operandNumber:I
            ldc -2147483648
            if_icmpne 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.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 572
            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 576
            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 577
      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 581
            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 582
      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 583
            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 586
            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 590
            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 594
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.cachedTo:I
            iconst_m1
            if_icmpne 2
         1: .line 595
            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 597
      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 598
      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 602
            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 606
            aload 0 /* this */
            aload 1 /* interval */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.locationHint:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
         1: .line 607
            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 610
            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 614
            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 621
            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 622
      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 629
            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 633
            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 634
      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 635
      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 636
            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 639
            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 643
            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 644
            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 647
            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 651
            aload 0 /* this */
            iload 1 /* b */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.insertMoveWhenActivated:Z
         1: .line 652
            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 656
            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 660
            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 664
            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 665
      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 666
            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 669
            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 670
      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 671
            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 675
            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 679
            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 680
            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 684
            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 688
            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 693
            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 694
            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 697
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.isEndMarker:()Z
            ifeq 1
            new java.lang.AssertionError
            dup
            ldc "not allowed on sentinel"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 698
      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 699
            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 702
            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 706
            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=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval this
         0: .line 710
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.current:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Range.isEndMarker:()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;

  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 714
            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 718
            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, org.graalvm.compiler.lir.alloc.lsra.Interval, org.graalvm.compiler.lir.alloc.lsra.Range);
    descriptor: (Ljdk/vm/ci/meta/AllocatableValue;ILorg/graalvm/compiler/lir/alloc/lsra/Interval;Lorg/graalvm/compiler/lir/alloc/lsra/Range;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=5
        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
        start local 3 // org.graalvm.compiler.lir.alloc.lsra.Interval intervalEndMarker
        start local 4 // org.graalvm.compiler.lir.alloc.lsra.Range rangeEndMarker
         0: .line 721
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 505
            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 722
            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 723
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval jdk.vm.ci.meta.AllocatableValue int org.graalvm.compiler.lir.alloc.lsra.Interval org.graalvm.compiler.lir.alloc.lsra.Range
      StackMap stack:
            aload 0 /* this */
            aload 1 /* operand */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.operand:Ljdk/vm/ci/meta/AllocatableValue;
         4: .line 724
            aload 0 /* this */
            iload 2 /* operandNumber */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.operandNumber:I
         5: .line 725
            aload 1 /* operand */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 8
         6: .line 726
            aload 0 /* this */
            aload 1 /* operand */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.location:Ljdk/vm/ci/meta/AllocatableValue;
         7: .line 727
            goto 9
         8: .line 728
      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 730
      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 731
            aload 0 /* this */
            aload 4 /* rangeEndMarker */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.first:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
        11: .line 732
            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 733
            aload 0 /* this */
            aload 4 /* rangeEndMarker */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.current:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
        13: .line 734
            aload 0 /* this */
            aload 3 /* intervalEndMarker */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.next:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
        14: .line 735
            aload 0 /* this */
            iconst_m1
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.cachedTo:I
        15: .line 736
            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 737
            aload 0 /* this */
            iconst_m1
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.spillDefinitionPos:I
        17: .line 738
            aload 0 /* this */
            aload 0 /* this */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
        18: .line 739
            aload 0 /* this */
            aload 0 /* this */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.currentSplitChild:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
        19: .line 740
            return
        end local 4 // org.graalvm.compiler.lir.alloc.lsra.Range rangeEndMarker
        end local 3 // org.graalvm.compiler.lir.alloc.lsra.Interval intervalEndMarker
        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
            0   20     3  intervalEndMarker  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            0   20     4     rangeEndMarker  Lorg/graalvm/compiler/lir/alloc/lsra/Range;
    MethodParameters:
                   Name  Flags
      operand            
      operandNumber      
      intervalEndMarker  
      rangeEndMarker     

  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 746
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.numMaterializationValuesAdded:I
            ifne 3
         1: .line 747
            aload 0 /* this */
            aload 1 /* value */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.materializedValue:Ljdk/vm/ci/meta/Constant;
         2: .line 748
            goto 4
         3: .line 750
      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 752
      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 753
            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 760
            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 767
            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 771
            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;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Range.isEndMarker:()Z
            ifeq 1
            new java.lang.AssertionError
            dup
            ldc "interval has no range"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 773
      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 774
            goto 4
         3: .line 775
      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 774
      StackMap locals:
      StackMap stack:
            aload 1 /* r */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.next:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Range.isEndMarker:()Z
            ifeq 3
         5: .line 777
            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 782
            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 783
            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 785
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         3: goto 22
         4: .line 786
      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 788
            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 789
      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 790
      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 792
      StackMap locals:
      StackMap stack:
            iload 1 /* i */
            iconst_1
            iadd
            istore 3 /* j */
        start local 3 // int j
        10: goto 20
        11: .line 793
      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 795
            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 797
      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 798
            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 800
      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 801
      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 792
      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 785
            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 807
      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 811
            iload 1 /* searchSplitChild */
            ifne 2
         1: .line 812
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.locationHint:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            areturn
         2: .line 815
      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 816
            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 818
      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 819
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.locationHint:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            areturn
         6: .line 820
      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 822
            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 823
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         9: goto 14
        10: .line 824
      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 825
            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 826
            aload 4 /* interval */
            areturn
        end local 4 // org.graalvm.compiler.lir.alloc.lsra.Interval interval
        13: .line 823
      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 833
      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 837
            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 838
      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 840
      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 841
            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 842
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
         5: .line 844
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* result */
        start local 4 // org.graalvm.compiler.lir.alloc.lsra.Interval result
         6: .line 845
            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 848
            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 851
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        11: goto 20
        12: .line 852
      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 853
            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 854
            iload 7 /* i */
            ifle 17
        15: .line 857
            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 858
            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 862
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval
      StackMap stack:
            aload 8 /* cur */
            astore 4 /* result */
        18: .line 863
            goto 21
        end local 8 // org.graalvm.compiler.lir.alloc.lsra.Interval cur
        19: .line 851
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 7 /* i */
            iload 5 /* len */
            if_icmplt 12
        21: .line 867
      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 868
      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 873
            aload 1 /* result */
            ifnonnull 7
         1: .line 875
            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 876
            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 877
            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 878
            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 879
            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 881
      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 884
      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 885
            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 886
            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 891
            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 892
            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 891
            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 885
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        15: .line 896
      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 897
      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 902
            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 903
      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 905
      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 906
            aload 0 /* this */
            areturn
         4: .line 909
      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 910
            aconst_null
            astore 3 /* result */
        start local 3 // org.graalvm.compiler.lir.alloc.lsra.Interval result
         6: .line 912
            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 913
      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 915
            iload 4 /* len */
            iconst_1
            isub
            istore 5 /* i */
        start local 5 // int i
         9: goto 15
        10: .line 916
      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 917
            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 918
            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 919
      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 915
      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 923
            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 928
            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 930
      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 931
            aconst_null
            astore 3 /* result */
        start local 3 // org.graalvm.compiler.lir.alloc.lsra.Interval result
         3: .line 933
            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 934
      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 936
            iload 4 /* len */
            iconst_1
            isub
            istore 5 /* i */
        start local 5 // int i
         6: goto 11
         7: .line 937
      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 938
            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 939
      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 936
      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 943
            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 944
      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 949
            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 950
      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 952
      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 954
            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 958
      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 959
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 11
         7: .line 960
      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 961
            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 962
            iconst_1
            ireturn
        end local 5 // org.graalvm.compiler.lir.alloc.lsra.Interval cur
        10: .line 959
      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 965
            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 975
            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 976
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$RegisterPriority.MustHaveRegister:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;
            areturn
         2: .line 978
      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 983
            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 985
      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 986
      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 987
            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 988
            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 985
      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 991
            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 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 3 /* i */
        start local 3 // int i
         2: goto 7
         3: .line 998
      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 999
            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 1000
            iload 4 /* usePos */
            ireturn
        end local 4 // int usePos
         6: .line 997
      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 1003
            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 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 /* exactRegisterPriority */
            if_acmpne 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 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 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:
            iconst_m1
            istore 3 /* prev */
        start local 3 // int prev
         2: .line 1022
            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 1023
      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 1024
            iload 5 /* usePos */
            iload 2 /* from */
            if_icmple 7
         6: .line 1025
            iload 3 /* prev */
            ireturn
         7: .line 1027
      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 1028
            iload 5 /* usePos */
            istore 3 /* prev */
        end local 5 // int usePos
         9: .line 1022
      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 1031
            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, boolean);
    descriptor: (ILorg/graalvm/compiler/lir/alloc/lsra/Interval$RegisterPriority;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        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
        start local 3 // boolean detailedAsserts
         0: .line 1035
            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 1038
      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 1039
            iload 3 /* detailedAsserts */
            ifeq 10
         3: .line 1040
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 9
         5: .line 1041
      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 4 /* 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 1042
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            ifle 8
         7: .line 1043
            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 4 /* 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 4 /* 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 1040
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* 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 4 // int i
        10: .line 1050
      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 4 /* len */
        start local 4 // int len
        11: .line 1051
            iload 4 /* len */
            ifeq 12
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.usePosList:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$UsePosList;
            iload 4 /* len */
            iconst_1
            isub
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval$UsePosList.usePos:(I)I
            iload 1 /* pos */
            if_icmple 14
        12: .line 1052
      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 1053
            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 4 /* 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 1054
            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 4 /* 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 1055
      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 4 /* 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 4 // int len
        17: .line 1058
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean detailedAsserts
        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;
            0   18     3   detailedAsserts  Z
            4   10     4                 i  I
           11   17     4               len  I
    MethodParameters:
                  Name  Flags
      pos               
      registerPriority  
      detailedAsserts   

  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 1061
            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 1062
      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;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Range.isEndMarker:()Z
            ifne 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 1063
      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 1065
      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 1066
            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;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Range.isEndMarker:()Z
            ifeq 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 1068
      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 1069
            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 1070
            goto 9
         8: .line 1072
      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 1074
      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 1078
            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 1079
            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 1080
            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 1082
            aload 3 /* result */
            aload 2 /* parent */
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.splitParent:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
         4: .line 1083
            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 1086
            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 1087
            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 1090
      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 1091
            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 1093
      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 1095
            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 1113
            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 1116
      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 1119
            aconst_null
            astore 4 /* prev */
        start local 4 // org.graalvm.compiler.lir.alloc.lsra.Range prev
         3: .line 1120
            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 1121
            goto 7
         5: .line 1122
      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 1123
            aload 5 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.next:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            astore 5 /* cur */
         7: .line 1121
      StackMap locals:
      StackMap stack:
            aload 5 /* cur */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Range.isEndMarker:()Z
            ifne 8
            aload 5 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.to:I
            iload 1 /* splitPos */
            if_icmple 5
         8: .line 1125
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.$assertionsDisabled:Z
            ifne 9
            aload 5 /* cur */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Range.isEndMarker:()Z
            ifeq 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 1127
      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 1128
            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 1129
            aload 5 /* cur */
            iload 1 /* splitPos */
            putfield org.graalvm.compiler.lir.alloc.lsra.Range.to:I
        12: .line 1130
            aload 5 /* cur */
            aload 2 /* allocator */
            getfield org.graalvm.compiler.lir.alloc.lsra.LinearScan.rangeEndMarker: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 1132
            goto 17
        14: .line 1133
      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 1134
      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 1135
            aload 4 /* prev */
            aload 2 /* allocator */
            getfield org.graalvm.compiler.lir.alloc.lsra.LinearScan.rangeEndMarker: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 1137
      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 1138
            aload 0 /* this */
            iconst_m1
            putfield org.graalvm.compiler.lir.alloc.lsra.Interval.cachedTo:I
        19: .line 1141
            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 1143
            aload 2 /* allocator */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            invokestatic org.graalvm.compiler.debug.Assertions.detailedAssertionsEnabled:(Lorg/graalvm/compiler/options/OptionValues;)Z
            ifeq 31
        21: .line 1144
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        22: goto 25
        23: .line 1145
      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 1144
      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 1147
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        27: goto 30
        28: .line 1148
      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 1147
      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 1151
      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 1162
            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 1163
      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 1164
      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 1165
      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 1168
      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 1172
            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 1174
            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 1175
            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;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Range.isEndMarker:()Z
            ifeq 10
            new java.lang.AssertionError
            dup
            ldc "must not be at end"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 1176
      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 1177
            goto 13
        12: .line 1178
      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 1181
      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 1186
            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 1188
            goto 3
         2: .line 1189
      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 1188
      StackMap locals:
      StackMap stack:
            aload 3 /* cur */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Range.isEndMarker:()Z
            ifne 4
            aload 3 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.to:I
            iload 1 /* opId */
            if_icmplt 2
         4: .line 1191
      StackMap locals:
      StackMap stack:
            aload 3 /* cur */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Range.isEndMarker:()Z
            ifne 11
         5: .line 1192
            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 1194
      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 1195
            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 1197
      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 1200
      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 1206
            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 1207
      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 1209
      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 1210
            goto 13
         5: .line 1211
      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 1214
      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 1215
            iconst_1
            ireturn
         8: .line 1219
      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 1220
            iconst_0
            ireturn
        10: .line 1224
      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 1225
            iconst_1
            ireturn
        12: .line 1230
      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 1210
      StackMap locals:
      StackMap stack:
            aload 3 /* cur */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Range.isEndMarker:()Z
            ifeq 5
        14: .line 1233
            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 1238
            ldc "?"
            astore 1 /* from */
        start local 1 // java.lang.String from
         1: .line 1239
            ldc "?"
            astore 2 /* to */
        start local 2 // java.lang.String to
         2: .line 1240
            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;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Range.isEndMarker:()Z
            ifne 5
         3: .line 1241
            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 1244
            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 1246
      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 1247
            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 1254
            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 1263
            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 1264
            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 1265
            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 1266
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.location:Ljdk/vm/ci/meta/AllocatableValue;
            ifnull 5
         4: .line 1267
            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 1271
      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 1272
            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 1273
            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 1274
            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 1276
      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 1279
            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 1280
            goto 17
        12: .line 1281
      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 1282
            aload 2 /* buf */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 1284
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            aload 4 /* cur */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        15: .line 1285
            aload 4 /* cur */
            getfield org.graalvm.compiler.lir.alloc.lsra.Range.next:Lorg/graalvm/compiler/lir/alloc/lsra/Range;
            astore 4 /* cur */
        16: .line 1286
            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 1280
      StackMap locals:
      StackMap stack:
            aload 4 /* cur */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Range.isEndMarker:()Z
            ifeq 12
        18: .line 1288
            aload 2 /* buf */
            ldc "} uses{"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 1291
            iconst_m1
            istore 5 /* prev */
        start local 5 // int prev
        20: .line 1292
            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 1293
      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 1294
      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 1295
            aload 2 /* buf */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        25: .line 1297
      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 1298
            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 1292
            iinc 6 /* i */ -1
      StackMap locals:
      StackMap stack:
        28: iload 6 /* i */
            ifge 22
        end local 6 // int i
        29: .line 1300
            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 1301
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.canMaterialize:()Z
            ifeq 32
        31: .line 1302
            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 1304
      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 1308
            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$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 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