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 org.graalvm.compiler.lir.Variable operand;
    descriptor: Lorg/graalvm/compiler/lir/Variable;
    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.ArrayList<org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval> splitChildren;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayList<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

  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=6, locals=0, args_size=0
         0: .line 58
            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 284
            new org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
            dup
            new org.graalvm.compiler.lir.Variable
            dup
            getstatic jdk.vm.ci.meta.ValueKind.Illegal:Ljdk/vm/ci/meta/ValueKind;
            ldc 2147483647
            invokespecial org.graalvm.compiler.lir.Variable.<init>:(Ljdk/vm/ci/meta/ValueKind;I)V
            iconst_m1
            invokespecial org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.<init>:(Lorg/graalvm/compiler/lir/Variable;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 <init>(org.graalvm.compiler.lir.Variable);
    descriptor: (Lorg/graalvm/compiler/lir/Variable;)V
    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 // org.graalvm.compiler.lir.Variable operand
         0: .line 287
            aload 0 /* this */
            aload 1 /* operand */
            aload 1 /* operand */
            getfield org.graalvm.compiler.lir.Variable.index:I
            invokespecial org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.<init>:(Lorg/graalvm/compiler/lir/Variable;I)V
         1: .line 288
            return
        end local 1 // org.graalvm.compiler.lir.Variable operand
        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  operand  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
         Name  Flags
      operand  

  private void <init>(org.graalvm.compiler.lir.Variable, int);
    descriptor: (Lorg/graalvm/compiler/lir/Variable;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
        start local 1 // org.graalvm.compiler.lir.Variable operand
        start local 2 // int operandNumber
         0: .line 290
            aload 0 /* this */
            invokespecial org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint.<init>:()V
         1: .line 247
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/ArrayList;
         2: .line 291
            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 292
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval org.graalvm.compiler.lir.Variable int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* operand */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operand:Lorg/graalvm/compiler/lir/Variable;
         4: .line 293
            aload 0 /* this */
            iload 2 /* operandNumber */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operandNumber:I
         5: .line 294
            aload 1 /* operand */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 8
         6: .line 295
            aload 0 /* this */
            aload 1 /* operand */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.location:Ljdk/vm/ci/meta/AllocatableValue;
         7: .line 296
            goto 9
         8: .line 297
      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 299
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc 2147483647
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intFrom:I
        10: .line 300
            aload 0 /* this */
            ldc 2147483647
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intTo:I
        11: .line 301
            aload 0 /* this */
            bipush 8
            newarray 10
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListArray:[I
        12: .line 302
            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 303
            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 304
            aload 0 /* this */
            iconst_m1
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillDefinitionPos:I
        15: .line 305
            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 306
            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 307
            return
        end local 2 // int operandNumber
        end local 1 // org.graalvm.compiler.lir.Variable 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  Lorg/graalvm/compiler/lir/Variable;
            0   18     2  operandNumber  I
    MethodParameters:
               Name  Flags
      operand        
      operandNumber  

  private boolean splitChildrenEmpty();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
         0: .line 310
            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.splitChildren:Ljava/util/ArrayList;
            ifnull 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.isEmpty:()Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/ArrayList;
            ifnonnull 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        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;

  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 315
            aload 1 /* newLocation */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 5
         1: .line 316
            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 317
      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 318
            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 319
            return
         5: .line 321
      StackMap locals:
      StackMap stack:
            aload 1 /* newLocation */
            invokestatic jdk.vm.ci.code.ValueUtil.isIllegal:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 7
         6: .line 322
            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 324
      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 325
      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 326
      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 327
      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 329
      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 330
            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 338
            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;

  private jdk.vm.ci.meta.ValueKind<?> kind();
    descriptor: ()Ljdk/vm/ci/meta/ValueKind;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval this
         0: .line 342
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operand:Lorg/graalvm/compiler/lir/Variable;
            invokevirtual org.graalvm.compiler.lir.Variable.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 346
            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 350
            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 351
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* pos */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intTo:I
         2: .line 352
            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 355
            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 356
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* pos */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intFrom:I
         2: .line 357
            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 361
            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 365
            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;

  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 369
            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 370
            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 hasHint();
    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 373
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.locationHint:Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
            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 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 377
            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 381
            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 388
            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 389
      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 396
            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 400
            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 401
      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 402
      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 403
            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 406
            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 410
            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 411
            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 414
            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 418
            aload 0 /* this */
            iload 1 /* b */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.insertMoveWhenActivated:Z
         1: .line 419
            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 423
            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 427
            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 431
            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 432
      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 433
            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 436
            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 437
      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 438
            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 439
      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 440
            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 447
            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 448
            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  

  public boolean preSpilledAllocated();
    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 452
            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.StartInMemory:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            if_acmpne 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
            ifne 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.hasHint:()Z
            ifne 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 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 457
            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 463
            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 464
            aload 1 /* i */
            astore 2 /* i1 */
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval i1
         2: .line 465
            aload 0 /* this */
            astore 3 /* i2 */
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval i2
         3: .line 466
            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 467
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            astore 2 /* i1 */
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval i1
         5: .line 468
            aload 1 /* i */
            astore 3 /* i2 */
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval i2
         6: .line 470
      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 472
      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 473
            iconst_m1
            ireturn
         9: .line 475
      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     

  public void addMaterializationValue(jdk.vm.ci.meta.JavaConstant);
    descriptor: (Ljdk/vm/ci/meta/JavaConstant;)V
    flags: (0x0001) ACC_PUBLIC
    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.JavaConstant value
         0: .line 482
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.materializedValue:Ljdk/vm/ci/meta/JavaConstant;
            ifnull 2
         1: .line 483
            ldc "Multiple materialization values for %s?"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
         2: .line 485
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* value */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.materializedValue:Ljdk/vm/ci/meta/JavaConstant;
         3: .line 486
            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    4     0   this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    4     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 493
            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 500
            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 505
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildrenEmpty:()Z
            ifne 23
         1: .line 506
            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 508
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         3: goto 22
         4: .line 509
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/ArrayList;
            iload 1 /* i */
            invokevirtual java.util.ArrayList.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 511
            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 512
      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 513
      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 515
      StackMap locals:
      StackMap stack:
            iload 1 /* i */
            iconst_1
            iadd
            istore 3 /* j */
        start local 3 // int j
        10: goto 20
        11: .line 516
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/ArrayList;
            iload 3 /* j */
            invokevirtual java.util.ArrayList.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 518
            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.operandNumber:I
            aload 4 /* i2 */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operandNumber:I
            if_icmpne 13
            new java.lang.AssertionError
            dup
            ldc "same register number"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        13: .line 520
      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 521
            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 523
      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 524
      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 515
      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/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 11
        end local 3 // int j
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval i1
        21: .line 508
            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/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 4
        end local 1 // int i
        23: .line 530
      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 534
            iload 1 /* searchSplitChild */
            ifne 2
         1: .line 535
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.locationHint:Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
            areturn
         2: .line 538
      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 539
            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 541
      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 542
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.locationHint:Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
            areturn
         6: .line 543
      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 544
            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 545
            aload 2 /* hint */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildrenEmpty:()Z
            ifne 17
         9: .line 547
            aload 2 /* hint */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 3 /* len */
        start local 3 // int len
        10: .line 548
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        11: goto 16
        12: .line 549
      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/ArrayList;
            iload 4 /* i */
            invokevirtual java.util.ArrayList.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 550
            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 551
            aload 5 /* interval */
            areturn
        end local 5 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        15: .line 548
      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 559
      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 getSplitChildAtOpIdOrNull(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=4, 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 567
            aload 0 /* this */
            iload 1 /* opId */
            aload 2 /* mode */
            iconst_1
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getSplitChildAtOpIdIntern:(ILorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Z)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            areturn
        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    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    1     1  opId  I
            0    1     2  mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
    MethodParameters:
      Name  Flags
      opId  
      mode  

  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=4, 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 571
            aload 0 /* this */
            iload 1 /* opId */
            aload 2 /* mode */
            iconst_0
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getSplitChildAtOpIdIntern:(ILorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Z)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            areturn
        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    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    1     1  opId  I
            0    1     2  mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
    MethodParameters:
      Name  Flags
      opId  
      mode  

  private org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval getSplitChildAtOpIdIntern(int, org.graalvm.compiler.lir.LIRInstruction$OperandMode, boolean);
    descriptor: (ILorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Z)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=4
        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
        start local 3 // boolean returnNull
         0: .line 575
            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 576
      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 578
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildrenEmpty:()Z
            ifeq 9
         3: .line 579
            iload 3 /* returnNull */
            ifeq 7
         4: .line 580
            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
            ifeq 5
            aload 0 /* this */
            goto 6
      StackMap locals:
      StackMap stack:
         5: aconst_null
      StackMap locals:
      StackMap stack: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
         6: areturn
         7: .line 582
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 8
            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 8
            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
         8: .line 583
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
         9: .line 585
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* result */
        start local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval result
        10: .line 586
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 5 /* len */
        start local 5 // int len
        11: .line 589
            aload 2 /* mode */
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandMode.DEF:Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            if_acmpne 12
            iconst_0
            goto 13
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval int
      StackMap stack:
        12: iconst_1
      StackMap locals:
      StackMap stack: int
        13: istore 6 /* toOffset */
        start local 6 // int toOffset
        14: .line 592
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        15: goto 24
        16: .line 593
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/ArrayList;
            iload 7 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
            astore 8 /* cur */
        start local 8 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval cur
        17: .line 594
            aload 8 /* cur */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            iload 1 /* opId */
            if_icmpgt 23
            iload 1 /* opId */
            aload 8 /* cur */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
            iload 6 /* toOffset */
            iadd
            if_icmpge 23
        18: .line 595
            iload 7 /* i */
            ifle 21
        19: .line 598
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/ArrayList;
            iload 7 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/ArrayList;
            iconst_0
            invokevirtual java.util.ArrayList.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
        20: .line 599
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/ArrayList;
            iconst_0
            aload 8 /* cur */
            aconst_null
            invokestatic org.graalvm.compiler.core.common.util.Util.atPutGrow:(Ljava/util/List;ILjava/lang/Object;Ljava/lang/Object;)V
        21: .line 603
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
            aload 8 /* cur */
            astore 4 /* result */
        22: .line 604
            goto 25
        end local 8 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval cur
        23: .line 592
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 7 /* i */
            iload 5 /* len */
            if_icmplt 16
        25: .line 608
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 26
            iload 3 /* returnNull */
            ifne 26
            aload 0 /* this */
            aload 4 /* result */
            iload 1 /* opId */
            iload 6 /* 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 26
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        26: .line 609
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            areturn
        end local 7 // int i
        end local 6 // int toOffset
        end local 5 // int len
        end local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval result
        end local 3 // boolean returnNull
        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   27     0        this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0   27     1        opId  I
            0   27     2        mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            0   27     3  returnNull  Z
           10   27     4      result  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
           11   27     5         len  I
           14   27     6    toOffset  I
           15   27     7           i  I
           17   23     8         cur  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    MethodParameters:
            Name  Flags
      opId        
      mode        
      returnNull  

  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 614
            aload 1 /* result */
            ifnonnull 7
         1: .line 616
            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 617
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildrenEmpty:()Z
            ifne 6
         3: .line 618
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/ArrayList;
            iconst_0
            invokevirtual java.util.ArrayList.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 619
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/ArrayList;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            invokevirtual java.util.ArrayList.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 620
            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 622
      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 625
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildrenEmpty:()Z
            ifne 15
         8: .line 626
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.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 627
            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 632
            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 633
            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 632
            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 626
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        15: .line 637
      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 638
      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 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 643
            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 645
      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 646
            aconst_null
            astore 3 /* result */
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval result
         3: .line 648
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 4
            aload 2 /* parent */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildrenEmpty:()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 649
      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/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            istore 4 /* len */
        start local 4 // int len
         5: .line 651
            iload 4 /* len */
            iconst_1
            isub
            istore 5 /* i */
        start local 5 // int i
         6: goto 11
         7: .line 652
      StackMap locals: int int
      StackMap stack:
            aload 2 /* parent */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/ArrayList;
            iload 5 /* i */
            invokevirtual java.util.ArrayList.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 653
            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 654
      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 651
      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 658
            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 659
      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  

  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 668
            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 669
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.MustHaveRegister:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            areturn
         2: .line 671
      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 676
            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
         1: goto 6
         2: .line 677
      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
         3: .line 678
            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 5
         4: .line 679
            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
         5: .line 676
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ -1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            ifge 2
        end local 2 // int i
         7: .line 682
            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    8     0                 this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    8     1  minRegisterPriority  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            1    7     2                    i  I
            3    5     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 686
            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: goto 6
         2: .line 687
      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
         3: .line 688
            iload 4 /* usePos */
            iload 2 /* from */
            if_icmplt 5
            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 5
         4: .line 689
            iload 4 /* usePos */
            ireturn
        end local 4 // int usePos
         5: .line 686
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            ifge 2
        end local 3 // int i
         7: .line 692
            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    8     0                 this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    8     1  minRegisterPriority  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            0    8     2                 from  I
            1    7     3                    i  I
            3    5     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 697
            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: goto 6
         2: .line 698
      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
         3: .line 699
            iload 4 /* usePos */
            iload 2 /* from */
            if_icmplt 5
            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 5
         4: .line 700
            iload 4 /* usePos */
            ireturn
        end local 4 // int usePos
         5: .line 697
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            ifge 2
        end local 3 // int i
         7: .line 703
            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    8     0                   this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    8     1  exactRegisterPriority  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            0    8     2                   from  I
            1    7     3                      i  I
            3    5     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 707
            iconst_m1
            istore 3 /* prev */
        start local 3 // int prev
         1: .line 708
            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
         2: goto 9
         3: .line 709
      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
         4: .line 710
            iload 5 /* usePos */
            iload 2 /* from */
            if_icmple 6
         5: .line 711
            iload 3 /* prev */
            ireturn
         6: .line 713
      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 8
         7: .line 714
            iload 5 /* usePos */
            istore 3 /* prev */
        end local 5 // int usePos
         8: .line 708
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            ifge 3
        end local 4 // int i
        10: .line 717
            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   11     0                 this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0   11     1  minRegisterPriority  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            0   11     2                 from  I
            1   11     3                 prev  I
            2   10     4                    i  I
            4    8     5               usePos  I
    MethodParameters:
                     Name  Flags
      minRegisterPriority  
      from                 

  public void addUsePos(int, org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority, org.graalvm.compiler.options.OptionValues);
    descriptor: (ILorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;Lorg/graalvm/compiler/options/OptionValues;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        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
        start local 3 // org.graalvm.compiler.options.OptionValues options
         0: .line 721
            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 724
      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
         2: .line 725
            aload 3 /* options */
            invokestatic org.graalvm.compiler.debug.Assertions.detailedAssertionsEnabled:(Lorg/graalvm/compiler/options/OptionValues;)Z
            ifeq 10
         3: .line 726
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 9
         5: .line 727
      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 4 /* 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 728
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            ifle 8
         7: .line 729
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 8
            aload 0 /* this */
            iload 4 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
            aload 0 /* this */
            iload 4 /* 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 726
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
            if_icmplt 5
        end local 4 // int i
        10: .line 736
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
            istore 4 /* len */
        start local 4 // int len
        11: .line 737
            iload 4 /* len */
            ifeq 12
            aload 0 /* this */
            iload 4 /* len */
            iconst_1
            isub
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
            iload 1 /* pos */
            if_icmple 14
        12: .line 738
      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 739
            goto 17
      StackMap locals:
      StackMap stack:
        14: aload 0 /* this */
            iload 4 /* 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 740
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 16
            aload 0 /* this */
            iload 4 /* 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 741
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* 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 4 // int len
        17: .line 744
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.options.OptionValues options
        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;
            0   18     3           options  Lorg/graalvm/compiler/options/OptionValues;
            4   10     4                 i  I
           11   17     4               len  I
    MethodParameters:
                  Name  Flags
      pos               
      registerPriority  
      options           

  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 747
            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 749
      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 750
            aload 0 /* this */
            iload 1 /* from */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.setFrom:(I)V
         3: .line 752
      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 753
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* to */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.setTo:(I)V
         5: .line 755
      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 759
            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 760
            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 762
            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 763
            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 766
            aload 2 /* parent */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildrenEmpty:()Z
            ifeq 8
         5: .line 767
            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 770
      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/ArrayList;
         7: .line 771
            aload 2 /* parent */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/ArrayList;
            aload 0 /* this */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         8: .line 773
      StackMap locals:
      StackMap stack:
            aload 2 /* parent */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/ArrayList;
            aload 3 /* result */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         9: .line 775
            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 795
            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
         1: .line 798
            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
         2: .line 799
            aload 3 /* result */
            iload 1 /* splitPos */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.setFrom:(I)V
         3: .line 800
            aload 0 /* this */
            iload 1 /* splitPos */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intTo:I
         4: .line 803
            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
         5: .line 805
            aload 2 /* allocator */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            invokestatic org.graalvm.compiler.debug.Assertions.detailedAssertionsEnabled:(Lorg/graalvm/compiler/options/OptionValues;)Z
            ifeq 16
         6: .line 806
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 10
         8: .line 807
      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 9
            aload 0 /* this */
            iload 4 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
            iload 1 /* splitPos */
            if_icmplt 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 806
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
            if_icmplt 8
        end local 4 // int i
        11: .line 809
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        12: goto 15
        13: .line 810
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.$assertionsDisabled:Z
            ifne 14
            aload 3 /* result */
            iload 4 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
            iload 1 /* splitPos */
            if_icmpge 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 809
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 4 /* i */
            aload 3 /* result */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
            if_icmplt 13
        end local 4 // int i
        16: .line 813
      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   17     0       this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0   17     1   splitPos  I
            0   17     2  allocator  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            1   17     3     result  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            7   11     4          i  I
           12   16     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 818
            aload 2 /* mode */
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandMode.DEF:Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            if_acmpne 3
         1: .line 819
            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 821
      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 826
            ldc "?"
            astore 1 /* from */
        start local 1 // java.lang.String from
         1: .line 827
            ldc "?"
            astore 2 /* to */
        start local 2 // java.lang.String to
         2: .line 828
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.isEmpty:()Z
            ifne 5
         3: .line 829
            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 830
            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 832
      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 833
            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:Lorg/graalvm/compiler/lir/Variable;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operand:Lorg/graalvm/compiler/lir/Variable;
            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 841
            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 842
            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:Lorg/graalvm/compiler/lir/Variable;
            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 843
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operand:Lorg/graalvm/compiler/lir/Variable;
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifne 5
         3: .line 844
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.location:Ljdk/vm/ci/meta/AllocatableValue;
            ifnull 5
         4: .line 845
            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 849
      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 850
            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 851
            aload 2 /* hint */
            ifnull 9
         8: .line 852
            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 854
      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 857
            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 858
            aload 1 /* buf */
            ldc "} uses{"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 861
            iconst_m1
            istore 3 /* prev */
        start local 3 // int prev
        13: .line 862
            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 863
      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 864
      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 865
            aload 1 /* buf */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 867
      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 868
            aload 0 /* this */
            iload 4 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
            istore 3 /* prev */
        20: .line 862
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
        21: iload 4 /* i */
            ifge 15
        end local 4 // int i
        22: .line 870
            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 871
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.canMaterialize:()Z
            ifeq 25
        24: .line 872
            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 874
      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 878
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.splitChildren:Ljava/util/ArrayList;
            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;>;

  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 897
            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 901
            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 911
            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 915
            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 916
            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 921
            iload 1 /* pos */
            iconst_1
            ishl
            iconst_1
            iadd
            istore 3 /* index */
        start local 3 // int index
         1: .line 922
            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 923
            aload 0 /* this */
            iload 3 /* index */
            iload 4 /* value */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intListSet:(II)V
         3: .line 924
            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 927
            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 928
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* pos */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intListAdd:(I)V
         2: .line 929
            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 930
            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 933
            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 934
            iconst_0
            istore 4 /* len */
        start local 4 // int len
         2: .line 935
            goto 5
         3: .line 936
      StackMap locals: int int
      StackMap stack:
            iinc 3 /* i */ -1
         4: .line 937
            iinc 4 /* len */ 2
         5: .line 935
      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 939
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iconst_1
            iadd
            iconst_2
            imul
            istore 5 /* listSplitIndex */
        start local 5 // int listSplitIndex
         7: .line 940
            iload 4 /* len */
            newarray 10
            astore 6 /* array */
        start local 6 // int[] array
         8: .line 941
            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 942
            iload 5 /* listSplitIndex */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
            if_icmpge 12
        10: .line 943
            aload 0 /* this */
            iload 5 /* listSplitIndex */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
        11: .line 944
            goto 13
        12: .line 945
      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 947
      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 948
            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 949
            aload 0 /* this */
            aload 6 /* array */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListArray:[I
        16: .line 950
            aload 0 /* this */
            iload 4 /* len */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
        17: .line 951
            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 956
            iload 1 /* index */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
            if_icmplt 2
         1: .line 957
            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 959
      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 963
            iload 1 /* index */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
            if_icmplt 2
         1: .line 964
            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 966
      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 967
            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 970
            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 971
            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 972
            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 974
      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 975
            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 978
            iload 1 /* newSize */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
            if_icmpge 3
         1: .line 979
            aload 0 /* this */
            iload 1 /* newSize */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.usePosListSize:I
         2: .line 980
            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 981
            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 983
      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$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 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