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 235
            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 759
            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 244
            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 765
            aload 0 /* this */
            iconst_m1
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.firstDerivedIntervalIndex:I
         2: .line 245
            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 246
            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 247
            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 250
            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 257
            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 261
            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 265
            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 272
            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 279
            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 283
            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 284
            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 285
      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 289
            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 290
            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 291
            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 292
      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 300
            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 304
            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 308
            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 312
            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 313
            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 314
      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 322
            aload 1 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.canMaterialize:()Z
            ifeq 3
         1: .line 323
            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 324
            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 325
            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 326
            goto 9
         6: .line 327
      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 328
            aload 1 /* interval */
            aload 2 /* slot */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.setSpillSlot:(Ljdk/vm/ci/meta/AllocatableValue;)V
         8: .line 329
            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 331
      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 338
            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 339
            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 340
            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 341
            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 342
            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 343
            aload 5 /* cachedStackSlot */
            ifnull 9
         6: .line 344
            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 345
            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 346
      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 349
      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 350
            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 351
            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 353
      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 354
            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 359
            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 363
            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 367
            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 371
            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 375
            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 376
            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 377
      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 381
            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 392
            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 393
      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 397
            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 403
            aload 1 /* first */
            astore 4 /* newFirst */
        start local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval newFirst
         1: .line 404
            aload 2 /* prev */
            ifnull 4
         2: .line 405
            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 406
            goto 5
         4: .line 407
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
            aload 3 /* interval */
            astore 4 /* newFirst */
         5: .line 409
      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 413
            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 414
      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 418
            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 419
      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 424
            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 426
            aconst_null
            astore 3 /* list1Prev */
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval list1Prev
         2: .line 429
            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 430
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 12
         5: .line 431
      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 432
            aload 4 /* v */
            ifnonnull 8
         7: .line 433
            goto 11
         8: .line 436
      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 437
            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 438
            aload 4 /* v */
            astore 3 /* list1Prev */
        11: .line 430
      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 442
            aload 3 /* list1Prev */
            ifnull 15
        14: .line 443
            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 446
      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 448
      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 452
            aload 1 /* first */
            astore 4 /* newFirst */
        start local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval newFirst
         1: .line 453
            aload 2 /* prev */
            ifnull 4
         2: .line 454
            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 455
            goto 5
         4: .line 456
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval
      StackMap stack:
            aload 3 /* interval */
            astore 4 /* newFirst */
         5: .line 458
      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 462
            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 464
      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 466
            aconst_null
            astore 2 /* list1Prev */
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval list1Prev
         3: .line 467
            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 469
            aload 3 /* v */
            ifnonnull 7
         6: .line 470
            goto 10
         7: .line 473
      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 474
            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 475
            aload 3 /* v */
            astore 2 /* list1Prev */
        end local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval v
        10: .line 467
      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 478
            aload 2 /* list1Prev */
            ifnull 14
        13: .line 479
            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 482
      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 484
      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 490
            iconst_0
            istore 1 /* sortedLen */
        start local 1 // int sortedLen
         1: .line 491
            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 492
            aload 2 /* interval */
            ifnull 5
         4: .line 493
            iinc 1 /* sortedLen */ 1
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
         5: .line 491
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         6: iload 3
            iload 4
            if_icmplt 2
         7: .line 496
            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 497
            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 500
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.hasDerivedIntervals:()Z
            ifeq 2
         1: .line 503
            return
         2: .line 506
      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 507
            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 508
            aload 1 /* oldList */
            arraylength
            istore 3 /* oldLen */
        start local 3 // int oldLen
         5: .line 509
            aload 2 /* newList */
            arraylength
            istore 4 /* newLen */
        start local 4 // int newLen
         6: .line 512
            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 515
            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 516
            iconst_0
            istore 6 /* oldIdx */
        start local 6 // int oldIdx
         9: .line 517
            iconst_0
            istore 7 /* newIdx */
        start local 7 // int newIdx
        10: .line 519
            goto 17
        11: .line 520
      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 521
      StackMap locals:
      StackMap stack:
            aload 5 /* combinedList */
            iload 6 /* oldIdx */
            iload 7 /* newIdx */
            iadd
            aload 1 /* oldList */
            iload 6 /* oldIdx */
            aaload
            aastore
        13: .line 522
            iinc 6 /* oldIdx */ 1
        14: .line 523
            goto 17
        15: .line 524
      StackMap locals:
      StackMap stack:
            aload 5 /* combinedList */
            iload 6 /* oldIdx */
            iload 7 /* newIdx */
            iadd
            aload 2 /* newList */
            iload 7 /* newIdx */
            aaload
            aastore
        16: .line 525
            iinc 7 /* newIdx */ 1
        17: .line 519
      StackMap locals:
      StackMap stack:
            iload 6 /* oldIdx */
            iload 7 /* newIdx */
            iadd
            aload 5 /* combinedList */
            arraylength
            if_icmplt 11
        18: .line 529
            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 530
            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 535
            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 536
            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 541
            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 543
            aload 4 /* result */
            ifnull 5
         2: .line 544
            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 545
            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 547
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
            aload 4 /* result */
            areturn
         5: .line 549
      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 553
            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 554
      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 558
            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 559
            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 561
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
            iload 2 /* opId */
            iconst_m1
            if_icmpeq 4
         3: .line 566
            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 569
      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 573
            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 578
            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 579
            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 583
            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 584
            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 585
            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 587
            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 589
            aload 0 /* this */
            ldc "After instruction numbering"
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.printLir:(Ljava/lang/String;)V
         9: .line 590
            aload 0 /* this */
            ldc "Before register allocation"
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.printIntervals:(Ljava/lang/String;)V
        10: .line 592
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.sortIntervalsBeforeAllocation:()V
        11: .line 594
            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 595
            aload 0 /* this */
            ldc "After register allocation"
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.printIntervals:(Ljava/lang/String;)V
        13: .line 598
            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 601
            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 602
            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 603
            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 606
      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 608
            aload 13 /* options */
            invokestatic org.graalvm.compiler.debug.Assertions.detailedAssertionsEnabled:(Lorg/graalvm/compiler/options/OptionValues;)Z
            ifeq 20
        19: .line 609
            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 611
      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 612
            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 614
      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 615
      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 618
            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 619
            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 621
      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 626
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.verifyIntervals:()V
         1: .line 628
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.verifyRegisters:()V
         2: .line 630
            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 632
            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 638
            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 639
            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 640
            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 641
            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 642
      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 646
            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 647
            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 648
            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 650
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 58
         6: .line 651
      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 652
            aload 7 /* i1 */
            ifnonnull 9
         8: .line 653
            goto 57
         9: .line 656
      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 658
            aload 7 /* i1 */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.operandNumber:I
            iload 6 /* i */
            if_icmpeq 14
        11: .line 659
            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 660
            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 661
            new org.graalvm.compiler.debug.GraalError
            dup
            ldc ""
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 664
      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 665
            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 666
            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 667
            new org.graalvm.compiler.debug.GraalError
            dup
            ldc ""
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 670
      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 671
            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 672
            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 673
            new org.graalvm.compiler.debug.GraalError
            dup
            ldc ""
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 676
      StackMap locals:
      StackMap stack:
            aload 7 /* i1 */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.isEmpty:()Z
            ifeq 26
        23: .line 677
            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 678
            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 679
            new org.graalvm.compiler.debug.GraalError
            dup
            ldc ""
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 682
      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 683
            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 684
            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 685
            new org.graalvm.compiler.debug.GraalError
            dup
            ldc ""
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 690
      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 691
            goto 57
        32: .line 694
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            iconst_1
            iadd
            istore 8 /* j */
        start local 8 // int j
        33: goto 45
        34: .line 695
      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 696
            aload 9 /* i2 */
            ifnonnull 37
        36: .line 697
            goto 44
        37: .line 702
      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 703
            goto 44
        39: .line 705
      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 706
            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 707
            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 708
            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 709
            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 694
      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 713
            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 714
            aload 8 /* i2 */
            ifnonnull 50
        49: .line 715
            goto 55
        50: .line 718
      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 719
            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 720
            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 721
            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 722
            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 713
      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 650
      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 726
            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 727
      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 730
            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 734
            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 738
            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 742
            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 746
            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 750
            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 754
            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 800
            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 807
            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 811
            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 812
            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 813
            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 822
            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 823
            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 824
            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 825
      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 826
            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 836
            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 837
      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 838
            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 839
      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 840
            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 841
      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 842
      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 843
            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 853
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.firstDerivedIntervalIndex:I
            iconst_m1
            if_icmpne 2
         1: .line 854
            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 856
      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 857
            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 860
      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 862
            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 864
      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 865
            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 866
      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 874
            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 878
            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 882
            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 886
            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 890
            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 894
            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 895
            aload 2 /* ret */
            ifnonnull 3
         2: .line 896
            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 898
      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 903
            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 907
            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 908
      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 912
            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 913
            aload 2 /* ret */
            ifnonnull 3
         2: .line 914
            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 916
      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 921
            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 922
            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 923
            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 926
            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 927
            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 928
            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 934
            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 935
      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 944
            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 954
            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 955
      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 956
            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 957
      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 967
            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 968
      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 973
            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 974
            aload 2 /* debug */
            iconst_4
            invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
            ifeq 37
         2: .line 975
            aload 2 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 36
         3: .line 976
            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 977
            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 978
            aload 6 /* interval */
            ifnull 9
         8: .line 979
            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 977
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        10: iload 7
            iload 8
            if_icmplt 6
        11: .line 983
            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 984
            aload 6 /* interval */
            ifnull 15
        14: .line 985
            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 983
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        16: iload 7
            iload 8
            if_icmplt 12
        17: .line 989
            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 990
            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 991
            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 990
            iinc 10 1
      StackMap locals:
      StackMap stack:
        23: iload 10
            iload 11
            if_icmplt 20
        24: .line 993
            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 994
      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 996
      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 998
      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 1002
            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 1003
            aload 2 /* interval */
            ifnull 4
         3: .line 1004
            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 1002
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 1
         6: .line 1007
            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 1008
            aload 2 /* interval */
            ifnull 10
         9: .line 1009
            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 1007
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        11: iload 3
            iload 4
            if_icmplt 7
        12: .line 1012
            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 1015
            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 1019
            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 1023
            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 1024
            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 1025
            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 1026
            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 1029
            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 1032
            iconst_m1
            istore 6 /* prev */
        start local 6 // int prev
         8: .line 1033
            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 1034
      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 1035
      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 1036
            aload 1 /* interval */
            iload 7 /* i */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.getUsePos:(I)I
            istore 6 /* prev */
        13: .line 1033
            iinc 7 /* i */ -1
      StackMap locals:
      StackMap stack:
        14: iload 7 /* i */
            ifge 10
        end local 7 // int i
        15: .line 1039
            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 1040
            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 1043
            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 1047
            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