public final class org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan implements org.graalvm.compiler.lir.debug.IntervalDumper
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan
  super_class: java.lang.Object
{
  private org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[] sortedIntervals;
    descriptor: [Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    flags: (0x0002) ACC_PRIVATE

  private final org.graalvm.compiler.core.common.alloc.Trace trace;
    descriptor: Lorg/graalvm/compiler/core/common/alloc/Trace;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final int SPLIT_INTERVALS_CAPACITY_RIGHT_SHIFT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

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

  private final org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval[] fixedIntervals;
    descriptor: [Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private org.graalvm.compiler.lir.LIRInstruction[] opIdToInstructionMap;
    descriptor: [Lorg/graalvm/compiler/lir/LIRInstruction;
    flags: (0x0002) ACC_PRIVATE

  private org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>[] opIdToBlockMap;
    descriptor: [Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
    flags: (0x0002) ACC_PRIVATE
    Signature: [Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;

  final org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase this$0;
    descriptor: Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 233
            ldc Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
            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.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
         3: .line 757
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase, org.graalvm.compiler.core.common.alloc.Trace);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;Lorg/graalvm/compiler/core/common/alloc/Trace;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 2 // org.graalvm.compiler.core.common.alloc.Trace trace
         0: .line 242
            aload 0 /* this */
            aload 1
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.this$0:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 763
            aload 0 /* this */
            iconst_m1
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.firstDerivedIntervalIndex:I
         2: .line 243
            aload 0 /* this */
            aload 2 /* trace */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.trace:Lorg/graalvm/compiler/core/common/alloc/Trace;
         3: .line 244
            aload 0 /* this */
            aload 1
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.registers:Ljdk/vm/ci/code/RegisterArray;
            invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
            anewarray org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.fixedIntervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
         4: .line 245
            return
        end local 2 // org.graalvm.compiler.core.common.alloc.Trace trace
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    5     2  trace  Lorg/graalvm/compiler/core/common/alloc/Trace;
    MethodParameters:
        Name  Flags
      this$0  final
      trace   

  org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo getGlobalLivenessInfo();
    descriptor: ()Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 248
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.this$0:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.livenessInfo:Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;

  int operandNumber(org.graalvm.compiler.lir.Variable);
    descriptor: (Lorg/graalvm/compiler/lir/Variable;)I
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // org.graalvm.compiler.lir.Variable operand
         0: .line 255
            aload 1 /* operand */
            getfield org.graalvm.compiler.lir.Variable.index:I
            ireturn
        end local 1 // org.graalvm.compiler.lir.Variable operand
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    1     1  operand  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
         Name  Flags
      operand  

  org.graalvm.compiler.options.OptionValues getOptions();
    descriptor: ()Lorg/graalvm/compiler/options/OptionValues;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 259
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            invokevirtual org.graalvm.compiler.lir.LIR.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;

  org.graalvm.compiler.debug.DebugContext getDebug();
    descriptor: ()Lorg/graalvm/compiler/debug/DebugContext;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 263
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            invokevirtual org.graalvm.compiler.lir.LIR.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;

  int operandSize();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 270
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            invokevirtual org.graalvm.compiler.lir.LIR.numVariables:()I
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;

  int numRegisters();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 277
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.this$0:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.registers:Ljdk/vm/ci/code/RegisterArray;
            invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;

  public int getFirstLirInstructionId(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
         0: .line 281
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.LIRInstruction
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
            istore 2 /* result */
        start local 2 // int result
         1: .line 282
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 2
            iload 2 /* result */
            ifge 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 283
      StackMap locals: int
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 2 // int result
        end local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    3     1   block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            1    3     2  result  I
    Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)I
    MethodParameters:
       Name  Flags
      block  

  public int getLastLirInstructionId(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
         0: .line 287
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
            astore 2 /* instructions */
        start local 2 // java.util.ArrayList instructions
         1: .line 288
            aload 2 /* instructions */
            aload 2 /* instructions */
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.LIRInstruction
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
            istore 3 /* result */
        start local 3 // int result
         2: .line 289
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 3
            iload 3 /* result */
            ifge 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 290
      StackMap locals: java.util.ArrayList int
      StackMap stack:
            iload 3 /* result */
            ireturn
        end local 3 // int result
        end local 2 // java.util.ArrayList instructions
        end local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    4     1         block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            1    4     2  instructions  Ljava/util/ArrayList<Lorg/graalvm/compiler/lir/LIRInstruction;>;
            2    4     3        result  I
    Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)I
    MethodParameters:
       Name  Flags
      block  

  public jdk.vm.ci.code.RegisterAttributes attributes(jdk.vm.ci.code.Register);
    descriptor: (Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/code/RegisterAttributes;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // jdk.vm.ci.code.Register reg
         0: .line 298
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.this$0:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.registerAttributes:[Ljdk/vm/ci/code/RegisterAttributes;
            aload 1 /* reg */
            getfield jdk.vm.ci.code.Register.number:I
            aaload
            areturn
        end local 1 // jdk.vm.ci.code.Register reg
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    1     1   reg  Ljdk/vm/ci/code/Register;
    MethodParameters:
      Name  Flags
      reg   

  public boolean isAllocatable(jdk.vm.ci.code.RegisterValue);
    descriptor: (Ljdk/vm/ci/code/RegisterValue;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // jdk.vm.ci.code.RegisterValue register
         0: .line 302
            aload 0 /* this */
            aload 1 /* register */
            invokevirtual jdk.vm.ci.code.RegisterValue.getRegister:()Ljdk/vm/ci/code/Register;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.attributes:(Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/code/RegisterAttributes;
            invokevirtual jdk.vm.ci.code.RegisterAttributes.isAllocatable:()Z
            ireturn
        end local 1 // jdk.vm.ci.code.RegisterValue register
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    1     1  register  Ljdk/vm/ci/code/RegisterValue;
    MethodParameters:
          Name  Flags
      register  

  public org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory getSpillMoveFactory();
    descriptor: ()Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 306
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.this$0:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.moveFactory:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;

  protected org.graalvm.compiler.lir.alloc.trace.lsra.TraceLocalMoveResolver createMoveResolver();
    descriptor: ()Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLocalMoveResolver;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 310
            new org.graalvm.compiler.lir.alloc.trace.lsra.TraceLocalMoveResolver
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.lir.alloc.trace.lsra.TraceLocalMoveResolver.<init>:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;)V
            astore 1 /* moveResolver */
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLocalMoveResolver moveResolver
         1: .line 311
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 2
            aload 1 /* moveResolver */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLocalMoveResolver.checkEmpty:()Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 312
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLocalMoveResolver
      StackMap stack:
            aload 1 /* moveResolver */
            areturn
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLocalMoveResolver moveResolver
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            1    3     1  moveResolver  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLocalMoveResolver;

  void assignSpillSlot(org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
         0: .line 320
            aload 1 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.canMaterialize:()Z
            ifeq 3
         1: .line 321
            aload 1 /* interval */
            getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.assignLocation:(Ljdk/vm/ci/meta/AllocatableValue;)V
         2: .line 322
            goto 9
      StackMap locals:
      StackMap stack:
         3: aload 1 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillSlot:()Ljdk/vm/ci/meta/AllocatableValue;
            ifnull 6
         4: .line 323
            aload 1 /* interval */
            aload 1 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillSlot:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.assignLocation:(Ljdk/vm/ci/meta/AllocatableValue;)V
         5: .line 324
            goto 9
         6: .line 325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.allocateSpillSlot:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 2 /* slot */
        start local 2 // jdk.vm.ci.meta.AllocatableValue slot
         7: .line 326
            aload 1 /* interval */
            aload 2 /* slot */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.setSpillSlot:(Ljdk/vm/ci/meta/AllocatableValue;)V
         8: .line 327
            aload 1 /* interval */
            aload 2 /* slot */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.assignLocation:(Ljdk/vm/ci/meta/AllocatableValue;)V
        end local 2 // jdk.vm.ci.meta.AllocatableValue slot
         9: .line 329
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0   10     1  interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            7    9     2      slot  Ljdk/vm/ci/meta/AllocatableValue;
    MethodParameters:
          Name  Flags
      interval  

  private jdk.vm.ci.meta.AllocatableValue allocateSpillSlot(org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Ljdk/vm/ci/meta/AllocatableValue;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
         0: .line 336
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.this$0:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.res:Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            invokevirtual org.graalvm.compiler.lir.LIR.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 2 /* debug */
        start local 2 // org.graalvm.compiler.debug.DebugContext debug
         1: .line 337
            aload 1 /* interval */
            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.operandNumber:I
            istore 3 /* variableIndex */
        start local 3 // int variableIndex
         2: .line 338
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            astore 4 /* options */
        start local 4 // org.graalvm.compiler.options.OptionValues options
         3: .line 339
            getstatic org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase$Options.TraceRACacheStackSlots:Lorg/graalvm/compiler/options/OptionKey;
            aload 4 /* options */
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 9
         4: .line 340
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.this$0:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.cachedStackSlots:[Ljdk/vm/ci/meta/AllocatableValue;
            iload 3 /* variableIndex */
            aaload
            astore 5 /* cachedStackSlot */
        start local 5 // jdk.vm.ci.meta.AllocatableValue cachedStackSlot
         5: .line 341
            aload 5 /* cachedStackSlot */
            ifnull 9
         6: .line 342
            getstatic org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase.globalStackSlots:Lorg/graalvm/compiler/debug/CounterKey;
            aload 2 /* debug */
            invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
         7: .line 343
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 8
            aload 5 /* cachedStackSlot */
            invokevirtual jdk.vm.ci.meta.AllocatableValue.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            aload 0 /* this */
            aload 1 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getKind:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Ljdk/vm/ci/meta/ValueKind;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 8
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "CachedStackSlot: kind mismatch? "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 1 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getKind:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Ljdk/vm/ci/meta/ValueKind;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " vs. "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* cachedStackSlot */
            invokevirtual jdk.vm.ci.meta.AllocatableValue.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            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
         8: .line 344
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval org.graalvm.compiler.debug.DebugContext int org.graalvm.compiler.options.OptionValues jdk.vm.ci.meta.AllocatableValue
      StackMap stack:
            aload 5 /* cachedStackSlot */
            areturn
        end local 5 // jdk.vm.ci.meta.AllocatableValue cachedStackSlot
         9: .line 347
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.this$0:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.frameMapBuilder:Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;
            aload 0 /* this */
            aload 1 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getKind:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Ljdk/vm/ci/meta/ValueKind;
            invokevirtual org.graalvm.compiler.lir.framemap.FrameMapBuilder.allocateSpillSlot:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/VirtualStackSlot;
            astore 5 /* slot */
        start local 5 // org.graalvm.compiler.lir.VirtualStackSlot slot
        10: .line 348
            getstatic org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase$Options.TraceRACacheStackSlots:Lorg/graalvm/compiler/options/OptionKey;
            aload 4 /* options */
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 12
        11: .line 349
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.this$0:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.cachedStackSlots:[Ljdk/vm/ci/meta/AllocatableValue;
            iload 3 /* variableIndex */
            aload 5 /* slot */
            aastore
        12: .line 351
      StackMap locals: org.graalvm.compiler.lir.VirtualStackSlot
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase.allocatedStackSlots:Lorg/graalvm/compiler/debug/CounterKey;
            aload 2 /* debug */
            invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
        13: .line 352
            aload 5 /* slot */
            areturn
        end local 5 // org.graalvm.compiler.lir.VirtualStackSlot slot
        end local 4 // org.graalvm.compiler.options.OptionValues options
        end local 3 // int variableIndex
        end local 2 // org.graalvm.compiler.debug.DebugContext debug
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0   14     1         interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            1   14     2            debug  Lorg/graalvm/compiler/debug/DebugContext;
            2   14     3    variableIndex  I
            3   14     4          options  Lorg/graalvm/compiler/options/OptionValues;
            5    9     5  cachedStackSlot  Ljdk/vm/ci/meta/AllocatableValue;
           10   14     5             slot  Lorg/graalvm/compiler/lir/VirtualStackSlot;
    MethodParameters:
          Name  Flags
      interval  

  public int blockCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 357
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.sortedBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            arraylength
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;

  public org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?> blockAt(int);
    descriptor: (I)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // int index
         0: .line 361
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.sortedBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            iload 1 /* index */
            aaload
            areturn
        end local 1 // int index
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    1     1  index  I
    Signature: (I)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
    MethodParameters:
       Name  Flags
      index  

  int numLoops();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 365
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            invokevirtual org.graalvm.compiler.lir.LIR.getControlFlowGraph:()Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;
            invokeinterface org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.getLoops:()Ljava/util/Collection;
            invokeinterface java.util.Collection.size:()I
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;

  boolean isBlockBegin(int);
    descriptor: (I)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // int opId
         0: .line 369
            iload 1 /* opId */
            ifeq 1
            aload 0 /* this */
            iload 1 /* opId */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.blockForId:(I)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            aload 0 /* this */
            iload 1 /* opId */
            iconst_1
            isub
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.blockForId:(I)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            if_acmpne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // int opId
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    2     1  opId  I
    MethodParameters:
      Name  Flags
      opId  

  boolean isBlockEnd(int);
    descriptor: (I)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // int opId
         0: .line 373
            aload 0 /* this */
            iload 1 /* opId */
            iconst_2
            iadd
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.isBlockBegin:(I)Z
            istore 2 /* isBlockBegin */
        start local 2 // boolean isBlockBegin
         1: .line 374
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 2
            iload 2 /* isBlockBegin */
            aload 0 /* this */
            iload 1 /* opId */
            bipush -2
            iand
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.instructionForId:(I)Lorg/graalvm/compiler/lir/LIRInstruction;
            instanceof org.graalvm.compiler.lir.StandardOp$BlockEndOp
            if_icmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 375
      StackMap locals: int
      StackMap stack:
            iload 2 /* isBlockBegin */
            ireturn
        end local 2 // boolean isBlockBegin
        end local 1 // int opId
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    3     1          opId  I
            1    3     2  isBlockBegin  Z
    MethodParameters:
      Name  Flags
      opId  

  boolean coversBlockBegin(int, int);
    descriptor: (II)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // int opId1
        start local 2 // int opId2
         0: .line 379
            aload 0 /* this */
            iload 1 /* opId1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.blockForId:(I)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            aload 0 /* this */
            iload 2 /* opId2 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.blockForId:(I)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            if_acmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // int opId2
        end local 1 // int opId1
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    2     1  opId1  I
            0    2     2  opId2  I
    MethodParameters:
       Name  Flags
      opId1  
      opId2  

  boolean hasCall(int);
    descriptor: (I)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // int opId
         0: .line 390
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 1
            iload 1 /* opId */
            invokestatic jdk.vm.ci.code.CodeUtil.isEven:(I)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "opId not even"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 391
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* opId */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.instructionForId:(I)Lorg/graalvm/compiler/lir/LIRInstruction;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.destroysCallerSavedRegisters:()Z
            ireturn
        end local 1 // int opId
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    2     1  opId  I
    MethodParameters:
      Name  Flags
      opId  

  public boolean isProcessed(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // jdk.vm.ci.meta.Value operand
         0: .line 395
            aload 1 /* operand */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* operand */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.attributes:(Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/code/RegisterAttributes;
            invokevirtual jdk.vm.ci.code.RegisterAttributes.isAllocatable:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // jdk.vm.ci.meta.Value operand
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    2     1  operand  Ljdk/vm/ci/meta/Value;
    MethodParameters:
         Name  Flags
      operand  

  private org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval addToList(org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval, org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval, org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval first
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval prev
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
         0: .line 401
            aload 1 /* first */
            astore 4 /* newFirst */
        start local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval newFirst
         1: .line 402
            aload 2 /* prev */
            ifnull 4
         2: .line 403
            aload 2 /* prev */
            aload 3 /* interval */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.next:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
         3: .line 404
            goto 5
         4: .line 405
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
            aload 3 /* interval */
            astore 4 /* newFirst */
         5: .line 407
      StackMap locals:
      StackMap stack:
            aload 4 /* newFirst */
            areturn
        end local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval newFirst
        end local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval prev
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval first
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    6     1     first  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    6     2      prev  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    6     3  interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            1    6     4  newFirst  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    MethodParameters:
          Name  Flags
      first     
      prev      
      interval  

  org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval createUnhandledListByFrom(org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$IntervalPredicate);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$IntervalPredicate;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$IntervalPredicate isList1
         0: .line 411
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.sortedIntervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            invokestatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.isSortedByFrom:([Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "interval list is not sorted"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 412
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* isList1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.createUnhandledList:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$IntervalPredicate;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            areturn
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$IntervalPredicate isList1
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    2     1  isList1  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$IntervalPredicate;
    MethodParameters:
         Name  Flags
      isList1  

  org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval createUnhandledListBySpillPos(org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$IntervalPredicate);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$IntervalPredicate;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$IntervalPredicate isList1
         0: .line 416
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.sortedIntervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            invokestatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.isSortedBySpillPos:([Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "interval list is not sorted"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 417
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* isList1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.createUnhandledList:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$IntervalPredicate;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            areturn
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$IntervalPredicate isList1
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    2     1  isList1  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$IntervalPredicate;
    MethodParameters:
         Name  Flags
      isList1  

  private org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval createUnhandledList(org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$IntervalPredicate);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$IntervalPredicate;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$IntervalPredicate isList1
         0: .line 422
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.EndMarker:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            astore 2 /* list1 */
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval list1
         1: .line 424
            aconst_null
            astore 3 /* list1Prev */
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval list1Prev
         2: .line 427
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.sortedIntervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            arraylength
            istore 5 /* n */
        start local 5 // int n
         3: .line 428
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 12
         5: .line 429
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$IntervalPredicate org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval top int int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.sortedIntervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            iload 6 /* i */
            aaload
            astore 4 /* v */
        start local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval v
         6: .line 430
            aload 4 /* v */
            ifnonnull 8
         7: .line 431
            goto 11
         8: .line 434
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$IntervalPredicate org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval int int
      StackMap stack:
            aload 1 /* isList1 */
            aload 4 /* v */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$IntervalPredicate.apply:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Z
            ifeq 11
         9: .line 435
            aload 0 /* this */
            aload 2 /* list1 */
            aload 3 /* list1Prev */
            aload 4 /* v */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.addToList:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            astore 2 /* list1 */
        10: .line 436
            aload 4 /* v */
            astore 3 /* list1Prev */
        11: .line 428
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
        end local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval v
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$IntervalPredicate org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval top int int
      StackMap stack:
        12: iload 6 /* i */
            iload 5 /* n */
            if_icmplt 5
        end local 6 // int i
        13: .line 440
            aload 3 /* list1Prev */
            ifnull 15
        14: .line 441
            aload 3 /* list1Prev */
            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;
        15: .line 444
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 16
            aload 3 /* list1Prev */
            ifnull 16
            aload 3 /* list1Prev */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.next:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.EndMarker:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            if_acmpeq 16
            new java.lang.AssertionError
            dup
            ldc "linear list ends not with sentinel"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        16: .line 446
      StackMap locals:
      StackMap stack:
            aload 2 /* list1 */
            areturn
        end local 5 // int n
        end local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval list1Prev
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval list1
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$IntervalPredicate isList1
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0   17     1    isList1  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$IntervalPredicate;
            1   17     2      list1  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            2   17     3  list1Prev  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            6   12     4          v  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            3   17     5          n  I
            4   13     6          i  I
    MethodParameters:
         Name  Flags
      isList1  

  private org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval addToList(org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval, org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval, org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval first
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval prev
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval interval
         0: .line 450
            aload 1 /* first */
            astore 4 /* newFirst */
        start local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval newFirst
         1: .line 451
            aload 2 /* prev */
            ifnull 4
         2: .line 452
            aload 2 /* prev */
            aload 3 /* interval */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.next:Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
         3: .line 453
            goto 5
         4: .line 454
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval
      StackMap stack:
            aload 3 /* interval */
            astore 4 /* newFirst */
         5: .line 456
      StackMap locals:
      StackMap stack:
            aload 4 /* newFirst */
            areturn
        end local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval newFirst
        end local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval interval
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval prev
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval first
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    6     1     first  Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            0    6     2      prev  Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            0    6     3  interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            1    6     4  newFirst  Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
    MethodParameters:
          Name  Flags
      first     
      prev      
      interval  

  org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval createFixedUnhandledList();
    descriptor: ()Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 460
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.fixedIntervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            invokestatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.isSortedByFrom:([Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "interval list is not sorted"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 462
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.EndMarker:Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            astore 1 /* list1 */
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval list1
         2: .line 464
            aconst_null
            astore 2 /* list1Prev */
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval list1Prev
         3: .line 465
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.fixedIntervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 11
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval top int int org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval[]
      StackMap stack:
         4: aload 6
            iload 4
            aaload
            astore 3 /* v */
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval v
         5: .line 467
            aload 3 /* v */
            ifnonnull 7
         6: .line 468
            goto 10
         7: .line 471
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval int int org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval[]
      StackMap stack:
            aload 3 /* v */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.rewindRange:()V
         8: .line 472
            aload 0 /* this */
            aload 1 /* list1 */
            aload 2 /* list1Prev */
            aload 3 /* v */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.addToList:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            astore 1 /* list1 */
         9: .line 473
            aload 3 /* v */
            astore 2 /* list1Prev */
        end local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval v
        10: .line 465
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval top int int org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        11: iload 4
            iload 5
            if_icmplt 4
        12: .line 476
            aload 2 /* list1Prev */
            ifnull 14
        13: .line 477
            aload 2 /* list1Prev */
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.EndMarker:Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.next:Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
        14: .line 480
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 15
            aload 2 /* list1Prev */
            ifnull 15
            aload 2 /* list1Prev */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.next:Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.EndMarker:Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            if_acmpeq 15
            new java.lang.AssertionError
            dup
            ldc "linear list ends not with sentinel"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        15: .line 482
      StackMap locals:
      StackMap stack:
            aload 1 /* list1 */
            areturn
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval list1Prev
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval list1
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            2   16     1      list1  Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            3   16     2  list1Prev  Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            5   10     3          v  Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;

  protected void sortIntervalsBeforeAllocation();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 488
            iconst_0
            istore 1 /* sortedLen */
        start local 1 // int sortedLen
         1: .line 489
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervals:()[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 6
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan int top int int org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* interval */
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
         3: .line 490
            aload 2 /* interval */
            ifnull 5
         4: .line 491
            iinc 1 /* sortedLen */ 1
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
         5: .line 489
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         6: iload 3
            iload 4
            if_icmplt 2
         7: .line 494
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervals:()[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            iload 1 /* sortedLen */
            anewarray org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
            invokestatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.sortIntervalsBeforeAllocation:([Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.sortedIntervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
         8: .line 495
            return
        end local 1 // int sortedLen
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            1    9     1  sortedLen  I
            3    5     2   interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;

  void sortIntervalsAfterAllocation();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 498
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.hasDerivedIntervals:()Z
            ifeq 2
         1: .line 501
            return
         2: .line 504
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.sortedIntervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            astore 1 /* oldList */
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[] oldList
         3: .line 505
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervals:()[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.firstDerivedIntervalIndex:()I
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervalsSize:()I
            invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[]
            astore 2 /* newList */
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[] newList
         4: .line 506
            aload 1 /* oldList */
            arraylength
            istore 3 /* oldLen */
        start local 3 // int oldLen
         5: .line 507
            aload 2 /* newList */
            arraylength
            istore 4 /* newLen */
        start local 4 // int newLen
         6: .line 510
            aload 2 /* newList */
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.SORT_BY_FROM_COMP:Ljava/util/Comparator;
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
         7: .line 513
            iload 3 /* oldLen */
            iload 4 /* newLen */
            iadd
            anewarray org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
            astore 5 /* combinedList */
        start local 5 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[] combinedList
         8: .line 514
            iconst_0
            istore 6 /* oldIdx */
        start local 6 // int oldIdx
         9: .line 515
            iconst_0
            istore 7 /* newIdx */
        start local 7 // int newIdx
        10: .line 517
            goto 17
        11: .line 518
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[] org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[] int int org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[] int int
      StackMap stack:
            iload 7 /* newIdx */
            iload 4 /* newLen */
            if_icmpge 12
            iload 6 /* oldIdx */
            iload 3 /* oldLen */
            if_icmpge 15
            aload 1 /* oldList */
            iload 6 /* oldIdx */
            aaload
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            aload 2 /* newList */
            iload 7 /* newIdx */
            aaload
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            if_icmpgt 15
        12: .line 519
      StackMap locals:
      StackMap stack:
            aload 5 /* combinedList */
            iload 6 /* oldIdx */
            iload 7 /* newIdx */
            iadd
            aload 1 /* oldList */
            iload 6 /* oldIdx */
            aaload
            aastore
        13: .line 520
            iinc 6 /* oldIdx */ 1
        14: .line 521
            goto 17
        15: .line 522
      StackMap locals:
      StackMap stack:
            aload 5 /* combinedList */
            iload 6 /* oldIdx */
            iload 7 /* newIdx */
            iadd
            aload 2 /* newList */
            iload 7 /* newIdx */
            aaload
            aastore
        16: .line 523
            iinc 7 /* newIdx */ 1
        17: .line 517
      StackMap locals:
      StackMap stack:
            iload 6 /* oldIdx */
            iload 7 /* newIdx */
            iadd
            aload 5 /* combinedList */
            arraylength
            if_icmplt 11
        18: .line 527
            aload 0 /* this */
            aload 5 /* combinedList */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.sortedIntervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
        19: .line 528
            return
        end local 7 // int newIdx
        end local 6 // int oldIdx
        end local 5 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[] combinedList
        end local 4 // int newLen
        end local 3 // int oldLen
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[] newList
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[] oldList
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0          this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            3   20     1       oldList  [Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            4   20     2       newList  [Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            5   20     3        oldLen  I
            6   20     4        newLen  I
            8   20     5  combinedList  [Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            9   20     6        oldIdx  I
           10   20     7        newIdx  I

  void sortIntervalsBySpillPos();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 533
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.sortedIntervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.SORT_BY_SPILL_POS_COMP:Ljava/util/Comparator;
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
         1: .line 534
            return
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;

  public org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval splitChildAtOpId(org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval, int, org.graalvm.compiler.lir.LIRInstruction$OperandMode);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;ILorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        start local 2 // int opId
        start local 3 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
         0: .line 539
            aload 1 /* interval */
            iload 2 /* opId */
            aload 3 /* mode */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getSplitChildAtOpId:(ILorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            astore 4 /* result */
        start local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval result
         1: .line 541
            aload 4 /* result */
            ifnull 5
         2: .line 542
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 4
         3: .line 543
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            ldc "Split child at pos %d of interval %s is %s"
            iload 2 /* opId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* interval */
            aload 4 /* result */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 545
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
            aload 4 /* result */
            areturn
         5: .line 547
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.debug.GraalError
            dup
            ldc "LinearScan: interval is null"
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval result
        end local 3 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        end local 2 // int opId
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    6     1  interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    6     2      opId  I
            0    6     3      mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            1    6     4    result  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    MethodParameters:
          Name  Flags
      interval  
      opId      
      mode      

  jdk.vm.ci.meta.AllocatableValue canonicalSpillOpr(org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Ljdk/vm/ci/meta/AllocatableValue;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
         0: .line 551
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 1
            aload 1 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillSlot:()Ljdk/vm/ci/meta/AllocatableValue;
            ifnonnull 1
            new java.lang.AssertionError
            dup
            ldc "canonical spill slot not set"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 552
      StackMap locals:
      StackMap stack:
            aload 1 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillSlot:()Ljdk/vm/ci/meta/AllocatableValue;
            areturn
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    2     1  interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    MethodParameters:
          Name  Flags
      interval  

  boolean isMaterialized(org.graalvm.compiler.lir.Variable, int, org.graalvm.compiler.lir.LIRInstruction$OperandMode);
    descriptor: (Lorg/graalvm/compiler/lir/Variable;ILorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // org.graalvm.compiler.lir.Variable operand
        start local 2 // int opId
        start local 3 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
         0: .line 556
            aload 0 /* this */
            aload 1 /* operand */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervalFor:(Lorg/graalvm/compiler/lir/Variable;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            astore 4 /* interval */
        start local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
         1: .line 557
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 2
            aload 4 /* interval */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            ldc "interval must exist"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 559
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
            iload 2 /* opId */
            iconst_m1
            if_icmpeq 4
         3: .line 564
            aload 0 /* this */
            aload 4 /* interval */
            iload 2 /* opId */
            aload 3 /* mode */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.splitChildAtOpId:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;ILorg/graalvm/compiler/lir/LIRInstruction$OperandMode;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            astore 4 /* interval */
         4: .line 567
      StackMap locals:
      StackMap stack:
            aload 4 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.location:()Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic jdk.vm.ci.code.ValueUtil.isIllegal:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 5
            aload 4 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.canMaterialize:()Z
            ifeq 5
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        end local 3 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        end local 2 // int opId
        end local 1 // org.graalvm.compiler.lir.Variable operand
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    6     1   operand  Lorg/graalvm/compiler/lir/Variable;
            0    6     2      opId  I
            0    6     3      mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            1    6     4  interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    MethodParameters:
         Name  Flags
      operand  
      opId     
      mode     

  boolean isCallerSave(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // jdk.vm.ci.meta.Value operand
         0: .line 571
            aload 0 /* this */
            aload 1 /* operand */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.attributes:(Ljdk/vm/ci/code/Register;)Ljdk/vm/ci/code/RegisterAttributes;
            invokevirtual jdk.vm.ci.code.RegisterAttributes.isCallerSave:()Z
            ireturn
        end local 1 // jdk.vm.ci.meta.Value operand
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    1     1  operand  Ljdk/vm/ci/meta/Value;
    MethodParameters:
         Name  Flags
      operand  

  protected void allocate(jdk.vm.ci.code.TargetDescription, org.graalvm.compiler.lir.gen.LIRGenerationResult, org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext);
    descriptor: (Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/alloc/trace/TraceAllocationPhase$TraceAllocationContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=14, args_size=4
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // jdk.vm.ci.code.TargetDescription target
        start local 2 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes
        start local 3 // org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext traceContext
         0: .line 576
            aload 3 /* traceContext */
            getfield org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext.spillMoveFactory:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
            astore 4 /* spillMoveFactory */
        start local 4 // org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory spillMoveFactory
         1: .line 577
            aload 3 /* traceContext */
            getfield org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext.registerAllocationConfig:Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
            astore 5 /* registerAllocationConfig */
        start local 5 // org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig registerAllocationConfig
         2: .line 581
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.this$0:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.res:Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            invokevirtual org.graalvm.compiler.lir.LIR.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 6 /* debug */
        start local 6 // org.graalvm.compiler.debug.DebugContext debug
         3: .line 582
            aconst_null
            astore 7
            aconst_null
            astore 8
         4: aload 6 /* debug */
            ldc "LinearScan allocate"
            invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/Indent;
            astore 9 /* indent */
        start local 9 // org.graalvm.compiler.debug.Indent indent
         5: .line 583
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.TRACE_LINEAR_SCAN_LIFETIME_ANALYSIS_PHASE:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase;
            aload 1 /* target */
            aload 2 /* lirGenRes */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.trace:Lorg/graalvm/compiler/core/common/alloc/Trace;
            aload 4 /* spillMoveFactory */
            aload 5 /* registerAllocationConfig */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.this$0:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.traceBuilderResult:Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
            aload 0 /* this */
            iconst_0
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase.apply:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/core/common/alloc/Trace;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;Z)V
         6: .line 585
            aconst_null
            astore 10
            aconst_null
            astore 11
         7: aload 6 /* debug */
            ldc "AfterLifetimeAnalysis"
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 12 /* s */
        start local 12 // org.graalvm.compiler.debug.DebugContext$Scope s
         8: .line 587
            aload 0 /* this */
            ldc "After instruction numbering"
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.printLir:(Ljava/lang/String;)V
         9: .line 588
            aload 0 /* this */
            ldc "Before register allocation"
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.printIntervals:(Ljava/lang/String;)V
        10: .line 590
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.sortIntervalsBeforeAllocation:()V
        11: .line 592
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.TRACE_LINEAR_SCAN_REGISTER_ALLOCATION_PHASE:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanRegisterAllocationPhase;
            aload 1 /* target */
            aload 2 /* lirGenRes */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.trace:Lorg/graalvm/compiler/core/common/alloc/Trace;
            aload 4 /* spillMoveFactory */
            aload 5 /* registerAllocationConfig */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.this$0:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.traceBuilderResult:Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
            aload 0 /* this */
            iconst_0
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanRegisterAllocationPhase.apply:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/core/common/alloc/Trace;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;Z)V
        12: .line 593
            aload 0 /* this */
            ldc "After register allocation"
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.printIntervals:(Ljava/lang/String;)V
        13: .line 596
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.TRACE_LINEAR_SCAN_RESOLVE_DATA_FLOW_PHASE:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanResolveDataFlowPhase;
            aload 1 /* target */
            aload 2 /* lirGenRes */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.trace:Lorg/graalvm/compiler/core/common/alloc/Trace;
            aload 4 /* spillMoveFactory */
            aload 5 /* registerAllocationConfig */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.this$0:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.traceBuilderResult:Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanResolveDataFlowPhase.apply:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/core/common/alloc/Trace;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;)V
        14: .line 599
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            astore 13 /* options */
        start local 13 // org.graalvm.compiler.options.OptionValues options
        15: .line 600
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$Options.LIROptTraceRAEliminateSpillMoves:Lorg/graalvm/compiler/options/OptionKey;
            aload 13 /* options */
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 17
        16: .line 601
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.TRACE_LINEAR_SCAN_ELIMINATE_SPILL_MOVE_PHASE:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanEliminateSpillMovePhase;
            aload 1 /* target */
            aload 2 /* lirGenRes */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.trace:Lorg/graalvm/compiler/core/common/alloc/Trace;
            aload 4 /* spillMoveFactory */
            aload 5 /* registerAllocationConfig */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.this$0:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.traceBuilderResult:Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanEliminateSpillMovePhase.apply:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/core/common/alloc/Trace;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;)V
        17: .line 604
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan jdk.vm.ci.code.TargetDescription org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.options.OptionValues
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.TRACE_LINEAR_SCAN_ASSIGN_LOCATIONS_PHASE:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanAssignLocationsPhase;
            aload 1 /* target */
            aload 2 /* lirGenRes */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.trace:Lorg/graalvm/compiler/core/common/alloc/Trace;
            aload 4 /* spillMoveFactory */
            aload 5 /* registerAllocationConfig */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.this$0:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.traceBuilderResult:Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
            aload 0 /* this */
            iconst_0
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanAssignLocationsPhase.apply:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/core/common/alloc/Trace;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;Z)V
        18: .line 606
            aload 13 /* options */
            invokestatic org.graalvm.compiler.debug.Assertions.detailedAssertionsEnabled:(Lorg/graalvm/compiler/options/OptionValues;)Z
            ifeq 20
        19: .line 607
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.verifyIntervals:()V
        end local 13 // org.graalvm.compiler.options.OptionValues options
        20: .line 609
      StackMap locals:
      StackMap stack:
            aload 12 /* s */
            ifnull 28
            aload 12 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 28
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: astore 10
            aload 12 /* s */
            ifnull 22
            aload 12 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 12 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
        22: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: astore 11
            aload 10
            ifnonnull 24
            aload 11
            astore 10
            goto 25
      StackMap locals:
      StackMap stack:
        24: aload 10
            aload 11
            if_acmpeq 25
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        25: aload 10
            athrow
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan jdk.vm.ci.code.TargetDescription org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
      StackMap stack: java.lang.Throwable
        26: astore 10 /* e */
        start local 10 // java.lang.Throwable e
        27: .line 610
            aload 6 /* debug */
            aload 10 /* e */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 10 // java.lang.Throwable e
        28: .line 612
      StackMap locals:
      StackMap stack:
            aload 9 /* indent */
            ifnull 34
            aload 9 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
            goto 34
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: astore 7
            aload 9 /* indent */
            ifnull 30
            aload 9 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
        end local 9 // org.graalvm.compiler.debug.Indent indent
      StackMap locals:
      StackMap stack:
        30: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        31: astore 8
            aload 7
            ifnonnull 32
            aload 8
            astore 7
            goto 33
      StackMap locals:
      StackMap stack:
        32: aload 7
            aload 8
            if_acmpeq 33
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        33: aload 7
            athrow
        34: .line 613
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.graalvm.compiler.debug.DebugContext debug
        end local 5 // org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig registerAllocationConfig
        end local 4 // org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory spillMoveFactory
        end local 3 // org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext traceContext
        end local 2 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes
        end local 1 // jdk.vm.ci.code.TargetDescription target
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   35     0                      this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0   35     1                    target  Ljdk/vm/ci/code/TargetDescription;
            0   35     2                 lirGenRes  Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            0   35     3              traceContext  Lorg/graalvm/compiler/lir/alloc/trace/TraceAllocationPhase$TraceAllocationContext;
            1   35     4          spillMoveFactory  Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
            2   35     5  registerAllocationConfig  Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
            3   35     6                     debug  Lorg/graalvm/compiler/debug/DebugContext;
            5   30     9                    indent  Lorg/graalvm/compiler/debug/Indent;
            8   22    12                         s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           15   20    13                   options  Lorg/graalvm/compiler/options/OptionValues;
           27   28    10                         e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           8    20      21  any
           7    23      23  any
           6    26      26  Class java.lang.Throwable
           5    28      29  any
           4    31      31  any
    MethodParameters:
              Name  Flags
      target        
      lirGenRes     
      traceContext  

  public void printLir(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // java.lang.String label
         0: .line 616
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            iconst_4
            invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
            ifeq 2
         1: .line 617
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            iconst_4
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.sortedBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            ldc "%s (Trace%d)"
            aload 1 /* label */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.trace:Lorg/graalvm/compiler/core/common/alloc/Trace;
            invokevirtual org.graalvm.compiler.core.common.alloc.Trace.getId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 619
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String label
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    3     1  label  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      label  

  boolean verify();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 624
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.verifyIntervals:()V
         1: .line 626
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.verifyRegisters:()V
         2: .line 628
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            ldc "no errors found"
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;)V
         3: .line 630
            iconst_1
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;

  private void verifyRegisters();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 636
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            ldc "verifying register allocation"
            invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/Indent;
            astore 3 /* indent */
        start local 3 // org.graalvm.compiler.debug.Indent indent
         2: .line 637
            new org.graalvm.compiler.lir.alloc.trace.lsra.RegisterVerifier
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.lir.alloc.trace.lsra.RegisterVerifier.<init>:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;)V
            astore 4 /* verifier */
        start local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.RegisterVerifier verifier
         3: .line 638
            aload 4 /* verifier */
            aload 0 /* this */
            iconst_0
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.blockAt:(I)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.RegisterVerifier.verify:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        end local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.RegisterVerifier verifier
         4: .line 639
            aload 3 /* indent */
            ifnull 10
            aload 3 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
            goto 10
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
      StackMap stack: java.lang.Throwable
         5: astore 1
            aload 3 /* indent */
            ifnull 6
            aload 3 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
        end local 3 // org.graalvm.compiler.debug.Indent indent
      StackMap locals:
      StackMap stack:
         6: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 2
            aload 1
            ifnonnull 8
            aload 2
            astore 1
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 1
            aload 2
            if_acmpeq 9
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         9: aload 1
            athrow
        10: .line 640
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            2    6     3    indent  Lorg/graalvm/compiler/debug/Indent;
            3    4     4  verifier  Lorg/graalvm/compiler/lir/alloc/trace/lsra/RegisterVerifier;
      Exception table:
        from    to  target  type
           2     4       5  any
           1     7       7  any

  protected void verifyIntervals();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=15, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 644
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 1 /* debug */
        start local 1 // org.graalvm.compiler.debug.DebugContext debug
         1: .line 645
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 1 /* debug */
            ldc "verifying intervals"
            invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/Indent;
            astore 4 /* indent */
        start local 4 // org.graalvm.compiler.debug.Indent indent
         3: .line 646
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervalsSize:()I
            istore 5 /* len */
        start local 5 // int len
         4: .line 648
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 58
         6: .line 649
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervals:()[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            iload 6 /* i */
            aaload
            astore 7 /* i1 */
        start local 7 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval i1
         7: .line 650
            aload 7 /* i1 */
            ifnonnull 9
         8: .line 651
            goto 57
         9: .line 654
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
            aload 7 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.checkSplitChildren:()Z
            pop
        10: .line 656
            aload 7 /* i1 */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operandNumber:I
            iload 6 /* i */
            if_icmpeq 14
        11: .line 657
            aload 1 /* debug */
            ldc "Interval %d is on position %d in list"
            aload 7 /* i1 */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operandNumber:I
            iload 6 /* i */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;II)V
        12: .line 658
            aload 1 /* debug */
            aload 7 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.logString:()Ljava/lang/String;
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;)V
        13: .line 659
            new org.graalvm.compiler.debug.GraalError
            dup
            ldc ""
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 662
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getKind:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)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 18
        15: .line 663
            aload 1 /* debug */
            ldc "Interval %d has no type assigned"
            aload 7 /* i1 */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operandNumber:I
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;I)V
        16: .line 664
            aload 1 /* debug */
            aload 7 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.logString:()Ljava/lang/String;
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;)V
        17: .line 665
            new org.graalvm.compiler.debug.GraalError
            dup
            ldc ""
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 668
      StackMap locals:
      StackMap stack:
            aload 7 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.location:()Ljdk/vm/ci/meta/AllocatableValue;
            ifnonnull 22
        19: .line 669
            aload 1 /* debug */
            ldc "Interval %d has no register assigned"
            aload 7 /* i1 */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operandNumber:I
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;I)V
        20: .line 670
            aload 1 /* debug */
            aload 7 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.logString:()Ljava/lang/String;
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;)V
        21: .line 671
            new org.graalvm.compiler.debug.GraalError
            dup
            ldc ""
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 674
      StackMap locals:
      StackMap stack:
            aload 7 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.isEmpty:()Z
            ifeq 26
        23: .line 675
            aload 1 /* debug */
            ldc "Interval %d has no Range"
            aload 7 /* i1 */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operandNumber:I
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;I)V
        24: .line 676
            aload 1 /* debug */
            aload 7 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.logString:()Ljava/lang/String;
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;)V
        25: .line 677
            new org.graalvm.compiler.debug.GraalError
            dup
            ldc ""
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 680
      StackMap locals:
      StackMap stack:
            aload 7 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            aload 7 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
            if_icmplt 30
        27: .line 681
            aload 1 /* debug */
            ldc "Interval %d has zero length range"
            aload 7 /* i1 */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operandNumber:I
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;I)V
        28: .line 682
            aload 1 /* debug */
            aload 7 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.logString:()Ljava/lang/String;
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;)V
        29: .line 683
            new org.graalvm.compiler.debug.GraalError
            dup
            ldc ""
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 688
      StackMap locals:
      StackMap stack:
            aload 7 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            iconst_1
            if_icmpne 32
            aload 7 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
            iconst_2
            if_icmpne 32
        31: .line 689
            goto 57
        32: .line 692
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            iconst_1
            iadd
            istore 8 /* j */
        start local 8 // int j
        33: goto 45
        34: .line 693
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervals:()[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            iload 8 /* j */
            aaload
            astore 9 /* i2 */
        start local 9 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval i2
        35: .line 694
            aload 9 /* i2 */
            ifnonnull 37
        36: .line 695
            goto 44
        37: .line 700
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
            aload 9 /* i2 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            iconst_1
            if_icmpne 39
            aload 9 /* i2 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
            iconst_2
            if_icmpne 39
        38: .line 701
            goto 44
        39: .line 703
      StackMap locals:
      StackMap stack:
            aload 7 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.location:()Ljdk/vm/ci/meta/AllocatableValue;
            astore 10 /* l1 */
        start local 10 // jdk.vm.ci.meta.Value l1
        40: .line 704
            aload 9 /* i2 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.location:()Ljdk/vm/ci/meta/AllocatableValue;
            astore 11 /* l2 */
        start local 11 // jdk.vm.ci.meta.Value l2
        41: .line 705
            aload 7 /* i1 */
            aload 9 /* i2 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.intersects:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Z
            istore 12 /* intersects */
        start local 12 // boolean intersects
        42: .line 706
            iload 12 /* intersects */
            ifeq 44
            aload 10 /* l1 */
            invokestatic jdk.vm.ci.code.ValueUtil.isIllegal:(Ljdk/vm/ci/meta/Value;)Z
            ifne 44
            aload 10 /* l1 */
            aload 11 /* l2 */
            invokevirtual jdk.vm.ci.meta.Value.equals:(Ljava/lang/Object;)Z
            ifeq 44
        43: .line 707
            ldc "Intervals %s and %s overlap and have the same register assigned\n%s\n%s"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* i1 */
            aastore
            dup
            iconst_1
            aload 9 /* i2 */
            aastore
            dup
            iconst_2
            aload 7 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.logString:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 9 /* i2 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.logString:()Ljava/lang/String;
            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
        end local 12 // boolean intersects
        end local 11 // jdk.vm.ci.meta.Value l2
        end local 10 // jdk.vm.ci.meta.Value l1
        end local 9 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval i2
        44: .line 692
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        45: iload 8 /* j */
            iload 5 /* len */
            if_icmplt 34
        end local 8 // int j
        46: .line 711
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.fixedIntervals:()[Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 56
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent int int org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval top int int org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval[]
      StackMap stack:
        47: aload 11
            iload 9
            aaload
            astore 8 /* i2 */
        start local 8 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval i2
        48: .line 712
            aload 8 /* i2 */
            ifnonnull 50
        49: .line 713
            goto 55
        50: .line 716
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent int int org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval int int org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval[]
      StackMap stack:
            aload 7 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.location:()Ljdk/vm/ci/meta/AllocatableValue;
            astore 12 /* l1 */
        start local 12 // jdk.vm.ci.meta.Value l1
        51: .line 717
            aload 8 /* i2 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.location:()Ljdk/vm/ci/meta/AllocatableValue;
            astore 13 /* l2 */
        start local 13 // jdk.vm.ci.meta.Value l2
        52: .line 718
            aload 8 /* i2 */
            aload 7 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.intersects:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Z
            istore 14 /* intersects */
        start local 14 // boolean intersects
        53: .line 719
            iload 14 /* intersects */
            ifeq 55
            aload 12 /* l1 */
            invokestatic jdk.vm.ci.code.ValueUtil.isIllegal:(Ljdk/vm/ci/meta/Value;)Z
            ifne 55
            aload 12 /* l1 */
            aload 13 /* l2 */
            invokevirtual jdk.vm.ci.meta.Value.equals:(Ljava/lang/Object;)Z
            ifeq 55
        54: .line 720
            ldc "Intervals %s and %s overlap and have the same register assigned\n%s\n%s"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* i1 */
            aastore
            dup
            iconst_1
            aload 8 /* i2 */
            aastore
            dup
            iconst_2
            aload 7 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.logString:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 8 /* i2 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.logString:()Ljava/lang/String;
            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
        end local 14 // boolean intersects
        end local 13 // jdk.vm.ci.meta.Value l2
        end local 12 // jdk.vm.ci.meta.Value l1
        end local 8 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval i2
        55: .line 711
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent int int org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval top int int org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval[]
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        56: iload 9
            iload 10
            if_icmplt 47
        end local 7 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval i1
        57: .line 648
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent int int
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        58: iload 6 /* i */
            iload 5 /* len */
            if_icmplt 6
        end local 6 // int i
        end local 5 // int len
        59: .line 724
            aload 4 /* indent */
            ifnull 65
            aload 4 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
            goto 65
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
      StackMap stack: java.lang.Throwable
        60: astore 2
            aload 4 /* indent */
            ifnull 61
            aload 4 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
        end local 4 // org.graalvm.compiler.debug.Indent indent
      StackMap locals:
      StackMap stack:
        61: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        62: astore 3
            aload 2
            ifnonnull 63
            aload 3
            astore 2
            goto 64
      StackMap locals:
      StackMap stack:
        63: aload 2
            aload 3
            if_acmpeq 64
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        64: aload 2
            athrow
        65: .line 725
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.debug.DebugContext debug
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   66     0        this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            1   66     1       debug  Lorg/graalvm/compiler/debug/DebugContext;
            3   61     4      indent  Lorg/graalvm/compiler/debug/Indent;
            4   59     5         len  I
            5   59     6           i  I
            7   57     7          i1  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
           33   46     8           j  I
           35   44     9          i2  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
           40   44    10          l1  Ljdk/vm/ci/meta/Value;
           41   44    11          l2  Ljdk/vm/ci/meta/Value;
           42   44    12  intersects  Z
           48   55     8          i2  Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
           51   55    12          l1  Ljdk/vm/ci/meta/Value;
           52   55    13          l2  Ljdk/vm/ci/meta/Value;
           53   55    14  intersects  Z
      Exception table:
        from    to  target  type
           3    59      60  any
           2    62      62  any

  public org.graalvm.compiler.lir.LIR getLIR();
    descriptor: ()Lorg/graalvm/compiler/lir/LIR;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 728
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.this$0:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.res:Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;

  public org.graalvm.compiler.lir.framemap.FrameMapBuilder getFrameMapBuilder();
    descriptor: ()Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 732
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.this$0:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.frameMapBuilder:Lorg/graalvm/compiler/lir/framemap/FrameMapBuilder;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;

  public org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>[] sortedBlocks();
    descriptor: ()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 736
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.trace:Lorg/graalvm/compiler/core/common/alloc/Trace;
            invokevirtual org.graalvm.compiler.core.common.alloc.Trace.getBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
    Signature: ()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;

  public jdk.vm.ci.code.RegisterArray getRegisters();
    descriptor: ()Ljdk/vm/ci/code/RegisterArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 740
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.this$0:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.registers:Ljdk/vm/ci/code/RegisterArray;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;

  public org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig getRegisterAllocationConfig();
    descriptor: ()Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 744
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.this$0:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.regAllocConfig:Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;

  public boolean callKillsRegisters();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 748
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.this$0:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.regAllocConfig:Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
            invokevirtual org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig.getRegisterConfig:()Ljdk/vm/ci/code/RegisterConfig;
            invokeinterface jdk.vm.ci.code.RegisterConfig.areAllAllocatableRegistersCallerSaved:()Z
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;

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

  org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[] intervals();
    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.TraceLinearScanPhase$TraceLinearScan this
         0: .line 798
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;

  org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval[] fixedIntervals();
    descriptor: ()[Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 805
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.fixedIntervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;

  void initIntervals();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 809
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.operandSize:()I
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervalsSize:I
         1: .line 810
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervalsSize:I
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervalsSize:I
            iconst_1
            ishr
            iadd
            anewarray org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
         2: .line 811
            return
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;

  private org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval createFixedInterval(jdk.vm.ci.code.RegisterValue);
    descriptor: (Ljdk/vm/ci/code/RegisterValue;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // jdk.vm.ci.code.RegisterValue reg
         0: .line 820
            new org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval
            dup
            aload 1 /* reg */
            invokespecial org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.<init>:(Ljdk/vm/ci/meta/AllocatableValue;)V
            astore 2 /* interval */
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval interval
         1: .line 821
            aload 1 /* reg */
            invokevirtual jdk.vm.ci.code.RegisterValue.getRegister:()Ljdk/vm/ci/code/Register;
            getfield jdk.vm.ci.code.Register.number:I
            istore 3 /* operandNumber */
        start local 3 // int operandNumber
         2: .line 822
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.fixedIntervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            iload 3 /* operandNumber */
            aaload
            ifnull 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 823
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.fixedIntervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            iload 3 /* operandNumber */
            aload 2 /* interval */
            aastore
         4: .line 824
            aload 2 /* interval */
            areturn
        end local 3 // int operandNumber
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval interval
        end local 1 // jdk.vm.ci.code.RegisterValue reg
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    5     1            reg  Ljdk/vm/ci/code/RegisterValue;
            1    5     2       interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            2    5     3  operandNumber  I
    MethodParameters:
      Name  Flags
      reg   

  private org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval createInterval(org.graalvm.compiler.lir.Variable);
    descriptor: (Lorg/graalvm/compiler/lir/Variable;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // org.graalvm.compiler.lir.Variable operand
         0: .line 834
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 1
            aload 1 /* operand */
            invokestatic jdk.vm.ci.code.ValueUtil.isLegal:(Ljdk/vm/ci/meta/Value;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 835
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* operand */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.operandNumber:(Lorg/graalvm/compiler/lir/Variable;)I
            istore 2 /* operandNumber */
        start local 2 // int operandNumber
         2: .line 836
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 3
            aload 1 /* operand */
            getfield org.graalvm.compiler.lir.Variable.index:I
            iload 2 /* operandNumber */
            if_icmpeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 837
      StackMap locals: int
      StackMap stack:
            new org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
            dup
            aload 1 /* operand */
            invokespecial org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.<init>:(Lorg/graalvm/compiler/lir/Variable;)V
            astore 3 /* interval */
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
         4: .line 838
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 5
            iload 2 /* operandNumber */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervalsSize:I
            if_icmplt 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 839
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 6
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            iload 2 /* operandNumber */
            aaload
            ifnull 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 840
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            iload 2 /* operandNumber */
            aload 3 /* interval */
            aastore
         7: .line 841
            aload 3 /* interval */
            areturn
        end local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        end local 2 // int operandNumber
        end local 1 // org.graalvm.compiler.lir.Variable operand
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    8     1        operand  Lorg/graalvm/compiler/lir/Variable;
            2    8     2  operandNumber  I
            4    8     3       interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    MethodParameters:
         Name  Flags
      operand  

  org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval createDerivedInterval(org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval source
         0: .line 851
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.firstDerivedIntervalIndex:I
            iconst_m1
            if_icmpne 2
         1: .line 852
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervalsSize:I
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.firstDerivedIntervalIndex:I
         2: .line 854
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervalsSize:I
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            arraylength
            if_icmpne 4
         3: .line 855
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            arraylength
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            arraylength
            iconst_1
            ishr
            iadd
            iconst_1
            iadd
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[]
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
         4: .line 858
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* source */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getKind:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Ljdk/vm/ci/meta/ValueKind;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.createVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
            astore 2 /* variable */
        start local 2 // org.graalvm.compiler.lir.Variable variable
         5: .line 860
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 6
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervalsSize:I
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            arraylength
            if_icmple 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 862
      StackMap locals: org.graalvm.compiler.lir.Variable
      StackMap stack:
            aload 0 /* this */
            aload 2 /* variable */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.createInterval:(Lorg/graalvm/compiler/lir/Variable;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            astore 3 /* interval */
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
         7: .line 863
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 8
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervalsSize:I
            iconst_1
            isub
            aaload
            aload 3 /* interval */
            if_acmpeq 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 864
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
            aload 3 /* interval */
            areturn
        end local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        end local 2 // org.graalvm.compiler.lir.Variable variable
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval source
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    9     1    source  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            5    9     2  variable  Lorg/graalvm/compiler/lir/Variable;
            7    9     3  interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    MethodParameters:
        Name  Flags
      source  

  private org.graalvm.compiler.lir.Variable createVariable(jdk.vm.ci.meta.ValueKind<?>);
    descriptor: (Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // jdk.vm.ci.meta.ValueKind kind
         0: .line 872
            new org.graalvm.compiler.lir.Variable
            dup
            aload 1 /* kind */
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervalsSize:I
            dup_x1
            iconst_1
            iadd
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervalsSize:I
            invokespecial org.graalvm.compiler.lir.Variable.<init>:(Ljdk/vm/ci/meta/ValueKind;I)V
            areturn
        end local 1 // jdk.vm.ci.meta.ValueKind kind
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    1     1  kind  Ljdk/vm/ci/meta/ValueKind<*>;
    Signature: (Ljdk/vm/ci/meta/ValueKind<*>;)Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
      Name  Flags
      kind  

  boolean hasDerivedIntervals();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 876
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.firstDerivedIntervalIndex:I
            iconst_m1
            if_icmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;

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

  public int intervalsSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 884
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervalsSize:I
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;

  org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval fixedIntervalFor(jdk.vm.ci.code.RegisterValue);
    descriptor: (Ljdk/vm/ci/code/RegisterValue;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // jdk.vm.ci.code.RegisterValue reg
         0: .line 888
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.fixedIntervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            aload 1 /* reg */
            invokevirtual jdk.vm.ci.code.RegisterValue.getRegister:()Ljdk/vm/ci/code/Register;
            getfield jdk.vm.ci.code.Register.number:I
            aaload
            areturn
        end local 1 // jdk.vm.ci.code.RegisterValue reg
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    1     1   reg  Ljdk/vm/ci/code/RegisterValue;
    MethodParameters:
      Name  Flags
      reg   

  org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval getOrCreateFixedInterval(jdk.vm.ci.code.RegisterValue);
    descriptor: (Ljdk/vm/ci/code/RegisterValue;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // jdk.vm.ci.code.RegisterValue reg
         0: .line 892
            aload 0 /* this */
            aload 1 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.fixedIntervalFor:(Ljdk/vm/ci/code/RegisterValue;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            astore 2 /* ret */
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval ret
         1: .line 893
            aload 2 /* ret */
            ifnonnull 3
         2: .line 894
            aload 0 /* this */
            aload 1 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.createFixedInterval:(Ljdk/vm/ci/code/RegisterValue;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            areturn
         3: .line 896
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval
      StackMap stack:
            aload 2 /* ret */
            areturn
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval ret
        end local 1 // jdk.vm.ci.code.RegisterValue reg
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    4     1   reg  Ljdk/vm/ci/code/RegisterValue;
            1    4     2   ret  Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
    MethodParameters:
      Name  Flags
      reg   

  org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval intervalFor(org.graalvm.compiler.lir.Variable);
    descriptor: (Lorg/graalvm/compiler/lir/Variable;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // org.graalvm.compiler.lir.Variable operand
         0: .line 901
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* operand */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.operandNumber:(Lorg/graalvm/compiler/lir/Variable;)I
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervalFor:(I)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            areturn
        end local 1 // org.graalvm.compiler.lir.Variable operand
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    1     1  operand  Lorg/graalvm/compiler/lir/Variable;
    MethodParameters:
         Name  Flags
      operand  

  org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval intervalFor(int);
    descriptor: (I)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // int operandNumber
         0: .line 905
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 1
            iload 1 /* operandNumber */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervalsSize:I
            if_icmplt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 906
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            iload 1 /* operandNumber */
            aaload
            areturn
        end local 1 // int operandNumber
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    2     1  operandNumber  I
    MethodParameters:
               Name  Flags
      operandNumber  

  org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval getOrCreateInterval(org.graalvm.compiler.lir.Variable);
    descriptor: (Lorg/graalvm/compiler/lir/Variable;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // org.graalvm.compiler.lir.Variable operand
         0: .line 910
            aload 0 /* this */
            aload 1 /* operand */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervalFor:(Lorg/graalvm/compiler/lir/Variable;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            astore 2 /* ret */
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval ret
         1: .line 911
            aload 2 /* ret */
            ifnonnull 3
         2: .line 912
            aload 0 /* this */
            aload 1 /* operand */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.createInterval:(Lorg/graalvm/compiler/lir/Variable;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            areturn
         3: .line 914
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
            aload 2 /* ret */
            areturn
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval ret
        end local 1 // org.graalvm.compiler.lir.Variable operand
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    4     1  operand  Lorg/graalvm/compiler/lir/Variable;
            1    4     2      ret  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    MethodParameters:
         Name  Flags
      operand  

  void initOpIdMaps(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // int numInstructions
         0: .line 919
            aload 0 /* this */
            iload 1 /* numInstructions */
            anewarray org.graalvm.compiler.lir.LIRInstruction
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.opIdToInstructionMap:[Lorg/graalvm/compiler/lir/LIRInstruction;
         1: .line 920
            aload 0 /* this */
            iload 1 /* numInstructions */
            anewarray org.graalvm.compiler.core.common.cfg.AbstractBlockBase
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.opIdToBlockMap:[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
         2: .line 921
            return
        end local 1 // int numInstructions
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    3     1  numInstructions  I
    MethodParameters:
                 Name  Flags
      numInstructions  

  void putOpIdMaps(int, org.graalvm.compiler.lir.LIRInstruction, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
    descriptor: (ILorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // int index
        start local 2 // org.graalvm.compiler.lir.LIRInstruction op
        start local 3 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
         0: .line 924
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.opIdToInstructionMap:[Lorg/graalvm/compiler/lir/LIRInstruction;
            iload 1 /* index */
            aload 2 /* op */
            aastore
         1: .line 925
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.opIdToBlockMap:[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            iload 1 /* index */
            aload 3 /* block */
            aastore
         2: .line 926
            return
        end local 3 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        end local 2 // org.graalvm.compiler.lir.LIRInstruction op
        end local 1 // int index
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    3     1  index  I
            0    3     2     op  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    3     3  block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
    Signature: (ILorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)V
    MethodParameters:
       Name  Flags
      index  
      op     
      block  

  int maxOpId();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
         0: .line 932
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.opIdToInstructionMap:[Lorg/graalvm/compiler/lir/LIRInstruction;
            arraylength
            ifgt 1
            new java.lang.AssertionError
            dup
            ldc "no operations"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 933
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.opIdToInstructionMap:[Lorg/graalvm/compiler/lir/LIRInstruction;
            arraylength
            iconst_1
            isub
            iconst_1
            ishl
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;

  private int opIdToIndex(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // int opId
         0: .line 942
            iload 1 /* opId */
            iconst_1
            ishr
            ireturn
        end local 1 // int opId
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    1     1  opId  I
    MethodParameters:
      Name  Flags
      opId  

  org.graalvm.compiler.lir.LIRInstruction instructionForId(int);
    descriptor: (I)Lorg/graalvm/compiler/lir/LIRInstruction;
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // int opId
         0: .line 952
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 1
            iload 1 /* opId */
            invokestatic jdk.vm.ci.code.CodeUtil.isEven:(I)Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "opId not even"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 953
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.opIdToInstructionMap:[Lorg/graalvm/compiler/lir/LIRInstruction;
            aload 0 /* this */
            iload 1 /* opId */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.opIdToIndex:(I)I
            aaload
            astore 2 /* instr */
        start local 2 // org.graalvm.compiler.lir.LIRInstruction instr
         2: .line 954
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 3
            aload 2 /* instr */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
            iload 1 /* opId */
            if_icmpeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 955
      StackMap locals: org.graalvm.compiler.lir.LIRInstruction
      StackMap stack:
            aload 2 /* instr */
            areturn
        end local 2 // org.graalvm.compiler.lir.LIRInstruction instr
        end local 1 // int opId
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    4     1   opId  I
            2    4     2  instr  Lorg/graalvm/compiler/lir/LIRInstruction;
    MethodParameters:
      Name  Flags
      opId  

  org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?> blockForId(int);
    descriptor: (I)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // int opId
         0: .line 965
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.opIdToBlockMap:[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            arraylength
            ifle 1
            iload 1 /* opId */
            iflt 1
            iload 1 /* opId */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.maxOpId:()I
            iconst_1
            iadd
            if_icmple 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "opId out of range: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            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
         2: .line 966
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.opIdToBlockMap:[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            aload 0 /* this */
            iload 1 /* opId */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.opIdToIndex:(I)I
            aaload
            areturn
        end local 1 // int opId
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    3     1  opId  I
    Signature: (I)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
    MethodParameters:
      Name  Flags
      opId  

  public void printIntervals(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=13, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // java.lang.String label
         0: .line 971
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 2 /* debug */
        start local 2 // org.graalvm.compiler.debug.DebugContext debug
         1: .line 972
            aload 2 /* debug */
            iconst_4
            invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
            ifeq 37
         2: .line 973
            aload 2 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 36
         3: .line 974
            aconst_null
            astore 3
            aconst_null
            astore 4
         4: aload 2 /* debug */
            ldc "intervals %s"
            aload 1 /* label */
            invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Indent;
            astore 5 /* indent */
        start local 5 // org.graalvm.compiler.debug.Indent indent
         5: .line 975
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.fixedIntervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 10
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan java.lang.String org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent top int int org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval[]
      StackMap stack:
         6: aload 9
            iload 7
            aaload
            astore 6 /* interval */
        start local 6 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval interval
         7: .line 976
            aload 6 /* interval */
            ifnull 9
         8: .line 977
            aload 2 /* debug */
            ldc "%s"
            aload 6 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.logString:()Ljava/lang/String;
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 6 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval interval
         9: .line 975
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        10: iload 7
            iload 8
            if_icmplt 6
        11: .line 981
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 16
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan java.lang.String org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent top int int org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[]
      StackMap stack:
        12: aload 9
            iload 7
            aaload
            astore 6 /* interval */
        start local 6 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        13: .line 982
            aload 6 /* interval */
            ifnull 15
        14: .line 983
            aload 2 /* debug */
            ldc "%s"
            aload 6 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.logString:()Ljava/lang/String;
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 6 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        15: .line 981
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        16: iload 7
            iload 8
            if_icmplt 12
        17: .line 987
            aconst_null
            astore 6
            aconst_null
            astore 7
        18: aload 2 /* debug */
            ldc "Basic Blocks"
            invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/Indent;
            astore 8 /* indent2 */
        start local 8 // org.graalvm.compiler.debug.Indent indent2
        19: .line 988
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.trace:Lorg/graalvm/compiler/core/common/alloc/Trace;
            invokevirtual org.graalvm.compiler.core.common.alloc.Trace.getBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 23
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan java.lang.String org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
        20: aload 12
            iload 10
            aaload
            astore 9 /* block */
        start local 9 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        21: .line 989
            aload 2 /* debug */
            ldc "B%d [%d, %d, %s] "
            aload 9 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            aload 9 /* block */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getFirstLirInstructionId:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            aload 9 /* block */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getLastLirInstructionId:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 9 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 9 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        22: .line 988
            iinc 10 1
      StackMap locals:
      StackMap stack:
        23: iload 10
            iload 11
            if_icmplt 20
        24: .line 991
            aload 8 /* indent2 */
            ifnull 30
            aload 8 /* indent2 */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
            goto 30
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan java.lang.String org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
      StackMap stack: java.lang.Throwable
        25: astore 6
            aload 8 /* indent2 */
            ifnull 26
            aload 8 /* indent2 */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
        end local 8 // org.graalvm.compiler.debug.Indent indent2
      StackMap locals:
      StackMap stack:
        26: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: astore 7
            aload 6
            ifnonnull 28
            aload 7
            astore 6
            goto 29
      StackMap locals:
      StackMap stack:
        28: aload 6
            aload 7
            if_acmpeq 29
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        29: aload 6
            athrow
        30: .line 992
      StackMap locals:
      StackMap stack:
            aload 5 /* indent */
            ifnull 36
            aload 5 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
            goto 36
      StackMap locals:
      StackMap stack: java.lang.Throwable
        31: astore 3
            aload 5 /* indent */
            ifnull 32
            aload 5 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
        end local 5 // org.graalvm.compiler.debug.Indent indent
      StackMap locals:
      StackMap stack:
        32: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        33: astore 4
            aload 3
            ifnonnull 34
            aload 4
            astore 3
            goto 35
      StackMap locals:
      StackMap stack:
        34: aload 3
            aload 4
            if_acmpeq 35
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        35: aload 3
            athrow
        36: .line 994
      StackMap locals:
      StackMap stack:
            aload 2 /* debug */
            iconst_4
            aload 0 /* this */
            ldc "%s (Trace%d)"
            aload 1 /* label */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.trace:Lorg/graalvm/compiler/core/common/alloc/Trace;
            invokevirtual org.graalvm.compiler.core.common.alloc.Trace.getId:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        37: .line 996
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.debug.DebugContext debug
        end local 1 // java.lang.String label
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   38     0      this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0   38     1     label  Ljava/lang/String;
            1   38     2     debug  Lorg/graalvm/compiler/debug/DebugContext;
            5   32     5    indent  Lorg/graalvm/compiler/debug/Indent;
            7    9     6  interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
           13   15     6  interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
           19   26     8   indent2  Lorg/graalvm/compiler/debug/Indent;
           21   22     9     block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
      Exception table:
        from    to  target  type
          19    24      25  any
          18    27      27  any
           5    30      31  any
           4    33      33  any
    MethodParameters:
       Name  Flags
      label  

  public void visitIntervals(org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor);
    descriptor: (Lorg/graalvm/compiler/lir/debug/IntervalDumper$IntervalVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor visitor
         0: .line 1000
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.fixedIntervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor top int int org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* interval */
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval interval
         2: .line 1001
            aload 2 /* interval */
            ifnull 4
         3: .line 1002
            aload 2 /* interval */
            aload 1 /* visitor */
            invokestatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.printFixedInterval:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;Lorg/graalvm/compiler/lir/debug/IntervalDumper$IntervalVisitor;)V
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval interval
         4: .line 1000
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 1
         6: .line 1005
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervals:[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 11
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor top int int org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[]
      StackMap stack:
         7: aload 5
            iload 3
            aaload
            astore 2 /* interval */
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
         8: .line 1006
            aload 2 /* interval */
            ifnull 10
         9: .line 1007
            aload 0 /* this */
            aload 2 /* interval */
            aload 1 /* visitor */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.printInterval:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;Lorg/graalvm/compiler/lir/debug/IntervalDumper$IntervalVisitor;)V
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        10: .line 1005
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        11: iload 3
            iload 4
            if_icmplt 7
        12: .line 1010
            return
        end local 1 // org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor visitor
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0   13     1   visitor  Lorg/graalvm/compiler/lir/debug/IntervalDumper$IntervalVisitor;
            2    4     2  interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            8   10     2  interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    MethodParameters:
         Name  Flags
      visitor  

  boolean hasInterTracePredecessor(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
         0: .line 1013
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.this$0:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.traceBuilderResult:Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.trace:Lorg/graalvm/compiler/core/common/alloc/Trace;
            aload 1 /* block */
            invokestatic org.graalvm.compiler.lir.alloc.trace.TraceUtil.hasInterTracePredecessor:(Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;Lorg/graalvm/compiler/core/common/alloc/Trace;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
            ireturn
        end local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    1     1  block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
    Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)Z
    MethodParameters:
       Name  Flags
      block  

  boolean hasInterTraceSuccessor(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
         0: .line 1017
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.this$0:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase;
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.traceBuilderResult:Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.trace:Lorg/graalvm/compiler/core/common/alloc/Trace;
            aload 1 /* block */
            invokestatic org.graalvm.compiler.lir.alloc.trace.TraceUtil.hasInterTraceSuccessor:(Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;Lorg/graalvm/compiler/core/common/alloc/Trace;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
            ireturn
        end local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    1     1  block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
    Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)Z
    MethodParameters:
       Name  Flags
      block  

  private void printInterval(org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval, org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;Lorg/graalvm/compiler/lir/debug/IntervalDumper$IntervalVisitor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        start local 2 // org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor visitor
         0: .line 1021
            aload 1 /* interval */
            iconst_0
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.locationHint:(Z)Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
            ifnull 1
            aload 1 /* interval */
            iconst_0
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.locationHint:(Z)Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint.location:()Ljdk/vm/ci/meta/AllocatableValue;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: jdk.vm.ci.meta.AllocatableValue
         2: astore 3 /* hint */
        start local 3 // jdk.vm.ci.meta.Value hint
         3: .line 1022
            aload 0 /* this */
            aload 1 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getOperand:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 4 /* operand */
        start local 4 // jdk.vm.ci.meta.AllocatableValue operand
         4: .line 1023
            aload 0 /* this */
            aload 1 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getKind:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Ljdk/vm/ci/meta/ValueKind;
            invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 5 /* type */
        start local 5 // java.lang.String type
         5: .line 1024
            aload 2 /* visitor */
            aload 0 /* this */
            aload 1 /* interval */
            invokevirtual 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.TraceLinearScanPhase$TraceLinearScan.getOperand:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Ljdk/vm/ci/meta/AllocatableValue;
            aload 4 /* operand */
            aload 1 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.location:()Ljdk/vm/ci/meta/AllocatableValue;
            aload 3 /* hint */
            aload 5 /* type */
            invokeinterface org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor.visitIntervalStart:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljava/lang/String;)V
         6: .line 1027
            aload 2 /* visitor */
            aload 1 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            aload 1 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.to:()I
            invokeinterface org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor.visitRange:(II)V
         7: .line 1030
            iconst_m1
            istore 6 /* prev */
        start local 6 // int prev
         8: .line 1031
            aload 1 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.numUsePos:()I
            iconst_1
            isub
            istore 7 /* i */
        start local 7 // int i
         9: goto 14
        10: .line 1032
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor jdk.vm.ci.meta.Value jdk.vm.ci.meta.AllocatableValue java.lang.String int int
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.$assertionsDisabled:Z
            ifne 11
            iload 6 /* prev */
            aload 1 /* interval */
            iload 7 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
            if_icmplt 11
            new java.lang.AssertionError
            dup
            ldc "use positions not sorted"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 1033
      StackMap locals:
      StackMap stack:
            aload 2 /* visitor */
            aload 1 /* interval */
            iload 7 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
            aload 1 /* interval */
            iload 7 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePosRegisterPriority:(I)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            invokeinterface org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor.visitUsePos:(ILjava/lang/Object;)V
        12: .line 1034
            aload 1 /* interval */
            iload 7 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
            istore 6 /* prev */
        13: .line 1031
            iinc 7 /* i */ -1
      StackMap locals:
      StackMap stack:
        14: iload 7 /* i */
            ifge 10
        end local 7 // int i
        15: .line 1037
            aload 2 /* visitor */
            aload 1 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillState:()Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            invokeinterface org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor.visitIntervalEnd:(Ljava/lang/Object;)V
        16: .line 1038
            return
        end local 6 // int prev
        end local 5 // java.lang.String type
        end local 4 // jdk.vm.ci.meta.AllocatableValue operand
        end local 3 // jdk.vm.ci.meta.Value hint
        end local 2 // org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor visitor
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0   17     1  interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0   17     2   visitor  Lorg/graalvm/compiler/lir/debug/IntervalDumper$IntervalVisitor;
            3   17     3      hint  Ljdk/vm/ci/meta/Value;
            4   17     4   operand  Ljdk/vm/ci/meta/AllocatableValue;
            5   17     5      type  Ljava/lang/String;
            8   17     6      prev  I
            9   15     7         i  I
    MethodParameters:
          Name  Flags
      interval  
      visitor   

  jdk.vm.ci.meta.AllocatableValue getOperand(org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Ljdk/vm/ci/meta/AllocatableValue;
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
         0: .line 1041
            aload 1 /* interval */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operand:Lorg/graalvm/compiler/lir/Variable;
            areturn
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    1     1  interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    MethodParameters:
          Name  Flags
      interval  

  jdk.vm.ci.meta.ValueKind<?> getKind(org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Ljdk/vm/ci/meta/ValueKind;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
         0: .line 1045
            aload 0 /* this */
            aload 1 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getOperand:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual jdk.vm.ci.meta.AllocatableValue.getValueKind:()Ljdk/vm/ci/meta/ValueKind;
            areturn
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0    1     1  interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    Signature: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)Ljdk/vm/ci/meta/ValueKind<*>;
    MethodParameters:
          Name  Flags
      interval  
}
SourceFile: "TraceLinearScanPhase.java"
NestHost: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase
InnerClasses:
  public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
  public final OperandMode = org.graalvm.compiler.lir.LIRInstruction$OperandMode of org.graalvm.compiler.lir.LIRInstruction
  public abstract BlockEndOp = org.graalvm.compiler.lir.StandardOp$BlockEndOp of org.graalvm.compiler.lir.StandardOp
  public TraceAllocationContext = org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext of org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase
  public Options = org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase$Options of org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase
  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
  abstract IntervalPredicate = org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$IntervalPredicate of org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase
  public Options = org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$Options of org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase
  public final TraceLinearScan = org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan of org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase
  public abstract IntervalVisitor = org.graalvm.compiler.lir.debug.IntervalDumper$IntervalVisitor of org.graalvm.compiler.lir.debug.IntervalDumper
  public abstract MoveFactory = org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory of org.graalvm.compiler.lir.gen.LIRGeneratorTool