final class org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval extends org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
  super_class: org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint
{
  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 int intFrom;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

  private int[] usePosListArray;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

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

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

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

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

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

  static final org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval EndMarker;
    descriptor: Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 57
            ldc Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            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.trace.lsra.TraceInterval.$assertionsDisabled:Z
         3: .line 544
            new org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
            dup
            getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
            iconst_m1
            invokespecial org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.<init>:(Ljdk/vm/ci/meta/AllocatableValue;I)V
            putstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.EndMarker:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            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.trace.lsra.TraceInterval this
        start local 1 // jdk.vm.ci.meta.AllocatableValue newLocation
         0: .line 382
            aload 1 /* newLocation */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 5
         1: .line 383
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 384
      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 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 385
            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 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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.trace.lsra.TraceInterval.location:Ljdk/vm/ci/meta/AllocatableValue;
         4: .line 386
            return
         5: .line 388
      StackMap locals:
      StackMap stack:
            aload 1 /* newLocation */
            invokestatic jdk.vm.ci.code.ValueUtil.isIllegal:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 7
         6: .line 389
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 12
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.canMaterialize:()Z
            ifne 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 391
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 9
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.location:Ljdk/vm/ci/meta/AllocatableValue;
            ifnull 9
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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.trace.lsra.TraceInterval.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 392
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$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 393
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$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 394
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 12
            aload 1 /* newLocation */
            invokevirtual jdk.vm.ci.meta.AllocatableValue.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 396
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* newLocation */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.location:Ljdk/vm/ci/meta/AllocatableValue;
        13: .line 397
            return
        end local 1 // jdk.vm.ci.meta.AllocatableValue newLocation
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0   14     1  newLocation  Ljdk/vm/ci/meta/AllocatableValue;
    MethodParameters:
             Name  Flags
      newLocation  

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

  public jdk.vm.ci.meta.ValueKind<?> kind();
    descriptor: ()Ljdk/vm/ci/meta/ValueKind;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
         0: .line 409
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operand:Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual jdk.vm.ci.meta.AllocatableValue.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    Signature: ()Ljdk/vm/ci/meta/ValueKind<*>;

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
         0: .line 413
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intFrom:I
            ldc 2147483647
            if_icmpne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intTo:I
            ldc 2147483647
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;

  public void setTo(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // int pos
         0: .line 417
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intFrom:I
            ldc 2147483647
            if_icmpeq 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intFrom:I
            iload 1 /* pos */
            if_icmplt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 418
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* pos */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intTo:I
         2: .line 419
            return
        end local 1 // int pos
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    3     1   pos  I
    MethodParameters:
      Name  Flags
      pos   

  public void setFrom(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // int pos
         0: .line 422
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intTo:I
            ldc 2147483647
            if_icmpeq 1
            iload 1 /* pos */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intTo:I
            if_icmplt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 423
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* pos */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intFrom:I
         2: .line 424
            return
        end local 1 // int pos
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    3     1   pos  I
    MethodParameters:
      Name  Flags
      pos   

  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.trace.lsra.TraceInterval this
         0: .line 428
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intFrom:I
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;

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

  int numUsePositions();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
         0: .line 436
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;

  public void setLocationHint(org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint interval
         0: .line 440
            aload 0 /* this */
            aload 1 /* interval */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.locationHint:Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
         1: .line 441
            return
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint interval
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    2     1  interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
    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.trace.lsra.TraceInterval this
         0: .line 444
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitParent:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            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.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;

  boolean isSplitChild();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
         0: .line 448
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitParent:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            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.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;

  public org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval splitParent();
    descriptor: ()Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
         0: .line 455
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitParent:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 456
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitParent:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;

  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.trace.lsra.TraceInterval this
         0: .line 463
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitParent:()Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillSlot:Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;

  public void setSpillSlot(jdk.vm.ci.meta.AllocatableValue);
    descriptor: (Ljdk/vm/ci/meta/AllocatableValue;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // jdk.vm.ci.meta.AllocatableValue slot
         0: .line 467
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$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 468
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillSlot:()Ljdk/vm/ci/meta/AllocatableValue;
            ifnull 3
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 "cannot overwrite existing spill slot %s of interval %s with %s"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillSlot:()Ljdk/vm/ci/meta/AllocatableValue;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            aastore
            dup
            iconst_2
            aload 1 /* slot */
            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
         3: .line 469
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitParent:()Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            aload 1 /* slot */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillSlot:Ljdk/vm/ci/meta/AllocatableValue;
         4: .line 470
            return
        end local 1 // jdk.vm.ci.meta.AllocatableValue slot
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    5     1  slot  Ljdk/vm/ci/meta/AllocatableValue;
    MethodParameters:
      Name  Flags
      slot  

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

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

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

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

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

  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.trace.lsra.TraceInterval this
         0: .line 494
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitParent:()Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillDefinitionPos:I
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;

  public void setSpillState(org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState state
         0: .line 498
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 1
            aload 1 /* state */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.ordinal:()I
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillState:()Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$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 499
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitParent:()Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            aload 1 /* state */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillState:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
         2: .line 500
            return
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState state
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    3     1  state  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
    MethodParameters:
       Name  Flags
      state  

  public void setSpillDefinitionPos(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // int pos
         0: .line 503
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillState:()Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.NoDefinitionFound:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            if_acmpeq 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillState:()Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.NoSpillStore:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            if_acmpeq 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 504
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
            istore 2 /* to */
        start local 2 // int to
         2: .line 505
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 3
            iload 1 /* pos */
            iload 2 /* to */
            if_icmplt 3
            new java.lang.AssertionError
            dup
            ldc "Cannot spill %s at %d"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aastore
            dup
            iconst_1
            iload 1 /* pos */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            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
         3: .line 506
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitParent:()Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            iload 1 /* pos */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillDefinitionPos:I
         4: .line 507
            return
        end local 2 // int to
        end local 1 // int pos
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    5     1   pos  I
            2    5     2    to  I
    MethodParameters:
      Name  Flags
      pos   

  public boolean inMemoryAt(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // int opId
         0: .line 514
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillState:()Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            astore 2 /* spillSt */
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState spillSt
         1: .line 515
            aload 2 /* spillSt */
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.StartInMemory:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            if_acmpeq 3
            aload 2 /* spillSt */
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.SpillStore:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            if_acmpne 2
            iload 1 /* opId */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillDefinitionPos:()I
            if_icmple 2
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.canMaterialize:()Z
            ifeq 3
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState
      StackMap stack:
         2: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState spillSt
        end local 1 // int opId
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    4     1     opId  I
            1    4     2  spillSt  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
    MethodParameters:
      Name  Flags
      opId  

  boolean intersects(org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval i
         0: .line 520
            aload 0 /* this */
            aload 1 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intersectsAt:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)I
            iconst_m1
            if_icmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval i
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    2     1     i  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    MethodParameters:
      Name  Flags
      i     

  int intersectsAt(org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)I
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval i
         0: .line 526
            aload 1 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            if_icmpge 4
         1: .line 527
            aload 1 /* i */
            astore 2 /* i1 */
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval i1
         2: .line 528
            aload 0 /* this */
            astore 3 /* i2 */
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval i2
         3: .line 529
            goto 6
        end local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval i2
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval i1
         4: .line 530
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            astore 2 /* i1 */
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval i1
         5: .line 531
            aload 1 /* i */
            astore 3 /* i2 */
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval i2
         6: .line 533
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 7
            aload 2 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            aload 3 /* i2 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            if_icmple 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 535
      StackMap locals:
      StackMap stack:
            aload 2 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
            aload 3 /* i2 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            if_icmpgt 9
         8: .line 536
            iconst_m1
            ireturn
         9: .line 538
      StackMap locals:
      StackMap stack:
            aload 3 /* i2 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            ireturn
        end local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval i2
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval i1
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval i
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0   10     1     i  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            2    4     2    i1  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            5   10     2    i1  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            3    4     3    i2  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            6   10     3    i2  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    MethodParameters:
      Name  Flags
      i     

  void <init>(jdk.vm.ci.meta.AllocatableValue, int);
    descriptor: (Ljdk/vm/ci/meta/AllocatableValue;I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // jdk.vm.ci.meta.AllocatableValue operand
        start local 2 // int operandNumber
         0: .line 546
            aload 0 /* this */
            invokespecial org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint.<init>:()V
         1: .line 342
            aload 0 /* this */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
         2: .line 547
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 3
            aload 1 /* operand */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 548
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval jdk.vm.ci.meta.AllocatableValue int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* operand */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operand:Ljdk/vm/ci/meta/AllocatableValue;
         4: .line 549
            aload 0 /* this */
            iload 2 /* operandNumber */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operandNumber:I
         5: .line 550
            aload 1 /* operand */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 8
         6: .line 551
            aload 0 /* this */
            aload 1 /* operand */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.location:Ljdk/vm/ci/meta/AllocatableValue;
         7: .line 552
            goto 9
         8: .line 553
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$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 555
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 2147483647
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intFrom:I
        10: .line 556
            aload 0 /* this */
            ldc 2147483647
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intTo:I
        11: .line 557
            aload 0 /* this */
            bipush 8
            newarray 10
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListArray:[I
        12: .line 558
            aload 0 /* this */
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.EndMarker:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.next:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
        13: .line 559
            aload 0 /* this */
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.NoDefinitionFound:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillState:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
        14: .line 560
            aload 0 /* this */
            iconst_m1
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillDefinitionPos:I
        15: .line 561
            aload 0 /* this */
            aload 0 /* this */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitParent:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
        16: .line 562
            aload 0 /* this */
            aload 0 /* this */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.currentSplitChild:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
        17: .line 563
            return
        end local 2 // int operandNumber
        end local 1 // jdk.vm.ci.meta.AllocatableValue operand
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0           this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0   18     1        operand  Ljdk/vm/ci/meta/AllocatableValue;
            0   18     2  operandNumber  I
    MethodParameters:
               Name  Flags
      operand        
      operandNumber  

  public void addMaterializationValue(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // jdk.vm.ci.meta.JavaConstant value
         0: .line 569
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numMaterializationValuesAdded:I
            ifne 3
         1: .line 570
            aload 0 /* this */
            aload 1 /* value */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.materializedValue:Ljdk/vm/ci/meta/JavaConstant;
         2: .line 571
            goto 4
         3: .line 573
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.materializedValue:Ljdk/vm/ci/meta/JavaConstant;
         4: .line 575
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numMaterializationValuesAdded:I
            iconst_1
            iadd
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numMaterializationValuesAdded:I
         5: .line 576
            return
        end local 1 // jdk.vm.ci.meta.JavaConstant value
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    6     1  value  Ljdk/vm/ci/meta/JavaConstant;
    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.trace.lsra.TraceInterval this
         0: .line 583
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getMaterializedValue:()Ljdk/vm/ci/meta/JavaConstant;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;

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

  boolean checkSplitChildren();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
         0: .line 595
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 23
         1: .line 596
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 598
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         3: goto 22
         4: .line 599
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            iload 1 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
            astore 2 /* i1 */
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval i1
         5: .line 601
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 6
            aload 2 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitParent:()Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            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 602
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 7
            aload 2 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.kind:()Ljdk/vm/ci/meta/ValueKind;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 603
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 9
            aload 2 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillSlot:()Ljdk/vm/ci/meta/AllocatableValue;
            ifnonnull 8
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillSlot:Ljdk/vm/ci/meta/AllocatableValue;
            ifnull 9
      StackMap locals:
      StackMap stack:
         8: aload 2 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillSlot:()Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 605
      StackMap locals:
      StackMap stack:
            iload 1 /* i */
            iconst_1
            iadd
            istore 3 /* j */
        start local 3 // int j
        10: goto 20
        11: .line 606
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            iload 3 /* j */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
            astore 4 /* i2 */
        start local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval i2
        12: .line 608
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 13
            aload 2 /* i1 */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operand:Ljdk/vm/ci/meta/AllocatableValue;
            aload 4 /* i2 */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 610
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
            aload 2 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            aload 4 /* i2 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            if_icmpge 16
        14: .line 611
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 19
            aload 2 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
            aload 4 /* i2 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            if_icmpgt 15
            aload 2 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
            aload 4 /* i2 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 613
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 17
            aload 4 /* i2 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            aload 2 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 614
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 19
            aload 4 /* i2 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
            aload 2 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            if_icmpgt 18
            aload 4 /* i2 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
            aload 2 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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.trace.lsra.TraceInterval i2
        19: .line 605
      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.trace.lsra.TraceInterval.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.trace.lsra.TraceInterval i1
        21: .line 598
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 1 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 4
        end local 1 // int i
        23: .line 620
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   24     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            3   23     1     i  I
            5   21     2    i1  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
           10   21     3     j  I
           12   19     4    i2  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;

  public org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint locationHint(boolean);
    descriptor: (Z)Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // boolean searchSplitChild
         0: .line 624
            iload 1 /* searchSplitChild */
            ifne 2
         1: .line 625
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.locationHint:Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
            areturn
         2: .line 628
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.locationHint:Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
            ifnull 17
         3: .line 629
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.locationHint:Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
            instanceof org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
            ifeq 4
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.locationHint:Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
            checkcast org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 631
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.locationHint:Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint.location:()Ljdk/vm/ci/meta/AllocatableValue;
            ifnull 6
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.locationHint:Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint.location:()Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 6
         5: .line 632
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.locationHint:Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
            areturn
         6: .line 633
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.locationHint:Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
            instanceof org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
            ifeq 17
         7: .line 634
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.locationHint:Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
            checkcast org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
            astore 2 /* hint */
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval hint
         8: .line 635
            aload 2 /* hint */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 17
         9: .line 637
            aload 2 /* hint */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 3 /* len */
        start local 3 // int len
        10: .line 638
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        11: goto 16
        12: .line 639
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval int int
      StackMap stack:
            aload 2 /* hint */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
            astore 5 /* interval */
        start local 5 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        13: .line 640
            aload 5 /* interval */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.location:Ljdk/vm/ci/meta/AllocatableValue;
            ifnull 15
            aload 5 /* interval */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.location:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 15
        14: .line 641
            aload 5 /* interval */
            areturn
        end local 5 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        15: .line 638
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            iload 3 /* len */
            if_icmplt 12
        end local 4 // int i
        end local 3 // int len
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval hint
        17: .line 649
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // boolean searchSplitChild
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0              this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0   18     1  searchSplitChild  Z
            8   17     2              hint  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
           10   17     3               len  I
           11   17     4                 i  I
           13   15     5          interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    MethodParameters:
                  Name  Flags
      searchSplitChild  

  org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval getSplitChildAtOpId(int, org.graalvm.compiler.lir.LIRInstruction$OperandMode);
    descriptor: (ILorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    flags: (0x0000) 
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // int opId
        start local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
         0: .line 653
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 654
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$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 656
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 5
         3: .line 657
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            iload 1 /* opId */
            aload 2 /* mode */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 658
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
         5: .line 660
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* result */
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval result
         6: .line 661
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 4 /* len */
        start local 4 // int len
         7: .line 664
            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.trace.lsra.TraceInterval int
      StackMap stack:
         8: iconst_1
      StackMap locals:
      StackMap stack: int
         9: istore 5 /* toOffset */
        start local 5 // int toOffset
        10: .line 667
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        11: goto 20
        12: .line 668
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
            astore 7 /* cur */
        start local 7 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval cur
        13: .line 669
            aload 7 /* cur */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            iload 1 /* opId */
            if_icmpgt 19
            iload 1 /* opId */
            aload 7 /* cur */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
            iload 5 /* toOffset */
            iadd
            if_icmpge 19
        14: .line 670
            iload 6 /* i */
            ifle 17
        15: .line 673
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            iload 6 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
            aconst_null
            invokestatic org.graalvm.compiler.core.common.util.Util.atPutGrow:(Ljava/util/List;ILjava/lang/Object;Ljava/lang/Object;)V
        16: .line 674
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            iconst_0
            aload 7 /* cur */
            aconst_null
            invokestatic org.graalvm.compiler.core.common.util.Util.atPutGrow:(Ljava/util/List;ILjava/lang/Object;Ljava/lang/Object;)V
        17: .line 678
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
            aload 7 /* cur */
            astore 3 /* result */
        18: .line 679
            goto 21
        end local 7 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval cur
        19: .line 667
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 6 /* i */
            iload 4 /* len */
            if_icmplt 12
        21: .line 683
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 22
            aload 0 /* this */
            aload 3 /* result */
            iload 1 /* opId */
            iload 5 /* toOffset */
            aload 2 /* mode */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.checkSplitChild:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;IILorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Z
            ifne 22
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        22: .line 684
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 6 // int i
        end local 5 // int toOffset
        end local 4 // int len
        end local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval result
        end local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        end local 1 // int opId
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0      this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0   23     1      opId  I
            0   23     2      mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            6   23     3    result  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            7   23     4       len  I
           10   23     5  toOffset  I
           11   23     6         i  I
           13   19     7       cur  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    MethodParameters:
      Name  Flags
      opId  
      mode  

  private boolean checkSplitChild(org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval, int, int, org.graalvm.compiler.lir.LIRInstruction$OperandMode);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;IILorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=5
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval result
        start local 2 // int opId
        start local 3 // int toOffset
        start local 4 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
         0: .line 689
            aload 1 /* result */
            ifnonnull 7
         1: .line 691
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 5 /* msg */
        start local 5 // java.lang.StringBuilder msg
         2: .line 692
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 6
         3: .line 693
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
            astore 6 /* firstChild */
        start local 6 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval firstChild
         4: .line 694
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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.trace.lsra.TraceInterval
            astore 7 /* lastChild */
        start local 7 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval lastChild
         5: .line 695
            aload 5 /* msg */
            ldc " (first = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* 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 7 /* 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 7 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval lastChild
        end local 6 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval firstChild
         6: .line 697
      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 5 /* msg */
            aastore
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 5 // java.lang.StringBuilder msg
         7: .line 700
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 15
         8: .line 701
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 14
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval int int org.graalvm.compiler.lir.LIRInstruction$OperandMode top java.util.Iterator
      StackMap stack:
         9: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
            astore 5 /* interval */
        start local 5 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        10: .line 702
            aload 5 /* interval */
            aload 1 /* result */
            if_acmpeq 14
            aload 5 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            iload 2 /* opId */
            if_icmpgt 14
            iload 2 /* opId */
            aload 5 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
            iload 3 /* toOffset */
            iadd
            if_icmpge 14
        11: .line 707
            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.trace.lsra.TraceInterval.operandNumber:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 5 /* interval */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operandNumber:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
        12: .line 708
            aload 1 /* result */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.logString:()Ljava/lang/String;
            aastore
            dup
            iconst_4
            aload 5 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.logString:()Ljava/lang/String;
        13: .line 707
            aastore
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
            athrow
        end local 5 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        14: .line 701
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        15: .line 712
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval int int org.graalvm.compiler.lir.LIRInstruction$OperandMode
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 16
            aload 1 /* result */
            iload 2 /* opId */
            aload 4 /* mode */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 713
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        end local 3 // int toOffset
        end local 2 // int opId
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval result
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0   17     1      result  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0   17     2        opId  I
            0   17     3    toOffset  I
            0   17     4        mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            2    7     5         msg  Ljava/lang/StringBuilder;
            4    6     6  firstChild  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            5    6     7   lastChild  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
           10   14     5    interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    MethodParameters:
          Name  Flags
      result    
      opId      
      toOffset  
      mode      

  org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval getIntervalCoveringOpId(int);
    descriptor: (I)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // int opId
         0: .line 718
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$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 719
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 2
            iload 1 /* opId */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 721
      StackMap locals:
      StackMap stack:
            iload 1 /* opId */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            if_icmplt 4
         3: .line 722
            aload 0 /* this */
            areturn
         4: .line 725
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitParent:()Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            astore 2 /* parent */
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval parent
         5: .line 726
            aconst_null
            astore 3 /* result */
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval result
         6: .line 728
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 7
            aload 2 /* parent */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 729
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
            aload 2 /* parent */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 4 /* len */
        start local 4 // int len
         8: .line 731
            iload 4 /* len */
            iconst_1
            isub
            istore 5 /* i */
        start local 5 // int i
         9: goto 15
        10: .line 732
      StackMap locals: int int
      StackMap stack:
            aload 2 /* parent */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
            astore 6 /* cur */
        start local 6 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval cur
        11: .line 733
            aload 6 /* cur */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            iload 1 /* opId */
            if_icmpgt 14
            iload 1 /* opId */
            aload 6 /* cur */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
            if_icmpge 14
        12: .line 734
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$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 735
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
            aload 6 /* cur */
            astore 3 /* result */
        end local 6 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval cur
        14: .line 731
      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 739
            aload 3 /* result */
            areturn
        end local 4 // int len
        end local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval result
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval parent
        end local 1 // int opId
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0    this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0   17     1    opId  I
            5   17     2  parent  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            6   17     3  result  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            8   17     4     len  I
            9   16     5       i  I
           11   14     6     cur  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    MethodParameters:
      Name  Flags
      opId  

  org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval getSplitChildBeforeOpId(int);
    descriptor: (I)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // int opId
         0: .line 744
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$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 746
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitParent:()Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            astore 2 /* parent */
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval parent
         2: .line 747
            aconst_null
            astore 3 /* result */
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval result
         3: .line 749
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 4
            aload 2 /* parent */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 750
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
            aload 2 /* parent */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 4 /* len */
        start local 4 // int len
         5: .line 752
            iload 4 /* len */
            iconst_1
            isub
            istore 5 /* i */
        start local 5 // int i
         6: goto 11
         7: .line 753
      StackMap locals: int int
      StackMap stack:
            aload 2 /* parent */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
            astore 6 /* cur */
        start local 6 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval cur
         8: .line 754
            aload 6 /* cur */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
            iload 1 /* opId */
            if_icmpgt 10
            aload 3 /* result */
            ifnull 9
            aload 3 /* result */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
            aload 6 /* cur */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
            if_icmpge 10
         9: .line 755
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
            aload 6 /* cur */
            astore 3 /* result */
        end local 6 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval cur
        10: .line 752
      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 759
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$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 760
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 4 // int len
        end local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval result
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval parent
        end local 1 // int opId
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0   14     1    opId  I
            2   14     2  parent  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            3   14     3  result  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            5   14     4     len  I
            6   12     5       i  I
            8   10     6     cur  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    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.trace.lsra.TraceInterval this
        start local 1 // int opId
        start local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
         0: .line 765
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 766
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$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 768
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 4
         3: .line 770
            aload 0 /* this */
            iload 1 /* opId */
            aload 2 /* mode */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.covers:(ILorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Z
            ireturn
         4: .line 774
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 3 /* len */
        start local 3 // int len
         5: .line 775
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 11
         7: .line 776
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
            astore 5 /* cur */
        start local 5 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval cur
         8: .line 777
            aload 5 /* cur */
            iload 1 /* opId */
            aload 2 /* mode */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.covers:(ILorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Z
            ifeq 10
         9: .line 778
            iconst_1
            ireturn
        end local 5 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval cur
        10: .line 775
      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 781
            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.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            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/trace/lsra/TraceInterval;
    MethodParameters:
      Name  Flags
      opId  
      mode  

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

  int firstUsage(org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)I
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority minRegisterPriority
         0: .line 799
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 801
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
            iconst_1
            isub
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 802
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePosRegisterPriority:(I)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.adaptPriority:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            astore 3 /* registerPriority */
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority registerPriority
         4: .line 803
            aload 3 /* registerPriority */
            aload 1 /* minRegisterPriority */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.greaterEqual:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)Z
            ifeq 6
         5: .line 804
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
            ireturn
        end local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority registerPriority
         6: .line 801
      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 807
            ldc 2147483647
            ireturn
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority minRegisterPriority
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    9     0                 this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    9     1  minRegisterPriority  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            2    8     2                    i  I
            4    6     3     registerPriority  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
    MethodParameters:
                     Name  Flags
      minRegisterPriority  

  int nextUsage(org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority, int);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;I)I
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority minRegisterPriority
        start local 2 // int from
         0: .line 811
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 813
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
            iconst_1
            isub
            istore 3 /* i */
        start local 3 // int i
         2: goto 7
         3: .line 814
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
            istore 4 /* usePos */
        start local 4 // int usePos
         4: .line 815
            iload 4 /* usePos */
            iload 2 /* from */
            if_icmplt 6
            aload 0 /* this */
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePosRegisterPriority:(I)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.adaptPriority:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            aload 1 /* minRegisterPriority */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.greaterEqual:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)Z
            ifeq 6
         5: .line 816
            iload 4 /* usePos */
            ireturn
        end local 4 // int usePos
         6: .line 813
      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 819
            ldc 2147483647
            ireturn
        end local 2 // int from
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority minRegisterPriority
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    9     0                 this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    9     1  minRegisterPriority  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$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.trace.lsra.TraceInterval$RegisterPriority, int);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;I)I
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority exactRegisterPriority
        start local 2 // int from
         0: .line 823
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 825
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
            iconst_1
            isub
            istore 3 /* i */
        start local 3 // int i
         2: goto 7
         3: .line 826
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
            istore 4 /* usePos */
        start local 4 // int usePos
         4: .line 827
            iload 4 /* usePos */
            iload 2 /* from */
            if_icmplt 6
            aload 0 /* this */
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePosRegisterPriority:(I)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.adaptPriority:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            aload 1 /* exactRegisterPriority */
            if_acmpne 6
         5: .line 828
            iload 4 /* usePos */
            ireturn
        end local 4 // int usePos
         6: .line 825
      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 831
            ldc 2147483647
            ireturn
        end local 2 // int from
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority exactRegisterPriority
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    9     0                   this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    9     1  exactRegisterPriority  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$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.trace.lsra.TraceInterval$RegisterPriority, int);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;I)I
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority minRegisterPriority
        start local 2 // int from
         0: .line 835
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 837
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 3 /* prev */
        start local 3 // int prev
         2: .line 838
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
            iconst_1
            isub
            istore 4 /* i */
        start local 4 // int i
         3: goto 10
         4: .line 839
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
            istore 5 /* usePos */
        start local 5 // int usePos
         5: .line 840
            iload 5 /* usePos */
            iload 2 /* from */
            if_icmple 7
         6: .line 841
            iload 3 /* prev */
            ireturn
         7: .line 843
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 4 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePosRegisterPriority:(I)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.adaptPriority:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            aload 1 /* minRegisterPriority */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.greaterEqual:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)Z
            ifeq 9
         8: .line 844
            iload 5 /* usePos */
            istore 3 /* prev */
        end local 5 // int usePos
         9: .line 838
      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 847
            iload 3 /* prev */
            ireturn
        end local 3 // int prev
        end local 2 // int from
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority minRegisterPriority
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   12     0                 this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0   12     1  minRegisterPriority  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$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.trace.lsra.TraceInterval$RegisterPriority);
    descriptor: (ILorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // int pos
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority registerPriority
         0: .line 851
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.isEmpty:()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.trace.lsra.TraceInterval.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 854
      StackMap locals:
      StackMap stack:
            aload 2 /* registerPriority */
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.None:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            if_acmpeq 17
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operand:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 17
         2: .line 855
            getstatic org.graalvm.compiler.core.common.GraalOptions.DetailedAsserts:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 10
         3: .line 856
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 857
      StackMap locals: int
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 6
            iload 1 /* pos */
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(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 858
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            ifle 8
         7: .line 859
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 8
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
            aload 0 /* this */
            iload 3 /* i */
            iconst_1
            isub
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(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 856
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
            if_icmplt 5
        end local 3 // int i
        10: .line 866
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
            istore 3 /* len */
        start local 3 // int len
        11: .line 867
            iload 3 /* len */
            ifeq 12
            aload 0 /* this */
            iload 3 /* len */
            iconst_1
            isub
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
            iload 1 /* pos */
            if_icmple 14
        12: .line 868
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* pos */
            aload 2 /* registerPriority */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosAdd:(ILorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)V
        13: .line 869
            goto 17
      StackMap locals:
      StackMap stack:
        14: aload 0 /* this */
            iload 3 /* len */
            iconst_1
            isub
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePosRegisterPriority:(I)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            aload 2 /* registerPriority */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.lessThan:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)Z
            ifeq 17
        15: .line 870
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 16
            aload 0 /* this */
            iload 3 /* len */
            iconst_1
            isub
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(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 871
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* len */
            iconst_1
            isub
            aload 2 /* registerPriority */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.setUsePosRegisterPriority:(ILorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)V
        end local 3 // int len
        17: .line 874
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority registerPriority
        end local 1 // int pos
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0              this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0   18     1               pos  I
            0   18     2  registerPriority  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            4   10     3                 i  I
           11   17     3               len  I
    MethodParameters:
                  Name  Flags
      pos               
      registerPriority  

  public void addRange(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // int from
        start local 2 // int to
         0: .line 877
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$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 879
      StackMap locals:
      StackMap stack:
            iload 1 /* from */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intFrom:I
            if_icmpge 3
         2: .line 880
            aload 0 /* this */
            iload 1 /* from */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.setFrom:(I)V
         3: .line 882
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intTo:I
            ldc 2147483647
            if_icmpeq 4
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intTo:I
            iload 2 /* to */
            if_icmpge 5
         4: .line 883
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* to */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.setTo:(I)V
         5: .line 885
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int to
        end local 1 // int from
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    6     1  from  I
            0    6     2    to  I
    MethodParameters:
      Name  Flags
      from  
      to    

  org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval newSplitChild(org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan allocator
         0: .line 889
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitParent:()Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            astore 2 /* parent */
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval parent
         1: .line 890
            aload 1 /* allocator */
            aload 2 /* parent */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.createDerivedInterval:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            astore 3 /* result */
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval result
         2: .line 892
            aload 3 /* result */
            aload 2 /* parent */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitParent:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
         3: .line 893
            aload 3 /* result */
            aload 2 /* parent */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.setLocationHint:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;)V
         4: .line 896
            aload 2 /* parent */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 8
         5: .line 897
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 6
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.isSplitParent:()Z
            ifne 6
            new java.lang.AssertionError
            dup
            ldc "list must be initialized at first split"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 900
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      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.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
         7: .line 901
            aload 2 /* parent */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            aload 0 /* this */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 903
      StackMap locals:
      StackMap stack:
            aload 2 /* parent */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            aload 3 /* result */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 905
            aload 3 /* result */
            areturn
        end local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval result
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval parent
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan allocator
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0   10     1  allocator  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            1   10     2     parent  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            2   10     3     result  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    MethodParameters:
           Name  Flags
      allocator  

  org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval split(int, org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan);
    descriptor: (ILorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // int splitPos
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan allocator
         0: .line 923
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 926
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* allocator */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.newSplitChild:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            astore 3 /* result */
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval result
         2: .line 929
            aload 3 /* result */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intTo:I
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.setTo:(I)V
         3: .line 930
            aload 3 /* result */
            iload 1 /* splitPos */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.setFrom:(I)V
         4: .line 931
            aload 0 /* this */
            iload 1 /* splitPos */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intTo:I
         5: .line 934
            aload 0 /* this */
            aload 3 /* result */
            iload 1 /* splitPos */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitUsePosAt:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;I)V
         6: .line 936
            getstatic org.graalvm.compiler.core.common.GraalOptions.DetailedAsserts:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 17
         7: .line 937
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 11
         9: .line 938
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval int
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 10
            aload 0 /* this */
            iload 4 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
            iload 1 /* splitPos */
            if_icmplt 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 937
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
            if_icmplt 9
        end local 4 // int i
        12: .line 940
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        13: goto 16
        14: .line 941
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 15
            aload 3 /* result */
            iload 4 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
            iload 1 /* splitPos */
            if_icmpge 15
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        15: .line 940
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            aload 3 /* result */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
            if_icmplt 14
        end local 4 // int i
        17: .line 944
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval result
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan allocator
        end local 1 // int splitPos
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0   18     1   splitPos  I
            0   18     2  allocator  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            2   18     3     result  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            8   12     4          i  I
           13   17     4          i  I
    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=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // int opId
        start local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
         0: .line 949
            aload 2 /* mode */
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandMode.DEF:Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            if_acmpne 3
         1: .line 950
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            iload 1 /* opId */
            if_icmpgt 2
            iload 1 /* opId */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
            if_icmpge 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 952
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            iload 1 /* opId */
            if_icmpgt 4
            iload 1 /* opId */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
            if_icmpgt 4
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        end local 1 // int opId
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    5     1  opId  I
            0    5     2  mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
    MethodParameters:
      Name  Flags
      opId  
      mode  

  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.trace.lsra.TraceInterval this
         0: .line 957
            ldc "?"
            astore 1 /* from */
        start local 1 // java.lang.String from
         1: .line 958
            ldc "?"
            astore 2 /* to */
        start local 2 // java.lang.String to
         2: .line 959
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.isEmpty:()Z
            ifne 5
         3: .line 960
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            astore 1 /* from */
         4: .line 961
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            astore 2 /* to */
         5: .line 963
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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.trace.lsra.TraceInterval.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 964
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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.trace.lsra.TraceInterval.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.trace.lsra.TraceInterval.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.trace.lsra.TraceInterval 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.trace.lsra.TraceInterval 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.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            1   11     1            from  Ljava/lang/String;
            2   11     2              to  Ljava/lang/String;
            8   11     3  locationString  Ljava/lang/String;

  public java.lang.String logString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
         0: .line 972
            new java.lang.StringBuilder
            dup
            bipush 100
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuilder buf
         1: .line 973
            aload 1 /* buf */
            ldc "any "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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.trace.lsra.TraceInterval.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 974
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operand:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifne 5
         3: .line 975
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.location:Ljdk/vm/ci/meta/AllocatableValue;
            ifnull 5
         4: .line 976
            aload 1 /* buf */
            ldc "location{"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.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 980
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* buf */
            ldc "hints{"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitParent:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operandNumber:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
         6: .line 981
            aload 0 /* this */
            iconst_0
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.locationHint:(Z)Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
            astore 2 /* hint */
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint hint
         7: .line 982
            aload 2 /* hint */
            ifnull 9
         8: .line 983
            aload 1 /* buf */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* hint */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint.location:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         9: .line 985
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint
      StackMap stack:
            aload 1 /* buf */
            ldc "} ranges{"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 988
            aload 1 /* buf */
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 989
            aload 1 /* buf */
            ldc "} uses{"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 992
            iconst_m1
            istore 3 /* prev */
        start local 3 // int prev
        13: .line 993
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
            iconst_1
            isub
            istore 4 /* i */
        start local 4 // int i
        14: goto 21
        15: .line 994
      StackMap locals: int int
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 16
            iload 3 /* prev */
            aload 0 /* this */
            iload 4 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
            if_icmplt 16
            new java.lang.AssertionError
            dup
            ldc "use positions not sorted"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        16: .line 995
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
            iconst_1
            isub
            if_icmpeq 18
        17: .line 996
            aload 1 /* buf */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 998
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            aload 0 /* this */
            iload 4 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(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 */
            iload 4 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePosRegisterPriority:(I)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.shortName:()Ljava/lang/CharSequence;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
            pop
        19: .line 999
            aload 0 /* this */
            iload 4 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
            istore 3 /* prev */
        20: .line 993
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
        21: iload 4 /* i */
            ifge 15
        end local 4 // int i
        22: .line 1001
            aload 1 /* buf */
            ldc "} spill-state{"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillState:()Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$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
        23: .line 1002
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.canMaterialize:()Z
            ifeq 25
        24: .line 1003
            aload 1 /* buf */
            ldc " (remat:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getMaterializedValue:()Ljdk/vm/ci/meta/JavaConstant;
            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
        25: .line 1005
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // int prev
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint hint
        end local 1 // java.lang.StringBuilder buf
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   26     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            1   26     1   buf  Ljava/lang/StringBuilder;
            7   26     2  hint  Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
           13   26     3  prev  I
           14   22     4     i  I

  java.util.List<org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval> getSplitChildren();
    descriptor: ()Ljava/util/List;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
         0: .line 1009
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    Signature: ()Ljava/util/List<Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;>;

  boolean isFixedInterval();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
         0: .line 1013
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operand:Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;

  private static boolean isDefinitionPosition(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int usePos
         0: .line 1017
            iload 0 /* usePos */
            iconst_1
            iand
            iconst_1
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int usePos
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  usePos  I
    MethodParameters:
        Name  Flags
      usePos  

  int currentFrom(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // int currentPosition
         0: .line 1021
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.isFixedInterval:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1022
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 1023
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
            istore 3 /* usePos */
        start local 3 // int usePos
         4: .line 1024
            iload 3 /* usePos */
            iload 1 /* currentPosition */
            if_icmpgt 6
            iload 3 /* usePos */
            invokestatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.isDefinitionPosition:(I)Z
            ifeq 6
         5: .line 1025
            iload 3 /* usePos */
            ireturn
        end local 3 // int usePos
         6: .line 1022
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
            if_icmplt 3
        end local 2 // int i
         8: .line 1029
            ldc 2147483647
            ireturn
        end local 1 // int currentPosition
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0             this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    9     1  currentPosition  I
            2    8     2                i  I
            4    6     3           usePos  I
    MethodParameters:
                 Name  Flags
      currentPosition  

  int currentIntersectsAt(int, org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval);
    descriptor: (ILorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)I
    flags: (0x0000) 
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // int currentPosition
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval current
         0: .line 1033
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.isFixedInterval:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1034
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 2
            aload 2 /* current */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.isFixedInterval:()Z
            ifeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1035
      StackMap locals:
      StackMap stack:
            ldc 2147483647
            istore 3 /* from */
        start local 3 // int from
         3: .line 1036
            ldc -2147483648
            istore 4 /* to */
        start local 4 // int to
         4: .line 1038
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 16
         6: .line 1039
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            iload 5 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
            istore 6 /* usePos */
        start local 6 // int usePos
         7: .line 1040
            iload 6 /* usePos */
            invokestatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.isDefinitionPosition:(I)Z
            ifeq 13
         8: .line 1041
            iload 6 /* usePos */
            iload 1 /* currentPosition */
            if_icmpgt 11
         9: .line 1042
            iload 6 /* usePos */
            istore 3 /* from */
        10: .line 1043
            goto 17
        11: .line 1045
      StackMap locals: int
      StackMap stack:
            ldc -2147483648
            istore 4 /* to */
        12: .line 1046
            goto 15
        13: .line 1047
      StackMap locals:
      StackMap stack:
            iload 4 /* to */
            iload 6 /* usePos */
            if_icmpge 15
        14: .line 1048
            iload 6 /* usePos */
            istore 4 /* to */
        end local 6 // int usePos
        15: .line 1038
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 5 /* i */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
            if_icmplt 6
        end local 5 // int i
        17: .line 1052
      StackMap locals:
      StackMap stack:
            iload 3 /* from */
            aload 2 /* current */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            if_icmpge 21
        18: .line 1053
            iload 4 /* to */
            aload 2 /* current */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            if_icmpgt 20
        19: .line 1054
            iconst_m1
            ireturn
        20: .line 1056
      StackMap locals:
      StackMap stack:
            aload 2 /* current */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            ireturn
        21: .line 1058
      StackMap locals:
      StackMap stack:
            aload 2 /* current */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
            iload 3 /* from */
            if_icmpgt 23
        22: .line 1059
            iconst_m1
            ireturn
        23: .line 1061
      StackMap locals:
      StackMap stack:
            iload 3 /* from */
            ireturn
        end local 4 // int to
        end local 3 // int from
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval current
        end local 1 // int currentPosition
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   24     0             this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0   24     1  currentPosition  I
            0   24     2          current  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            3   24     3             from  I
            4   24     4               to  I
            5   17     5                i  I
            7   15     6           usePos  I
    MethodParameters:
                 Name  Flags
      currentPosition  
      current          

  int getUsePos(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // int index
         0: .line 1081
            aload 0 /* this */
            iload 1 /* index */
            iconst_1
            ishl
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intListGet:(I)I
            ireturn
        end local 1 // int index
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  int numUsePos();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
         0: .line 1085
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
            iconst_1
            ishr
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;

  org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority getUsePosRegisterPriority(int);
    descriptor: (I)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // int index
         0: .line 1095
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.VALUES:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            aload 0 /* this */
            iload 1 /* index */
            iconst_1
            ishl
            iconst_1
            iadd
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intListGet:(I)I
            aaload
            areturn
        end local 1 // int index
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  void removeFirstUsePos();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
         0: .line 1099
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
            iconst_2
            isub
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intListSetSize:(I)V
         1: .line 1100
            return
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;

  private void setUsePosRegisterPriority(int, org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority);
    descriptor: (ILorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // int pos
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority registerPriority
         0: .line 1105
            iload 1 /* pos */
            iconst_1
            ishl
            iconst_1
            iadd
            istore 3 /* index */
        start local 3 // int index
         1: .line 1106
            aload 2 /* registerPriority */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.ordinal:()I
            istore 4 /* value */
        start local 4 // int value
         2: .line 1107
            aload 0 /* this */
            iload 3 /* index */
            iload 4 /* value */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intListSet:(II)V
         3: .line 1108
            return
        end local 4 // int value
        end local 3 // int index
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority registerPriority
        end local 1 // int pos
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    4     1               pos  I
            0    4     2  registerPriority  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            1    4     3             index  I
            2    4     4             value  I
    MethodParameters:
                  Name  Flags
      pos               
      registerPriority  

  private void usePosAdd(int, org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority);
    descriptor: (ILorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // int pos
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority registerPriority
         0: .line 1111
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
            ifeq 1
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
            iconst_1
            isub
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
            iload 1 /* pos */
            if_icmpgt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1112
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* pos */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intListAdd:(I)V
         2: .line 1113
            aload 0 /* this */
            aload 2 /* registerPriority */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.ordinal:()I
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intListAdd:(I)V
         3: .line 1114
            return
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority registerPriority
        end local 1 // int pos
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    4     1               pos  I
            0    4     2  registerPriority  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
    MethodParameters:
                  Name  Flags
      pos               
      registerPriority  

  private void splitUsePosAt(org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval, int);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval result
        start local 2 // int splitPos
         0: .line 1117
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
            iconst_1
            isub
            istore 3 /* i */
        start local 3 // int i
         1: .line 1118
            iconst_0
            istore 4 /* len */
        start local 4 // int len
         2: .line 1119
            goto 5
         3: .line 1120
      StackMap locals: int int
      StackMap stack:
            iinc 3 /* i */ -1
         4: .line 1121
            iinc 4 /* len */ 2
         5: .line 1119
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iflt 6
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
            iload 2 /* splitPos */
            if_icmplt 3
         6: .line 1123
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iconst_1
            iadd
            iconst_2
            imul
            istore 5 /* listSplitIndex */
        start local 5 // int listSplitIndex
         7: .line 1124
            iload 4 /* len */
            newarray 10
            astore 6 /* array */
        start local 6 // int[] array
         8: .line 1125
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListArray:[I
            iload 5 /* listSplitIndex */
            aload 6 /* array */
            iconst_0
            iload 4 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 1126
            iload 5 /* listSplitIndex */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
            if_icmpge 12
        10: .line 1127
            aload 0 /* this */
            iload 5 /* listSplitIndex */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
        11: .line 1128
            goto 13
        12: .line 1129
      StackMap locals: int int[]
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 13
            iload 5 /* listSplitIndex */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
            if_icmpeq 13
            new java.lang.AssertionError
            dup
            ldc "splitting cannot grow the use position array!"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        13: .line 1131
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListArray:[I
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListArray:[I
        14: .line 1132
            aload 1 /* result */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
        15: .line 1133
            aload 0 /* this */
            aload 6 /* array */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListArray:[I
        16: .line 1134
            aload 0 /* this */
            iload 4 /* len */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
        17: .line 1135
            return
        end local 6 // int[] array
        end local 5 // int listSplitIndex
        end local 4 // int len
        end local 3 // int i
        end local 2 // int splitPos
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval result
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0            this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0   18     1          result  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0   18     2        splitPos  I
            1   18     3               i  I
            2   18     4             len  I
            7   18     5  listSplitIndex  I
            8   18     6           array  [I
    MethodParameters:
          Name  Flags
      result    
      splitPos  

  private int intListGet(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // int index
         0: .line 1140
            iload 1 /* index */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
            if_icmplt 2
         1: .line 1141
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Index: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", Size: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListArray:[I
            iload 1 /* index */
            iaload
            ireturn
        end local 1 // int index
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    3     1  index  I
    MethodParameters:
       Name  Flags
      index  

  private void intListSet(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // int index
        start local 2 // int value
         0: .line 1147
            iload 1 /* index */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
            if_icmplt 2
         1: .line 1148
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Index: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", Size: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListArray:[I
            iload 1 /* index */
            iload 2 /* value */
            iastore
         3: .line 1151
            return
        end local 2 // int value
        end local 1 // int index
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    4     1  index  I
            0    4     2  value  I
    MethodParameters:
       Name  Flags
      index  
      value  

  private void intListAdd(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // int pos
         0: .line 1154
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListArray:[I
            arraylength
            if_icmpne 3
         1: .line 1155
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
            iconst_3
            imul
            iconst_2
            idiv
            iconst_1
            iadd
            istore 2 /* newSize */
        start local 2 // int newSize
         2: .line 1156
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListArray:[I
            iload 2 /* newSize */
            invokestatic java.util.Arrays.copyOf:([II)[I
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListArray:[I
        end local 2 // int newSize
         3: .line 1158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListArray:[I
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
            dup_x1
            iconst_1
            iadd
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
            iload 1 /* pos */
            iastore
         4: .line 1159
            return
        end local 1 // int pos
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    5     1      pos  I
            2    3     2  newSize  I
    MethodParameters:
      Name  Flags
      pos   

  private void intListSetSize(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // int newSize
         0: .line 1162
            iload 1 /* newSize */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
            if_icmpge 3
         1: .line 1163
            aload 0 /* this */
            iload 1 /* newSize */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
         2: .line 1164
            goto 5
      StackMap locals:
      StackMap stack:
         3: iload 1 /* newSize */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
            if_icmple 5
         4: .line 1165
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListArray:[I
            iload 1 /* newSize */
            invokestatic java.util.Arrays.copyOf:([II)[I
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListArray:[I
         5: .line 1167
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int newSize
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    6     1  newSize  I
    MethodParameters:
         Name  Flags
      newSize  
}
SourceFile: "TraceInterval.java"
NestMembers:
  org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$AnyList  org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterBinding  org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority  org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState  org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$State
InnerClasses:
  public final OperandMode = org.graalvm.compiler.lir.LIRInstruction$OperandMode of org.graalvm.compiler.lir.LIRInstruction
  final AnyList = org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$AnyList of org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
  final RegisterBinding = org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterBinding of org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
  public final RegisterPriority = org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority of org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
  public final SpillState = org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState of org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
  final State = org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$State of org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
  public final TraceLinearScan = org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan of org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase